 |
SX126x-Arduino
2.0.1
|
Go to the documentation of this file.
71 void (*RxDone)(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr);
79 void (*RxError)(void);
83 void (*PreAmpDetect)(void);
89 void (*FhssChangeChannel)(uint8_t currentChannel);
96 void (*CadDone)(
bool channelActivityDetected);
196 uint32_t datarate, uint8_t coderate,
197 uint32_t bandwidthAfc, uint16_t preambleLen,
198 uint16_t symbTimeout,
bool fixLen,
200 bool crcOn,
bool freqHopOn, uint8_t hopPeriod,
201 bool iqInverted,
bool rxContinuous);
238 uint32_t bandwidth, uint32_t datarate,
239 uint8_t coderate, uint16_t preambleLen,
240 bool fixLen,
bool crcOn,
bool freqHopOn,
241 uint8_t hopPeriod,
bool iqInverted, uint32_t timeout);
267 void (*
Send)(uint8_t *buffer, uint8_t size);
281 void (*
Rx)(uint32_t timeout);
285 void (*
SetCadParams)(uint8_t cadSymbolNum, uint8_t cadDetPeak, uint8_t cadDetMin, uint8_t cadExitMode, uint32_t cadTimeout);
310 void (*
Write)(uint16_t addr, uint8_t data);
317 uint8_t (*
Read)(uint16_t addr);
325 void (*
WriteBuffer)(uint16_t addr, uint8_t *buffer, uint8_t size);
333 void (*
ReadBuffer)(uint16_t addr, uint8_t *buffer, uint8_t size);
398 #endif // __RADIO_H__
@ MODEM_FSK
Definition: radio.h:33
void(* RxBoosted)(uint32_t timeout)
Sets the radio in reception mode with Max LNA gain for the given time.
Definition: radio.h:378
uint32_t(* GetWakeupTime)(void)
Gets the time required for the board plus radio to get out of sleep.[ms].
Definition: radio.h:354
void(* SetRxConfig)(RadioModems_t modem, uint32_t bandwidth, uint32_t datarate, uint8_t coderate, uint32_t bandwidthAfc, uint16_t preambleLen, uint16_t symbTimeout, bool fixLen, uint8_t payloadLen, bool crcOn, bool freqHopOn, uint8_t hopPeriod, bool iqInverted, bool rxContinuous)
Sets the reception parameters.
Definition: radio.h:195
bool(* CheckRfFrequency)(uint32_t frequency)
Checks if the given RF frequency is supported by the hardware.
Definition: radio.h:248
void(* Init)(RadioEvents_t *events)
Initializes the radio.
Definition: radio.h:109
Radio driver callback functions.
Definition: radio.h:52
void(* Write)(uint16_t addr, uint8_t data)
Writes the radio register at the specified address.
Definition: radio.h:310
void(* SetMaxPayloadLength)(RadioModems_t modem, uint8_t max)
Sets the maximum payload length.
Definition: radio.h:340
@ RF_RX_RUNNING
The radio is in reception state.
Definition: radio.h:43
@ RF_TX_RUNNING
The radio is in transmission state.
Definition: radio.h:44
uint32_t TxTimeout
Definition: radio.cpp:450
void(* SetTxContinuousWave)(uint32_t freq, int8_t power, uint16_t time)
Sets the radio in continuous wave transmission mode.
Definition: radio.h:297
Radio driver definition.
Definition: radio.h:103
void(* Rx)(uint32_t timeout)
Sets the radio in reception mode for the given time.
Definition: radio.h:281
void(* BgIrqProcess)(void)
Process radio irq in background task (nRF52 & ESP32)
Definition: radio.h:358
void(* SetTxConfig)(RadioModems_t modem, int8_t power, uint32_t fdev, uint32_t bandwidth, uint32_t datarate, uint8_t coderate, uint16_t preambleLen, bool fixLen, bool crcOn, bool freqHopOn, uint8_t hopPeriod, bool iqInverted, uint32_t timeout)
Sets the transmission parameters.
Definition: radio.h:237
void(* SetPublicNetwork)(bool enable)
Sets the network to public or private. Updates the sync byte.
Definition: radio.h:348
void(* SetModem)(RadioModems_t modem)
Configures the radio with the given modem.
Definition: radio.h:127
const struct Radio_s Radio
Radio driver.
Definition: radio.cpp:364
@ RF_CAD
The radio is doing channel activity detection.
Definition: radio.h:45
uint8_t(* Read)(uint16_t addr)
Reads the radio register at the specified address.
Definition: radio.h:317
uint32_t(* Random)(void)
Generates a 32 bits random value based on the RSSI readings.
Definition: radio.h:155
uint32_t(* TimeOnAir)(RadioModems_t modem, uint8_t pktLen)
Computes the packet time on air in ms for the given payload.
Definition: radio.h:259
uint32_t RxTimeout
Definition: radio.cpp:451
void(* SetRxDutyCycle)(uint32_t rxTime, uint32_t sleepTime)
Sets the Rx duty cycle management parameters.
Definition: radio.h:387
RadioState_t
Definition: radio.h:41
void(* Standby)(void)
Sets the radio in standby mode.
Definition: radio.h:275
@ RF_IDLE
The radio is idle.
Definition: radio.h:42
void(* WriteBuffer)(uint16_t addr, uint8_t *buffer, uint8_t size)
Writes multiple radio registers starting at address.
Definition: radio.h:325
void(* SetCadParams)(uint8_t cadSymbolNum, uint8_t cadDetPeak, uint8_t cadDetMin, uint8_t cadExitMode, uint32_t cadTimeout)
Set Channel Activity Detection parameters.
Definition: radio.h:285
void(* IrqProcess)(void)
Process radio irq.
Definition: radio.h:362
void(* IrqProcessAfterDeepSleep)(void)
Definition: radio.h:366
void(* ReadBuffer)(uint16_t addr, uint8_t *buffer, uint8_t size)
Reads multiple radio registers starting at address.
Definition: radio.h:333
int16_t(* Rssi)(RadioModems_t modem)
Reads the current RSSI value.
Definition: radio.h:303
RadioModems_t
Definition: radio.h:32
void(* Send)(uint8_t *buffer, uint8_t size)
Sends the buffer of size. Prepares the packet to be sent and sets the radio in transmission.
Definition: radio.h:267
void(* Sleep)(void)
Sets the radio in sleep mode.
Definition: radio.h:271
void(* StartCad)(void)
Start a Channel Activity Detection.
Definition: radio.h:289
@ MODEM_LORA
Definition: radio.h:34
RadioState_t(* GetStatus)(void)
Definition: radio.h:121
void(* ReInit)(RadioEvents_t *events)
Re-Initializes the radio after CPU wakeup from deep sleep.
Definition: radio.h:115
void(* SetChannel)(uint32_t freq)
Sets the channel frequency.
Definition: radio.h:133
bool(* IsChannelFree)(RadioModems_t modem, uint32_t freq, int16_t rssiThresh, uint32_t maxCarrierSenseTime)
Checks if the channel is free for the given time.
Definition: radio.h:144