SDK  23.9.2
For IoT System Software Development
Public Types | Public Member Functions | Public Attributes | List of all members
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, 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
 송신시 사용할, 또는 수신시의 타임스탬프 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

무선 패킷

Member Enumeration Documentation

◆ Result_t

Enumerator
SUCCESS 

송신 또는 수신 성공

FAIL 

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

NOT_ENOUGH_MEMORY 

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

CANCELED 

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

TOO_BIG 

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

DROPPED 

큐 공간 부족으로 인해 drop 됨

INVALID_ARGS 

잘못된 인자

INIT 

처리 전 상태

64  {
69  SUCCESS = 0,
70 
76  FAIL = -1,
77 
82  NOT_ENOUGH_MEMORY = -2,
83 
88  CANCELED = -3,
89 
94  TOO_BIG = -4,
95 
100  DROPPED = -7,
101 
106  INVALID_ARGS = -8,
107 
112  INIT = -127,
113  } Result_t;

Member Data Documentation

◆ meta

union { ... } RadioPacket::meta

변복조 방식에 대한 속성

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

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

◆ 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:
RadioPacket::FAIL
@ FAIL
송신시에는 MAC 프로토콜에 따라서 채널 혼잡, Ack 미수신 등으로 인해, 수신시에는 MAC 프로토콜에 따라서 CRC 실패 등으로 인해 실패
Definition: RadioPacket.hpp:76
RadioPacket::SUCCESS
@ SUCCESS
송신 또는 수신 성공
Definition: RadioPacket.hpp:69
RadioPacket::CANCELED
@ CANCELED
PacketRadio::cancelSend() 에 의해 송신 취소됨
Definition: RadioPacket.hpp:88
RadioPacket::NOT_ENOUGH_MEMORY
@ NOT_ENOUGH_MEMORY
메모리 부족으로 인해 송신 또는 수신 실패
Definition: RadioPacket.hpp:82
RadioPacket::Result_t
Result_t
Definition: RadioPacket.hpp:64
RadioPacket::INIT
@ INIT
처리 전 상태
Definition: RadioPacket.hpp:112
RadioPacket::DROPPED
@ DROPPED
큐 공간 부족으로 인해 drop 됨
Definition: RadioPacket.hpp:100
RadioPacket::TOO_BIG
@ TOO_BIG
프레임이 너무 커서 전송 불가
Definition: RadioPacket.hpp:94
RadioPacket::INVALID_ARGS
@ INVALID_ARGS
잘못된 인자
Definition: RadioPacket.hpp:106