SDK
23.9.2
For IoT System Software Development
|
LoRaWAN frame. More...
#include <LoRaMac.hpp>
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 |
LoRaWAN frame.
Radio::LoRaBW_t LoRaMacFrame::bw |
송신시 사용할, 또는 수신시 사용된 bandwidth
송신시 LoRaMac::useADR 이 false 일 때, 이 값은 LoRaWAN Regional Parameters 에서 정의된 유효한 값이어야 합니다. 범위 밖의 값이 설정된 경우 기본 값(DR0)으로 설정됩니다.
Radio::LoRaCR_t LoRaMacFrame::cr |
송신시 또는 수신시 사용된 coding rate
이 값은 송신시 사용되지 않습니다.
Radio::LoRaIQ_t LoRaMacFrame::iq |
송신시 또는 수신시 사용된 I&Q signal mode
이 값은 송신시 사용되지 않습니다.
union { ... } LoRaMacFrame::meta |
변복조 방식에 대한 속성
변복조 방식에 따른 프레임의 속성을 표현합니다.
modulation | 접근방법 |
---|---|
Radio::MOD_LORA | meta.LoRa |
Radio::MOD_FSK | meta.FSK |
uint8_t LoRaMacFrame::numTrials = 0 |
전송 횟수
type 이 LoRaMacFrame::CONFIRMED 인 경우, Ack를 받기 전까지 총 전송 시도 횟수를 의미합니다. type 이 LoRaMacFrame::UNCONFIRMED 인 경우, 총 전송 횟수를 의미합니다.
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)를 의미합니다.
Radio::LoRaSF_t LoRaMacFrame::sf |
송신시 사용할, 또는 수신시 사용된 spreading factor
송신시 LoRaMac::useADR 이 false 일 때, 이 값은 LoRaWAN Regional Parameters 에서 정의된 유효한 값이어야 합니다. 범위 밖의 값이 설정된 경우 기본 값(DR0)으로 설정됩니다.