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

2.4GHz LoRa Radio Frame More...

#include <LoRa2GHzFrame.hpp>

Inheritance diagram for LoRa2GHzFrame:
RadioPacket Printable

Public Types

enum  SF_t {
  SF_UNSPECIFIED = 0 , SF5 = 5 , SF6 = 6 , SF7 = 7 ,
  SF8 = 8 , SF9 = 9 , SF10 = 10 , SF11 = 11 ,
  SF12 = 12
}
enum  CR_t {
  CR_4_5 = 1 , CR_4_6 = 2 , CR_4_7 = 3 , CR_4_8 = 4 ,
  CR_LI_4_5 = 5 , CR_LI_4_6 = 6 , CR_LI_4_7 = 7
}
enum  BW_t {
  BW_UNSPECIFIED = 0 , BW_1600kHz = 1 , BW_800kHz = 2 , BW_400kHz = 3 ,
  BW_200kHz = 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 , TOO_NOISY = -9 ,
  CHANNEL_BUSY = -10 , INIT = -127
}

Public Member Functions

 LoRa2GHzFrame (uint16_t len=0)
uint8_t setPreambleLength (uint8_t mant, uint8_t exp)
 Preamble length in symbols = mant * 2 ^ exp.
Public Member Functions inherited from RadioPacket
 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

enum LoRa2GHzFrame::SF_t sf = SF_UNSPECIFIED
enum LoRa2GHzFrame::CR_t cr = CR_4_5
enum LoRa2GHzFrame::BW_t bw = BW_UNSPECIFIED
uint8_t preambleLength = 0x08
bool useHeader = true
 헤더 사용 여부
bool useCrc = true
 CRC 사용 여부
bool invertIQ = false
 IQ 신호의 inverting 여부
int8_t snr
 수신시의 SNR
Public Attributes inherited from RadioPacket
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

2.4GHz LoRa Radio Frame

Member Enumeration Documentation

◆ BW_t

Enumerator
BW_UNSPECIFIED 

Bandwidth unspecified

BW_1600kHz 

Bandwidth 1625.0 kHz

BW_800kHz 

Bandwidth 812.5 kHz

BW_400kHz 

Bandwidth 406.25 kHz

BW_200kHz 

Bandwidth 203.125 kHz

90 { BW_UNSPECIFIED = 0,
91 BW_1600kHz = 1,
92 BW_800kHz = 2,
93 BW_400kHz = 3,
94 BW_200kHz = 4,
95 } bw = BW_UNSPECIFIED;
@ BW_800kHz
Definition LoRa2GHzFrame.hpp:92
@ BW_200kHz
Definition LoRa2GHzFrame.hpp:94
@ BW_1600kHz
Definition LoRa2GHzFrame.hpp:91
@ BW_UNSPECIFIED
Definition LoRa2GHzFrame.hpp:90
@ BW_400kHz
Definition LoRa2GHzFrame.hpp:93

◆ CR_t

Enumerator
CR_4_5 

Coding rate: 4/5

CR_4_6 

Coding rate: 4/6

CR_4_7 

Coding rate: 4/7

CR_4_8 

Coding rate: 4/8

CR_LI_4_5 

Coding rate: 4/5 with long interleaving

CR_LI_4_6 

Coding rate: 4/6 with long interleaving

CR_LI_4_7 

Coding rate: 4/7 with long interleaving

81 { CR_4_5 = 1,
82 CR_4_6 = 2,
83 CR_4_7 = 3,
84 CR_4_8 = 4,
85 CR_LI_4_5 = 5,
86 CR_LI_4_6 = 6,
87 CR_LI_4_7 = 7,
88 } cr = CR_4_5;
@ CR_4_5
Definition LoRa2GHzFrame.hpp:81
@ CR_4_6
Definition LoRa2GHzFrame.hpp:82
@ CR_LI_4_6
Definition LoRa2GHzFrame.hpp:86
@ CR_4_7
Definition LoRa2GHzFrame.hpp:83
@ CR_LI_4_7
Definition LoRa2GHzFrame.hpp:87
@ CR_4_8
Definition LoRa2GHzFrame.hpp:84
@ CR_LI_4_5
Definition LoRa2GHzFrame.hpp:85

◆ SF_t

Enumerator
SF_UNSPECIFIED 

Spreading factor: unspecified

SF5 

Spreading factor: 5

SF6 

Spreading factor: 6

SF7 

Spreading factor: 7

SF8 

Spreading factor: 8

SF9 

Spreading factor: 9

SF10 

Spreading factor: 10

SF11 

Spreading factor: 11

SF12 

Spreading factor: 12

70 { SF_UNSPECIFIED = 0,
71 SF5 = 5,
72 SF6 = 6,
73 SF7 = 7,
74 SF8 = 8,
75 SF9 = 9,
76 SF10 = 10,
77 SF11 = 11,
78 SF12 = 12,
79 } sf = SF_UNSPECIFIED;
@ SF10
Definition LoRa2GHzFrame.hpp:76
@ SF_UNSPECIFIED
Definition LoRa2GHzFrame.hpp:70
@ SF11
Definition LoRa2GHzFrame.hpp:77
@ SF8
Definition LoRa2GHzFrame.hpp:74
@ SF6
Definition LoRa2GHzFrame.hpp:72
@ SF12
Definition LoRa2GHzFrame.hpp:78
@ SF5
Definition LoRa2GHzFrame.hpp:71
@ SF9
Definition LoRa2GHzFrame.hpp:75
@ SF7
Definition LoRa2GHzFrame.hpp:73

Constructor & Destructor Documentation

◆ LoRa2GHzFrame()

LoRa2GHzFrame::LoRa2GHzFrame ( uint16_t len = 0)
inline
Parameters
lenPayload를 저장할 버퍼의 길이
63 : RadioPacket(len) {
65 }
Radio::Modulation_t modulation
송신시 사용할, 또는 수신시 사용된 변복조 방식
Definition RadioPacket.hpp:160
@ MOD_LORA2G
Definition Radio.hpp:70

◆ ~LoRa2GHzFrame()

LoRa2GHzFrame::~LoRa2GHzFrame ( )
inline
67 {
68 }

Member Function Documentation

◆ setPreambleLength()

uint8_t LoRa2GHzFrame::setPreambleLength ( uint8_t mant,
uint8_t exp )
inline

Preamble length in symbols = mant * 2 ^ exp.

102 {
103 this->preambleLength = ((exp & 0x0F) << 4) | ((mant & 0x0F) << 0);
104 return this->preambleLength;
105 }

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