|
enum | State_t { RF_IDLE = 0,
RF_RX_RUNNING = 1,
RF_TX_RUNNING = 2,
RF_CAD = 3
} |
|
|
virtual State_t | getStatus ()=0 |
|
virtual void | setRadio (Radio::LoRaSF_t sf, Radio::LoRaBW_t bw, Radio::LoRaCR_t cr, bool crcOn=true, bool iqInverted=false, uint16_t symbTimeout=0, uint16_t preambleLen=8, uint8_t payloadLen=0, bool freqHopOn=false, uint8_t hopPeriod=0) |
|
virtual void | setRadio (uint32_t datarate, uint32_t bandwidth, uint32_t bandwidthAfc, uint32_t fDev, bool crcOn=true, uint16_t symbTimeout=0, uint16_t preambleLen=5, uint8_t payloadLen=0) |
|
uint32_t | getTimeOnAir (uint8_t payloadLen) |
|
virtual void | setTxPower (int8_t dBm) override |
| 송신 출력을 설정합니다. More...
|
|
virtual int8_t | getTxPower () override |
| 현재 설정된 송신 출력을 반환합니다. More...
|
|
virtual int16_t | getRssi ()=0 |
| RSSI를 dB 단위로 읽습니다.
|
|
virtual bool | cca () override |
| 채널이 혼잡한지 아닌지 검사합니다. More...
|
|
virtual void | doCAD (void(*func)(LoRaRadioChip &, bool))=0 |
| CAD (Carrier Activity Detection) 검사를 수행합니다. (LoRa 전용) More...
|
|
virtual void | setStandby ()=0 |
|
virtual void | setPublicNetwork (bool enable)=0 |
| Syncword를 설정합니다. More...
|
|
virtual void | transmitCW ()=0 |
| Continuous Wave (CW) 신호를 송출합니다. (LoRa 전용)
|
|
virtual error_t | transmit (RadioPacket *) override |
|
void | setFreqOffset (int32_t offsetHz) |
| 중심 주파수 오차를 제거하기 위한 offset을 설정합니다. More...
|
|
int32_t | getFreqOffset () |
| 중심 주파수 오차를 제거하기 위한 offset을 가져옵니다.
|
|
virtual error_t | begin ()=0 |
|
virtual error_t | readFrame (RadioPacket *frame)=0 |
| 수신 버퍼에서 프레임을 읽습니다. More...
|
|
virtual bool | bufferIsEmpty ()=0 |
|
virtual void | flushBuffer ()=0 |
|
virtual void | sleep ()=0 |
|
virtual void | wakeup ()=0 |
|
void | setCcaThreshold (int16_t dBthreshold) |
|
virtual void | setChannel (uint32_t channel)=0 |
| 채널을 설정합니다.
|
|
virtual uint32_t | getChannel ()=0 |
| 현재 설정된 채널을 반환합니다.
|
|
|
static uint32_t | TimeOnAir (Radio::LoRaSF_t, Radio::LoRaBW_t, Radio::LoRaCR_t, uint16_t preambleLen, bool fixLen, uint8_t payloadLen, bool crcOn) |
|
static uint32_t | TimeOnAir (uint32_t datarate, uint32_t bandwidth, uint16_t preambleLen, bool fixLen, uint8_t payloadLen, bool crcOn) |
|
|
int8_t | antennaGain = 0 |
| Antenna gain을 고려한 송신 출력(EIRP)을 사용하기 위한 antenna gain (단위: dBi)
|
|
void(* | onRxTimeout )(void *, GPIOInterruptInfo_t *) = nullptr |
|
void * | ctxOnRxTimeout |
|
uint32_t | channel |
|
Radio::Modulation_t | modulation |
|
int8_t | txPower |
|
uint32_t | txTimeout |
|
uint32_t | drHz |
|
uint32_t | bwHz |
|
uint32_t | afcBwHz |
|
uint32_t | fDevHz |
|
uint16_t | symbTimeout |
|
bool | addCrc |
|
uint16_t | preambleLength |
|
uint8_t | fixedPayloadLength |
|
struct { |
uint32_t drHz |
|
uint32_t bwHz |
|
uint32_t afcBwHz |
|
uint32_t fDevHz |
|
uint16_t symbTimeout |
|
bool addCrc |
|
uint16_t preambleLength |
|
uint8_t fixedPayloadLength |
|
} | FSK |
|
Radio::LoRaSF_t | sf |
|
Radio::LoRaCR_t | cr |
|
Radio::LoRaBW_t | bw |
|
bool | iqInverted |
|
struct { |
Radio::LoRaSF_t sf |
|
Radio::LoRaCR_t cr |
|
Radio::LoRaBW_t bw |
|
uint16_t preambleLength |
|
uint8_t fixedPayloadLength |
|
bool iqInverted |
|
bool addCrc |
|
uint16_t symbTimeout |
|
} | LoRa |
|
void(* | onRxStarted )(void *, GPIOInterruptInfo_t *) |
| 수신이 시작될 때 호출될 콜백함수 포인터 More...
|
|
void * | ctxOnRxStarted |
| onRxStarted 가 호출될 때 함께 전달될 context
|
|
void(* | onRxDone )(void *, GPIOInterruptInfo_t *) |
| 수신이 완료될 때 호출될 콜백함수 포인터 More...
|
|
void * | ctxOnRxDone |
| onRxDone 이 호출될 때 함께 전달될 context
|
|
void(* | onTxDone )(void *, bool, GPIOInterruptInfo_t *) |
| transmit() 후, 송신이 완료될 때 호출될 콜백함수 포인터 More...
|
|
void * | ctxOnTxDone |
| onTxDone 이 호출될 때 함께 전달될 context
|
|
void(* | onChannelBusy )(void *, GPIOInterruptInfo_t *) |
| cca() 시 채널이 혼잡할 때 호출될 콜백함수 포인터 More...
|
|
void * | ctxOnChannelBusy |
| onChannelBusy 가 호출될 때 함께 전달될 context
|
|
int16_t | dBccaThreshold = -65 |
| cca() 시 채널이 혼잡하다고 판단하기 위한 에너지 레벨을 설정합니다. (단위: dB, 기본값: -65)
|
|
|
static void | CCATask (void *) |
|
|
struct { |
uint32_t channel |
|
Radio::Modulation_t modulation |
|
int8_t txPower |
|
uint32_t txTimeout |
|
union { |
struct { |
uint32_t drHz |
|
uint32_t bwHz |
|
uint32_t afcBwHz |
|
uint32_t fDevHz |
|
uint16_t symbTimeout |
|
bool addCrc |
|
uint16_t preambleLength |
|
uint8_t fixedPayloadLength |
|
} FSK |
|
struct { |
Radio::LoRaSF_t sf |
|
Radio::LoRaCR_t cr |
|
Radio::LoRaBW_t bw |
|
uint16_t preambleLength |
|
uint8_t fixedPayloadLength |
|
bool iqInverted |
|
bool addCrc |
|
uint16_t symbTimeout |
|
} LoRa |
|
} | |
|
} | defaultSetting |
|
void(* | cadCompletedHandler )(LoRaRadioChip &, bool) = nullptr |
|
volatile bool | inCca = false |
|
bool | inChannelBusyHandler = false |
|
int32_t | freqOffset |
|
◆ State_t
Radio driver internal state machine states definition
◆ cca()
virtual bool LoRaRadioChip::cca |
( |
| ) |
|
|
overridevirtual |
채널이 혼잡한지 아닌지 검사합니다.
채널이 혼잡하다고 감지되는 순간, onChannelBusy 가 가리키는 콜백함수가 호출됩니다.
Implements PacketRadioChip.
Reimplemented in SX127xChip.
◆ doCAD()
virtual void LoRaRadioChip::doCAD |
( |
void(*)(LoRaRadioChip &, bool) |
func | ) |
|
|
pure virtual |
CAD (Carrier Activity Detection) 검사를 수행합니다. (LoRa 전용)
- Parameters
-
func | CAD 검사가 완료될 때 호출될 콜백함수 포인터 |
Implemented in SX127xChip, and SX126xChip.
◆ getTxPower()
virtual int8_t LoRaRadioChip::getTxPower |
( |
| ) |
|
|
overridevirtual |
◆ setFreqOffset()
void LoRaRadioChip::setFreqOffset |
( |
int32_t |
offsetHz | ) |
|
중심 주파수 오차를 제거하기 위한 offset을 설정합니다.
실제 사용되는 중심 주파수는 setChannel() 로 설정한 주파수에 offset을 더한 값이 됩니다. 기본 offset은 하드웨어마다 다릅니다. 설정된 offset을 구하기 위해서는 getFreqOffset() 을 사용하십시오.
◆ setPublicNetwork()
virtual void LoRaRadioChip::setPublicNetwork |
( |
bool |
enable | ) |
|
|
pure virtual |
Syncword를 설정합니다.
- Parameters
-
value | enable (true: LoRaWAN, false: non-LoRaWAN) |
Implemented in SX127xChip, and SX126xChip.
◆ setTxPower()
virtual void LoRaRadioChip::setTxPower |
( |
int8_t |
dBm | ) |
|
|
overridevirtual |
The documentation for this class was generated from the following file:
- nola-sdk/include/LoRaRadioChip.hpp