Nol.A SDK Library 26.11.2
For IoT System Software Development
Loading...
Searching...
No Matches
RadioPacket Class Reference

무선 패킷 More...

#include <RadioPacket.hpp>

Inheritance diagram for RadioPacket:
Printable FLRCFrame IEEE802_15_4Frame LoRa2GHzFrame LoRaMacFrame

Public Types

enum  Result_t {
  SUCCESS = 0 , FAIL = -1 , NOT_ENOUGH_MEMORY = -2 , CANCELED = -3 ,
  TOO_BIG = -4 , DROPPED = -7 , INVALID_ARGS = -8 , TOO_NOISY = -9 ,
  CHANNEL_BUSY = -10 , INIT = -127
}

Public Member Functions

 RadioPacket (uint16_t len=0)
void operator= (const RadioPacket &)
virtual size_t printTo (Print &) const override
virtual size_t printPropertiesTo (Print &p) const

Public Attributes

Result_t result
 송신 또는 수신 패킷 처리 결과
int16_t power
 송신시 사용할 power (단위: dBm) 또는 수신시의 신호 세기 (단위: dB)
uint32_t freq
 송신시 사용할, 또는 수신시 사용된 주파수 (단위: Hz)
int64_t timestamp
 송신시 사용할, 또는 수신시의 타임스탬프
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
 변복조 방식에 대한 속성
uint16_t len
uint8_t * buf

Detailed Description

Member Enumeration Documentation

◆ Result_t

Enumerator
SUCCESS 

송신 또는 수신 성공

FAIL 

송신시에는 MAC 프로토콜에 따라서 채널 혼잡, Ack 미수신 등으로 인해, 수신시에는 MAC 프로토콜에 따라서 CRC 실패 등으로 인해 실패

NOT_ENOUGH_MEMORY 

메모리 부족으로 인해 송신 또는 수신 실패

CANCELED 

PacketRadio::cancelSend() 에 의해 송신 취소됨

TOO_BIG 

프레임이 너무 커서 전송 불가

DROPPED 

큐 공간 부족으로 인해 drop 됨

INVALID_ARGS 

잘못된 인자

TOO_NOISY 

채널이 깨끗하지 못하여 전송 불가

CHANNEL_BUSY 

Listen-Before-Talk 결과 채널이 사용 중이어서 전송하지 않음

INIT 

처리 전 상태

64 {
69 SUCCESS = 0,
70
76 FAIL = -1,
77
83
88 CANCELED = -3,
89
94 TOO_BIG = -4,
95
100 DROPPED = -7,
101
106 INVALID_ARGS = -8,
107
112 TOO_NOISY = -9,
113
118 CHANNEL_BUSY = -10,
119
124 INIT = -127,
125 } Result_t;
Result_t
Definition RadioPacket.hpp:64
@ CHANNEL_BUSY
Listen-Before-Talk 결과 채널이 사용 중이어서 전송하지 않음
Definition RadioPacket.hpp:118
@ NOT_ENOUGH_MEMORY
메모리 부족으로 인해 송신 또는 수신 실패
Definition RadioPacket.hpp:82
@ SUCCESS
송신 또는 수신 성공
Definition RadioPacket.hpp:69
@ DROPPED
큐 공간 부족으로 인해 drop 됨
Definition RadioPacket.hpp:100
@ TOO_BIG
프레임이 너무 커서 전송 불가
Definition RadioPacket.hpp:94
@ CANCELED
PacketRadio::cancelSend() 에 의해 송신 취소됨
Definition RadioPacket.hpp:88
@ FAIL
송신시에는 MAC 프로토콜에 따라서 채널 혼잡, Ack 미수신 등으로 인해, 수신시에는 MAC 프로토콜에 따라서 CRC 실패 등으로 인해 실패
Definition RadioPacket.hpp:76
@ INIT
처리 전 상태
Definition RadioPacket.hpp:124
@ INVALID_ARGS
잘못된 인자
Definition RadioPacket.hpp:106
@ TOO_NOISY
채널이 깨끗하지 못하여 전송 불가
Definition RadioPacket.hpp:112

Member Function Documentation

◆ printTo()

Member Data Documentation

◆ [union]

union { ... } RadioPacket::meta

변복조 방식에 대한 속성

변복조 방식에 따른 패킷의 속성을 표현합니다.

modulation접근방법
Radio::MOD_LORAmeta.LoRa
Radio::MOD_FSKmeta.FSK
Radio::MOD_DSSSmeta.DSSS
Examples
atsamr21-xpro/LPP-Receiver/main.cpp, plm150/Radio-Rx/main.cpp, and st-nucleo-l152re/LPP-Receiver/main.cpp.

◆ timestamp

int64_t RadioPacket::timestamp

송신시 사용할, 또는 수신시의 타임스탬프

타임스탬프를 지원하는 PacketRadioChip 에서 사용되며, 미지원하는 PacketRadioChip 에서는 무시됩니다. 단위와 용도는 PacketRadioChip 마다 다릅니다. 통상적으로 하드웨어 자체에서 제공하는 시간으로 시스템 시간과 매핑되지 않습니다. 시스템 시간은 PacketRadioChip::onRxStarted, PacketRadioChip::onRxDone, PacketRadioChip::onTxDone 을 참고하세요.


The documentation for this class was generated from the following file: