SDK  23.9.2
For IoT System Software Development
Public Types | Public Member Functions | Public Attributes | List of all members
LoRaMacFrame Class Reference

LoRaWAN frame. More...

#include <LoRaMac.hpp>

Inheritance diagram for LoRaMacFrame:
RadioPacket Printable

Public Types

enum  FrameType_t { UNCONFIRMED, CONFIRMED, MULTICAST, PROPRIETARY }
 
enum  TxResult_t {
  NOT_STARTED = 0, SUCCESS = 1, FAIL_NO_ACK = 2, FAIL_AIR_BUSY = 3,
  FAIL_TX_TIMEOUT = 4
}
 
- Public Types inherited from RadioPacket
enum  Result_t {
  SUCCESS = 0, FAIL = -1, NOT_ENOUGH_MEMORY = -2, CANCELED = -3,
  TOO_BIG = -4, DROPPED = -7, INVALID_ARGS = -8, INIT = -127
}
 

Public Member Functions

 LoRaMacFrame (uint16_t sz=0)
 
size_t printPropertiesTo (Print &) const override
 
- Public Member Functions inherited from RadioPacket
 RadioPacket (uint16_t len=0)
 
void operator= (const RadioPacket &)
 
virtual size_t printTo (Print &) const override
 

Public Attributes

FrameType_t type
 Frame type.
 
uint8_t port
 Port number.
 
uint8_t numTrials = 0
 전송 횟수 More...
 
uint32_t fCnt
 Frame counter.
 
TxResult_t txResult [8]
 Tx 시도(attempt) 별 Tx 결과
 
int16_t power
 송신시 사용할 Tx power table index (LoRaMac::MaxTxPower ~ LoRaMac::MinTxPower), 송신 완료 콜백시 출력 세기(단위: dBm) 또는 수신 완료 콜백시 신호 세기(단위: dB) More...
 
union {
   struct {
      int8_t   snr
 수신시의 Signal-to-Noise Ratio (SNR)
 
      Radio::LoRaSF_t   sf
 송신시 사용할, 또는 수신시 사용된 spreading factor More...
 
      Radio::LoRaCR_t   cr
 송신시 또는 수신시 사용된 coding rate More...
 
      Radio::LoRaBW_t   bw
 송신시 사용할, 또는 수신시 사용된 bandwidth More...
 
      Radio::LoRaIQ_t   iq
 송신시 또는 수신시 사용된 I&Q signal mode More...
 
   }   LoRa
 modulation 이 Radio::MOD_LORA 인 경우 사용되는 변수
 
   struct {
      uint32_t   drBps
 송신시 또는 수신시 사용된 data rate (단위: bps)
 
      uint32_t   bwHz
 송신시 또는 수신시 사용된 bandwidth (단위: Hz)
 
      uint32_t   fDevHz
 송신시 또는 수신시 사용된 frequency deviation (단위: Hz)
 
   }   FSK
 modulation 이 Radio::MOD_FSK 인 경우 사용되는 변수
 
meta
 변복조 방식에 대한 속성 More...
 
- Public Attributes inherited from RadioPacket
Result_t result
 송신 또는 수신 패킷 처리 결과
 
int16_t power
 송신시 사용할 power (단위: dBm) 또는 수신시의 신호 세기 (단위: dB)
 
uint32_t freq
 송신시 사용할, 또는 수신시 사용된 주파수 (단위: Hz)
 
int64_t timestamp
 송신시 사용할, 또는 수신시의 타임스탬프 More...
 
Radio::Modulation_t modulation
 송신시 사용할, 또는 수신시 사용된 변복조 방식
 
union {
   struct {
      int8_t   snr
 수신시의 Signal-to-Noise Ratio (SNR)
 
      Radio::LoRaSF_t   sf
 송신시 사용할, 또는 수신시 사용된 spreading factor
 
      Radio::LoRaCR_t   cr
 송신시 사용할, 또는 수신시 사용된 coding rate
 
      Radio::LoRaBW_t   bw
 송신시 사용할, 또는 수신시 사용된 bandwidth
 
      Radio::LoRaIQ_t   iq
 송신시 사용할, 또는 수신시 사용된 I&Q signal mode
 
      uint16_t   preambleLength
 
      Radio::AutoCRCOption_t   autoCrcOpt
 
      Radio::FixedPayloadLengthOption_t   fixedPayloadLengthOpt
 
      uint8_t   fixedPayloadLength
 
      Radio::RxTimeoutOption_t   rxTimeoutOpt
 
      uint16_t   rxTimeout
 
   }   LoRa
 modulation 이 Radio::MOD_LORA 인 경우 사용되는 변수
 
   struct {
      uint32_t   drBps
 송신시 사용할, 또는 수신시 사용된 data rate (단위: bps)
 
      uint32_t   bwHz
 송신시 사용할, 또는 수신시 사용된 bandwidth (단위: Hz)
 
      uint32_t   afcBwHz
 
      uint32_t   fDevHz
 송신시 사용할, 또는 수신시 사용된 frequency deviation (단위: Hz)
 
      uint16_t   preambleLength
 
      Radio::AutoCRCOption_t   autoCrcOpt
 
      Radio::FixedPayloadLengthOption_t   fixedPayloadLengthOpt
 
      uint8_t   fixedPayloadLength
 
      Radio::RxTimeoutOption_t   rxTimeoutOpt
 
      uint16_t   rxTimeout
 
   }   FSK
 modulation 이 Radio::MOD_FSK 인 경우 사용되는 변수
 
   struct {
      uint8_t   corr
 송신시 사용할, 또는 수신시 사용된 correlation
 
   }   DSSS
 modulation 이 Radio::MOD_DSSS 인 경우 사용되는 변수
 
meta
 변복조 방식에 대한 속성 More...
 
uint16_t len
 
uint8_t * buf
 

Detailed Description

LoRaWAN frame.

Member Enumeration Documentation

◆ FrameType_t

Enumerator
UNCONFIRMED 

Unconfirmed frame

CONFIRMED 

Confirmed frame

MULTICAST 

Multicast frame (downlink only)

PROPRIETARY 

Proprietary frame (special purpose only)

92  {
93  UNCONFIRMED,
94  CONFIRMED,
95  MULTICAST,
96  PROPRIETARY,
97  } FrameType_t;

◆ TxResult_t

Enumerator
NOT_STARTED 

Not started

SUCCESS 

Success

FAIL_NO_ACK 

Failed due to no Ack

FAIL_AIR_BUSY 

Failed due to busy air interface condition

FAIL_TX_TIMEOUT 

Failed due to Tx timeout

123  {
124  NOT_STARTED = 0,
125  SUCCESS = 1,
126  FAIL_NO_ACK = 2,
127  FAIL_AIR_BUSY = 3,
128  FAIL_TX_TIMEOUT = 4,
129  } TxResult_t;

Member Data Documentation

◆ bw

Radio::LoRaBW_t LoRaMacFrame::bw

송신시 사용할, 또는 수신시 사용된 bandwidth

송신시 LoRaMac::useADR 이 false 일 때, 이 값은 LoRaWAN Regional Parameters 에서 정의된 유효한 값이어야 합니다. 범위 밖의 값이 설정된 경우 기본 값(DR0)으로 설정됩니다.

◆ cr

Radio::LoRaCR_t LoRaMacFrame::cr

송신시 또는 수신시 사용된 coding rate

이 값은 송신시 사용되지 않습니다.

◆ iq

Radio::LoRaIQ_t LoRaMacFrame::iq

송신시 또는 수신시 사용된 I&Q signal mode

이 값은 송신시 사용되지 않습니다.

◆ meta

union { ... } LoRaMacFrame::meta

변복조 방식에 대한 속성

변복조 방식에 따른 프레임의 속성을 표현합니다.

modulation 접근방법
Radio::MOD_LORA meta.LoRa
Radio::MOD_FSK meta.FSK

◆ numTrials

uint8_t LoRaMacFrame::numTrials = 0

전송 횟수

type 이 LoRaMacFrame::CONFIRMED 인 경우, Ack를 받기 전까지 총 전송 시도 횟수를 의미합니다. type 이 LoRaMacFrame::UNCONFIRMED 인 경우, 총 전송 횟수를 의미합니다.

◆ power

int16_t LoRaMacFrame::power

송신시 사용할 Tx power table index (LoRaMac::MaxTxPower ~ LoRaMac::MinTxPower), 송신 완료 콜백시 출력 세기(단위: dBm) 또는 수신 완료 콜백시 신호 세기(단위: dB)

LoRaMac::useADR 을 false 로 하면 지정한 Tx power table index 로 해당 프레임에 대한 출력이 설정됩니다. Tx power table 은 LoRaWAN Regional Parameters 문서를 참고하시기 바랍니다. 범위 밖의 값으로 설정된 경우 기본 값(0)으로 설정됩니다.

LoRaMac::onSendDone(), LoRaMac::onReceive() 에서 지정한 콜백함수와 함께 전달된 프레임의 이 변수는 실제 출력(단위: dBm) 또는 신호세기(단위: dB)를 의미합니다.

◆ sf

Radio::LoRaSF_t LoRaMacFrame::sf

송신시 사용할, 또는 수신시 사용된 spreading factor

송신시 LoRaMac::useADR 이 false 일 때, 이 값은 LoRaWAN Regional Parameters 에서 정의된 유효한 값이어야 합니다. 범위 밖의 값이 설정된 경우 기본 값(DR0)으로 설정됩니다.


The documentation for this class was generated from the following file:
LoRaMacFrame::TxResult_t
TxResult_t
Definition: LoRaMac.hpp:123
LoRaMacFrame::PROPRIETARY
@ PROPRIETARY
Definition: LoRaMac.hpp:96
LoRaMacFrame::MULTICAST
@ MULTICAST
Definition: LoRaMac.hpp:95
LoRaMacFrame::SUCCESS
@ SUCCESS
Definition: LoRaMac.hpp:125
LoRaMacFrame::NOT_STARTED
@ NOT_STARTED
Definition: LoRaMac.hpp:124
LoRaMacFrame::FrameType_t
FrameType_t
Definition: LoRaMac.hpp:92
LoRaMacFrame::CONFIRMED
@ CONFIRMED
Definition: LoRaMac.hpp:94
LoRaMacFrame::FAIL_AIR_BUSY
@ FAIL_AIR_BUSY
Definition: LoRaMac.hpp:127
LoRaMacFrame::UNCONFIRMED
@ UNCONFIRMED
Definition: LoRaMac.hpp:93
LoRaMacFrame::FAIL_NO_ACK
@ FAIL_NO_ACK
Definition: LoRaMac.hpp:126
LoRaMacFrame::FAIL_TX_TIMEOUT
@ FAIL_TX_TIMEOUT
Definition: LoRaMac.hpp:128