diff --git a/_s_x128x_8h_source.html b/_s_x128x_8h_source.html
index a8712e81..8385c4f0 100644
--- a/_s_x128x_8h_source.html
+++ b/_s_x128x_8h_source.html
@@ -575,99 +575,105 @@ $(document).ready(function(){initNavTree('_s_x128x_8h_source.html',''); initResi
-
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
- 842 int16_t
invertIQ(
bool enable)
override;
-
-
-
-
-
- 850 #if !RADIOLIB_EXCLUDE_DIRECT_RECEIVE
-
-
- 861 void readBit(uint32_t pin)
override;
-
+
+
+
+
+
+
+
+
+
+
+ 856 int16_t
invertIQ(
bool enable)
override;
+
+
+
+
- 864#if !RADIOLIB_GODMODE && !RADIOLIB_LOW_LEVEL
-
-
- 867 Module* getMod()
override;
-
-
- 870 float bandwidthKhz = 0;
- 871 uint8_t bandwidth = 0, spreadingFactor = 0, codingRateLoRa = 0;
- 872 uint8_t preambleLengthLoRa = 0, headerType = 0, payloadLen = 0, crcLoRa = 0;
-
-
-
- 876 int16_t writeRegister(uint16_t addr,
const uint8_t* data, uint8_t numBytes);
- 877 int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
- 878 int16_t writeBuffer(
const uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
- 879 int16_t readBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
- 880 int16_t setTx(uint16_t periodBaseCount = RADIOLIB_SX128X_TX_TIMEOUT_NONE, uint8_t periodBase = RADIOLIB_SX128X_PERIOD_BASE_15_625_US);
- 881 int16_t setRx(uint16_t periodBaseCount, uint8_t periodBase = RADIOLIB_SX128X_PERIOD_BASE_15_625_US);
- 882 int16_t setCad(uint8_t symbolNum);
- 883 uint8_t getPacketType();
- 884 int16_t setRfFrequency(uint32_t frf);
- 885 int16_t setTxParams(uint8_t pwr, uint8_t rampTime = RADIOLIB_SX128X_PA_RAMP_10_US);
- 886 int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
- 887 int16_t setModulationParams(uint8_t modParam1, uint8_t modParam2, uint8_t modParam3);
- 888 int16_t setPacketParamsGFSK(uint8_t preambleLen, uint8_t syncLen, uint8_t syncMatch, uint8_t crcLen, uint8_t whiten, uint8_t payLen = 0xFF, uint8_t hdrType = RADIOLIB_SX128X_GFSK_FLRC_PACKET_VARIABLE);
- 889 int16_t setPacketParamsBLE(uint8_t connState, uint8_t crcLen, uint8_t bleTest, uint8_t whiten);
- 890 int16_t setPacketParamsLoRa(uint8_t preambleLen, uint8_t hdrType, uint8_t payLen, uint8_t crc, uint8_t invIQ = RADIOLIB_SX128X_LORA_IQ_STANDARD);
- 891 int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX128X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX128X_IRQ_NONE);
- 892 int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX128X_IRQ_ALL);
- 893 int16_t setRangingRole(uint8_t role);
- 894 int16_t setPacketType(uint8_t type);
-
-
-
-
-
-
-
- 902 static int16_t SPIparseStatus(uint8_t in);
-
-
-
- 906 uint32_t rxTimeout = 0;
-
-
- 909 uint8_t invertIQEnabled = RADIOLIB_SX128X_LORA_IQ_STANDARD;
-
-
- 912 float modIndexReal = 0;
- 913 uint16_t bitRateKbps = 0;
- 914 uint8_t bitRate = 0, modIndex = 0, shaping = 0;
- 915 uint8_t preambleLengthGFSK = 0, syncWordLen = 0, syncWordMatch = 0, crcGFSK = 0, whitening = 0;
-
-
- 918 uint8_t codingRateFLRC = 0;
-
-
- 921 uint8_t connectionState = 0, crcBLE = 0, bleTestPayload = 0;
-
- 923 int16_t config(uint8_t modem);
- 924 int16_t setHeaderType(uint8_t hdrType,
size_t len = 0xFF);
-
+ 864 #if !RADIOLIB_EXCLUDE_DIRECT_RECEIVE
+
+
+ 875 void readBit(uint32_t pin)
override;
+
+
+ 878#if !RADIOLIB_GODMODE && !RADIOLIB_LOW_LEVEL
+
+
+ 881 Module* getMod()
override;
+
+
+ 884 float bandwidthKhz = 0;
+ 885 uint8_t bandwidth = 0, spreadingFactor = 0, codingRateLoRa = 0;
+ 886 uint8_t preambleLengthLoRa = 0, headerType = 0, payloadLen = 0, crcLoRa = 0;
+
+
+
+ 890 int16_t writeRegister(uint16_t addr,
const uint8_t* data, uint8_t numBytes);
+ 891 int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
+ 892 int16_t writeBuffer(
const uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
+ 893 int16_t readBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
+ 894 int16_t setTx(uint16_t periodBaseCount = RADIOLIB_SX128X_TX_TIMEOUT_NONE, uint8_t periodBase = RADIOLIB_SX128X_PERIOD_BASE_15_625_US);
+ 895 int16_t setRx(uint16_t periodBaseCount, uint8_t periodBase = RADIOLIB_SX128X_PERIOD_BASE_15_625_US);
+ 896 int16_t setCad(uint8_t symbolNum);
+ 897 uint8_t getPacketType();
+ 898 int16_t setRfFrequency(uint32_t frf);
+ 899 int16_t setTxParams(uint8_t pwr, uint8_t rampTime = RADIOLIB_SX128X_PA_RAMP_10_US);
+ 900 int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
+ 901 int16_t setModulationParams(uint8_t modParam1, uint8_t modParam2, uint8_t modParam3);
+ 902 int16_t setPacketParamsGFSK(uint8_t preambleLen, uint8_t syncLen, uint8_t syncMatch, uint8_t crcLen, uint8_t whiten, uint8_t hdrType, uint8_t payLen = 0xFF);
+ 903 int16_t setPacketParamsBLE(uint8_t connState, uint8_t crcLen, uint8_t bleTest, uint8_t whiten);
+ 904 int16_t setPacketParamsLoRa(uint8_t preambleLen, uint8_t hdrType, uint8_t payLen, uint8_t crc, uint8_t invIQ = RADIOLIB_SX128X_LORA_IQ_STANDARD);
+ 905 int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX128X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX128X_IRQ_NONE);
+ 906 int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX128X_IRQ_ALL);
+ 907 int16_t setRangingRole(uint8_t role);
+ 908 int16_t setPacketType(uint8_t type);
+
+
+
+
+
+
+
+ 916 static int16_t SPIparseStatus(uint8_t in);
+
+
+
+ 920 uint32_t rxTimeout = 0;
+
+
+ 923 uint8_t invertIQEnabled = RADIOLIB_SX128X_LORA_IQ_STANDARD;
+
+
+ 926 float modIndexReal = 0;
+ 927 uint16_t bitRateKbps = 0;
+ 928 uint8_t bitRate = 0, modIndex = 0, shaping = 0;
+ 929 uint8_t preambleLengthGFSK = 0, syncWordLen = 0, syncWordMatch = 0, crcGFSK = 0, whitening = 0;
+ 930 uint8_t packetType = RADIOLIB_SX128X_GFSK_FLRC_PACKET_VARIABLE;
+
+
+ 933 uint8_t codingRateFLRC = 0;
+
+
+ 936 uint8_t connectionState = 0, crcBLE = 0, bleTestPayload = 0;
+
+ 938 int16_t config(uint8_t modem);
+ 939 int16_t setPacketMode(uint8_t mode, uint8_t len);
+ 940 int16_t setHeaderType(uint8_t hdrType,
size_t len = 0xFF);
+
-
-
-
-
+
+
+
+
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition Module.h:73
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code. Note: It is not recommended to use this c...
Definition Module.h:82
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition PhysicalLayer.h:216
@@ -678,65 +684,67 @@ $(document).ready(function(){initNavTree('_s_x128x_8h_source.html',''); initResi
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition PhysicalLayer.cpp:111
Base class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from thi...
Definition SX128x.h:351
void setDio1Action(void(*func)(void))
Sets interrupt service routine to call when DIO1 activates.
Definition SX128x.cpp:494
-int16_t setPreambleLength(uint32_t preambleLength)
Sets preamble length for currently active modem. Allowed values range from 1 to 65535.
Definition SX128x.cpp:788
+int16_t setPreambleLength(uint32_t preambleLength)
Sets preamble length for currently active modem. Allowed values range from 1 to 65535.
Definition SX128x.cpp:787
int16_t setOutputPower(int8_t pwr) override
Sets output power. Allowed values are in range from -18 to 13 dBm.
Definition SX128x.cpp:742
void setPacketSentAction(void(*func)(void)) override
Sets interrupt service routine to call when a packet is sent.
Definition SX128x.cpp:510
int16_t setModem(ModemType_t modem) override
Set modem for the radio to use. Will perform full reset and reconfigure the radio using its default p...
Definition SX128x.cpp:759
-void setDirectAction(void(*func)(void)) override
Dummy method, to ensure PhysicalLayer compatibility.
Definition SX128x.cpp:1514
-float getRSSI() override
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition SX128x.cpp:1179
+void setDirectAction(void(*func)(void)) override
Dummy method, to ensure PhysicalLayer compatibility.
Definition SX128x.cpp:1521
+float getRSSI() override
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition SX128x.cpp:1178
int16_t reset(bool verify=true)
Reset method. Will reset the chip to the default state using RST pin.
Definition SX128x.cpp:283
-int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation. Allowed values range from 0.0 to 3200.0 kHz.
Definition SX128x.cpp:909
+int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation. Allowed values range from 0.0 to 3200.0 kHz.
Definition SX128x.cpp:908
int16_t begin(float freq=2400.0, float bw=812.5, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=RADIOLIB_SX128X_SYNC_WORD_PRIVATE, int8_t pwr=10, uint16_t preambleLength=12)
Initialization method for LoRa modem.
Definition SX128x.cpp:21
-float getFrequencyError()
Gets frequency error of the latest received packet.
Definition SX128x.cpp:1234
+float getFrequencyError()
Gets frequency error of the latest received packet.
Definition SX128x.cpp:1233
int16_t standby() override
Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator)...
Definition SX128x.cpp:476
int16_t beginFLRC(float freq=2400.0, uint16_t br=650, uint8_t cr=3, int8_t pwr=10, uint16_t preambleLength=16, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
Initialization method for FLRC modem.
Definition SX128x.cpp:215
int16_t scanChannel() override
Performs scan for LoRa transmission in the current channel. Detects both preamble and payload.
Definition SX128x.cpp:425
+int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_SX128X_MAX_PACKET_LENGTH)
Set modem in fixed packet length mode. Available in GFSK mode only.
Definition SX128x.cpp:1286
int16_t receive(uint8_t *data, size_t len) override
Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalL...
Definition SX128x.cpp:353
-int16_t setGainControl(uint8_t gain=0)
Enables or disables receiver manual gain control.
Definition SX128x.cpp:1143
-size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition SX128x.cpp:1267
+int16_t setGainControl(uint8_t gain=0)
Enables or disables receiver manual gain control.
Definition SX128x.cpp:1142
+size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition SX128x.cpp:1266
int16_t finishTransmit() override
Clean up after transmission is done.
Definition SX128x.cpp:518
int16_t transmit(const uint8_t *data, size_t len, uint8_t addr=0) override
Blocking binary transmit method. Overloads for string-based transmissions are implemented in Physical...
Definition SX128x.cpp:316
-int16_t invertIQ(bool enable) override
Enable/disable inversion of the I and Q signals.
Definition SX128x.cpp:1377
+int16_t invertIQ(bool enable) override
Enable/disable inversion of the I and Q signals.
Definition SX128x.cpp:1384
int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition SX128x.cpp:402
-void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition SX128x.cpp:1363
+void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition SX128x.cpp:1370
+int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX128X_MAX_PACKET_LENGTH)
Set modem in variable packet length mode. Available in GFSK mode only.
Definition SX128x.cpp:1290
int16_t checkOutputPower(int8_t pwr, int8_t *clipped) override
Check if output power is configurable.
Definition SX128x.cpp:751
-int16_t stageMode(RadioModeType_t mode, RadioModeConfig_t *cfg) override
Stage mode of the radio to be launched later using launchMode.
Definition SX128x.cpp:1391
+int16_t stageMode(RadioModeType_t mode, RadioModeConfig_t *cfg) override
Stage mode of the radio to be launched later using launchMode.
Definition SX128x.cpp:1398
int16_t setIrqFlags(uint32_t irq) override
Set interrupt on DIO1 to be sent on a specific IRQ bit (e.g. RxTimeout, CadDone).
Definition SX128x.cpp:573
-int16_t setHighSensitivityMode(bool enable)
Enables or disables receiver high sensitivity mode.
Definition SX128x.cpp:1126
+int16_t setHighSensitivityMode(bool enable)
Enables or disables receiver high sensitivity mode.
Definition SX128x.cpp:1125
int16_t beginGFSK(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t pwr=10, uint16_t preambleLength=16)
Initialization method for GFSK modem.
Definition SX128x.cpp:85
int16_t startReceive() override
Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalL...
Definition SX128x.cpp:526
-int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Serves only as alias for PhysicalLayer compatibility.
Definition SX128x.cpp:1359
-int16_t setWhitening(bool enabled)
Sets whitening parameters, not available for LoRa or FLRC modem.
Definition SX128x.cpp:1095
-uint8_t randomByte() override
Dummy random method, to ensure PhysicalLayer compatibility.
Definition SX128x.cpp:1371
-int16_t setAccessAddress(uint32_t addr)
Sets BLE access address.
Definition SX128x.cpp:1115
+int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Serves only as alias for PhysicalLayer compatibility.
Definition SX128x.cpp:1366
+int16_t setWhitening(bool enabled)
Sets whitening parameters, not available for LoRa or FLRC modem.
Definition SX128x.cpp:1094
+uint8_t randomByte() override
Dummy random method, to ensure PhysicalLayer compatibility.
Definition SX128x.cpp:1378
+int16_t setAccessAddress(uint32_t addr)
Sets BLE access address.
Definition SX128x.cpp:1114
int16_t startChannelScan() override
Interrupt-driven channel activity detection method. DIO1 will be activated when LoRa preamble is dete...
Definition SX128x.cpp:581
-int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition SX128x.cpp:1355
+int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition SX128x.cpp:1362
int16_t readData(uint8_t *data, size_t len) override
Reads data received after calling startReceive method. When the packet length is not known in advance...
Definition SX128x.cpp:530
-int16_t setDataShaping(uint8_t sh) override
Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPI...
Definition SX128x.cpp:942
+int16_t setDataShaping(uint8_t sh) override
Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPI...
Definition SX128x.cpp:941
int16_t setCodingRate(uint8_t cr, bool longInterleaving=false)
Sets LoRa coding rate denominator. Allowed values range from 5 to 8.
Definition SX128x.cpp:714
uint32_t getIrqFlags() override
Read currently active IRQ flags.
Definition SX128x.cpp:569
-int16_t setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)
Sets CRC configuration.
Definition SX128x.cpp:1031
+int16_t setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)
Sets CRC configuration.
Definition SX128x.cpp:1030
int16_t sleep() override
Sets the module to sleep mode. To wake the device up, call standby(). Overload for PhysicalLayer comp...
Definition SX128x.cpp:454
void clearPacketSentAction() override
Clears interrupt service routine to call when a packet is sent.
Definition SX128x.cpp:514
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition SX128x.cpp:498
int16_t setFrequency(float freq) override
Sets carrier frequency. Allowed values are in range from 2400.0 to 2500.0 MHz.
Definition SX128x.cpp:642
int16_t getChannelScanResult() override
Read the channel scan result.
Definition SX128x.cpp:621
-int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition SX128x.cpp:1351
+int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition SX128x.cpp:1358
void clearPacketReceivedAction() override
Clears interrupt service routine to call when a packet is received.
Definition SX128x.cpp:506
int16_t beginBLE(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t pwr=10, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
Initialization method for BLE modem.
Definition SX128x.cpp:157
-int16_t launchMode() override
Launch previously staged mode.
Definition SX128x.cpp:1485
-void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition SX128x.cpp:1367
-int16_t setBitRate(float br) override
Sets FSK or FLRC bit rate. Allowed values are 125, 250, 400, 500, 800, 1000, 1600 and 2000 kbps (for ...
Definition SX128x.cpp:852
+int16_t launchMode() override
Launch previously staged mode.
Definition SX128x.cpp:1492
+void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition SX128x.cpp:1374
+int16_t setBitRate(float br) override
Sets FSK or FLRC bit rate. Allowed values are 125, 250, 400, 500, 800, 1000, 1600 and 2000 kbps (for ...
Definition SX128x.cpp:851
int16_t getModem(ModemType_t *modem) override
Get modem currently in use by the radio.
Definition SX128x.cpp:772
-int16_t setSyncWord(const uint8_t *syncWord, uint8_t len)
Sets FSK/FLRC sync word in the form of array of up to 5 bytes (FSK). For FLRC modem,...
Definition SX128x.cpp:972
+int16_t setSyncWord(const uint8_t *syncWord, uint8_t len)
Sets FSK/FLRC sync word in the form of array of up to 5 bytes (FSK). For FLRC modem,...
Definition SX128x.cpp:971
void setPacketReceivedAction(void(*func)(void)) override
Sets interrupt service routine to call when a packet is received.
Definition SX128x.cpp:502
-int16_t setDataRate(DataRate_t dr) override
Set data rate.
Definition SX128x.cpp:836
-float getSNR() override
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa or ranging mode...
Definition SX128x.cpp:1214
-uint16_t getIrqStatus()
Reads the current IRQ status.
Definition SX128x.cpp:1629
+int16_t setDataRate(DataRate_t dr) override
Set data rate.
Definition SX128x.cpp:835
+float getSNR() override
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa or ranging mode...
Definition SX128x.cpp:1213
+uint16_t getIrqStatus()
Reads the current IRQ status.
Definition SX128x.cpp:1636
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa spreading factor. Allowed values range from 5 to 12.
Definition SX128x.cpp:680
-RadioLibTime_t getTimeOnAir(size_t len) override
Get expected time-on-air for a given size of payload.
Definition SX128x.cpp:1287
+RadioLibTime_t getTimeOnAir(size_t len) override
Get expected time-on-air for a given size of payload.
Definition SX128x.cpp:1294
int16_t setBandwidth(float bw)
Sets LoRa bandwidth. Allowed values are 203.125, 406.25, 812.5 and 1625.0 kHz.
Definition SX128x.cpp:650
-void readBit(uint32_t pin) override
Dummy method, to ensure PhysicalLayer compatibility.
Definition SX128x.cpp:1520
+void readBit(uint32_t pin) override
Dummy method, to ensure PhysicalLayer compatibility.
Definition SX128x.cpp:1527
int16_t clearIrqFlags(uint32_t irq) override
Clear interrupt on a specific IRQ bit (e.g. RxTimeout, CadDone).
Definition SX128x.cpp:577
int16_t receiveDirect() override
Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX128x series does...
Definition SX128x.cpp:417
#define RADIOLIB_SHAPING_0_5
Gaussian shaping filter, BT = 0.5.
Definition TypeDef.h:27
diff --git a/class_s_x1280-members.html b/class_s_x1280-members.html
index 520b7af8..f87ac49d 100644
--- a/class_s_x1280-members.html
+++ b/class_s_x1280-members.html
@@ -114,93 +114,95 @@ $(document).ready(function(){initNavTree('class_s_x1280.html',''); initResizable
dropSync() | PhysicalLayer | |
explicitHeader() | SX128x | |
finishTransmit() override | SX128x | virtual |
- freqStep | PhysicalLayer | |
- getChannelScanResult() override | SX128x | virtual |
- getFrequencyError() | SX128x | |
- getIrqFlags() override | SX128x | virtual |
- getIrqMapped(RadioLibIrqFlags_t irq) | PhysicalLayer | |
- getIrqStatus() | SX128x | |
- getModem(ModemType_t *modem) override | SX128x | virtual |
- getPacketLength(bool update=true) override | SX128x | virtual |
- getPacketLength(bool update, uint8_t *offset) | SX128x | |
- getRangingResult() | SX1280 | |
- getRSSI() override | SX128x | virtual |
- getRSSI(bool packet) | SX128x | |
- getSNR() override | SX128x | virtual |
- getTimeOnAir(size_t len) override | SX128x | virtual |
- implicitHeader(size_t len) | SX128x | |
- invertIQ(bool enable) override | SX128x | virtual |
- launchMode() override | SX128x | virtual |
- maxPacketLength | PhysicalLayer | |
- PhysicalLayer() | PhysicalLayer | |
- random(int32_t max) | PhysicalLayer | |
- random(int32_t min, int32_t max) | PhysicalLayer | |
- randomByte() override | SX128x | virtual |
- range(bool master, uint32_t addr, uint16_t calTable[3][6]=NULL) | SX1280 | |
- read(bool drop=true) | PhysicalLayer | |
- readBit(uint32_t pin) override | SX128x | virtual |
- readData(uint8_t *data, size_t len) override | SX128x | virtual |
- readData(uint8_t *data, size_t len) | SX128x | virtual |
- receive(uint8_t *data, size_t len) override | SX128x | virtual |
- receive(uint8_t *data, size_t len) | SX128x | virtual |
- receiveDirect() override | SX128x | virtual |
- reset(bool verify=true) | SX128x | |
- scanChannel() override | SX128x | virtual |
- scanChannel(const ChannelScanConfig_t &config) override | SX128x | virtual |
- setAccessAddress(uint32_t addr) | SX128x | |
- setBandwidth(float bw) | SX128x | |
- setBitRate(float br) override | SX128x | virtual |
- setChannelScanAction(void(*func)(void)) | PhysicalLayer | virtual |
- setCodingRate(uint8_t cr, bool longInterleaving=false) | SX128x | |
- setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021) | SX128x | |
- setDataRate(DataRate_t dr) override | SX128x | virtual |
- setDataShaping(uint8_t sh) override | SX128x | virtual |
- setDio1Action(void(*func)(void)) | SX128x | |
- setDIOMapping(uint32_t pin, uint32_t value) | PhysicalLayer | virtual |
- setDirectAction(void(*func)(void)) override | SX128x | virtual |
- setDirectSyncWord(uint32_t syncWord, uint8_t len) | PhysicalLayer | |
- setEncoding(uint8_t encoding) override | SX128x | virtual |
- setFrequency(float freq) override | SX128x | virtual |
- setFrequencyDeviation(float freqDev) override | SX128x | virtual |
- setGainControl(uint8_t gain=0) | SX128x | |
- setHighSensitivityMode(bool enable) | SX128x | |
- setIrq(RadioLibIrqFlags_t irq) | PhysicalLayer | |
- setIrqFlags(uint32_t irq) override | SX128x | virtual |
- setModem(ModemType_t modem) override | SX128x | virtual |
- setOutputPower(int8_t pwr) override | SX128x | virtual |
- setPacketReceivedAction(void(*func)(void)) override | SX128x | virtual |
- setPacketSentAction(void(*func)(void)) override | SX128x | virtual |
- setPreambleLength(uint32_t preambleLength) | SX128x | |
- PhysicalLayer::setPreambleLength(size_t len) | PhysicalLayer | virtual |
- setRfSwitchPins(uint32_t rxEn, uint32_t txEn) | SX128x | |
- setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) | SX128x | |
- setSpreadingFactor(uint8_t sf) | SX128x | |
- setSyncWord(const uint8_t *syncWord, uint8_t len) | SX128x | |
- setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44) | SX128x | |
- PhysicalLayer::setSyncWord(uint8_t *sync, size_t len) | PhysicalLayer | virtual |
- setWhitening(bool enabled) | SX128x | |
- sleep() override | SX128x | virtual |
- sleep(bool retainConfig) | SX128x | |
- stageMode(RadioModeType_t mode, RadioModeConfig_t *cfg) override | SX128x | virtual |
- standby() override | SX128x | virtual |
- standby(uint8_t mode, bool wakeup=false) | SX128x | |
- PhysicalLayer::standby(uint8_t mode) | PhysicalLayer | virtual |
- startChannelScan() override | SX128x | virtual |
- startChannelScan(const ChannelScanConfig_t &config) override | SX128x | virtual |
- startDirect() | PhysicalLayer | |
- startRanging(bool master, uint32_t addr, const uint16_t calTable[3][6]=NULL) | SX1280 | |
- startReceive() override | SX128x | virtual |
- startReceive() | SX128x | virtual |
- startReceive(uint32_t timeout, RadioLibIrqFlags_t irqFlags=RADIOLIB_IRQ_RX_DEFAULT_FLAGS, RadioLibIrqFlags_t irqMask=RADIOLIB_IRQ_RX_DEFAULT_MASK, size_t len=0) | SX128x | virtual |
- startTransmit(const char *str, uint8_t addr=0) | SX128x | |
- startTransmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
- SX1280(Module *mod) | SX1280 | |
- SX1281(Module *mod) | SX1281 | |
- SX128x(Module *mod) | SX128x | explicit |
- transmit(const uint8_t *data, size_t len, uint8_t addr=0) override | SX128x | virtual |
- transmit(const char *str, uint8_t addr=0) | SX128x | |
- transmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
- transmitDirect(uint32_t frf=0) override | SX128x | virtual |
+ fixedPacketLengthMode(uint8_t len=RADIOLIB_SX128X_MAX_PACKET_LENGTH) | SX128x | |
+ freqStep | PhysicalLayer | |
+ getChannelScanResult() override | SX128x | virtual |
+ getFrequencyError() | SX128x | |
+ getIrqFlags() override | SX128x | virtual |
+ getIrqMapped(RadioLibIrqFlags_t irq) | PhysicalLayer | |
+ getIrqStatus() | SX128x | |
+ getModem(ModemType_t *modem) override | SX128x | virtual |
+ getPacketLength(bool update=true) override | SX128x | virtual |
+ getPacketLength(bool update, uint8_t *offset) | SX128x | |
+ getRangingResult() | SX1280 | |
+ getRSSI() override | SX128x | virtual |
+ getRSSI(bool packet) | SX128x | |
+ getSNR() override | SX128x | virtual |
+ getTimeOnAir(size_t len) override | SX128x | virtual |
+ implicitHeader(size_t len) | SX128x | |
+ invertIQ(bool enable) override | SX128x | virtual |
+ launchMode() override | SX128x | virtual |
+ maxPacketLength | PhysicalLayer | |
+ PhysicalLayer() | PhysicalLayer | |
+ random(int32_t max) | PhysicalLayer | |
+ random(int32_t min, int32_t max) | PhysicalLayer | |
+ randomByte() override | SX128x | virtual |
+ range(bool master, uint32_t addr, uint16_t calTable[3][6]=NULL) | SX1280 | |
+ read(bool drop=true) | PhysicalLayer | |
+ readBit(uint32_t pin) override | SX128x | virtual |
+ readData(uint8_t *data, size_t len) override | SX128x | virtual |
+ readData(uint8_t *data, size_t len) | SX128x | virtual |
+ receive(uint8_t *data, size_t len) override | SX128x | virtual |
+ receive(uint8_t *data, size_t len) | SX128x | virtual |
+ receiveDirect() override | SX128x | virtual |
+ reset(bool verify=true) | SX128x | |
+ scanChannel() override | SX128x | virtual |
+ scanChannel(const ChannelScanConfig_t &config) override | SX128x | virtual |
+ setAccessAddress(uint32_t addr) | SX128x | |
+ setBandwidth(float bw) | SX128x | |
+ setBitRate(float br) override | SX128x | virtual |
+ setChannelScanAction(void(*func)(void)) | PhysicalLayer | virtual |
+ setCodingRate(uint8_t cr, bool longInterleaving=false) | SX128x | |
+ setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021) | SX128x | |
+ setDataRate(DataRate_t dr) override | SX128x | virtual |
+ setDataShaping(uint8_t sh) override | SX128x | virtual |
+ setDio1Action(void(*func)(void)) | SX128x | |
+ setDIOMapping(uint32_t pin, uint32_t value) | PhysicalLayer | virtual |
+ setDirectAction(void(*func)(void)) override | SX128x | virtual |
+ setDirectSyncWord(uint32_t syncWord, uint8_t len) | PhysicalLayer | |
+ setEncoding(uint8_t encoding) override | SX128x | virtual |
+ setFrequency(float freq) override | SX128x | virtual |
+ setFrequencyDeviation(float freqDev) override | SX128x | virtual |
+ setGainControl(uint8_t gain=0) | SX128x | |
+ setHighSensitivityMode(bool enable) | SX128x | |
+ setIrq(RadioLibIrqFlags_t irq) | PhysicalLayer | |
+ setIrqFlags(uint32_t irq) override | SX128x | virtual |
+ setModem(ModemType_t modem) override | SX128x | virtual |
+ setOutputPower(int8_t pwr) override | SX128x | virtual |
+ setPacketReceivedAction(void(*func)(void)) override | SX128x | virtual |
+ setPacketSentAction(void(*func)(void)) override | SX128x | virtual |
+ setPreambleLength(uint32_t preambleLength) | SX128x | |
+ PhysicalLayer::setPreambleLength(size_t len) | PhysicalLayer | virtual |
+ setRfSwitchPins(uint32_t rxEn, uint32_t txEn) | SX128x | |
+ setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) | SX128x | |
+ setSpreadingFactor(uint8_t sf) | SX128x | |
+ setSyncWord(const uint8_t *syncWord, uint8_t len) | SX128x | |
+ setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44) | SX128x | |
+ PhysicalLayer::setSyncWord(uint8_t *sync, size_t len) | PhysicalLayer | virtual |
+ setWhitening(bool enabled) | SX128x | |
+ sleep() override | SX128x | virtual |
+ sleep(bool retainConfig) | SX128x | |
+ stageMode(RadioModeType_t mode, RadioModeConfig_t *cfg) override | SX128x | virtual |
+ standby() override | SX128x | virtual |
+ standby(uint8_t mode, bool wakeup=false) | SX128x | |
+ PhysicalLayer::standby(uint8_t mode) | PhysicalLayer | virtual |
+ startChannelScan() override | SX128x | virtual |
+ startChannelScan(const ChannelScanConfig_t &config) override | SX128x | virtual |
+ startDirect() | PhysicalLayer | |
+ startRanging(bool master, uint32_t addr, const uint16_t calTable[3][6]=NULL) | SX1280 | |
+ startReceive() override | SX128x | virtual |
+ startReceive() | SX128x | virtual |
+ startReceive(uint32_t timeout, RadioLibIrqFlags_t irqFlags=RADIOLIB_IRQ_RX_DEFAULT_FLAGS, RadioLibIrqFlags_t irqMask=RADIOLIB_IRQ_RX_DEFAULT_MASK, size_t len=0) | SX128x | virtual |
+ startTransmit(const char *str, uint8_t addr=0) | SX128x | |
+ startTransmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
+ SX1280(Module *mod) | SX1280 | |
+ SX1281(Module *mod) | SX1281 | |
+ SX128x(Module *mod) | SX128x | explicit |
+ transmit(const uint8_t *data, size_t len, uint8_t addr=0) override | SX128x | virtual |
+ transmit(const char *str, uint8_t addr=0) | SX128x | |
+ transmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
+ transmitDirect(uint32_t frf=0) override | SX128x | virtual |
+ variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX128X_MAX_PACKET_LENGTH) | SX128x | |
diff --git a/class_s_x1280.html b/class_s_x1280.html
index 66bae501..ac7f33bd 100644
--- a/class_s_x1280.html
+++ b/class_s_x1280.html
@@ -308,6 +308,12 @@ void clearDio1Action (
| size_t | getPacketLength (bool update, uint8_t *offset) |
| Query modem for the packet length of received payload and Rx buffer offset.
|
|
+int16_t | fixedPacketLengthMode (uint8_t len=RADIOLIB_SX128X_MAX_PACKET_LENGTH) |
+ | Set modem in fixed packet length mode. Available in GFSK mode only.
|
+ |
+int16_t | variablePacketLengthMode (uint8_t maxLen=RADIOLIB_SX128X_MAX_PACKET_LENGTH) |
+ | Set modem in variable packet length mode. Available in GFSK mode only.
|
+ |
RadioLibTime_t | getTimeOnAir (size_t len) override |
| Get expected time-on-air for a given size of payload.
|
|
diff --git a/class_s_x1281-members.html b/class_s_x1281-members.html
index bcedf460..29af3e77 100644
--- a/class_s_x1281-members.html
+++ b/class_s_x1281-members.html
@@ -114,89 +114,91 @@ $(document).ready(function(){initNavTree('class_s_x1281.html',''); initResizable
dropSync() | PhysicalLayer | |
explicitHeader() | SX128x | |
finishTransmit() override | SX128x | virtual |
- freqStep | PhysicalLayer | |
- getChannelScanResult() override | SX128x | virtual |
- getFrequencyError() | SX128x | |
- getIrqFlags() override | SX128x | virtual |
- getIrqMapped(RadioLibIrqFlags_t irq) | PhysicalLayer | |
- getIrqStatus() | SX128x | |
- getModem(ModemType_t *modem) override | SX128x | virtual |
- getPacketLength(bool update=true) override | SX128x | virtual |
- getPacketLength(bool update, uint8_t *offset) | SX128x | |
- getRSSI() override | SX128x | virtual |
- getRSSI(bool packet) | SX128x | |
- getSNR() override | SX128x | virtual |
- getTimeOnAir(size_t len) override | SX128x | virtual |
- implicitHeader(size_t len) | SX128x | |
- invertIQ(bool enable) override | SX128x | virtual |
- launchMode() override | SX128x | virtual |
- maxPacketLength | PhysicalLayer | |
- PhysicalLayer() | PhysicalLayer | |
- random(int32_t max) | PhysicalLayer | |
- random(int32_t min, int32_t max) | PhysicalLayer | |
- randomByte() override | SX128x | virtual |
- read(bool drop=true) | PhysicalLayer | |
- readBit(uint32_t pin) override | SX128x | virtual |
- readData(uint8_t *data, size_t len) override | SX128x | virtual |
- readData(uint8_t *data, size_t len) | SX128x | virtual |
- receive(uint8_t *data, size_t len) override | SX128x | virtual |
- receive(uint8_t *data, size_t len) | SX128x | virtual |
- receiveDirect() override | SX128x | virtual |
- reset(bool verify=true) | SX128x | |
- scanChannel() override | SX128x | virtual |
- scanChannel(const ChannelScanConfig_t &config) override | SX128x | virtual |
- setAccessAddress(uint32_t addr) | SX128x | |
- setBandwidth(float bw) | SX128x | |
- setBitRate(float br) override | SX128x | virtual |
- setChannelScanAction(void(*func)(void)) | PhysicalLayer | virtual |
- setCodingRate(uint8_t cr, bool longInterleaving=false) | SX128x | |
- setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021) | SX128x | |
- setDataRate(DataRate_t dr) override | SX128x | virtual |
- setDataShaping(uint8_t sh) override | SX128x | virtual |
- setDio1Action(void(*func)(void)) | SX128x | |
- setDIOMapping(uint32_t pin, uint32_t value) | PhysicalLayer | virtual |
- setDirectAction(void(*func)(void)) override | SX128x | virtual |
- setDirectSyncWord(uint32_t syncWord, uint8_t len) | PhysicalLayer | |
- setEncoding(uint8_t encoding) override | SX128x | virtual |
- setFrequency(float freq) override | SX128x | virtual |
- setFrequencyDeviation(float freqDev) override | SX128x | virtual |
- setGainControl(uint8_t gain=0) | SX128x | |
- setHighSensitivityMode(bool enable) | SX128x | |
- setIrq(RadioLibIrqFlags_t irq) | PhysicalLayer | |
- setIrqFlags(uint32_t irq) override | SX128x | virtual |
- setModem(ModemType_t modem) override | SX128x | virtual |
- setOutputPower(int8_t pwr) override | SX128x | virtual |
- setPacketReceivedAction(void(*func)(void)) override | SX128x | virtual |
- setPacketSentAction(void(*func)(void)) override | SX128x | virtual |
- setPreambleLength(uint32_t preambleLength) | SX128x | |
- PhysicalLayer::setPreambleLength(size_t len) | PhysicalLayer | virtual |
- setRfSwitchPins(uint32_t rxEn, uint32_t txEn) | SX128x | |
- setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) | SX128x | |
- setSpreadingFactor(uint8_t sf) | SX128x | |
- setSyncWord(const uint8_t *syncWord, uint8_t len) | SX128x | |
- setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44) | SX128x | |
- PhysicalLayer::setSyncWord(uint8_t *sync, size_t len) | PhysicalLayer | virtual |
- setWhitening(bool enabled) | SX128x | |
- sleep() override | SX128x | virtual |
- sleep(bool retainConfig) | SX128x | |
- stageMode(RadioModeType_t mode, RadioModeConfig_t *cfg) override | SX128x | virtual |
- standby() override | SX128x | virtual |
- standby(uint8_t mode, bool wakeup=false) | SX128x | |
- PhysicalLayer::standby(uint8_t mode) | PhysicalLayer | virtual |
- startChannelScan() override | SX128x | virtual |
- startChannelScan(const ChannelScanConfig_t &config) override | SX128x | virtual |
- startDirect() | PhysicalLayer | |
- startReceive() override | SX128x | virtual |
- startReceive() | SX128x | virtual |
- startReceive(uint32_t timeout, RadioLibIrqFlags_t irqFlags=RADIOLIB_IRQ_RX_DEFAULT_FLAGS, RadioLibIrqFlags_t irqMask=RADIOLIB_IRQ_RX_DEFAULT_MASK, size_t len=0) | SX128x | virtual |
- startTransmit(const char *str, uint8_t addr=0) | SX128x | |
- startTransmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
- SX1281(Module *mod) | SX1281 | |
- SX128x(Module *mod) | SX128x | explicit |
- transmit(const uint8_t *data, size_t len, uint8_t addr=0) override | SX128x | virtual |
- transmit(const char *str, uint8_t addr=0) | SX128x | |
- transmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
- transmitDirect(uint32_t frf=0) override | SX128x | virtual |
+ fixedPacketLengthMode(uint8_t len=RADIOLIB_SX128X_MAX_PACKET_LENGTH) | SX128x | |
+ freqStep | PhysicalLayer | |
+ getChannelScanResult() override | SX128x | virtual |
+ getFrequencyError() | SX128x | |
+ getIrqFlags() override | SX128x | virtual |
+ getIrqMapped(RadioLibIrqFlags_t irq) | PhysicalLayer | |
+ getIrqStatus() | SX128x | |
+ getModem(ModemType_t *modem) override | SX128x | virtual |
+ getPacketLength(bool update=true) override | SX128x | virtual |
+ getPacketLength(bool update, uint8_t *offset) | SX128x | |
+ getRSSI() override | SX128x | virtual |
+ getRSSI(bool packet) | SX128x | |
+ getSNR() override | SX128x | virtual |
+ getTimeOnAir(size_t len) override | SX128x | virtual |
+ implicitHeader(size_t len) | SX128x | |
+ invertIQ(bool enable) override | SX128x | virtual |
+ launchMode() override | SX128x | virtual |
+ maxPacketLength | PhysicalLayer | |
+ PhysicalLayer() | PhysicalLayer | |
+ random(int32_t max) | PhysicalLayer | |
+ random(int32_t min, int32_t max) | PhysicalLayer | |
+ randomByte() override | SX128x | virtual |
+ read(bool drop=true) | PhysicalLayer | |
+ readBit(uint32_t pin) override | SX128x | virtual |
+ readData(uint8_t *data, size_t len) override | SX128x | virtual |
+ readData(uint8_t *data, size_t len) | SX128x | virtual |
+ receive(uint8_t *data, size_t len) override | SX128x | virtual |
+ receive(uint8_t *data, size_t len) | SX128x | virtual |
+ receiveDirect() override | SX128x | virtual |
+ reset(bool verify=true) | SX128x | |
+ scanChannel() override | SX128x | virtual |
+ scanChannel(const ChannelScanConfig_t &config) override | SX128x | virtual |
+ setAccessAddress(uint32_t addr) | SX128x | |
+ setBandwidth(float bw) | SX128x | |
+ setBitRate(float br) override | SX128x | virtual |
+ setChannelScanAction(void(*func)(void)) | PhysicalLayer | virtual |
+ setCodingRate(uint8_t cr, bool longInterleaving=false) | SX128x | |
+ setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021) | SX128x | |
+ setDataRate(DataRate_t dr) override | SX128x | virtual |
+ setDataShaping(uint8_t sh) override | SX128x | virtual |
+ setDio1Action(void(*func)(void)) | SX128x | |
+ setDIOMapping(uint32_t pin, uint32_t value) | PhysicalLayer | virtual |
+ setDirectAction(void(*func)(void)) override | SX128x | virtual |
+ setDirectSyncWord(uint32_t syncWord, uint8_t len) | PhysicalLayer | |
+ setEncoding(uint8_t encoding) override | SX128x | virtual |
+ setFrequency(float freq) override | SX128x | virtual |
+ setFrequencyDeviation(float freqDev) override | SX128x | virtual |
+ setGainControl(uint8_t gain=0) | SX128x | |
+ setHighSensitivityMode(bool enable) | SX128x | |
+ setIrq(RadioLibIrqFlags_t irq) | PhysicalLayer | |
+ setIrqFlags(uint32_t irq) override | SX128x | virtual |
+ setModem(ModemType_t modem) override | SX128x | virtual |
+ setOutputPower(int8_t pwr) override | SX128x | virtual |
+ setPacketReceivedAction(void(*func)(void)) override | SX128x | virtual |
+ setPacketSentAction(void(*func)(void)) override | SX128x | virtual |
+ setPreambleLength(uint32_t preambleLength) | SX128x | |
+ PhysicalLayer::setPreambleLength(size_t len) | PhysicalLayer | virtual |
+ setRfSwitchPins(uint32_t rxEn, uint32_t txEn) | SX128x | |
+ setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) | SX128x | |
+ setSpreadingFactor(uint8_t sf) | SX128x | |
+ setSyncWord(const uint8_t *syncWord, uint8_t len) | SX128x | |
+ setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44) | SX128x | |
+ PhysicalLayer::setSyncWord(uint8_t *sync, size_t len) | PhysicalLayer | virtual |
+ setWhitening(bool enabled) | SX128x | |
+ sleep() override | SX128x | virtual |
+ sleep(bool retainConfig) | SX128x | |
+ stageMode(RadioModeType_t mode, RadioModeConfig_t *cfg) override | SX128x | virtual |
+ standby() override | SX128x | virtual |
+ standby(uint8_t mode, bool wakeup=false) | SX128x | |
+ PhysicalLayer::standby(uint8_t mode) | PhysicalLayer | virtual |
+ startChannelScan() override | SX128x | virtual |
+ startChannelScan(const ChannelScanConfig_t &config) override | SX128x | virtual |
+ startDirect() | PhysicalLayer | |
+ startReceive() override | SX128x | virtual |
+ startReceive() | SX128x | virtual |
+ startReceive(uint32_t timeout, RadioLibIrqFlags_t irqFlags=RADIOLIB_IRQ_RX_DEFAULT_FLAGS, RadioLibIrqFlags_t irqMask=RADIOLIB_IRQ_RX_DEFAULT_MASK, size_t len=0) | SX128x | virtual |
+ startTransmit(const char *str, uint8_t addr=0) | SX128x | |
+ startTransmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
+ SX1281(Module *mod) | SX1281 | |
+ SX128x(Module *mod) | SX128x | explicit |
+ transmit(const uint8_t *data, size_t len, uint8_t addr=0) override | SX128x | virtual |
+ transmit(const char *str, uint8_t addr=0) | SX128x | |
+ transmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
+ transmitDirect(uint32_t frf=0) override | SX128x | virtual |
+ variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX128X_MAX_PACKET_LENGTH) | SX128x | |
diff --git a/class_s_x1281.html b/class_s_x1281.html
index 78785c11..0fd13531 100644
--- a/class_s_x1281.html
+++ b/class_s_x1281.html
@@ -295,6 +295,12 @@ void clearDio1Action (
| size_t | getPacketLength (bool update, uint8_t *offset) |
| Query modem for the packet length of received payload and Rx buffer offset.
|
|
+int16_t | fixedPacketLengthMode (uint8_t len=RADIOLIB_SX128X_MAX_PACKET_LENGTH) |
+ | Set modem in fixed packet length mode. Available in GFSK mode only.
|
+ |
+int16_t | variablePacketLengthMode (uint8_t maxLen=RADIOLIB_SX128X_MAX_PACKET_LENGTH) |
+ | Set modem in variable packet length mode. Available in GFSK mode only.
|
+ |
RadioLibTime_t | getTimeOnAir (size_t len) override |
| Get expected time-on-air for a given size of payload.
|
|
diff --git a/class_s_x1282-members.html b/class_s_x1282-members.html
index 9bfc5320..0613719d 100644
--- a/class_s_x1282-members.html
+++ b/class_s_x1282-members.html
@@ -114,94 +114,96 @@ $(document).ready(function(){initNavTree('class_s_x1282.html',''); initResizable
dropSync() | PhysicalLayer | |
explicitHeader() | SX128x | |
finishTransmit() override | SX128x | virtual |
- freqStep | PhysicalLayer | |
- getChannelScanResult() override | SX128x | virtual |
- getFrequencyError() | SX128x | |
- getIrqFlags() override | SX128x | virtual |
- getIrqMapped(RadioLibIrqFlags_t irq) | PhysicalLayer | |
- getIrqStatus() | SX128x | |
- getModem(ModemType_t *modem) override | SX128x | virtual |
- getPacketLength(bool update=true) override | SX128x | virtual |
- getPacketLength(bool update, uint8_t *offset) | SX128x | |
- getRangingResult() | SX1280 | |
- getRSSI() override | SX128x | virtual |
- getRSSI(bool packet) | SX128x | |
- getSNR() override | SX128x | virtual |
- getTimeOnAir(size_t len) override | SX128x | virtual |
- implicitHeader(size_t len) | SX128x | |
- invertIQ(bool enable) override | SX128x | virtual |
- launchMode() override | SX128x | virtual |
- maxPacketLength | PhysicalLayer | |
- PhysicalLayer() | PhysicalLayer | |
- random(int32_t max) | PhysicalLayer | |
- random(int32_t min, int32_t max) | PhysicalLayer | |
- randomByte() override | SX128x | virtual |
- range(bool master, uint32_t addr, uint16_t calTable[3][6]=NULL) | SX1280 | |
- read(bool drop=true) | PhysicalLayer | |
- readBit(uint32_t pin) override | SX128x | virtual |
- readData(uint8_t *data, size_t len) override | SX128x | virtual |
- readData(uint8_t *data, size_t len) | SX128x | virtual |
- receive(uint8_t *data, size_t len) override | SX128x | virtual |
- receive(uint8_t *data, size_t len) | SX128x | virtual |
- receiveDirect() override | SX128x | virtual |
- reset(bool verify=true) | SX128x | |
- scanChannel() override | SX128x | virtual |
- scanChannel(const ChannelScanConfig_t &config) override | SX128x | virtual |
- setAccessAddress(uint32_t addr) | SX128x | |
- setBandwidth(float bw) | SX128x | |
- setBitRate(float br) override | SX128x | virtual |
- setChannelScanAction(void(*func)(void)) | PhysicalLayer | virtual |
- setCodingRate(uint8_t cr, bool longInterleaving=false) | SX128x | |
- setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021) | SX128x | |
- setDataRate(DataRate_t dr) override | SX128x | virtual |
- setDataShaping(uint8_t sh) override | SX128x | virtual |
- setDio1Action(void(*func)(void)) | SX128x | |
- setDIOMapping(uint32_t pin, uint32_t value) | PhysicalLayer | virtual |
- setDirectAction(void(*func)(void)) override | SX128x | virtual |
- setDirectSyncWord(uint32_t syncWord, uint8_t len) | PhysicalLayer | |
- setEncoding(uint8_t encoding) override | SX128x | virtual |
- setFrequency(float freq) override | SX128x | virtual |
- setFrequencyDeviation(float freqDev) override | SX128x | virtual |
- setGainControl(uint8_t gain=0) | SX128x | |
- setHighSensitivityMode(bool enable) | SX128x | |
- setIrq(RadioLibIrqFlags_t irq) | PhysicalLayer | |
- setIrqFlags(uint32_t irq) override | SX128x | virtual |
- setModem(ModemType_t modem) override | SX128x | virtual |
- setOutputPower(int8_t pwr) override | SX128x | virtual |
- setPacketReceivedAction(void(*func)(void)) override | SX128x | virtual |
- setPacketSentAction(void(*func)(void)) override | SX128x | virtual |
- setPreambleLength(uint32_t preambleLength) | SX128x | |
- PhysicalLayer::setPreambleLength(size_t len) | PhysicalLayer | virtual |
- setRfSwitchPins(uint32_t rxEn, uint32_t txEn) | SX128x | |
- setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) | SX128x | |
- setSpreadingFactor(uint8_t sf) | SX128x | |
- setSyncWord(const uint8_t *syncWord, uint8_t len) | SX128x | |
- setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44) | SX128x | |
- PhysicalLayer::setSyncWord(uint8_t *sync, size_t len) | PhysicalLayer | virtual |
- setWhitening(bool enabled) | SX128x | |
- sleep() override | SX128x | virtual |
- sleep(bool retainConfig) | SX128x | |
- stageMode(RadioModeType_t mode, RadioModeConfig_t *cfg) override | SX128x | virtual |
- standby() override | SX128x | virtual |
- standby(uint8_t mode, bool wakeup=false) | SX128x | |
- PhysicalLayer::standby(uint8_t mode) | PhysicalLayer | virtual |
- startChannelScan() override | SX128x | virtual |
- startChannelScan(const ChannelScanConfig_t &config) override | SX128x | virtual |
- startDirect() | PhysicalLayer | |
- startRanging(bool master, uint32_t addr, const uint16_t calTable[3][6]=NULL) | SX1280 | |
- startReceive() override | SX128x | virtual |
- startReceive() | SX128x | virtual |
- startReceive(uint32_t timeout, RadioLibIrqFlags_t irqFlags=RADIOLIB_IRQ_RX_DEFAULT_FLAGS, RadioLibIrqFlags_t irqMask=RADIOLIB_IRQ_RX_DEFAULT_MASK, size_t len=0) | SX128x | virtual |
- startTransmit(const char *str, uint8_t addr=0) | SX128x | |
- startTransmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
- SX1280(Module *mod) | SX1280 | |
- SX1281(Module *mod) | SX1281 | |
- SX1282(Module *mod) | SX1282 | |
- SX128x(Module *mod) | SX128x | explicit |
- transmit(const uint8_t *data, size_t len, uint8_t addr=0) override | SX128x | virtual |
- transmit(const char *str, uint8_t addr=0) | SX128x | |
- transmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
- transmitDirect(uint32_t frf=0) override | SX128x | virtual |
+ fixedPacketLengthMode(uint8_t len=RADIOLIB_SX128X_MAX_PACKET_LENGTH) | SX128x | |
+ freqStep | PhysicalLayer | |
+ getChannelScanResult() override | SX128x | virtual |
+ getFrequencyError() | SX128x | |
+ getIrqFlags() override | SX128x | virtual |
+ getIrqMapped(RadioLibIrqFlags_t irq) | PhysicalLayer | |
+ getIrqStatus() | SX128x | |
+ getModem(ModemType_t *modem) override | SX128x | virtual |
+ getPacketLength(bool update=true) override | SX128x | virtual |
+ getPacketLength(bool update, uint8_t *offset) | SX128x | |
+ getRangingResult() | SX1280 | |
+ getRSSI() override | SX128x | virtual |
+ getRSSI(bool packet) | SX128x | |
+ getSNR() override | SX128x | virtual |
+ getTimeOnAir(size_t len) override | SX128x | virtual |
+ implicitHeader(size_t len) | SX128x | |
+ invertIQ(bool enable) override | SX128x | virtual |
+ launchMode() override | SX128x | virtual |
+ maxPacketLength | PhysicalLayer | |
+ PhysicalLayer() | PhysicalLayer | |
+ random(int32_t max) | PhysicalLayer | |
+ random(int32_t min, int32_t max) | PhysicalLayer | |
+ randomByte() override | SX128x | virtual |
+ range(bool master, uint32_t addr, uint16_t calTable[3][6]=NULL) | SX1280 | |
+ read(bool drop=true) | PhysicalLayer | |
+ readBit(uint32_t pin) override | SX128x | virtual |
+ readData(uint8_t *data, size_t len) override | SX128x | virtual |
+ readData(uint8_t *data, size_t len) | SX128x | virtual |
+ receive(uint8_t *data, size_t len) override | SX128x | virtual |
+ receive(uint8_t *data, size_t len) | SX128x | virtual |
+ receiveDirect() override | SX128x | virtual |
+ reset(bool verify=true) | SX128x | |
+ scanChannel() override | SX128x | virtual |
+ scanChannel(const ChannelScanConfig_t &config) override | SX128x | virtual |
+ setAccessAddress(uint32_t addr) | SX128x | |
+ setBandwidth(float bw) | SX128x | |
+ setBitRate(float br) override | SX128x | virtual |
+ setChannelScanAction(void(*func)(void)) | PhysicalLayer | virtual |
+ setCodingRate(uint8_t cr, bool longInterleaving=false) | SX128x | |
+ setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021) | SX128x | |
+ setDataRate(DataRate_t dr) override | SX128x | virtual |
+ setDataShaping(uint8_t sh) override | SX128x | virtual |
+ setDio1Action(void(*func)(void)) | SX128x | |
+ setDIOMapping(uint32_t pin, uint32_t value) | PhysicalLayer | virtual |
+ setDirectAction(void(*func)(void)) override | SX128x | virtual |
+ setDirectSyncWord(uint32_t syncWord, uint8_t len) | PhysicalLayer | |
+ setEncoding(uint8_t encoding) override | SX128x | virtual |
+ setFrequency(float freq) override | SX128x | virtual |
+ setFrequencyDeviation(float freqDev) override | SX128x | virtual |
+ setGainControl(uint8_t gain=0) | SX128x | |
+ setHighSensitivityMode(bool enable) | SX128x | |
+ setIrq(RadioLibIrqFlags_t irq) | PhysicalLayer | |
+ setIrqFlags(uint32_t irq) override | SX128x | virtual |
+ setModem(ModemType_t modem) override | SX128x | virtual |
+ setOutputPower(int8_t pwr) override | SX128x | virtual |
+ setPacketReceivedAction(void(*func)(void)) override | SX128x | virtual |
+ setPacketSentAction(void(*func)(void)) override | SX128x | virtual |
+ setPreambleLength(uint32_t preambleLength) | SX128x | |
+ PhysicalLayer::setPreambleLength(size_t len) | PhysicalLayer | virtual |
+ setRfSwitchPins(uint32_t rxEn, uint32_t txEn) | SX128x | |
+ setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) | SX128x | |
+ setSpreadingFactor(uint8_t sf) | SX128x | |
+ setSyncWord(const uint8_t *syncWord, uint8_t len) | SX128x | |
+ setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44) | SX128x | |
+ PhysicalLayer::setSyncWord(uint8_t *sync, size_t len) | PhysicalLayer | virtual |
+ setWhitening(bool enabled) | SX128x | |
+ sleep() override | SX128x | virtual |
+ sleep(bool retainConfig) | SX128x | |
+ stageMode(RadioModeType_t mode, RadioModeConfig_t *cfg) override | SX128x | virtual |
+ standby() override | SX128x | virtual |
+ standby(uint8_t mode, bool wakeup=false) | SX128x | |
+ PhysicalLayer::standby(uint8_t mode) | PhysicalLayer | virtual |
+ startChannelScan() override | SX128x | virtual |
+ startChannelScan(const ChannelScanConfig_t &config) override | SX128x | virtual |
+ startDirect() | PhysicalLayer | |
+ startRanging(bool master, uint32_t addr, const uint16_t calTable[3][6]=NULL) | SX1280 | |
+ startReceive() override | SX128x | virtual |
+ startReceive() | SX128x | virtual |
+ startReceive(uint32_t timeout, RadioLibIrqFlags_t irqFlags=RADIOLIB_IRQ_RX_DEFAULT_FLAGS, RadioLibIrqFlags_t irqMask=RADIOLIB_IRQ_RX_DEFAULT_MASK, size_t len=0) | SX128x | virtual |
+ startTransmit(const char *str, uint8_t addr=0) | SX128x | |
+ startTransmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
+ SX1280(Module *mod) | SX1280 | |
+ SX1281(Module *mod) | SX1281 | |
+ SX1282(Module *mod) | SX1282 | |
+ SX128x(Module *mod) | SX128x | explicit |
+ transmit(const uint8_t *data, size_t len, uint8_t addr=0) override | SX128x | virtual |
+ transmit(const char *str, uint8_t addr=0) | SX128x | |
+ transmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
+ transmitDirect(uint32_t frf=0) override | SX128x | virtual |
+ variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX128X_MAX_PACKET_LENGTH) | SX128x | |
diff --git a/class_s_x1282.html b/class_s_x1282.html
index bccb9f84..8076857e 100644
--- a/class_s_x1282.html
+++ b/class_s_x1282.html
@@ -312,6 +312,12 @@ void clearDio1Action (
| size_t | getPacketLength (bool update, uint8_t *offset) |
| Query modem for the packet length of received payload and Rx buffer offset.
|
|
+int16_t | fixedPacketLengthMode (uint8_t len=RADIOLIB_SX128X_MAX_PACKET_LENGTH) |
+ | Set modem in fixed packet length mode. Available in GFSK mode only.
|
+ |
+int16_t | variablePacketLengthMode (uint8_t maxLen=RADIOLIB_SX128X_MAX_PACKET_LENGTH) |
+ | Set modem in variable packet length mode. Available in GFSK mode only.
|
+ |
RadioLibTime_t | getTimeOnAir (size_t len) override |
| Get expected time-on-air for a given size of payload.
|
|
diff --git a/class_s_x128x-members.html b/class_s_x128x-members.html
index e0fdfef9..0b1c4d5c 100644
--- a/class_s_x128x-members.html
+++ b/class_s_x128x-members.html
@@ -114,88 +114,90 @@ $(document).ready(function(){initNavTree('class_s_x128x.html',''); initResizable
dropSync() | PhysicalLayer | |
explicitHeader() | SX128x | |
finishTransmit() override | SX128x | virtual |
- freqStep | PhysicalLayer | |
- getChannelScanResult() override | SX128x | virtual |
- getFrequencyError() | SX128x | |
- getIrqFlags() override | SX128x | virtual |
- getIrqMapped(RadioLibIrqFlags_t irq) | PhysicalLayer | |
- getIrqStatus() | SX128x | |
- getModem(ModemType_t *modem) override | SX128x | virtual |
- getPacketLength(bool update=true) override | SX128x | virtual |
- getPacketLength(bool update, uint8_t *offset) | SX128x | |
- getRSSI() override | SX128x | virtual |
- getRSSI(bool packet) | SX128x | |
- getSNR() override | SX128x | virtual |
- getTimeOnAir(size_t len) override | SX128x | virtual |
- implicitHeader(size_t len) | SX128x | |
- invertIQ(bool enable) override | SX128x | virtual |
- launchMode() override | SX128x | virtual |
- maxPacketLength | PhysicalLayer | |
- PhysicalLayer() | PhysicalLayer | |
- random(int32_t max) | PhysicalLayer | |
- random(int32_t min, int32_t max) | PhysicalLayer | |
- randomByte() override | SX128x | virtual |
- read(bool drop=true) | PhysicalLayer | |
- readBit(uint32_t pin) override | SX128x | virtual |
- readData(uint8_t *data, size_t len) override | SX128x | virtual |
- readData(uint8_t *data, size_t len) | SX128x | virtual |
- receive(uint8_t *data, size_t len) override | SX128x | virtual |
- receive(uint8_t *data, size_t len) | SX128x | virtual |
- receiveDirect() override | SX128x | virtual |
- reset(bool verify=true) | SX128x | |
- scanChannel() override | SX128x | virtual |
- scanChannel(const ChannelScanConfig_t &config) override | SX128x | virtual |
- setAccessAddress(uint32_t addr) | SX128x | |
- setBandwidth(float bw) | SX128x | |
- setBitRate(float br) override | SX128x | virtual |
- setChannelScanAction(void(*func)(void)) | PhysicalLayer | virtual |
- setCodingRate(uint8_t cr, bool longInterleaving=false) | SX128x | |
- setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021) | SX128x | |
- setDataRate(DataRate_t dr) override | SX128x | virtual |
- setDataShaping(uint8_t sh) override | SX128x | virtual |
- setDio1Action(void(*func)(void)) | SX128x | |
- setDIOMapping(uint32_t pin, uint32_t value) | PhysicalLayer | virtual |
- setDirectAction(void(*func)(void)) override | SX128x | virtual |
- setDirectSyncWord(uint32_t syncWord, uint8_t len) | PhysicalLayer | |
- setEncoding(uint8_t encoding) override | SX128x | virtual |
- setFrequency(float freq) override | SX128x | virtual |
- setFrequencyDeviation(float freqDev) override | SX128x | virtual |
- setGainControl(uint8_t gain=0) | SX128x | |
- setHighSensitivityMode(bool enable) | SX128x | |
- setIrq(RadioLibIrqFlags_t irq) | PhysicalLayer | |
- setIrqFlags(uint32_t irq) override | SX128x | virtual |
- setModem(ModemType_t modem) override | SX128x | virtual |
- setOutputPower(int8_t pwr) override | SX128x | virtual |
- setPacketReceivedAction(void(*func)(void)) override | SX128x | virtual |
- setPacketSentAction(void(*func)(void)) override | SX128x | virtual |
- setPreambleLength(uint32_t preambleLength) | SX128x | |
- PhysicalLayer::setPreambleLength(size_t len) | PhysicalLayer | virtual |
- setRfSwitchPins(uint32_t rxEn, uint32_t txEn) | SX128x | |
- setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) | SX128x | |
- setSpreadingFactor(uint8_t sf) | SX128x | |
- setSyncWord(const uint8_t *syncWord, uint8_t len) | SX128x | |
- setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44) | SX128x | |
- PhysicalLayer::setSyncWord(uint8_t *sync, size_t len) | PhysicalLayer | virtual |
- setWhitening(bool enabled) | SX128x | |
- sleep() override | SX128x | virtual |
- sleep(bool retainConfig) | SX128x | |
- stageMode(RadioModeType_t mode, RadioModeConfig_t *cfg) override | SX128x | virtual |
- standby() override | SX128x | virtual |
- standby(uint8_t mode, bool wakeup=false) | SX128x | |
- PhysicalLayer::standby(uint8_t mode) | PhysicalLayer | virtual |
- startChannelScan() override | SX128x | virtual |
- startChannelScan(const ChannelScanConfig_t &config) override | SX128x | virtual |
- startDirect() | PhysicalLayer | |
- startReceive() override | SX128x | virtual |
- startReceive() | SX128x | virtual |
- startReceive(uint32_t timeout, RadioLibIrqFlags_t irqFlags=RADIOLIB_IRQ_RX_DEFAULT_FLAGS, RadioLibIrqFlags_t irqMask=RADIOLIB_IRQ_RX_DEFAULT_MASK, size_t len=0) | SX128x | virtual |
- startTransmit(const char *str, uint8_t addr=0) | SX128x | |
- startTransmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
- SX128x(Module *mod) | SX128x | explicit |
- transmit(const uint8_t *data, size_t len, uint8_t addr=0) override | SX128x | virtual |
- transmit(const char *str, uint8_t addr=0) | SX128x | |
- transmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
- transmitDirect(uint32_t frf=0) override | SX128x | virtual |
+ fixedPacketLengthMode(uint8_t len=RADIOLIB_SX128X_MAX_PACKET_LENGTH) | SX128x | |
+ freqStep | PhysicalLayer | |
+ getChannelScanResult() override | SX128x | virtual |
+ getFrequencyError() | SX128x | |
+ getIrqFlags() override | SX128x | virtual |
+ getIrqMapped(RadioLibIrqFlags_t irq) | PhysicalLayer | |
+ getIrqStatus() | SX128x | |
+ getModem(ModemType_t *modem) override | SX128x | virtual |
+ getPacketLength(bool update=true) override | SX128x | virtual |
+ getPacketLength(bool update, uint8_t *offset) | SX128x | |
+ getRSSI() override | SX128x | virtual |
+ getRSSI(bool packet) | SX128x | |
+ getSNR() override | SX128x | virtual |
+ getTimeOnAir(size_t len) override | SX128x | virtual |
+ implicitHeader(size_t len) | SX128x | |
+ invertIQ(bool enable) override | SX128x | virtual |
+ launchMode() override | SX128x | virtual |
+ maxPacketLength | PhysicalLayer | |
+ PhysicalLayer() | PhysicalLayer | |
+ random(int32_t max) | PhysicalLayer | |
+ random(int32_t min, int32_t max) | PhysicalLayer | |
+ randomByte() override | SX128x | virtual |
+ read(bool drop=true) | PhysicalLayer | |
+ readBit(uint32_t pin) override | SX128x | virtual |
+ readData(uint8_t *data, size_t len) override | SX128x | virtual |
+ readData(uint8_t *data, size_t len) | SX128x | virtual |
+ receive(uint8_t *data, size_t len) override | SX128x | virtual |
+ receive(uint8_t *data, size_t len) | SX128x | virtual |
+ receiveDirect() override | SX128x | virtual |
+ reset(bool verify=true) | SX128x | |
+ scanChannel() override | SX128x | virtual |
+ scanChannel(const ChannelScanConfig_t &config) override | SX128x | virtual |
+ setAccessAddress(uint32_t addr) | SX128x | |
+ setBandwidth(float bw) | SX128x | |
+ setBitRate(float br) override | SX128x | virtual |
+ setChannelScanAction(void(*func)(void)) | PhysicalLayer | virtual |
+ setCodingRate(uint8_t cr, bool longInterleaving=false) | SX128x | |
+ setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021) | SX128x | |
+ setDataRate(DataRate_t dr) override | SX128x | virtual |
+ setDataShaping(uint8_t sh) override | SX128x | virtual |
+ setDio1Action(void(*func)(void)) | SX128x | |
+ setDIOMapping(uint32_t pin, uint32_t value) | PhysicalLayer | virtual |
+ setDirectAction(void(*func)(void)) override | SX128x | virtual |
+ setDirectSyncWord(uint32_t syncWord, uint8_t len) | PhysicalLayer | |
+ setEncoding(uint8_t encoding) override | SX128x | virtual |
+ setFrequency(float freq) override | SX128x | virtual |
+ setFrequencyDeviation(float freqDev) override | SX128x | virtual |
+ setGainControl(uint8_t gain=0) | SX128x | |
+ setHighSensitivityMode(bool enable) | SX128x | |
+ setIrq(RadioLibIrqFlags_t irq) | PhysicalLayer | |
+ setIrqFlags(uint32_t irq) override | SX128x | virtual |
+ setModem(ModemType_t modem) override | SX128x | virtual |
+ setOutputPower(int8_t pwr) override | SX128x | virtual |
+ setPacketReceivedAction(void(*func)(void)) override | SX128x | virtual |
+ setPacketSentAction(void(*func)(void)) override | SX128x | virtual |
+ setPreambleLength(uint32_t preambleLength) | SX128x | |
+ PhysicalLayer::setPreambleLength(size_t len) | PhysicalLayer | virtual |
+ setRfSwitchPins(uint32_t rxEn, uint32_t txEn) | SX128x | |
+ setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) | SX128x | |
+ setSpreadingFactor(uint8_t sf) | SX128x | |
+ setSyncWord(const uint8_t *syncWord, uint8_t len) | SX128x | |
+ setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44) | SX128x | |
+ PhysicalLayer::setSyncWord(uint8_t *sync, size_t len) | PhysicalLayer | virtual |
+ setWhitening(bool enabled) | SX128x | |
+ sleep() override | SX128x | virtual |
+ sleep(bool retainConfig) | SX128x | |
+ stageMode(RadioModeType_t mode, RadioModeConfig_t *cfg) override | SX128x | virtual |
+ standby() override | SX128x | virtual |
+ standby(uint8_t mode, bool wakeup=false) | SX128x | |
+ PhysicalLayer::standby(uint8_t mode) | PhysicalLayer | virtual |
+ startChannelScan() override | SX128x | virtual |
+ startChannelScan(const ChannelScanConfig_t &config) override | SX128x | virtual |
+ startDirect() | PhysicalLayer | |
+ startReceive() override | SX128x | virtual |
+ startReceive() | SX128x | virtual |
+ startReceive(uint32_t timeout, RadioLibIrqFlags_t irqFlags=RADIOLIB_IRQ_RX_DEFAULT_FLAGS, RadioLibIrqFlags_t irqMask=RADIOLIB_IRQ_RX_DEFAULT_MASK, size_t len=0) | SX128x | virtual |
+ startTransmit(const char *str, uint8_t addr=0) | SX128x | |
+ startTransmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
+ SX128x(Module *mod) | SX128x | explicit |
+ transmit(const uint8_t *data, size_t len, uint8_t addr=0) override | SX128x | virtual |
+ transmit(const char *str, uint8_t addr=0) | SX128x | |
+ transmit(const uint8_t *data, size_t len, uint8_t addr=0) | SX128x | virtual |
+ transmitDirect(uint32_t frf=0) override | SX128x | virtual |
+ variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX128X_MAX_PACKET_LENGTH) | SX128x | |
diff --git a/class_s_x128x.html b/class_s_x128x.html
index bb7a17e5..f220151b 100644
--- a/class_s_x128x.html
+++ b/class_s_x128x.html
@@ -291,6 +291,12 @@ void clearDio1Action (
| size_t | getPacketLength (bool update, uint8_t *offset) |
| Query modem for the packet length of received payload and Rx buffer offset.
|
|
+int16_t | fixedPacketLengthMode (uint8_t len=RADIOLIB_SX128X_MAX_PACKET_LENGTH) |
+ | Set modem in fixed packet length mode. Available in GFSK mode only.
|
+ |
+int16_t | variablePacketLengthMode (uint8_t maxLen=RADIOLIB_SX128X_MAX_PACKET_LENGTH) |
+ | Set modem in variable packet length mode. Available in GFSK mode only.
|
+ |
RadioLibTime_t | getTimeOnAir (size_t len) override |
| Get expected time-on-air for a given size of payload.
|
|
@@ -925,6 +931,33 @@ size_t maxPacketLength
Reimplemented from PhysicalLayer.
+
+
+
+◆ fixedPacketLengthMode()
+
+
+
+
+
+ int16_t SX128x::fixedPacketLengthMode |
+ ( |
+ uint8_t |
+ len = RADIOLIB_SX128X_MAX_PACKET_LENGTH | ) |
+ |
+
+
+
+
+ Set modem in fixed packet length mode. Available in GFSK mode only.
+ - Parameters
-
+
+
+
+ - Returns
- Status Codes
+
@@ -3291,6 +3324,33 @@ size_t | maxPacketLength
Reimplemented from PhysicalLayer.
+
+
+
+◆ variablePacketLengthMode()
+
+
+
+
+
+ int16_t SX128x::variablePacketLengthMode |
+ ( |
+ uint8_t |
+ maxLen = RADIOLIB_SX128X_MAX_PACKET_LENGTH | ) |
+ |
+
+
+
+
+ Set modem in variable packet length mode. Available in GFSK mode only.
+ - Parameters
-
+
+ maxLen | Maximum packet length. |
+
+
+
+ - Returns
- Status Codes
+
The documentation for this class was generated from the following files:
diff --git a/class_s_x128x.js b/class_s_x128x.js
index 263b6fb1..798ebcb5 100644
--- a/class_s_x128x.js
+++ b/class_s_x128x.js
@@ -12,6 +12,7 @@ var class_s_x128x =
[ "clearPacketSentAction", "class_s_x128x.html#ab2335d91c7899291312e3cd6576446e5", null ],
[ "explicitHeader", "class_s_x128x.html#a94b7fb26cc99385d30b0c98b76d8188d", null ],
[ "finishTransmit", "class_s_x128x.html#a4587409a9b96a0c496cf12b3acac20c4", null ],
+ [ "fixedPacketLengthMode", "class_s_x128x.html#a30ce92d381006888fc46c19553bd805c", null ],
[ "getChannelScanResult", "class_s_x128x.html#ac39f77b77a2e4124cc30aeae08b4c653", null ],
[ "getFrequencyError", "class_s_x128x.html#a2b424000856a9dc212f571d0e8890635", null ],
[ "getIrqFlags", "class_s_x128x.html#aa17ffcb939f6b2eb0712e63b6ee7a71f", null ],
@@ -77,5 +78,6 @@ var class_s_x128x =
[ "transmit", "class_s_x128x.html#a492b2d057dd803c3884fa1adc8e22534", null ],
[ "transmit", "class_s_x128x.html#ada508497ee2e70170da3afe078e2fe0e", null ],
[ "transmit", "class_s_x128x.html#a45f4ac293d869a35ad737032efa8e884", null ],
- [ "transmitDirect", "class_s_x128x.html#a53892566b0259d348158efe3c3c3601a", null ]
+ [ "transmitDirect", "class_s_x128x.html#a53892566b0259d348158efe3c3c3601a", null ],
+ [ "variablePacketLengthMode", "class_s_x128x.html#a5ddb01757b3b9f3fa1b82b9419fc9340", null ]
];
\ No newline at end of file
diff --git a/coverage/amber.png b/coverage/amber.png
deleted file mode 100644
index 2cab170d..00000000
Binary files a/coverage/amber.png and /dev/null differ
diff --git a/coverage/emerald.png b/coverage/emerald.png
deleted file mode 100644
index 38ad4f40..00000000
Binary files a/coverage/emerald.png and /dev/null differ
diff --git a/coverage/extras/test/unit/include/HardwareEmulation.hpp.func-sort-c.html b/coverage/extras/test/unit/include/HardwareEmulation.hpp.func-sort-c.html
deleted file mode 100644
index b35d6c61..00000000
--- a/coverage/extras/test/unit/include/HardwareEmulation.hpp.func-sort-c.html
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/include/HardwareEmulation.hpp - functions
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/include/HardwareEmulation.hpp.func.html b/coverage/extras/test/unit/include/HardwareEmulation.hpp.func.html
deleted file mode 100644
index 6db46c8a..00000000
--- a/coverage/extras/test/unit/include/HardwareEmulation.hpp.func.html
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/include/HardwareEmulation.hpp - functions
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/include/HardwareEmulation.hpp.gcov.html b/coverage/extras/test/unit/include/HardwareEmulation.hpp.gcov.html
deleted file mode 100644
index d9fd4da1..00000000
--- a/coverage/extras/test/unit/include/HardwareEmulation.hpp.gcov.html
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/include/HardwareEmulation.hpp
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/include/TestHal.hpp.func-sort-c.html b/coverage/extras/test/unit/include/TestHal.hpp.func-sort-c.html
deleted file mode 100644
index b39fddd8..00000000
--- a/coverage/extras/test/unit/include/TestHal.hpp.func-sort-c.html
+++ /dev/null
@@ -1,168 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/include/TestHal.hpp - functions
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/include/TestHal.hpp.func.html b/coverage/extras/test/unit/include/TestHal.hpp.func.html
deleted file mode 100644
index 365909d8..00000000
--- a/coverage/extras/test/unit/include/TestHal.hpp.func.html
+++ /dev/null
@@ -1,168 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/include/TestHal.hpp - functions
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/include/TestHal.hpp.gcov.html b/coverage/extras/test/unit/include/TestHal.hpp.gcov.html
deleted file mode 100644
index 53080a89..00000000
--- a/coverage/extras/test/unit/include/TestHal.hpp.gcov.html
+++ /dev/null
@@ -1,345 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/include/TestHal.hpp
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
|
-
-
-
- Line data Source code
-
- 1 : #ifndef TEST_HAL_HPP
- 2 : #define TEST_HAL_HPP
- 3 :
- 4 : #include <chrono>
- 5 : #include <thread>
- 6 : #include <fmt/format.h>
- 7 :
- 8 : #include <RadioLib.h>
- 9 :
- 10 : #include <boost/log/trivial.hpp>
- 11 : #include <boost/format.hpp>
- 12 :
- 13 : #if defined(TEST_HAL_LOG)
- 14 : #define HAL_LOG(...) BOOST_TEST_MESSAGE(__VA_ARGS__)
- 15 : #else
- 16 : #define HAL_LOG(...) {}
- 17 : #endif
- 18 :
- 19 : #include "HardwareEmulation.hpp"
- 20 :
- 21 : #define TEST_HAL_INPUT (0)
- 22 : #define TEST_HAL_OUTPUT (1)
- 23 : #define TEST_HAL_LOW (0)
- 24 : #define TEST_HAL_HIGH (1)
- 25 : #define TEST_HAL_RISING (0)
- 26 : #define TEST_HAL_FALLING (1)
- 27 :
- 28 : // number of emulated GPIO pins
- 29 : #define TEST_HAL_NUM_GPIO_PINS (32)
- 30 :
- 31 : #define TEST_HAL_SPI_LOG_LENGTH (512)
- 32 :
- 33 : class TestHal : public RadioLibHal {
- 34 : public:
- 35 4 : TestHal() : RadioLibHal(TEST_HAL_INPUT, TEST_HAL_OUTPUT, TEST_HAL_LOW, TEST_HAL_HIGH, TEST_HAL_RISING, TEST_HAL_FALLING) { }
- 36 :
- 37 4 : void init() override {
- 38 : HAL_LOG("TestHal::init()");
- 39 :
- 40 : // save program start timestamp
- 41 4 : start = std::chrono::high_resolution_clock::now();
- 42 :
- 43 : // init emulated GPIO
- 44 132 : for(int i = 0; i < TEST_HAL_NUM_GPIO_PINS; i++) {
- 45 128 : this->gpio[i].mode = 0;
- 46 128 : this->gpio[i].value = 0;
- 47 128 : this->gpio[i].event = false;
- 48 128 : this->gpio[i].func = PIN_UNASSIGNED;
- 49 : }
- 50 :
- 51 : // wipe history log
- 52 4 : this->spiLogWipe();
- 53 4 : }
- 54 :
- 55 4 : void term() override {
- 56 : HAL_LOG("TestHal::term()");
- 57 4 : }
- 58 :
- 59 4 : void pinMode(uint32_t pin, uint32_t mode) override {
- 60 : HAL_LOG("TestHal::pinMode(pin=" << pin << ", mode=" << mode << " [" << ((mode == TEST_HAL_INPUT) ? "INPUT" : "OUTPUT") << "])");
- 61 :
- 62 : // check the range
- 63 4 : BOOST_ASSERT_MSG(pin < TEST_HAL_NUM_GPIO_PINS, "Pin number out of range");
- 64 :
- 65 : // check known modes
- 66 4 : BOOST_ASSERT_MSG(((mode == TEST_HAL_INPUT) || (mode == TEST_HAL_OUTPUT)), "Invalid pin mode");
- 67 :
- 68 : // set mode
- 69 4 : this->gpio[pin].mode = mode;
- 70 4 : }
- 71 :
- 72 2932 : void digitalWrite(uint32_t pin, uint32_t value) override {
- 73 : HAL_LOG("TestHal::digitalWrite(pin=" << pin << ", value=" << value << " [" << ((value == TEST_HAL_LOW) ? "LOW" : "HIGH") << "])");
- 74 :
- 75 : // check the range
- 76 2932 : BOOST_ASSERT_MSG(pin < TEST_HAL_NUM_GPIO_PINS, "Pin number out of range");
- 77 :
- 78 : // check it is output
- 79 2932 : BOOST_ASSERT_MSG(this->gpio[pin].mode == TEST_HAL_OUTPUT, "GPIO is not output!");
- 80 :
- 81 : // check known values
- 82 2932 : BOOST_ASSERT_MSG(((value == TEST_HAL_LOW) || (value == TEST_HAL_HIGH)), "Invalid output value");
- 83 :
- 84 : // set value
- 85 2932 : this->gpio[pin].value = value;
- 86 2932 : this->gpio[pin].event = true;
- 87 2932 : if(radio) {
- 88 2932 : this->radio->HandleGPIO();
- 89 : }
- 90 2932 : this->gpio[pin].event = false;
- 91 2932 : }
- 92 :
- 93 846 : uint32_t digitalRead(uint32_t pin) override {
- 94 : HAL_LOG("TestHal::digitalRead(pin=" << pin << ")");
- 95 :
- 96 : // check the range
- 97 846 : BOOST_ASSERT_MSG(pin < TEST_HAL_NUM_GPIO_PINS, "Pin number out of range");
- 98 :
- 99 : // check it is input
- 100 846 : BOOST_ASSERT_MSG(this->gpio[pin].mode == TEST_HAL_INPUT, "GPIO is not input");
- 101 :
- 102 : // read the value
- 103 846 : uint32_t value = this->gpio[pin].value;
- 104 : HAL_LOG("TestHal::digitalRead(pin=" << pin << ")=" << value << " [" << ((value == TEST_HAL_LOW) ? "LOW" : "HIGH") << "]");
- 105 846 : return(value);
- 106 : }
- 107 :
- 108 0 : void attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) override {
- 109 : HAL_LOG("TestHal::attachInterrupt(interruptNum=" << interruptNum << ", interruptCb=" << interruptCb << ", mode=" << mode << ")");
- 110 :
- 111 : // TODO implement
- 112 : (void)interruptNum;
- 113 : (void)interruptCb;
- 114 : (void)mode;
- 115 0 : }
- 116 :
- 117 0 : void detachInterrupt(uint32_t interruptNum) override {
- 118 : HAL_LOG("TestHal::detachInterrupt(interruptNum=" << interruptNum << ")");
- 119 :
- 120 : // TODO implement
- 121 : (void)interruptNum;
- 122 0 : }
- 123 :
- 124 0 : void delay(unsigned long ms) override {
- 125 : HAL_LOG("TestHal::delay(ms=" << ms << ")");
- 126 0 : const auto start = std::chrono::high_resolution_clock::now();
- 127 :
- 128 : // sleep_for is sufficient for ms-precision sleep
- 129 0 : std::this_thread::sleep_for(std::chrono::duration<unsigned long, std::milli>(ms));
- 130 :
- 131 : // measure and print
- 132 0 : const auto end = std::chrono::high_resolution_clock::now();
- 133 0 : const std::chrono::duration<double, std::milli> elapsed = end - start;
- 134 : HAL_LOG("TestHal::delay(ms=" << ms << ")=" << elapsed.count() << "ms");
- 135 0 : }
- 136 :
- 137 4615 : void delayMicroseconds(unsigned long us) override {
- 138 : HAL_LOG("TestHal::delayMicroseconds(us=" << us << ")");
- 139 4615 : const auto start = std::chrono::high_resolution_clock::now();
- 140 :
- 141 : // busy wait is needed for microseconds precision
- 142 4615 : const auto len = std::chrono::microseconds(us);
- 143 6670183 : while(std::chrono::high_resolution_clock::now() - start < len);
- 144 :
- 145 : // measure and print
- 146 4615 : const auto end = std::chrono::high_resolution_clock::now();
- 147 4615 : const std::chrono::duration<double, std::micro> elapsed = end - start;
- 148 : HAL_LOG("TestHal::delayMicroseconds(us=" << us << ")=" << elapsed.count() << "us");
- 149 4615 : }
- 150 :
- 151 0 : void yield() override {
- 152 : HAL_LOG("TestHal::yield()");
- 153 0 : }
- 154 :
- 155 846 : unsigned long millis() override {
- 156 : HAL_LOG("TestHal::millis()");
- 157 846 : std::chrono::time_point now = std::chrono::high_resolution_clock::now();
- 158 846 : auto res = std::chrono::duration_cast<std::chrono::milliseconds>(now - this->start);
- 159 : HAL_LOG("TestHal::millis()=" << res.count());
- 160 846 : return(res.count());
- 161 : }
- 162 :
- 163 1462 : unsigned long micros() override {
- 164 : HAL_LOG("TestHal::micros()");
- 165 1462 : std::chrono::time_point now = std::chrono::high_resolution_clock::now();
- 166 1462 : auto res = std::chrono::duration_cast<std::chrono::microseconds>(now - this->start);
- 167 : HAL_LOG("TestHal::micros()=" << res.count());
- 168 1462 : return(res.count());
- 169 : }
- 170 :
- 171 0 : long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout) override {
- 172 : HAL_LOG("TestHal::pulseIn(pin=" << pin << ", state=" << state << ", timeout=" << timeout << ")");
- 173 :
- 174 : // TODO implement
- 175 : (void)pin;
- 176 : (void)state;
- 177 : (void)timeout;
- 178 0 : return(0);
- 179 : }
- 180 :
- 181 0 : void spiBegin() {
- 182 : HAL_LOG("TestHal::spiBegin()");
- 183 0 : }
- 184 :
- 185 1464 : void spiBeginTransaction() {
- 186 : HAL_LOG("TestHal::spiBeginTransaction()");
- 187 1464 : }
- 188 :
- 189 1464 : void spiTransfer(uint8_t* out, size_t len, uint8_t* in) {
- 190 : HAL_LOG("TestHal::spiTransfer(len=" << len << ")");
- 191 :
- 192 5656 : for(size_t i = 0; i < len; i++) {
- 193 : // append to log
- 194 4192 : (*this->spiLogPtr++) = out[i];
- 195 :
- 196 : // process the SPI byte
- 197 4192 : in[i] = this->radio->HandleSPI(out[i]);
- 198 :
- 199 : // artificial delay to emulate SPI running at a finite speed
- 200 : // this is added because timeouts are based on time duration,
- 201 : // so we need to make sure some time actually elapses
- 202 4192 : this->delayMicroseconds(100);
- 203 :
- 204 : // output debug
- 205 : HAL_LOG(fmt::format("out={:#02x}, in={:#02x}", out[i], in[i]));
- 206 : }
- 207 1464 : }
- 208 :
- 209 1464 : void spiEndTransaction() {
- 210 : HAL_LOG("TestHal::spiEndTransaction()");
- 211 1464 : }
- 212 :
- 213 0 : void spiEnd() {
- 214 : HAL_LOG("TestHal::spiEnd()");
- 215 0 : }
- 216 :
- 217 0 : void tone(uint32_t pin, unsigned int frequency, unsigned long duration = 0) {
- 218 : HAL_LOG("TestHal::tone(pin=" << pin << ", frequency=" << frequency << ", duration=" << duration << ")");
- 219 :
- 220 : // TODO implement
- 221 : (void)pin;
- 222 : (void)frequency;
- 223 : (void)duration;
- 224 0 : }
- 225 :
- 226 0 : void noTone(uint32_t pin) {
- 227 : HAL_LOG("TestHal::noTone(pin=" << pin << ")");
- 228 :
- 229 : // TODO implement
- 230 : (void)pin;
- 231 0 : }
- 232 :
- 233 : // method to compare buffer to the internal SPI log, for verifying SPI transactions
- 234 12 : int spiLogMemcmp(const void* in, size_t n) {
- 235 12 : int ret = memcmp(this->spiLog, in, n);
- 236 12 : this->spiLogWipe();
- 237 12 : return(ret);
- 238 : }
- 239 :
- 240 16 : void spiLogWipe() {
- 241 16 : memset(this->spiLog, 0x00, TEST_HAL_SPI_LOG_LENGTH);
- 242 16 : this->spiLogPtr = this->spiLog;
- 243 16 : }
- 244 :
- 245 : // method that "connects" the emualted radio hardware to this HAL
- 246 4 : void connectRadio(EmulatedRadio* r) {
- 247 4 : this->radio = r;
- 248 4 : this->radio->connect(&this->gpio[EMULATED_RADIO_NSS_PIN],
- 249 : &this->gpio[EMULATED_RADIO_IRQ_PIN],
- 250 : &this->gpio[EMULATED_RADIO_RST_PIN],
- 251 : &this->gpio[EMULATED_RADIO_GPIO_PIN]);
- 252 4 : }
- 253 :
- 254 : private:
- 255 : // array of emulated GPIO pins
- 256 : EmulatedPin_t gpio[TEST_HAL_NUM_GPIO_PINS];
- 257 :
- 258 : // start time point
- 259 : std::chrono::time_point<std::chrono::high_resolution_clock> start;
- 260 :
- 261 : // emulated radio hardware
- 262 : EmulatedRadio* radio;
- 263 :
- 264 : // SPI history log
- 265 : uint8_t spiLog[TEST_HAL_SPI_LOG_LENGTH];
- 266 : uint8_t* spiLogPtr;
- 267 : };
- 268 :
- 269 : #endif
-
- |
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/include/index-sort-f.html b/coverage/extras/test/unit/include/index-sort-f.html
deleted file mode 100644
index 7b94b062..00000000
--- a/coverage/extras/test/unit/include/index-sort-f.html
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/include
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
|
- |
- |
- |
- |
- |
-
-
-
- Filename  |
- Line Coverage  |
- Functions  |
-
-
- TestHal.hpp |
-
-
- |
- 75.8 % |
- 69 / 91 |
- 62.5 % |
- 15 / 24 |
-
-
- HardwareEmulation.hpp |
-
-
- |
- 100.0 % |
- 14 / 14 |
- 100.0 % |
- 3 / 3 |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/include/index-sort-l.html b/coverage/extras/test/unit/include/index-sort-l.html
deleted file mode 100644
index 6e70f277..00000000
--- a/coverage/extras/test/unit/include/index-sort-l.html
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/include
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
|
- |
- |
- |
- |
- |
-
-
-
- Filename  |
- Line Coverage  |
- Functions  |
-
-
- TestHal.hpp |
-
-
- |
- 75.8 % |
- 69 / 91 |
- 62.5 % |
- 15 / 24 |
-
-
- HardwareEmulation.hpp |
-
-
- |
- 100.0 % |
- 14 / 14 |
- 100.0 % |
- 3 / 3 |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/include/index.html b/coverage/extras/test/unit/include/index.html
deleted file mode 100644
index ef5453b7..00000000
--- a/coverage/extras/test/unit/include/index.html
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/include
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
|
- |
- |
- |
- |
- |
-
-
-
- Filename  |
- Line Coverage  |
- Functions  |
-
-
- HardwareEmulation.hpp |
-
-
- |
- 100.0 % |
- 14 / 14 |
- 100.0 % |
- 3 / 3 |
-
-
- TestHal.hpp |
-
-
- |
- 75.8 % |
- 69 / 91 |
- 62.5 % |
- 15 / 24 |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/tests/TestModule.cpp.func-sort-c.html b/coverage/extras/test/unit/tests/TestModule.cpp.func-sort-c.html
deleted file mode 100644
index b781a79f..00000000
--- a/coverage/extras/test/unit/tests/TestModule.cpp.func-sort-c.html
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/tests/TestModule.cpp - functions
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/tests/TestModule.cpp.func.html b/coverage/extras/test/unit/tests/TestModule.cpp.func.html
deleted file mode 100644
index 8d9a2220..00000000
--- a/coverage/extras/test/unit/tests/TestModule.cpp.func.html
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/tests/TestModule.cpp - functions
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/tests/TestModule.cpp.gcov.html b/coverage/extras/test/unit/tests/TestModule.cpp.gcov.html
deleted file mode 100644
index 75536c1c..00000000
--- a/coverage/extras/test/unit/tests/TestModule.cpp.gcov.html
+++ /dev/null
@@ -1,305 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/tests/TestModule.cpp
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
|
-
-
-
- Line data Source code
-
- 1 : // boost test header
- 2 : #include <boost/test/unit_test.hpp>
- 3 :
- 4 : // mock HAL
- 5 : #include "TestHal.hpp"
- 6 :
- 7 : // testing fixture
- 8 : struct ModuleFixture {
- 9 : TestHal* hal = nullptr;
- 10 : Module* mod = nullptr;
- 11 : EmulatedRadio* radioHardware = nullptr;
- 12 :
- 13 4 : ModuleFixture() {
- 14 4 : BOOST_TEST_MESSAGE("--- Module fixture setup ---");
- 15 4 : hal = new TestHal();
- 16 4 : radioHardware = new EmulatedRadio();
- 17 4 : hal->connectRadio(radioHardware);
- 18 :
- 19 4 : mod = new Module(hal, EMULATED_RADIO_NSS_PIN, EMULATED_RADIO_IRQ_PIN, EMULATED_RADIO_RST_PIN, EMULATED_RADIO_GPIO_PIN);
- 20 4 : mod->init();
- 21 4 : }
- 22 :
- 23 4 : ~ModuleFixture() {
- 24 4 : BOOST_TEST_MESSAGE("--- Module fixture teardown ---");
- 25 4 : mod->term();
- 26 4 : delete[] mod;
- 27 4 : delete[] hal;
- 28 4 : }
- 29 : };
- 30 :
- 31 : BOOST_FIXTURE_TEST_SUITE(suite_Module, ModuleFixture)
- 32 :
- 33 2 : BOOST_FIXTURE_TEST_CASE(Module_SPIgetRegValue_reg, ModuleFixture)
- 34 : {
- 35 1 : BOOST_TEST_MESSAGE("--- Test Module::SPIgetRegValue register access ---");
- 36 : int16_t ret;
- 37 :
- 38 : // basic register read with default config
- 39 1 : const uint8_t address = 0x12;
- 40 1 : const uint8_t spiTxn[] = { address, 0x00 };
- 41 1 : ret = mod->SPIgetRegValue(address);
- 42 :
- 43 : // check return code, value and history log
- 44 1 : BOOST_TEST(ret >= RADIOLIB_ERR_NONE);
- 45 1 : BOOST_TEST(ret == EMULATED_RADIO_SPI_RETURN);
- 46 1 : BOOST_TEST(hal->spiLogMemcmp(spiTxn, sizeof(spiTxn)) == 0);
- 47 :
- 48 : // register read masking test
- 49 1 : const uint8_t msb = 5;
- 50 1 : const uint8_t lsb = 1;
- 51 1 : const uint8_t maskedValue = 0x3E;
- 52 1 : ret = mod->SPIgetRegValue(address, msb, lsb);
- 53 1 : BOOST_TEST(ret == maskedValue);
- 54 :
- 55 : // invalid mask tests (swapped MSB and LSB, out of range bit masks)
- 56 1 : ret = mod->SPIgetRegValue(address, lsb, msb);
- 57 1 : BOOST_TEST(ret == RADIOLIB_ERR_INVALID_BIT_RANGE);
- 58 1 : ret = mod->SPIgetRegValue(address, 10, lsb);
- 59 1 : BOOST_TEST(ret == RADIOLIB_ERR_INVALID_BIT_RANGE);
- 60 1 : ret = mod->SPIgetRegValue(address, msb, 10);
- 61 1 : BOOST_TEST(ret == RADIOLIB_ERR_INVALID_BIT_RANGE);
- 62 1 : }
- 63 :
- 64 2 : BOOST_FIXTURE_TEST_CASE(Module_SPIsetRegValue_reg, ModuleFixture)
- 65 : {
- 66 1 : BOOST_TEST_MESSAGE("--- Test Module::SPIsetRegValue register access ---");
- 67 : int16_t ret;
- 68 :
- 69 : // basic register write with default config
- 70 1 : const uint8_t address = 0x12;
- 71 1 : const uint8_t value = 0xAB;
- 72 1 : const uint8_t spiTxn[] = { address, 0x00, 0x80 | address, value };
- 73 1 : ret = mod->SPIsetRegValue(address, value);
- 74 :
- 75 : // check return code and history log
- 76 : // this will return write error because the bare emulated radio has no internal logic
- 77 1 : BOOST_TEST(ret == RADIOLIB_ERR_SPI_WRITE_FAILED);
- 78 1 : BOOST_TEST(hal->spiLogMemcmp(spiTxn, sizeof(spiTxn)) == 0);
- 79 :
- 80 : // register write masking test
- 81 1 : const uint8_t msb = 5;
- 82 1 : const uint8_t lsb = 1;
- 83 1 : const uint8_t maskedValue = 0xEB;
- 84 1 : const uint8_t spiTxn2[] = { address, 0x00, 0x80 | address, maskedValue };
- 85 1 : ret = mod->SPIsetRegValue(address, value, msb, lsb);
- 86 1 : BOOST_TEST(ret == RADIOLIB_ERR_SPI_WRITE_FAILED);
- 87 1 : BOOST_TEST(hal->spiLogMemcmp(spiTxn2, sizeof(spiTxn2)) == 0);
- 88 :
- 89 : // invalid mask tests (swapped MSB and LSB, out of range bit masks)
- 90 1 : ret = mod->SPIsetRegValue(address, value, lsb, msb);
- 91 1 : BOOST_TEST(ret == RADIOLIB_ERR_INVALID_BIT_RANGE);
- 92 1 : ret = mod->SPIsetRegValue(address, value, 10, lsb);
- 93 1 : BOOST_TEST(ret == RADIOLIB_ERR_INVALID_BIT_RANGE);
- 94 1 : ret = mod->SPIsetRegValue(address, value, msb, 10);
- 95 1 : BOOST_TEST(ret == RADIOLIB_ERR_INVALID_BIT_RANGE);
- 96 :
- 97 : // check interval test
- 98 1 : const uint8_t interval = 200;
- 99 1 : const unsigned long start = hal->micros();
- 100 1 : ret = mod->SPIsetRegValue(address, value, 7, 0, interval);
- 101 1 : const unsigned long stop = hal->micros();
- 102 1 : BOOST_TEST(ret == RADIOLIB_ERR_SPI_WRITE_FAILED);
- 103 1 : BOOST_TEST(hal->spiLogMemcmp(spiTxn, sizeof(spiTxn)) == 0);
- 104 1 : const unsigned long elapsed = stop - start;
- 105 1 : BOOST_TEST(elapsed >= (unsigned long)interval*1000UL);
- 106 :
- 107 : // disabled check mask test
- 108 1 : ret = mod->SPIsetRegValue(address, value, 7, 0, 2, 0);
- 109 1 : BOOST_TEST(ret == RADIOLIB_ERR_NONE);
- 110 1 : BOOST_TEST(hal->spiLogMemcmp(spiTxn, sizeof(spiTxn)) == 0);
- 111 :
- 112 : // forced write test
- 113 1 : ret = mod->SPIsetRegValue(address, value, 7, 0, 2, 0xFF, true);
- 114 1 : BOOST_TEST(ret == RADIOLIB_ERR_SPI_WRITE_FAILED);
- 115 1 : BOOST_TEST(hal->spiLogMemcmp(spiTxn, sizeof(spiTxn)) == 0);
- 116 1 : }
- 117 :
- 118 2 : BOOST_FIXTURE_TEST_CASE(Module_SPIgetRegValue_stream, ModuleFixture)
- 119 : {
- 120 1 : BOOST_TEST_MESSAGE("--- Test Module::SPIgetRegValue stream access ---");
- 121 : int16_t ret;
- 122 :
- 123 : // change settings to stream type
- 124 1 : mod->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR] = Module::BITS_16;
- 125 1 : mod->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD] = Module::BITS_8;
- 126 1 : mod->spiConfig.statusPos = 1;
- 127 1 : mod->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_READ] = RADIOLIB_SX126X_CMD_READ_REGISTER;
- 128 1 : mod->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_WRITE] = RADIOLIB_SX126X_CMD_WRITE_REGISTER;
- 129 1 : mod->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_NOP] = RADIOLIB_SX126X_CMD_NOP;
- 130 1 : mod->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_STATUS] = RADIOLIB_SX126X_CMD_GET_STATUS;
- 131 1 : mod->spiConfig.stream = true;
- 132 :
- 133 : // basic register read
- 134 1 : const uint8_t address = 0x12;
- 135 1 : const uint8_t spiTxn[] = { RADIOLIB_SX126X_CMD_READ_REGISTER, 0x00, address, 0x00, 0x00 };
- 136 1 : ret = mod->SPIgetRegValue(address);
- 137 :
- 138 : // check return code, value and history log
- 139 1 : BOOST_TEST(ret >= RADIOLIB_ERR_NONE);
- 140 1 : BOOST_TEST(ret == EMULATED_RADIO_SPI_RETURN);
- 141 1 : BOOST_TEST(hal->spiLogMemcmp(spiTxn, sizeof(spiTxn)) == 0);
- 142 :
- 143 : // register read masking test
- 144 1 : const uint8_t msb = 5;
- 145 1 : const uint8_t lsb = 1;
- 146 1 : const uint8_t maskedValue = 0x3E;
- 147 1 : ret = mod->SPIgetRegValue(address, msb, lsb);
- 148 1 : BOOST_TEST(ret == maskedValue);
- 149 :
- 150 : // invalid mask tests (swapped MSB and LSB, out of range bit masks)
- 151 1 : ret = mod->SPIgetRegValue(address, lsb, msb);
- 152 1 : BOOST_TEST(ret == RADIOLIB_ERR_INVALID_BIT_RANGE);
- 153 1 : ret = mod->SPIgetRegValue(address, 10, lsb);
- 154 1 : BOOST_TEST(ret == RADIOLIB_ERR_INVALID_BIT_RANGE);
- 155 1 : ret = mod->SPIgetRegValue(address, msb, 10);
- 156 1 : BOOST_TEST(ret == RADIOLIB_ERR_INVALID_BIT_RANGE);
- 157 1 : }
- 158 :
- 159 2 : BOOST_FIXTURE_TEST_CASE(Module_SPIsetRegValue_stream, ModuleFixture)
- 160 : {
- 161 1 : BOOST_TEST_MESSAGE("--- Test Module::SPIsetRegValue stream access ---");
- 162 : int16_t ret;
- 163 :
- 164 : // change settings to stream type
- 165 1 : mod->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR] = Module::BITS_16;
- 166 1 : mod->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD] = Module::BITS_8;
- 167 1 : mod->spiConfig.statusPos = 1;
- 168 1 : mod->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_READ] = RADIOLIB_SX126X_CMD_READ_REGISTER;
- 169 1 : mod->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_WRITE] = RADIOLIB_SX126X_CMD_WRITE_REGISTER;
- 170 1 : mod->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_NOP] = RADIOLIB_SX126X_CMD_NOP;
- 171 1 : mod->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_STATUS] = RADIOLIB_SX126X_CMD_GET_STATUS;
- 172 1 : mod->spiConfig.stream = true;
- 173 :
- 174 : // basic register write with default config
- 175 1 : const uint8_t address = 0x12;
- 176 1 : const uint8_t value = 0xAB;
- 177 1 : const uint8_t spiTxn[] = {
- 178 : RADIOLIB_SX126X_CMD_READ_REGISTER, 0x00, address, 0x00, 0x00,
- 179 : RADIOLIB_SX126X_CMD_WRITE_REGISTER, 0x00, address, value,
- 180 : };
- 181 1 : ret = mod->SPIsetRegValue(address, value);
- 182 :
- 183 : // check return code and history log
- 184 : // this will return write error because the bare emulated radio has no internal logic
- 185 1 : BOOST_TEST(ret == RADIOLIB_ERR_SPI_WRITE_FAILED);
- 186 1 : BOOST_TEST(hal->spiLogMemcmp(spiTxn, sizeof(spiTxn)) == 0);
- 187 :
- 188 : // register write masking test
- 189 1 : const uint8_t msb = 5;
- 190 1 : const uint8_t lsb = 1;
- 191 1 : const uint8_t maskedValue = 0xEB;
- 192 1 : const uint8_t spiTxn2[] = {
- 193 : RADIOLIB_SX126X_CMD_READ_REGISTER, 0x00, address, 0x00, 0x00,
- 194 : RADIOLIB_SX126X_CMD_WRITE_REGISTER, 0x00, address, maskedValue,
- 195 : };
- 196 1 : ret = mod->SPIsetRegValue(address, value, msb, lsb);
- 197 1 : BOOST_TEST(ret == RADIOLIB_ERR_SPI_WRITE_FAILED);
- 198 1 : BOOST_TEST(hal->spiLogMemcmp(spiTxn2, sizeof(spiTxn2)) == 0);
- 199 :
- 200 : // invalid mask tests (swapped MSB and LSB, out of range bit masks)
- 201 1 : ret = mod->SPIsetRegValue(address, value, lsb, msb);
- 202 1 : BOOST_TEST(ret == RADIOLIB_ERR_INVALID_BIT_RANGE);
- 203 1 : ret = mod->SPIsetRegValue(address, value, 10, lsb);
- 204 1 : BOOST_TEST(ret == RADIOLIB_ERR_INVALID_BIT_RANGE);
- 205 1 : ret = mod->SPIsetRegValue(address, value, msb, 10);
- 206 1 : BOOST_TEST(ret == RADIOLIB_ERR_INVALID_BIT_RANGE);
- 207 :
- 208 : // check interval test
- 209 1 : const uint8_t interval = 200;
- 210 1 : const unsigned long start = hal->micros();
- 211 1 : ret = mod->SPIsetRegValue(address, value, 7, 0, interval);
- 212 1 : const unsigned long stop = hal->micros();
- 213 1 : BOOST_TEST(ret == RADIOLIB_ERR_SPI_WRITE_FAILED);
- 214 1 : BOOST_TEST(hal->spiLogMemcmp(spiTxn, sizeof(spiTxn)) == 0);
- 215 1 : const unsigned long elapsed = stop - start;
- 216 1 : BOOST_TEST(elapsed >= (unsigned long)interval*1000UL);
- 217 :
- 218 : // disabled check mask test
- 219 1 : ret = mod->SPIsetRegValue(address, value, 7, 0, 2, 0);
- 220 1 : BOOST_TEST(ret == RADIOLIB_ERR_NONE);
- 221 1 : BOOST_TEST(hal->spiLogMemcmp(spiTxn, sizeof(spiTxn)) == 0);
- 222 :
- 223 : // forced write test
- 224 1 : ret = mod->SPIsetRegValue(address, value, 7, 0, 2, 0xFF, true);
- 225 1 : BOOST_TEST(ret == RADIOLIB_ERR_SPI_WRITE_FAILED);
- 226 1 : BOOST_TEST(hal->spiLogMemcmp(spiTxn, sizeof(spiTxn)) == 0);
- 227 1 : }
- 228 :
- 229 : BOOST_AUTO_TEST_SUITE_END()
-
- |
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/tests/index-sort-f.html b/coverage/extras/test/unit/tests/index-sort-f.html
deleted file mode 100644
index 6fffccdf..00000000
--- a/coverage/extras/test/unit/tests/index-sort-f.html
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/tests
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
|
- |
- |
- |
- |
- |
-
-
-
- Filename  |
- Line Coverage  |
- Functions  |
-
-
- TestModule.cpp |
-
-
- |
- 100.0 % |
- 142 / 142 |
- 100.0 % |
- 10 / 10 |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/tests/index-sort-l.html b/coverage/extras/test/unit/tests/index-sort-l.html
deleted file mode 100644
index c4c74dc9..00000000
--- a/coverage/extras/test/unit/tests/index-sort-l.html
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/tests
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
|
- |
- |
- |
- |
- |
-
-
-
- Filename  |
- Line Coverage  |
- Functions  |
-
-
- TestModule.cpp |
-
-
- |
- 100.0 % |
- 142 / 142 |
- 100.0 % |
- 10 / 10 |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/extras/test/unit/tests/index.html b/coverage/extras/test/unit/tests/index.html
deleted file mode 100644
index 07273b22..00000000
--- a/coverage/extras/test/unit/tests/index.html
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - extras/test/unit/tests
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
|
- |
- |
- |
- |
- |
-
-
-
- Filename  |
- Line Coverage  |
- Functions  |
-
-
- TestModule.cpp |
-
-
- |
- 100.0 % |
- 142 / 142 |
- 100.0 % |
- 10 / 10 |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/gcov.css b/coverage/gcov.css
deleted file mode 100644
index bfd0a83e..00000000
--- a/coverage/gcov.css
+++ /dev/null
@@ -1,519 +0,0 @@
-/* All views: initial background and text color */
-body
-{
- color: #000000;
- background-color: #FFFFFF;
-}
-
-/* All views: standard link format*/
-a:link
-{
- color: #284FA8;
- text-decoration: underline;
-}
-
-/* All views: standard link - visited format */
-a:visited
-{
- color: #00CB40;
- text-decoration: underline;
-}
-
-/* All views: standard link - activated format */
-a:active
-{
- color: #FF0040;
- text-decoration: underline;
-}
-
-/* All views: main title format */
-td.title
-{
- text-align: center;
- padding-bottom: 10px;
- font-family: sans-serif;
- font-size: 20pt;
- font-style: italic;
- font-weight: bold;
-}
-
-/* All views: header item format */
-td.headerItem
-{
- text-align: right;
- padding-right: 6px;
- font-family: sans-serif;
- font-weight: bold;
- vertical-align: top;
- white-space: nowrap;
-}
-
-/* All views: header item value format */
-td.headerValue
-{
- text-align: left;
- color: #284FA8;
- font-family: sans-serif;
- font-weight: bold;
- white-space: nowrap;
-}
-
-/* All views: header item coverage table heading */
-td.headerCovTableHead
-{
- text-align: center;
- padding-right: 6px;
- padding-left: 6px;
- padding-bottom: 0px;
- font-family: sans-serif;
- font-size: 80%;
- white-space: nowrap;
-}
-
-/* All views: header item coverage table entry */
-td.headerCovTableEntry
-{
- text-align: right;
- color: #284FA8;
- font-family: sans-serif;
- font-weight: bold;
- white-space: nowrap;
- padding-left: 12px;
- padding-right: 4px;
- background-color: #DAE7FE;
-}
-
-/* All views: header item coverage table entry for high coverage rate */
-td.headerCovTableEntryHi
-{
- text-align: right;
- color: #000000;
- font-family: sans-serif;
- font-weight: bold;
- white-space: nowrap;
- padding-left: 12px;
- padding-right: 4px;
- background-color: #A7FC9D;
-}
-
-/* All views: header item coverage table entry for medium coverage rate */
-td.headerCovTableEntryMed
-{
- text-align: right;
- color: #000000;
- font-family: sans-serif;
- font-weight: bold;
- white-space: nowrap;
- padding-left: 12px;
- padding-right: 4px;
- background-color: #FFEA20;
-}
-
-/* All views: header item coverage table entry for ow coverage rate */
-td.headerCovTableEntryLo
-{
- text-align: right;
- color: #000000;
- font-family: sans-serif;
- font-weight: bold;
- white-space: nowrap;
- padding-left: 12px;
- padding-right: 4px;
- background-color: #FF0000;
-}
-
-/* All views: header legend value for legend entry */
-td.headerValueLeg
-{
- text-align: left;
- color: #000000;
- font-family: sans-serif;
- font-size: 80%;
- white-space: nowrap;
- padding-top: 4px;
-}
-
-/* All views: color of horizontal ruler */
-td.ruler
-{
- background-color: #6688D4;
-}
-
-/* All views: version string format */
-td.versionInfo
-{
- text-align: center;
- padding-top: 2px;
- font-family: sans-serif;
- font-style: italic;
-}
-
-/* Directory view/File view (all)/Test case descriptions:
- table headline format */
-td.tableHead
-{
- text-align: center;
- color: #FFFFFF;
- background-color: #6688D4;
- font-family: sans-serif;
- font-size: 120%;
- font-weight: bold;
- white-space: nowrap;
- padding-left: 4px;
- padding-right: 4px;
-}
-
-span.tableHeadSort
-{
- padding-right: 4px;
-}
-
-/* Directory view/File view (all): filename entry format */
-td.coverFile
-{
- text-align: left;
- padding-left: 10px;
- padding-right: 20px;
- color: #284FA8;
- background-color: #DAE7FE;
- font-family: monospace;
-}
-
-/* Directory view/File view (all): bar-graph entry format*/
-td.coverBar
-{
- padding-left: 10px;
- padding-right: 10px;
- background-color: #DAE7FE;
-}
-
-/* Directory view/File view (all): bar-graph outline color */
-td.coverBarOutline
-{
- background-color: #000000;
-}
-
-/* Directory view/File view (all): percentage entry for files with
- high coverage rate */
-td.coverPerHi
-{
- text-align: right;
- padding-left: 10px;
- padding-right: 10px;
- background-color: #A7FC9D;
- font-weight: bold;
- font-family: sans-serif;
-}
-
-/* Directory view/File view (all): line count entry for files with
- high coverage rate */
-td.coverNumHi
-{
- text-align: right;
- padding-left: 10px;
- padding-right: 10px;
- background-color: #A7FC9D;
- white-space: nowrap;
- font-family: sans-serif;
-}
-
-/* Directory view/File view (all): percentage entry for files with
- medium coverage rate */
-td.coverPerMed
-{
- text-align: right;
- padding-left: 10px;
- padding-right: 10px;
- background-color: #FFEA20;
- font-weight: bold;
- font-family: sans-serif;
-}
-
-/* Directory view/File view (all): line count entry for files with
- medium coverage rate */
-td.coverNumMed
-{
- text-align: right;
- padding-left: 10px;
- padding-right: 10px;
- background-color: #FFEA20;
- white-space: nowrap;
- font-family: sans-serif;
-}
-
-/* Directory view/File view (all): percentage entry for files with
- low coverage rate */
-td.coverPerLo
-{
- text-align: right;
- padding-left: 10px;
- padding-right: 10px;
- background-color: #FF0000;
- font-weight: bold;
- font-family: sans-serif;
-}
-
-/* Directory view/File view (all): line count entry for files with
- low coverage rate */
-td.coverNumLo
-{
- text-align: right;
- padding-left: 10px;
- padding-right: 10px;
- background-color: #FF0000;
- white-space: nowrap;
- font-family: sans-serif;
-}
-
-/* File view (all): "show/hide details" link format */
-a.detail:link
-{
- color: #B8D0FF;
- font-size:80%;
-}
-
-/* File view (all): "show/hide details" link - visited format */
-a.detail:visited
-{
- color: #B8D0FF;
- font-size:80%;
-}
-
-/* File view (all): "show/hide details" link - activated format */
-a.detail:active
-{
- color: #FFFFFF;
- font-size:80%;
-}
-
-/* File view (detail): test name entry */
-td.testName
-{
- text-align: right;
- padding-right: 10px;
- background-color: #DAE7FE;
- font-family: sans-serif;
-}
-
-/* File view (detail): test percentage entry */
-td.testPer
-{
- text-align: right;
- padding-left: 10px;
- padding-right: 10px;
- background-color: #DAE7FE;
- font-family: sans-serif;
-}
-
-/* File view (detail): test lines count entry */
-td.testNum
-{
- text-align: right;
- padding-left: 10px;
- padding-right: 10px;
- background-color: #DAE7FE;
- font-family: sans-serif;
-}
-
-/* Test case descriptions: test name format*/
-dt
-{
- font-family: sans-serif;
- font-weight: bold;
-}
-
-/* Test case descriptions: description table body */
-td.testDescription
-{
- padding-top: 10px;
- padding-left: 30px;
- padding-bottom: 10px;
- padding-right: 30px;
- background-color: #DAE7FE;
-}
-
-/* Source code view: function entry */
-td.coverFn
-{
- text-align: left;
- padding-left: 10px;
- padding-right: 20px;
- color: #284FA8;
- background-color: #DAE7FE;
- font-family: monospace;
-}
-
-/* Source code view: function entry zero count*/
-td.coverFnLo
-{
- text-align: right;
- padding-left: 10px;
- padding-right: 10px;
- background-color: #FF0000;
- font-weight: bold;
- font-family: sans-serif;
-}
-
-/* Source code view: function entry nonzero count*/
-td.coverFnHi
-{
- text-align: right;
- padding-left: 10px;
- padding-right: 10px;
- background-color: #DAE7FE;
- font-weight: bold;
- font-family: sans-serif;
-}
-
-/* Source code view: source code format */
-pre.source
-{
- font-family: monospace;
- white-space: pre;
- margin-top: 2px;
-}
-
-/* Source code view: line number format */
-span.lineNum
-{
- background-color: #EFE383;
-}
-
-/* Source code view: format for lines which were executed */
-td.lineCov,
-span.lineCov
-{
- background-color: #CAD7FE;
-}
-
-/* Source code view: format for Cov legend */
-span.coverLegendCov
-{
- padding-left: 10px;
- padding-right: 10px;
- padding-bottom: 2px;
- background-color: #CAD7FE;
-}
-
-/* Source code view: format for lines which were not executed */
-td.lineNoCov,
-span.lineNoCov
-{
- background-color: #FF6230;
-}
-
-/* Source code view: format for NoCov legend */
-span.coverLegendNoCov
-{
- padding-left: 10px;
- padding-right: 10px;
- padding-bottom: 2px;
- background-color: #FF6230;
-}
-
-/* Source code view (function table): standard link - visited format */
-td.lineNoCov > a:visited,
-td.lineCov > a:visited
-{
- color: black;
- text-decoration: underline;
-}
-
-/* Source code view: format for lines which were executed only in a
- previous version */
-span.lineDiffCov
-{
- background-color: #B5F7AF;
-}
-
-/* Source code view: format for branches which were executed
- * and taken */
-span.branchCov
-{
- background-color: #CAD7FE;
-}
-
-/* Source code view: format for branches which were executed
- * but not taken */
-span.branchNoCov
-{
- background-color: #FF6230;
-}
-
-/* Source code view: format for branches which were not executed */
-span.branchNoExec
-{
- background-color: #FF6230;
-}
-
-/* Source code view: format for the source code heading line */
-pre.sourceHeading
-{
- white-space: pre;
- font-family: monospace;
- font-weight: bold;
- margin: 0px;
-}
-
-/* All views: header legend value for low rate */
-td.headerValueLegL
-{
- font-family: sans-serif;
- text-align: center;
- white-space: nowrap;
- padding-left: 4px;
- padding-right: 2px;
- background-color: #FF0000;
- font-size: 80%;
-}
-
-/* All views: header legend value for med rate */
-td.headerValueLegM
-{
- font-family: sans-serif;
- text-align: center;
- white-space: nowrap;
- padding-left: 2px;
- padding-right: 2px;
- background-color: #FFEA20;
- font-size: 80%;
-}
-
-/* All views: header legend value for hi rate */
-td.headerValueLegH
-{
- font-family: sans-serif;
- text-align: center;
- white-space: nowrap;
- padding-left: 2px;
- padding-right: 4px;
- background-color: #A7FC9D;
- font-size: 80%;
-}
-
-/* All views except source code view: legend format for low coverage */
-span.coverLegendCovLo
-{
- padding-left: 10px;
- padding-right: 10px;
- padding-top: 2px;
- background-color: #FF0000;
-}
-
-/* All views except source code view: legend format for med coverage */
-span.coverLegendCovMed
-{
- padding-left: 10px;
- padding-right: 10px;
- padding-top: 2px;
- background-color: #FFEA20;
-}
-
-/* All views except source code view: legend format for hi coverage */
-span.coverLegendCovHi
-{
- padding-left: 10px;
- padding-right: 10px;
- padding-top: 2px;
- background-color: #A7FC9D;
-}
diff --git a/coverage/glass.png b/coverage/glass.png
deleted file mode 100644
index e1abc006..00000000
Binary files a/coverage/glass.png and /dev/null differ
diff --git a/coverage/index-sort-f.html b/coverage/index-sort-f.html
deleted file mode 100644
index 447a4c6f..00000000
--- a/coverage/index-sort-f.html
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
|
- |
- |
- |
- |
- |
-
-
-
- Directory  |
- Line Coverage  |
- Functions  |
-
-
- src |
-
-
- |
- 47.5 % |
- 115 / 242 |
- 32.3 % |
- 10 / 31 |
-
-
- extras/test/unit/include |
-
-
- |
- 79.0 % |
- 83 / 105 |
- 66.7 % |
- 18 / 27 |
-
-
- extras/test/unit/tests |
-
-
- |
- 100.0 % |
- 142 / 142 |
- 100.0 % |
- 10 / 10 |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/index-sort-l.html b/coverage/index-sort-l.html
deleted file mode 100644
index 77308996..00000000
--- a/coverage/index-sort-l.html
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
|
- |
- |
- |
- |
- |
-
-
-
- Directory  |
- Line Coverage  |
- Functions  |
-
-
- src |
-
-
- |
- 47.5 % |
- 115 / 242 |
- 32.3 % |
- 10 / 31 |
-
-
- extras/test/unit/include |
-
-
- |
- 79.0 % |
- 83 / 105 |
- 66.7 % |
- 18 / 27 |
-
-
- extras/test/unit/tests |
-
-
- |
- 100.0 % |
- 142 / 142 |
- 100.0 % |
- 10 / 10 |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/index.html b/coverage/index.html
deleted file mode 100644
index 5c079d16..00000000
--- a/coverage/index.html
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
|
- |
- |
- |
- |
- |
-
-
-
- Directory  |
- Line Coverage  |
- Functions  |
-
-
- extras/test/unit/include |
-
-
- |
- 79.0 % |
- 83 / 105 |
- 66.7 % |
- 18 / 27 |
-
-
- extras/test/unit/tests |
-
-
- |
- 100.0 % |
- 142 / 142 |
- 100.0 % |
- 10 / 10 |
-
-
- src |
-
-
- |
- 47.5 % |
- 115 / 242 |
- 32.3 % |
- 10 / 31 |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/ruby.png b/coverage/ruby.png
deleted file mode 100644
index 991b6d4e..00000000
Binary files a/coverage/ruby.png and /dev/null differ
diff --git a/coverage/snow.png b/coverage/snow.png
deleted file mode 100644
index 2cdae107..00000000
Binary files a/coverage/snow.png and /dev/null differ
diff --git a/coverage/src/Hal.cpp.func-sort-c.html b/coverage/src/Hal.cpp.func-sort-c.html
deleted file mode 100644
index 4d2489d4..00000000
--- a/coverage/src/Hal.cpp.func-sort-c.html
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - src/Hal.cpp - functions
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/src/Hal.cpp.func.html b/coverage/src/Hal.cpp.func.html
deleted file mode 100644
index 41164d5a..00000000
--- a/coverage/src/Hal.cpp.func.html
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - src/Hal.cpp - functions
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/src/Hal.cpp.gcov.html b/coverage/src/Hal.cpp.gcov.html
deleted file mode 100644
index d4027e8c..00000000
--- a/coverage/src/Hal.cpp.gcov.html
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - src/Hal.cpp
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
|
-
-
-
- Line data Source code
-
- 1 : #include "Hal.h"
- 2 :
- 3 : static RadioLibHal* rlb_timestamp_hal = nullptr;
- 4 :
- 5 4 : RadioLibHal::RadioLibHal(const uint32_t input, const uint32_t output, const uint32_t low, const uint32_t high, const uint32_t rising, const uint32_t falling)
- 6 4 : : GpioModeInput(input),
- 7 4 : GpioModeOutput(output),
- 8 4 : GpioLevelLow(low),
- 9 4 : GpioLevelHigh(high),
- 10 4 : GpioInterruptRising(rising),
- 11 4 : GpioInterruptFalling(falling) {
- 12 4 : if(!rlb_timestamp_hal) {
- 13 1 : rlb_timestamp_hal = this;
- 14 : }
- 15 4 : }
- 16 :
- 17 0 : void RadioLibHal::init() {
- 18 :
- 19 0 : }
- 20 :
- 21 0 : void RadioLibHal::term() {
- 22 :
- 23 0 : }
- 24 :
- 25 0 : void RadioLibHal::tone(uint32_t pin, unsigned int frequency, RadioLibTime_t duration) {
- 26 : (void)pin;
- 27 : (void)frequency;
- 28 : (void)duration;
- 29 0 : }
- 30 :
- 31 0 : void RadioLibHal::noTone(uint32_t pin) {
- 32 : (void)pin;
- 33 0 : }
- 34 :
- 35 0 : void RadioLibHal::yield() {
- 36 :
- 37 0 : }
- 38 :
- 39 0 : uint32_t RadioLibHal::pinToInterrupt(uint32_t pin) {
- 40 0 : return(pin);
- 41 : }
- 42 :
- 43 0 : RadioLibTime_t rlb_time_us() {
- 44 0 : return(rlb_timestamp_hal == nullptr ? 0 : rlb_timestamp_hal->micros());
- 45 : }
-
- |
-
-
-
-
-
-
-
-
-
diff --git a/coverage/src/Module.cpp.func-sort-c.html b/coverage/src/Module.cpp.func-sort-c.html
deleted file mode 100644
index 00f12c5c..00000000
--- a/coverage/src/Module.cpp.func-sort-c.html
+++ /dev/null
@@ -1,164 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - src/Module.cpp - functions
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/src/Module.cpp.func.html b/coverage/src/Module.cpp.func.html
deleted file mode 100644
index 3419d0ba..00000000
--- a/coverage/src/Module.cpp.func.html
+++ /dev/null
@@ -1,164 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - src/Module.cpp - functions
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/src/Module.cpp.gcov.html b/coverage/src/Module.cpp.gcov.html
deleted file mode 100644
index 1b55a031..00000000
--- a/coverage/src/Module.cpp.gcov.html
+++ /dev/null
@@ -1,615 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - src/Module.cpp
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
|
-
-
-
- Line data Source code
-
- 1 : #include "Module.h"
- 2 :
- 3 : // the following is probably only needed on non-Arduino builds
- 4 : #include <stdio.h>
- 5 : #include <string.h>
- 6 :
- 7 : #if defined(RADIOLIB_BUILD_ARDUINO)
- 8 : #include "hal/Arduino/ArduinoHal.h"
- 9 :
- 10 : Module::Module(uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio) : csPin(cs), irqPin(irq), rstPin(rst), gpioPin(gpio) {
- 11 : this->hal = new ArduinoHal();
- 12 : }
- 13 :
- 14 : Module::Module(uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio, SPIClass& spi, SPISettings spiSettings) : csPin(cs), irqPin(irq), rstPin(rst), gpioPin(gpio) {
- 15 : this->hal = new ArduinoHal(spi, spiSettings);
- 16 : }
- 17 : #endif
- 18 :
- 19 4 : Module::Module(RadioLibHal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio) : csPin(cs), irqPin(irq), rstPin(rst), gpioPin(gpio) {
- 20 4 : this->hal = hal;
- 21 4 : }
- 22 :
- 23 0 : Module::Module(const Module& mod) {
- 24 0 : *this = mod;
- 25 0 : }
- 26 :
- 27 0 : Module& Module::operator=(const Module& mod) {
- 28 0 : memcpy(reinterpret_cast<void*>(&(const_cast<Module&>(mod)).spiConfig), &this->spiConfig, sizeof(SPIConfig_t));
- 29 0 : this->csPin = mod.csPin;
- 30 0 : this->irqPin = mod.irqPin;
- 31 0 : this->rstPin = mod.rstPin;
- 32 0 : this->gpioPin = mod.gpioPin;
- 33 0 : return(*this);
- 34 : }
- 35 :
- 36 : static volatile const char info[] = RADIOLIB_INFO;
- 37 4 : void Module::init() {
- 38 4 : this->hal->init();
- 39 4 : this->hal->pinMode(csPin, this->hal->GpioModeOutput);
- 40 4 : this->hal->digitalWrite(csPin, this->hal->GpioLevelHigh);
- 41 : RADIOLIB_DEBUG_BASIC_PRINTLN(RADIOLIB_INFO);
- 42 4 : }
- 43 :
- 44 4 : void Module::term() {
- 45 : // stop hardware interfaces (if they were initialized by the library)
- 46 4 : this->hal->term();
- 47 4 : }
- 48 :
- 49 10 : int16_t Module::SPIgetRegValue(uint32_t reg, uint8_t msb, uint8_t lsb) {
- 50 10 : if((msb > 7) || (lsb > 7) || (lsb > msb)) {
- 51 6 : return(RADIOLIB_ERR_INVALID_BIT_RANGE);
- 52 : }
- 53 :
- 54 4 : uint8_t rawValue = SPIreadRegister(reg);
- 55 4 : uint8_t maskedValue = rawValue & ((0b11111111 << lsb) & (0b11111111 >> (7 - msb)));
- 56 4 : return(maskedValue);
- 57 : }
- 58 :
- 59 16 : int16_t Module::SPIsetRegValue(uint32_t reg, uint8_t value, uint8_t msb, uint8_t lsb, uint8_t checkInterval, uint8_t checkMask, bool force) {
- 60 16 : if((msb > 7) || (lsb > 7) || (lsb > msb)) {
- 61 6 : return(RADIOLIB_ERR_INVALID_BIT_RANGE);
- 62 : }
- 63 :
- 64 : // read the current value
- 65 10 : uint8_t currentValue = SPIreadRegister(reg);
- 66 10 : uint8_t mask = ~((0b11111111 << (msb + 1)) | (0b11111111 >> (8 - lsb)));
- 67 :
- 68 : // check if we actually need to update the register
- 69 10 : if((currentValue & mask) == (value & mask) && !force) {
- 70 0 : return(RADIOLIB_ERR_NONE);
- 71 : }
- 72 :
- 73 : // update the register
- 74 10 : uint8_t newValue = (currentValue & ~mask) | (value & mask);
- 75 10 : SPIwriteRegister(reg, newValue);
- 76 :
- 77 : #if RADIOLIB_SPI_PARANOID
- 78 : // check register value each millisecond until check interval is reached
- 79 : // some registers need a bit of time to process the change (e.g. SX127X_REG_OP_MODE)
- 80 10 : RadioLibTime_t start = this->hal->micros();
- 81 : #if RADIOLIB_DEBUG_SPI
- 82 : uint8_t readValue = 0x00;
- 83 : #endif
- 84 1448 : while(this->hal->micros() - start < (checkInterval * 1000)) {
- 85 1440 : uint8_t val = SPIreadRegister(reg);
- 86 1440 : if((val & checkMask) == (newValue & checkMask)) {
- 87 : // check passed, we can stop the loop
- 88 2 : return(RADIOLIB_ERR_NONE);
- 89 : }
- 90 : #if RADIOLIB_DEBUG_SPI
- 91 : readValue = val;
- 92 : #endif
- 93 : }
- 94 :
- 95 : // check failed, print debug info
- 96 : RADIOLIB_DEBUG_SPI_PRINTLN();
- 97 : RADIOLIB_DEBUG_SPI_PRINTLN("address:\t0x%X", reg);
- 98 : RADIOLIB_DEBUG_SPI_PRINTLN("bits:\t\t%d %d", msb, lsb);
- 99 : RADIOLIB_DEBUG_SPI_PRINTLN("value:\t\t0x%X", value);
- 100 : RADIOLIB_DEBUG_SPI_PRINTLN("current:\t0x%X", currentValue);
- 101 : RADIOLIB_DEBUG_SPI_PRINTLN("mask:\t\t0x%X", mask);
- 102 : RADIOLIB_DEBUG_SPI_PRINTLN("new:\t\t0x%X", newValue);
- 103 : RADIOLIB_DEBUG_SPI_PRINTLN("read:\t\t0x%X", readValue);
- 104 :
- 105 8 : return(RADIOLIB_ERR_SPI_WRITE_FAILED);
- 106 : #else
- 107 : return(RADIOLIB_ERR_NONE);
- 108 : #endif
- 109 : }
- 110 :
- 111 0 : void Module::SPIreadRegisterBurst(uint32_t reg, size_t numBytes, uint8_t* inBytes) {
- 112 0 : if(!this->spiConfig.stream) {
- 113 0 : SPItransfer(this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_READ], reg, NULL, inBytes, numBytes);
- 114 : } else {
- 115 : uint8_t cmd[6];
- 116 0 : uint8_t* cmdPtr = cmd;
- 117 0 : for(int8_t i = (int8_t)this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 - 1; i >= 0; i--) {
- 118 0 : *(cmdPtr++) = (this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_READ] >> 8*i) & 0xFF;
- 119 : }
- 120 0 : for(int8_t i = (int8_t)((this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8) - 1); i >= 0; i--) {
- 121 0 : *(cmdPtr++) = (reg >> 8*i) & 0xFF;
- 122 : }
- 123 0 : SPItransferStream(cmd, this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 + this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8, false, NULL, inBytes, numBytes, true);
- 124 : }
- 125 0 : }
- 126 :
- 127 1454 : uint8_t Module::SPIreadRegister(uint32_t reg) {
- 128 1454 : uint8_t resp = 0;
- 129 1454 : if(!spiConfig.stream) {
- 130 1036 : SPItransfer(this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_READ], reg, NULL, &resp, 1);
- 131 : } else {
- 132 : uint8_t cmd[6];
- 133 418 : uint8_t* cmdPtr = cmd;
- 134 836 : for(int8_t i = (int8_t)this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 - 1; i >= 0; i--) {
- 135 418 : *(cmdPtr++) = (this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_READ] >> 8*i) & 0xFF;
- 136 : }
- 137 1254 : for(int8_t i = (int8_t)((this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8) - 1); i >= 0; i--) {
- 138 836 : *(cmdPtr++) = (reg >> 8*i) & 0xFF;
- 139 : }
- 140 418 : SPItransferStream(cmd, this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 + this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8, false, NULL, &resp, 1, true);
- 141 : }
- 142 1454 : return(resp);
- 143 : }
- 144 :
- 145 0 : void Module::SPIwriteRegisterBurst(uint32_t reg, const uint8_t* data, size_t numBytes) {
- 146 0 : if(!spiConfig.stream) {
- 147 0 : SPItransfer(spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_WRITE], reg, data, NULL, numBytes);
- 148 : } else {
- 149 : uint8_t cmd[6];
- 150 0 : uint8_t* cmdPtr = cmd;
- 151 0 : for(int8_t i = (int8_t)this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 - 1; i >= 0; i--) {
- 152 0 : *(cmdPtr++) = (this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_WRITE] >> 8*i) & 0xFF;
- 153 : }
- 154 0 : for(int8_t i = (int8_t)((this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8) - 1); i >= 0; i--) {
- 155 0 : *(cmdPtr++) = (reg >> 8*i) & 0xFF;
- 156 : }
- 157 0 : SPItransferStream(cmd, this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 + this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8, true, data, NULL, numBytes, true);
- 158 : }
- 159 0 : }
- 160 :
- 161 10 : void Module::SPIwriteRegister(uint32_t reg, uint8_t data) {
- 162 10 : if(!spiConfig.stream) {
- 163 5 : SPItransfer(spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_WRITE], reg, &data, NULL, 1);
- 164 : } else {
- 165 : uint8_t cmd[6];
- 166 5 : uint8_t* cmdPtr = cmd;
- 167 10 : for(int8_t i = (int8_t)this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 - 1; i >= 0; i--) {
- 168 5 : *(cmdPtr++) = (this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_WRITE] >> 8*i) & 0xFF;
- 169 : }
- 170 15 : for(int8_t i = (int8_t)((this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8) - 1); i >= 0; i--) {
- 171 10 : *(cmdPtr++) = (reg >> 8*i) & 0xFF;
- 172 : }
- 173 5 : SPItransferStream(cmd, this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 + this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8, true, &data, NULL, 1, true);
- 174 : }
- 175 10 : }
- 176 :
- 177 1041 : void Module::SPItransfer(uint16_t cmd, uint32_t reg, const uint8_t* dataOut, uint8_t* dataIn, size_t numBytes) {
- 178 : // prepare the buffers
- 179 1041 : size_t buffLen = this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 + this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8 + numBytes;
- 180 : #if RADIOLIB_STATIC_ONLY
- 181 : uint8_t buffOut[RADIOLIB_STATIC_ARRAY_SIZE];
- 182 : uint8_t buffIn[RADIOLIB_STATIC_ARRAY_SIZE];
- 183 : #else
- 184 1041 : uint8_t* buffOut = new uint8_t[buffLen];
- 185 1041 : uint8_t* buffIn = new uint8_t[buffLen];
- 186 : #endif
- 187 1041 : uint8_t* buffOutPtr = buffOut;
- 188 :
- 189 : // copy the command
- 190 : // TODO properly handle variable commands and addresses
- 191 1041 : if(this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR] <= 8) {
- 192 1041 : *(buffOutPtr++) = reg | cmd;
- 193 : } else {
- 194 0 : *(buffOutPtr++) = (reg >> 8) | cmd;
- 195 0 : *(buffOutPtr++) = reg & 0xFF;
- 196 : }
- 197 :
- 198 : // copy the data
- 199 1041 : if(cmd == spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_WRITE]) {
- 200 5 : memcpy(buffOutPtr, dataOut, numBytes);
- 201 : } else {
- 202 1036 : memset(buffOutPtr, this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_NOP], numBytes);
- 203 : }
- 204 :
- 205 : // do the transfer
- 206 1041 : this->hal->spiBeginTransaction();
- 207 1041 : this->hal->digitalWrite(this->csPin, this->hal->GpioLevelLow);
- 208 1041 : this->hal->spiTransfer(buffOut, buffLen, buffIn);
- 209 1041 : this->hal->digitalWrite(this->csPin, this->hal->GpioLevelHigh);
- 210 1041 : this->hal->spiEndTransaction();
- 211 :
- 212 : // copy the data
- 213 1041 : if(cmd == spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_READ]) {
- 214 1036 : memcpy(dataIn, &buffIn[this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8], numBytes);
- 215 : }
- 216 :
- 217 : // print debug information
- 218 : #if RADIOLIB_DEBUG_SPI
- 219 : const uint8_t* debugBuffPtr = NULL;
- 220 : if(cmd == spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_WRITE]) {
- 221 : RADIOLIB_DEBUG_SPI_PRINT("W\t%X\t", reg);
- 222 : debugBuffPtr = &buffOut[this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8];
- 223 : } else if(cmd == spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_READ]) {
- 224 : RADIOLIB_DEBUG_SPI_PRINT("R\t%X\t", reg);
- 225 : debugBuffPtr = &buffIn[this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8];
- 226 : }
- 227 : for(size_t n = 0; n < numBytes; n++) {
- 228 : RADIOLIB_DEBUG_SPI_PRINT_NOTAG("%X\t", debugBuffPtr[n]);
- 229 : }
- 230 : RADIOLIB_DEBUG_SPI_PRINTLN_NOTAG("");
- 231 : #endif
- 232 :
- 233 : #if !RADIOLIB_STATIC_ONLY
- 234 1041 : delete[] buffOut;
- 235 1041 : delete[] buffIn;
- 236 : #endif
- 237 1041 : }
- 238 :
- 239 0 : int16_t Module::SPIreadStream(uint16_t cmd, uint8_t* data, size_t numBytes, bool waitForGpio, bool verify) {
- 240 : uint8_t cmdBuf[2];
- 241 0 : uint8_t* cmdPtr = cmdBuf;
- 242 0 : for(int8_t i = (int8_t)this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 - 1; i >= 0; i--) {
- 243 0 : *(cmdPtr++) = (cmd >> 8*i) & 0xFF;
- 244 : }
- 245 0 : return(this->SPIreadStream(cmdBuf, this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8, data, numBytes, waitForGpio, verify));
- 246 : }
- 247 :
- 248 0 : int16_t Module::SPIreadStream(const uint8_t* cmd, uint8_t cmdLen, uint8_t* data, size_t numBytes, bool waitForGpio, bool verify) {
- 249 : // send the command
- 250 0 : int16_t state = this->SPItransferStream(cmd, cmdLen, false, NULL, data, numBytes, waitForGpio);
- 251 0 : RADIOLIB_ASSERT(state);
- 252 :
- 253 : #if !RADIOLIB_SPI_PARANOID
- 254 : (void)verify;
- 255 : return(RADIOLIB_ERR_NONE);
- 256 : #else
- 257 :
- 258 : // check the status
- 259 0 : if(verify && (this->spiConfig.checkStatusCb != nullptr)) {
- 260 0 : state = this->spiConfig.checkStatusCb(this);
- 261 : }
- 262 :
- 263 0 : return(state);
- 264 : #endif
- 265 : }
- 266 :
- 267 0 : int16_t Module::SPIwriteStream(uint16_t cmd, const uint8_t* data, size_t numBytes, bool waitForGpio, bool verify) {
- 268 : uint8_t cmdBuf[2];
- 269 0 : uint8_t* cmdPtr = cmdBuf;
- 270 0 : for(int8_t i = (int8_t)this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 - 1; i >= 0; i--) {
- 271 0 : *(cmdPtr++) = (cmd >> 8*i) & 0xFF;
- 272 : }
- 273 0 : return(this->SPIwriteStream(cmdBuf, this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8, data, numBytes, waitForGpio, verify));
- 274 : }
- 275 :
- 276 0 : int16_t Module::SPIwriteStream(const uint8_t* cmd, uint8_t cmdLen, const uint8_t* data, size_t numBytes, bool waitForGpio, bool verify) {
- 277 : // send the command
- 278 0 : int16_t state = this->SPItransferStream(cmd, cmdLen, true, data, NULL, numBytes, waitForGpio);
- 279 0 : RADIOLIB_ASSERT(state);
- 280 :
- 281 : #if !RADIOLIB_SPI_PARANOID
- 282 : (void)verify;
- 283 : return(RADIOLIB_ERR_NONE);
- 284 : #else
- 285 :
- 286 : // check the status
- 287 0 : if(verify && (this->spiConfig.checkStatusCb != nullptr)) {
- 288 0 : state = this->spiConfig.checkStatusCb(this);
- 289 : }
- 290 :
- 291 0 : return(state);
- 292 : #endif
- 293 : }
- 294 :
- 295 0 : int16_t Module::SPIcheckStream() {
- 296 0 : int16_t state = RADIOLIB_ERR_NONE;
- 297 :
- 298 : #if RADIOLIB_SPI_PARANOID
- 299 : // get the status
- 300 0 : uint8_t spiStatus = 0;
- 301 : uint8_t cmdBuf[2];
- 302 0 : uint8_t* cmdPtr = cmdBuf;
- 303 0 : for(int8_t i = (int8_t)this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 - 1; i >= 0; i--) {
- 304 0 : *(cmdPtr++) = ( this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_STATUS] >> 8*i) & 0xFF;
- 305 : }
- 306 0 : state = this->SPItransferStream(cmdBuf, this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8, false, NULL, &spiStatus, 1, true);
- 307 0 : RADIOLIB_ASSERT(state);
- 308 :
- 309 : // translate to RadioLib status code
- 310 0 : if(this->spiConfig.parseStatusCb != nullptr) {
- 311 0 : this->spiConfig.err = this->spiConfig.parseStatusCb(spiStatus);
- 312 : }
- 313 : #endif
- 314 :
- 315 0 : return(state);
- 316 : }
- 317 :
- 318 423 : int16_t Module::SPItransferStream(const uint8_t* cmd, uint8_t cmdLen, bool write, const uint8_t* dataOut, uint8_t* dataIn, size_t numBytes, bool waitForGpio) {
- 319 : // prepare the output buffer
- 320 423 : int16_t state = RADIOLIB_ERR_NONE;
- 321 423 : size_t buffLen = cmdLen + numBytes;
- 322 423 : if(!write) {
- 323 418 : buffLen += (this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_STATUS] / 8);
- 324 : }
- 325 : #if RADIOLIB_STATIC_ONLY
- 326 : uint8_t buffOut[RADIOLIB_STATIC_ARRAY_SIZE];
- 327 : #else
- 328 423 : uint8_t* buffOut = new uint8_t[buffLen];
- 329 : #endif
- 330 423 : uint8_t* buffOutPtr = buffOut;
- 331 :
- 332 : // copy the command
- 333 1692 : for(uint8_t n = 0; n < cmdLen; n++) {
- 334 1269 : *(buffOutPtr++) = cmd[n];
- 335 : }
- 336 :
- 337 : // copy the data
- 338 423 : if(write) {
- 339 5 : memcpy(buffOutPtr, dataOut, numBytes);
- 340 : } else {
- 341 418 : memset(buffOutPtr, this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_NOP], numBytes + (this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_STATUS] / 8));
- 342 : }
- 343 :
- 344 : // ensure GPIO is low
- 345 423 : if(waitForGpio) {
- 346 423 : if(this->gpioPin == RADIOLIB_NC) {
- 347 0 : this->hal->delay(50);
- 348 : } else {
- 349 423 : RadioLibTime_t start = this->hal->millis();
- 350 423 : while(this->hal->digitalRead(this->gpioPin)) {
- 351 0 : this->hal->yield();
- 352 :
- 353 : // this timeout check triggers a false positive from cppcheck
- 354 : // cppcheck-suppress unsignedLessThanZero
- 355 0 : if(this->hal->millis() - start >= this->spiConfig.timeout) {
- 356 : RADIOLIB_DEBUG_BASIC_PRINTLN("GPIO pre-transfer timeout, is it connected?");
- 357 : #if !RADIOLIB_STATIC_ONLY
- 358 0 : delete[] buffOut;
- 359 : #endif
- 360 0 : return(RADIOLIB_ERR_SPI_CMD_TIMEOUT);
- 361 : }
- 362 :
- 363 : }
- 364 : }
- 365 : }
- 366 :
- 367 : // prepare the input buffer
- 368 : #if RADIOLIB_STATIC_ONLY
- 369 : uint8_t buffIn[RADIOLIB_STATIC_ARRAY_SIZE];
- 370 : #else
- 371 423 : uint8_t* buffIn = new uint8_t[buffLen];
- 372 : #endif
- 373 :
- 374 : // do the transfer
- 375 423 : this->hal->spiBeginTransaction();
- 376 423 : this->hal->digitalWrite(this->csPin, this->hal->GpioLevelLow);
- 377 423 : this->hal->spiTransfer(buffOut, buffLen, buffIn);
- 378 423 : this->hal->digitalWrite(this->csPin, this->hal->GpioLevelHigh);
- 379 423 : this->hal->spiEndTransaction();
- 380 :
- 381 : // wait for GPIO to go high and then low
- 382 423 : if(waitForGpio) {
- 383 423 : if(this->gpioPin == RADIOLIB_NC) {
- 384 0 : this->hal->delay(1);
- 385 : } else {
- 386 423 : this->hal->delayMicroseconds(1);
- 387 423 : RadioLibTime_t start = this->hal->millis();
- 388 423 : while(this->hal->digitalRead(this->gpioPin)) {
- 389 0 : this->hal->yield();
- 390 :
- 391 : // this timeout check triggers a false positive from cppcheck
- 392 : // cppcheck-suppress unsignedLessThanZero
- 393 0 : if(this->hal->millis() - start >= this->spiConfig.timeout) {
- 394 : RADIOLIB_DEBUG_BASIC_PRINTLN("GPIO post-transfer timeout, is it connected?");
- 395 :
- 396 : // do not return yet to display the debug output
- 397 0 : state = RADIOLIB_ERR_SPI_CMD_TIMEOUT;
- 398 0 : break;
- 399 : }
- 400 :
- 401 : }
- 402 : }
- 403 : }
- 404 :
- 405 : // parse status (only if GPIO did not timeout)
- 406 423 : if((state == RADIOLIB_ERR_NONE) && (this->spiConfig.parseStatusCb != nullptr) && (numBytes > 0)) {
- 407 0 : state = this->spiConfig.parseStatusCb(buffIn[this->spiConfig.statusPos]);
- 408 : }
- 409 :
- 410 : // copy the data
- 411 423 : if(!write) {
- 412 : // skip the status bytes if present
- 413 418 : memcpy(dataIn, &buffIn[cmdLen + (this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_STATUS] / 8)], numBytes);
- 414 : }
- 415 :
- 416 : // print debug information
- 417 : #if RADIOLIB_DEBUG_SPI
- 418 : // print command byte(s)
- 419 : RADIOLIB_DEBUG_SPI_PRINT("CMD");
- 420 : if(write) {
- 421 : RADIOLIB_DEBUG_SPI_PRINT_NOTAG("W\t");
- 422 : } else {
- 423 : RADIOLIB_DEBUG_SPI_PRINT_NOTAG("R\t");
- 424 : }
- 425 : size_t n = 0;
- 426 : for(; n < cmdLen; n++) {
- 427 : RADIOLIB_DEBUG_SPI_PRINT_NOTAG("%X\t", cmd[n]);
- 428 : }
- 429 : RADIOLIB_DEBUG_SPI_PRINTLN_NOTAG("");
- 430 :
- 431 : // print data bytes
- 432 : RADIOLIB_DEBUG_SPI_PRINT("SI\t");
- 433 : for(n = 0; n < cmdLen; n++) {
- 434 : RADIOLIB_DEBUG_SPI_PRINT_NOTAG("\t");
- 435 : }
- 436 : for(; n < buffLen; n++) {
- 437 : RADIOLIB_DEBUG_SPI_PRINT_NOTAG("%X\t", buffOut[n]);
- 438 : }
- 439 : RADIOLIB_DEBUG_SPI_PRINTLN_NOTAG("");
- 440 : RADIOLIB_DEBUG_SPI_PRINT("SO\t");
- 441 : for(n = 0; n < buffLen; n++) {
- 442 : RADIOLIB_DEBUG_SPI_PRINT_NOTAG("%X\t", buffIn[n]);
- 443 : }
- 444 : RADIOLIB_DEBUG_SPI_PRINTLN_NOTAG("");
- 445 : #endif
- 446 :
- 447 : #if !RADIOLIB_STATIC_ONLY
- 448 423 : delete[] buffOut;
- 449 423 : delete[] buffIn;
- 450 : #endif
- 451 :
- 452 423 : return(state);
- 453 : }
- 454 :
- 455 0 : void Module::waitForMicroseconds(RadioLibTime_t start, RadioLibTime_t len) {
- 456 : #if RADIOLIB_INTERRUPT_TIMING
- 457 : (void)start;
- 458 : if((this->TimerSetupCb != nullptr) && (len != this->prevTimingLen)) {
- 459 : prevTimingLen = len;
- 460 : this->TimerSetupCb(len);
- 461 : }
- 462 : this->TimerFlag = false;
- 463 : while(!this->TimerFlag) {
- 464 : this->hal->yield();
- 465 : }
- 466 : #else
- 467 0 : while(this->hal->micros() - start < len) {
- 468 0 : this->hal->yield();
- 469 : }
- 470 : #endif
- 471 0 : }
- 472 :
- 473 : #if RADIOLIB_DEBUG
- 474 : void Module::regdump(const char* level, uint16_t start, size_t len) {
- 475 : #if RADIOLIB_STATIC_ONLY
- 476 : uint8_t buff[RADIOLIB_STATIC_ARRAY_SIZE];
- 477 : #else
- 478 : uint8_t* buff = new uint8_t[len];
- 479 : #endif
- 480 : SPIreadRegisterBurst(start, len, buff);
- 481 : rlb_hexdump(level, buff, len, start);
- 482 : #if !RADIOLIB_STATIC_ONLY
- 483 : delete[] buff;
- 484 : #endif
- 485 : }
- 486 : #endif
- 487 :
- 488 0 : void Module::setRfSwitchPins(uint32_t rxEn, uint32_t txEn) {
- 489 : // This can be on the stack, setRfSwitchTable copies the contents
- 490 0 : const uint32_t pins[] = {
- 491 : rxEn, txEn, RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC,
- 492 0 : };
- 493 :
- 494 : // This must be static, since setRfSwitchTable stores a reference.
- 495 : static const RfSwitchMode_t table[] = {
- 496 0 : { MODE_IDLE, {this->hal->GpioLevelLow, this->hal->GpioLevelLow} },
- 497 0 : { MODE_RX, {this->hal->GpioLevelHigh, this->hal->GpioLevelLow} },
- 498 0 : { MODE_TX, {this->hal->GpioLevelLow, this->hal->GpioLevelHigh} },
- 499 : END_OF_MODE_TABLE,
- 500 0 : };
- 501 0 : setRfSwitchTable(pins, table);
- 502 0 : }
- 503 :
- 504 0 : void Module::setRfSwitchTable(const uint32_t (&pins)[RFSWITCH_MAX_PINS], const RfSwitchMode_t table[]) {
- 505 0 : memcpy(this->rfSwitchPins, pins, sizeof(this->rfSwitchPins));
- 506 0 : this->rfSwitchTable = table;
- 507 0 : for(size_t i = 0; i < RFSWITCH_MAX_PINS; i++) {
- 508 0 : this->hal->pinMode(pins[i], this->hal->GpioModeOutput);
- 509 : }
- 510 0 : }
- 511 :
- 512 0 : const Module::RfSwitchMode_t *Module::findRfSwitchMode(uint8_t mode) const {
- 513 0 : const RfSwitchMode_t *row = this->rfSwitchTable;
- 514 0 : while(row && row->mode != MODE_END_OF_TABLE) {
- 515 0 : if(row->mode == mode) {
- 516 0 : return row;
- 517 : }
- 518 0 : ++row;
- 519 : }
- 520 0 : return nullptr;
- 521 : }
- 522 :
- 523 0 : void Module::setRfSwitchState(uint8_t mode) {
- 524 0 : const RfSwitchMode_t *row = findRfSwitchMode(mode);
- 525 0 : if(!row) {
- 526 : // RF switch control is disabled or does not have this mode
- 527 0 : return;
- 528 : }
- 529 :
- 530 : // set pins
- 531 0 : const uint32_t *value = &row->values[0];
- 532 0 : for(size_t i = 0; i < RFSWITCH_MAX_PINS; i++) {
- 533 0 : uint32_t pin = this->rfSwitchPins[i];
- 534 0 : if(!(pin & RFSWITCH_PIN_FLAG)) {
- 535 0 : this->hal->digitalWrite(pin, *value);
- 536 : }
- 537 0 : ++value;
- 538 : }
- 539 : }
-
- |
-
-
-
-
-
-
-
-
-
diff --git a/coverage/src/index-sort-f.html b/coverage/src/index-sort-f.html
deleted file mode 100644
index efe94723..00000000
--- a/coverage/src/index-sort-f.html
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - src
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
|
- |
- |
- |
- |
- |
-
-
-
- Filename  |
- Line Coverage  |
- Functions  |
-
-
- Hal.cpp |
-
-
- |
- 41.7 % |
- 10 / 24 |
- 12.5 % |
- 1 / 8 |
-
-
- Module.cpp |
-
-
- |
- 48.2 % |
- 105 / 218 |
- 39.1 % |
- 9 / 23 |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/src/index-sort-l.html b/coverage/src/index-sort-l.html
deleted file mode 100644
index 3a80a2f0..00000000
--- a/coverage/src/index-sort-l.html
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - src
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
|
- |
- |
- |
- |
- |
-
-
-
- Filename  |
- Line Coverage  |
- Functions  |
-
-
- Hal.cpp |
-
-
- |
- 41.7 % |
- 10 / 24 |
- 12.5 % |
- 1 / 8 |
-
-
- Module.cpp |
-
-
- |
- 48.2 % |
- 105 / 218 |
- 39.1 % |
- 9 / 23 |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/src/index.html b/coverage/src/index.html
deleted file mode 100644
index b2134f66..00000000
--- a/coverage/src/index.html
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
-
-
- LCOV - lcov.info - src
-
-
-
-
-
-
- LCOV - code coverage report |
-  |
-
-
-
-
-
-
-
- |
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-  |
-
- |
-
-
-  |
-
-
-
-
-
-
-
|
- |
- |
- |
- |
- |
-
-
-
- Filename  |
- Line Coverage  |
- Functions  |
-
-
- Hal.cpp |
-
-
- |
- 41.7 % |
- 10 / 24 |
- 12.5 % |
- 1 / 8 |
-
-
- Module.cpp |
-
-
- |
- 48.2 % |
- 105 / 218 |
- 39.1 % |
- 9 / 23 |
-
-
-
-
-
-
-
-
-
-
diff --git a/coverage/updown.png b/coverage/updown.png
deleted file mode 100644
index aa56a238..00000000
Binary files a/coverage/updown.png and /dev/null differ
diff --git a/functions_f.html b/functions_f.html
index 888e5070..dce55948 100644
--- a/functions_f.html
+++ b/functions_f.html
@@ -99,7 +99,7 @@ $(document).ready(function(){initNavTree('functions_f.html',''); initResizable()
- fifoGet() : RF69, SX127x
- findRfSwitchMode() : Module
- finishTransmit() : CC1101, LR11x0, nRF24, PhysicalLayer, RF69, Si443x, SX126x, SX127x, SX128x
-- fixedPacketLengthMode() : CC1101, LR11x0, RF69, Si443x, SX126x, SX127x
+- fixedPacketLengthMode() : CC1101, LR11x0, RF69, Si443x, SX126x, SX127x, SX128x
- forceLDRO() : LR11x0, SX126x, SX1272, SX1278
- fPort : LoRaWANEvent_t
- frameSubType : LR11x0WifiResultFull_t
diff --git a/functions_func_f.html b/functions_func_f.html
index 7307871a..9a9235ea 100644
--- a/functions_func_f.html
+++ b/functions_func_f.html
@@ -97,7 +97,7 @@ $(document).ready(function(){initNavTree('functions_func_f.html',''); initResiza
- fifoGet() : RF69, SX127x
- findRfSwitchMode() : Module
- finishTransmit() : CC1101, LR11x0, nRF24, PhysicalLayer, RF69, Si443x, SX126x, SX127x, SX128x
-- fixedPacketLengthMode() : CC1101, LR11x0, RF69, Si443x, SX126x, SX127x
+- fixedPacketLengthMode() : CC1101, LR11x0, RF69, Si443x, SX126x, SX127x, SX128x
- forceLDRO() : LR11x0, SX126x, SX1272, SX1278
- FSK4Client() : FSK4Client
diff --git a/functions_func_v.html b/functions_func_v.html
index 474c5f78..2a9a4a62 100644
--- a/functions_func_v.html
+++ b/functions_func_v.html
@@ -93,7 +93,7 @@ $(document).ready(function(){initNavTree('functions_func_v.html',''); initResiza
Here is a list of all documented functions with links to the class documentation for each member:
- v -
-- variablePacketLengthMode() : CC1101, LR11x0, RF69, Si443x, SX126x, SX127x
+- variablePacketLengthMode() : CC1101, LR11x0, RF69, Si443x, SX126x, SX127x, SX128x
- verifyCMAC() : RadioLibAES128
diff --git a/functions_v.html b/functions_v.html
index 9ab77adc..37651458 100644
--- a/functions_v.html
+++ b/functions_v.html
@@ -94,7 +94,7 @@ $(document).ready(function(){initNavTree('functions_v.html',''); initResizable()
- v -
- values : Module::RfSwitchMode_t
-- variablePacketLengthMode() : CC1101, LR11x0, RF69, Si443x, SX126x, SX127x
+- variablePacketLengthMode() : CC1101, LR11x0, RF69, Si443x, SX126x, SX127x, SX128x
- verifyCMAC() : RadioLibAES128
- visCode : SSTVMode_t
diff --git a/navtreedata.js b/navtreedata.js
index 8b1907ca..b7a31eb1 100644
--- a/navtreedata.js
+++ b/navtreedata.js
@@ -59,8 +59,8 @@ var NAVTREEINDEX =
"class_physical_layer.html#a923654706eff5118ef6e84214e837f27",
"class_s_t_m32_w_lx.html#ad96d18fea2a7fffa959b64c8c5d993a8",
"class_s_x127x.html#a48ca43e6aad02815fa1507f0f0831c54",
-"classn_r_f24.html#a760d3f47f58ddacdf41975447484a47c",
-"lr1110__transceiver__0307_8h.html#a3e84b323eea7cc20fb619e3d48818e64"
+"classn_r_f24.html#a60df9afa489eabe3a3ca193ab7709165",
+"lr1110__transceiver__0306_8h_source.html"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/navtreeindex4.js b/navtreeindex4.js
index 2a2a5775..a56f0511 100644
--- a/navtreeindex4.js
+++ b/navtreeindex4.js
@@ -80,84 +80,86 @@ var NAVTREEINDEX4 =
"class_s_x1282.html":[3,0,89],
"class_s_x1282.html#ae90b7dcd7167c4cbe20e33ced04e4232":[3,0,89,0],
"class_s_x128x.html":[3,0,90],
-"class_s_x128x.html#a0759fb31b3ce5bf1c832259c9c2245ed":[3,0,90,43],
-"class_s_x128x.html#a18664ad615c5507ff1690baaca90b094":[3,0,90,69],
-"class_s_x128x.html#a1984a405262f155f16a4759c5f6b0133":[3,0,90,55],
-"class_s_x128x.html#a1bc3372c47a4e3c81ef15bee448ba6b6":[3,0,90,52],
-"class_s_x128x.html#a1bef6b6f3058be6b1681c78334342bc1":[3,0,90,60],
-"class_s_x128x.html#a1e6f938ce715dad9a6609bf56626a50d":[3,0,90,54],
-"class_s_x128x.html#a209d69e710a785da2c69474f94fdccf3":[3,0,90,51],
-"class_s_x128x.html#a2326cf28c385b8dd709cb62c9f665000":[3,0,90,44],
-"class_s_x128x.html#a260b99d8427e089546e33084803d955a":[3,0,90,19],
-"class_s_x128x.html#a2643ce22176293631fea2169f5e68e66":[3,0,90,33],
-"class_s_x128x.html#a26d0d02e5e53a3172df9208fa343a3f1":[3,0,90,47],
+"class_s_x128x.html#a0759fb31b3ce5bf1c832259c9c2245ed":[3,0,90,44],
+"class_s_x128x.html#a18664ad615c5507ff1690baaca90b094":[3,0,90,70],
+"class_s_x128x.html#a1984a405262f155f16a4759c5f6b0133":[3,0,90,56],
+"class_s_x128x.html#a1bc3372c47a4e3c81ef15bee448ba6b6":[3,0,90,53],
+"class_s_x128x.html#a1bef6b6f3058be6b1681c78334342bc1":[3,0,90,61],
+"class_s_x128x.html#a1e6f938ce715dad9a6609bf56626a50d":[3,0,90,55],
+"class_s_x128x.html#a209d69e710a785da2c69474f94fdccf3":[3,0,90,52],
+"class_s_x128x.html#a2326cf28c385b8dd709cb62c9f665000":[3,0,90,45],
+"class_s_x128x.html#a260b99d8427e089546e33084803d955a":[3,0,90,20],
+"class_s_x128x.html#a2643ce22176293631fea2169f5e68e66":[3,0,90,34],
+"class_s_x128x.html#a26d0d02e5e53a3172df9208fa343a3f1":[3,0,90,48],
"class_s_x128x.html#a275a9a86934124eab4982ad52bf91aea":[3,0,90,1],
-"class_s_x128x.html#a2b424000856a9dc212f571d0e8890635":[3,0,90,13],
-"class_s_x128x.html#a2be8cc6c3b61b59cb6a6ca4f6a030b45":[3,0,90,65],
+"class_s_x128x.html#a2b424000856a9dc212f571d0e8890635":[3,0,90,14],
+"class_s_x128x.html#a2be8cc6c3b61b59cb6a6ca4f6a030b45":[3,0,90,66],
"class_s_x128x.html#a2c4a24623c5fd27b3cc937e55783d709":[3,0,90,3],
-"class_s_x128x.html#a2f8427103d6609f3ac44b23fcca4f301":[3,0,90,34],
-"class_s_x128x.html#a32b7b674d63c36f15b7f58a2cb837a99":[3,0,90,31],
-"class_s_x128x.html#a3563453988a83d22dd07d4691543a300":[3,0,90,28],
-"class_s_x128x.html#a3837662441a9eb3f0a71f4f667db9e91":[3,0,90,48],
-"class_s_x128x.html#a389aab93e24ec8c7cc9c14de90e5dfae":[3,0,90,66],
-"class_s_x128x.html#a390fd0749b316eed67da7b54f4f24735":[3,0,90,18],
+"class_s_x128x.html#a2f8427103d6609f3ac44b23fcca4f301":[3,0,90,35],
+"class_s_x128x.html#a30ce92d381006888fc46c19553bd805c":[3,0,90,12],
+"class_s_x128x.html#a32b7b674d63c36f15b7f58a2cb837a99":[3,0,90,32],
+"class_s_x128x.html#a3563453988a83d22dd07d4691543a300":[3,0,90,29],
+"class_s_x128x.html#a3837662441a9eb3f0a71f4f667db9e91":[3,0,90,49],
+"class_s_x128x.html#a389aab93e24ec8c7cc9c14de90e5dfae":[3,0,90,67],
+"class_s_x128x.html#a390fd0749b316eed67da7b54f4f24735":[3,0,90,19],
"class_s_x128x.html#a4587409a9b96a0c496cf12b3acac20c4":[3,0,90,11],
-"class_s_x128x.html#a45f4ac293d869a35ad737032efa8e884":[3,0,90,76],
-"class_s_x128x.html#a46e7979288205689ea97f1c26d1da07e":[3,0,90,24],
-"class_s_x128x.html#a492b2d057dd803c3884fa1adc8e22534":[3,0,90,74],
-"class_s_x128x.html#a53892566b0259d348158efe3c3c3601a":[3,0,90,77],
-"class_s_x128x.html#a5ba683fbc4a46418ce3736f224fb55f2":[3,0,90,56],
+"class_s_x128x.html#a45f4ac293d869a35ad737032efa8e884":[3,0,90,77],
+"class_s_x128x.html#a46e7979288205689ea97f1c26d1da07e":[3,0,90,25],
+"class_s_x128x.html#a492b2d057dd803c3884fa1adc8e22534":[3,0,90,75],
+"class_s_x128x.html#a53892566b0259d348158efe3c3c3601a":[3,0,90,78],
+"class_s_x128x.html#a5ba683fbc4a46418ce3736f224fb55f2":[3,0,90,57],
+"class_s_x128x.html#a5ddb01757b3b9f3fa1b82b9419fc9340":[3,0,90,79],
"class_s_x128x.html#a5e876e02fd527390905004718225c25f":[3,0,90,5],
-"class_s_x128x.html#a65441afe4db0e96788d35b35a2075818":[3,0,90,64],
-"class_s_x128x.html#a67ab0acd97f81e509af80a31f1fa7dc4":[3,0,90,17],
-"class_s_x128x.html#a6a2ec5d316975f390f20b4e0a2e11e98":[3,0,90,50],
-"class_s_x128x.html#a6e45fbfaec7063e52e188f47a3a585a5":[3,0,90,49],
+"class_s_x128x.html#a65441afe4db0e96788d35b35a2075818":[3,0,90,65],
+"class_s_x128x.html#a67ab0acd97f81e509af80a31f1fa7dc4":[3,0,90,18],
+"class_s_x128x.html#a6a2ec5d316975f390f20b4e0a2e11e98":[3,0,90,51],
+"class_s_x128x.html#a6e45fbfaec7063e52e188f47a3a585a5":[3,0,90,50],
"class_s_x128x.html#a6ed60dfbd142315bb4e1abd2555a470a":[3,0,90,4],
-"class_s_x128x.html#a803eaca8bb7fdfa3570cf4aa95f8e729":[3,0,90,70],
-"class_s_x128x.html#a8720a388d2cd10fac3112b89f4a80947":[3,0,90,45],
-"class_s_x128x.html#a8b3eea268f21bf911b6eaf37c5eb0b5f":[3,0,90,61],
-"class_s_x128x.html#a8d331080599e09ef0b11a77cffd6f13a":[3,0,90,26],
-"class_s_x128x.html#a923654706eff5118ef6e84214e837f27":[3,0,90,72],
-"class_s_x128x.html#a9346490a6c56edcff2e12ae0369a8df5":[3,0,90,36],
-"class_s_x128x.html#a948156af6e886bc46a6c6c5fb10a087a":[3,0,90,67],
+"class_s_x128x.html#a803eaca8bb7fdfa3570cf4aa95f8e729":[3,0,90,71],
+"class_s_x128x.html#a8720a388d2cd10fac3112b89f4a80947":[3,0,90,46],
+"class_s_x128x.html#a8b3eea268f21bf911b6eaf37c5eb0b5f":[3,0,90,62],
+"class_s_x128x.html#a8d331080599e09ef0b11a77cffd6f13a":[3,0,90,27],
+"class_s_x128x.html#a923654706eff5118ef6e84214e837f27":[3,0,90,73],
+"class_s_x128x.html#a9346490a6c56edcff2e12ae0369a8df5":[3,0,90,37],
+"class_s_x128x.html#a948156af6e886bc46a6c6c5fb10a087a":[3,0,90,68],
"class_s_x128x.html#a94b7fb26cc99385d30b0c98b76d8188d":[3,0,90,10],
-"class_s_x128x.html#a94bca43258b09217fb476a2d8db784bb":[3,0,90,29],
-"class_s_x128x.html#a98ef7dc21647642b40baf8c0194788c4":[3,0,90,63],
-"class_s_x128x.html#a99491c705e88dddc820f884b778f1660":[3,0,90,42],
+"class_s_x128x.html#a94bca43258b09217fb476a2d8db784bb":[3,0,90,30],
+"class_s_x128x.html#a98ef7dc21647642b40baf8c0194788c4":[3,0,90,64],
+"class_s_x128x.html#a99491c705e88dddc820f884b778f1660":[3,0,90,43],
"class_s_x128x.html#a9ccbf51f8304f1041c8eef182be547a7":[3,0,90,0],
-"class_s_x128x.html#a9da544e4a6120f73a078b46c6138505a":[3,0,90,39],
-"class_s_x128x.html#aa17ffcb939f6b2eb0712e63b6ee7a71f":[3,0,90,14],
-"class_s_x128x.html#aa4b1e0b96347011522e053f30202c0fe":[3,0,90,40],
-"class_s_x128x.html#ab0c26aebd432d36974b3066055df6b01":[3,0,90,62],
+"class_s_x128x.html#a9da544e4a6120f73a078b46c6138505a":[3,0,90,40],
+"class_s_x128x.html#aa17ffcb939f6b2eb0712e63b6ee7a71f":[3,0,90,15],
+"class_s_x128x.html#aa4b1e0b96347011522e053f30202c0fe":[3,0,90,41],
+"class_s_x128x.html#ab0c26aebd432d36974b3066055df6b01":[3,0,90,63],
"class_s_x128x.html#ab2335d91c7899291312e3cd6576446e5":[3,0,90,9],
-"class_s_x128x.html#ab55112682432f369fb17f8107ba5158b":[3,0,90,35],
-"class_s_x128x.html#ab82617fa3fa9f21d4cd427314ecc4af8":[3,0,90,30],
+"class_s_x128x.html#ab55112682432f369fb17f8107ba5158b":[3,0,90,36],
+"class_s_x128x.html#ab82617fa3fa9f21d4cd427314ecc4af8":[3,0,90,31],
"class_s_x128x.html#ab8a3fe8e2843fa039ef369668f1a423f":[3,0,90,6],
-"class_s_x128x.html#ab9e16231c2c6bd0e4b4c6c2900b5b332":[3,0,90,46],
-"class_s_x128x.html#ac39f77b77a2e4124cc30aeae08b4c653":[3,0,90,12],
-"class_s_x128x.html#ac69cc622020419cb3393eac5cc88915b":[3,0,90,23],
+"class_s_x128x.html#ab9e16231c2c6bd0e4b4c6c2900b5b332":[3,0,90,47],
+"class_s_x128x.html#ac39f77b77a2e4124cc30aeae08b4c653":[3,0,90,13],
+"class_s_x128x.html#ac69cc622020419cb3393eac5cc88915b":[3,0,90,24],
"class_s_x128x.html#ac79047a072a038194f3429a913e7aaee":[3,0,90,8],
-"class_s_x128x.html#acaee753f0736774efc25e38f58e0cb26":[3,0,90,20],
-"class_s_x128x.html#acdee68d9be73509f464226722551c4d9":[3,0,90,68],
+"class_s_x128x.html#acaee753f0736774efc25e38f58e0cb26":[3,0,90,21],
+"class_s_x128x.html#acdee68d9be73509f464226722551c4d9":[3,0,90,69],
"class_s_x128x.html#ace5ede905bf85aada0c61b9cfaaea127":[3,0,90,2],
-"class_s_x128x.html#ad34368fb77de08630ed06ae797c9e483":[3,0,90,25],
-"class_s_x128x.html#ad5789bd27d46b24f54aac9ca55ec9958":[3,0,90,57],
-"class_s_x128x.html#ad6570f33bae09bc8b7617f9da39033ac":[3,0,90,38],
-"class_s_x128x.html#ad7bb0f4aa60a600d24d6268b430e719d":[3,0,90,16],
-"class_s_x128x.html#ad9584464d2e4cc09686cf4e83e65d3e0":[3,0,90,59],
-"class_s_x128x.html#ad98c4526ef971f9aadb30e351a37eaf9":[3,0,90,53],
-"class_s_x128x.html#ada508497ee2e70170da3afe078e2fe0e":[3,0,90,75],
-"class_s_x128x.html#adbf5a9ac62460efb1c709e51260dbe3d":[3,0,90,41],
-"class_s_x128x.html#adce2e6c7215caa7c904b0d8f9cbd107d":[3,0,90,21],
-"class_s_x128x.html#ae1f933f767161cc59fdaca816ab93e22":[3,0,90,15],
-"class_s_x128x.html#ae435f57132f76f4283abb870176acf54":[3,0,90,58],
-"class_s_x128x.html#ae7d3676df8f28c79b9bee23df884fa55":[3,0,90,22],
-"class_s_x128x.html#ae93500dfbcfd39837e04c0f3eaa40d97":[3,0,90,71],
-"class_s_x128x.html#ae93c99c85deb950fe9bc7101142b5f6a":[3,0,90,37],
-"class_s_x128x.html#af2e1d173694a59082a22922a6f7d50a8":[3,0,90,27],
-"class_s_x128x.html#af79757dbbd62e080c1bad2e608ab940c":[3,0,90,73],
+"class_s_x128x.html#ad34368fb77de08630ed06ae797c9e483":[3,0,90,26],
+"class_s_x128x.html#ad5789bd27d46b24f54aac9ca55ec9958":[3,0,90,58],
+"class_s_x128x.html#ad6570f33bae09bc8b7617f9da39033ac":[3,0,90,39],
+"class_s_x128x.html#ad7bb0f4aa60a600d24d6268b430e719d":[3,0,90,17],
+"class_s_x128x.html#ad9584464d2e4cc09686cf4e83e65d3e0":[3,0,90,60],
+"class_s_x128x.html#ad98c4526ef971f9aadb30e351a37eaf9":[3,0,90,54],
+"class_s_x128x.html#ada508497ee2e70170da3afe078e2fe0e":[3,0,90,76],
+"class_s_x128x.html#adbf5a9ac62460efb1c709e51260dbe3d":[3,0,90,42],
+"class_s_x128x.html#adce2e6c7215caa7c904b0d8f9cbd107d":[3,0,90,22],
+"class_s_x128x.html#ae1f933f767161cc59fdaca816ab93e22":[3,0,90,16],
+"class_s_x128x.html#ae435f57132f76f4283abb870176acf54":[3,0,90,59],
+"class_s_x128x.html#ae7d3676df8f28c79b9bee23df884fa55":[3,0,90,23],
+"class_s_x128x.html#ae93500dfbcfd39837e04c0f3eaa40d97":[3,0,90,72],
+"class_s_x128x.html#ae93c99c85deb950fe9bc7101142b5f6a":[3,0,90,38],
+"class_s_x128x.html#af2e1d173694a59082a22922a6f7d50a8":[3,0,90,28],
+"class_s_x128x.html#af79757dbbd62e080c1bad2e608ab940c":[3,0,90,74],
"class_s_x128x.html#afb95ca5f2c8494042fbbe52802fc265d":[3,0,90,7],
-"class_s_x128x.html#aff7d86352c98771595375e17d19a2a97":[3,0,90,32],
+"class_s_x128x.html#aff7d86352c98771595375e17d19a2a97":[3,0,90,33],
"class_si4430.html":[3,0,63],
"class_si4430.html#a3959e91bcae77b8240e9e447985e05b3":[3,0,63,2],
"class_si4430.html#a9e45de584e2624c1132eb0d327d12433":[3,0,63,1],
@@ -247,7 +249,5 @@ var NAVTREEINDEX4 =
"classn_r_f24.html#a52c097dc0078fc4e8707c095378aff3d":[3,0,41,3],
"classn_r_f24.html#a5957f06a891d3d9c07e87b59c239ce56":[3,0,41,33],
"classn_r_f24.html#a5b01677f5ce6bee54da8fc7098c339f4":[3,0,41,15],
-"classn_r_f24.html#a5e97c13373c6c8d5a86404646884dea3":[3,0,41,25],
-"classn_r_f24.html#a60df9afa489eabe3a3ca193ab7709165":[3,0,41,27],
-"classn_r_f24.html#a69b75e0889c609099487a43c8c3b6721":[3,0,41,32]
+"classn_r_f24.html#a5e97c13373c6c8d5a86404646884dea3":[3,0,41,25]
};
diff --git a/navtreeindex5.js b/navtreeindex5.js
index 06b945e5..0c8ad061 100644
--- a/navtreeindex5.js
+++ b/navtreeindex5.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX5 =
{
+"classn_r_f24.html#a60df9afa489eabe3a3ca193ab7709165":[3,0,41,27],
+"classn_r_f24.html#a69b75e0889c609099487a43c8c3b6721":[3,0,41,32],
"classn_r_f24.html#a760d3f47f58ddacdf41975447484a47c":[3,0,41,18],
"classn_r_f24.html#a8b2365ad11840d1d05b0e17b37ddacd2":[3,0,41,38],
"classn_r_f24.html#a923654706eff5118ef6e84214e837f27":[3,0,41,37],
@@ -247,7 +249,5 @@ var NAVTREEINDEX5 =
"lr1110__transceiver__0306_8h.html#a41b3993acc55d29c9be76a82718c2ba4":[4,0,0,1,2,0,3,2],
"lr1110__transceiver__0306_8h.html#a9d71ed93e8016b97a4d70b4194f622db":[4,0,0,1,2,0,3,3],
"lr1110__transceiver__0306_8h.html#aa6490d72623bacfc624619b3c378ac5d":[4,0,0,1,2,0,3,0],
-"lr1110__transceiver__0306_8h.html#abc3d6c6ac5598d4ced54b6429770b305":[4,0,0,1,2,0,3,1],
-"lr1110__transceiver__0306_8h_source.html":[4,0,0,1,2,0,3],
-"lr1110__transceiver__0307_8h.html":[4,0,0,1,2,0,4]
+"lr1110__transceiver__0306_8h.html#abc3d6c6ac5598d4ced54b6429770b305":[4,0,0,1,2,0,3,1]
};
diff --git a/navtreeindex6.js b/navtreeindex6.js
index 87177b2e..0032c2df 100644
--- a/navtreeindex6.js
+++ b/navtreeindex6.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX6 =
{
+"lr1110__transceiver__0306_8h_source.html":[4,0,0,1,2,0,3],
+"lr1110__transceiver__0307_8h.html":[4,0,0,1,2,0,4],
"lr1110__transceiver__0307_8h.html#a3e84b323eea7cc20fb619e3d48818e64":[4,0,0,1,2,0,4,3],
"lr1110__transceiver__0307_8h.html#a41b3993acc55d29c9be76a82718c2ba4":[4,0,0,1,2,0,4,2],
"lr1110__transceiver__0307_8h.html#aa6490d72623bacfc624619b3c378ac5d":[4,0,0,1,2,0,4,0],
diff --git a/search/all_13.js b/search/all_13.js
index f33f0ed2..37d4d2ac 100644
--- a/search/all_13.js
+++ b/search/all_13.js
@@ -2,7 +2,7 @@ var searchData=
[
['values_0',['values',['../struct_module_1_1_rf_switch_mode__t.html#a694fecae172f868d8ca400319920ed66',1,'Module::RfSwitchMode_t']]],
['values_20aliases_1',['Data shaping filter values aliases.',['../group__config__shaping.html',1,'']]],
- ['variablepacketlengthmode_2',['variablepacketlengthmode',['../class_c_c1101.html#a50b9e73d2d82a4cd03841f465825b73f',1,'CC1101::variablePacketLengthMode()'],['../class_l_r11x0.html#adcd56cf63e91449b6cd03782a69c3451',1,'LR11x0::variablePacketLengthMode()'],['../class_r_f69.html#af434c67aabe02258ee6696a59973617b',1,'RF69::variablePacketLengthMode()'],['../class_si443x.html#abcca8ab4a1229efb5e7c6b09e564a48a',1,'Si443x::variablePacketLengthMode()'],['../class_s_x126x.html#a92c157efe751b4ae73d22ff44115285d',1,'SX126x::variablePacketLengthMode()'],['../class_s_x127x.html#a1d39296b40e7282ef44d8f376065e92c',1,'SX127x::variablePacketLengthMode()']]],
+ ['variablepacketlengthmode_2',['variablepacketlengthmode',['../class_c_c1101.html#a50b9e73d2d82a4cd03841f465825b73f',1,'CC1101::variablePacketLengthMode()'],['../class_l_r11x0.html#adcd56cf63e91449b6cd03782a69c3451',1,'LR11x0::variablePacketLengthMode()'],['../class_r_f69.html#af434c67aabe02258ee6696a59973617b',1,'RF69::variablePacketLengthMode()'],['../class_si443x.html#abcca8ab4a1229efb5e7c6b09e564a48a',1,'Si443x::variablePacketLengthMode()'],['../class_s_x126x.html#a92c157efe751b4ae73d22ff44115285d',1,'SX126x::variablePacketLengthMode()'],['../class_s_x127x.html#a1d39296b40e7282ef44d8f376065e92c',1,'SX127x::variablePacketLengthMode()'],['../class_s_x128x.html#a5ddb01757b3b9f3fa1b82b9419fc9340',1,'SX128x::variablePacketLengthMode()']]],
['verifycmac_3',['verifyCMAC',['../class_radio_lib_a_e_s128.html#a793795f82f27abd34409a5c0e0e7c455',1,'RadioLibAES128']]],
['viscode_4',['visCode',['../struct_s_s_t_v_mode__t.html#a4033deed34e2703ab7f9a95cc32e5820',1,'SSTVMode_t']]]
];
diff --git a/search/all_5.js b/search/all_5.js
index 4f2bfb97..8d84408f 100644
--- a/search/all_5.js
+++ b/search/all_5.js
@@ -7,9 +7,9 @@ var searchData=
['fifoget_4',['fifoget',['../class_r_f69.html#aa6886410230c654400c76ec7710d623c',1,'RF69::fifoGet()'],['../class_s_x127x.html#a25b193b71ddb6015d25b0a161809d75a',1,'SX127x::fifoGet()']]],
['filter_20values_20aliases_5',['Data shaping filter values aliases.',['../group__config__shaping.html',1,'']]],
['findrfswitchmode_6',['findRfSwitchMode',['../class_module.html#a5699a937b62ba41387567b4d679b9377',1,'Module']]],
- ['finishtransmit_7',['finishtransmit',['../class_c_c1101.html#af70ea860154cd6d2b2e2a6962e161c8f',1,'CC1101::finishTransmit()'],['../class_l_r11x0.html#aaff9a5b9b7636693c98bd1c93a5863e5',1,'LR11x0::finishTransmit()'],['../classn_r_f24.html#af0c21ff66c011dfdc1ad12bc7dd11c2f',1,'nRF24::finishTransmit()'],['../class_r_f69.html#a3e449fa06c9e76cf69585bfbeed1c46b',1,'RF69::finishTransmit()'],['../class_si443x.html#a6792f13441a1bbb3340d2ba3d9abbec3',1,'Si443x::finishTransmit()'],['../class_s_x126x.html#a8e22d67b64953c8b4da779d87d563f3e',1,'SX126x::finishTransmit()'],['../class_s_x127x.html#a7fd9cec52b7fbd0c69cbd861dc17549f',1,'SX127x::finishTransmit()'],['../class_s_x128x.html#a4587409a9b96a0c496cf12b3acac20c4',1,'SX128x::finishTransmit()'],['../class_physical_layer.html#a1de26f68b939f5af79ec29cc34c7be18',1,'PhysicalLayer::finishTransmit()']]],
- ['fixedpacketlengthmode_8',['fixedpacketlengthmode',['../class_c_c1101.html#ad25ad96cddf62273bffd601384d22275',1,'CC1101::fixedPacketLengthMode()'],['../class_s_x127x.html#a6fb42d9cd518e9f6408a40753c0be359',1,'SX127x::fixedPacketLengthMode()'],['../class_s_x126x.html#abc3a4f9213b2a7052e97c2e3a0bf45a5',1,'SX126x::fixedPacketLengthMode()'],['../class_si443x.html#ad2b3a961a99d9e8f3a7ead6e8b69e858',1,'Si443x::fixedPacketLengthMode()'],['../class_r_f69.html#a0de2a07f264839cda945faebf7319e0e',1,'RF69::fixedPacketLengthMode()'],['../class_l_r11x0.html#a5df4c1ed45bf59aa25bc400bcb5dc1ba',1,'LR11x0::fixedPacketLengthMode(uint8_t len=RADIOLIB_LR11X0_MAX_PACKET_LENGTH)']]],
- ['forceldro_9',['forceldro',['../class_l_r11x0.html#ae0a47e772fe24c7b3f3d3288c4cd0941',1,'LR11x0::forceLDRO()'],['../class_s_x126x.html#a420c23bb1861646e29f44c0f4c646ee8',1,'SX126x::forceLDRO()'],['../class_s_x1272.html#a4aaf9d61310fa7b4fce413ae53d30ac0',1,'SX1272::forceLDRO()'],['../class_s_x1278.html#a6d6398c4d4fde302d6d4752708bce856',1,'SX1278::forceLDRO()']]],
+ ['finishtransmit_7',['finishtransmit',['../class_si443x.html#a6792f13441a1bbb3340d2ba3d9abbec3',1,'Si443x::finishTransmit()'],['../class_physical_layer.html#a1de26f68b939f5af79ec29cc34c7be18',1,'PhysicalLayer::finishTransmit()'],['../class_s_x128x.html#a4587409a9b96a0c496cf12b3acac20c4',1,'SX128x::finishTransmit()'],['../class_s_x127x.html#a7fd9cec52b7fbd0c69cbd861dc17549f',1,'SX127x::finishTransmit()'],['../class_s_x126x.html#a8e22d67b64953c8b4da779d87d563f3e',1,'SX126x::finishTransmit()'],['../class_r_f69.html#a3e449fa06c9e76cf69585bfbeed1c46b',1,'RF69::finishTransmit()'],['../classn_r_f24.html#af0c21ff66c011dfdc1ad12bc7dd11c2f',1,'nRF24::finishTransmit()'],['../class_l_r11x0.html#aaff9a5b9b7636693c98bd1c93a5863e5',1,'LR11x0::finishTransmit()'],['../class_c_c1101.html#af70ea860154cd6d2b2e2a6962e161c8f',1,'CC1101::finishTransmit() override']]],
+ ['fixedpacketlengthmode_8',['fixedpacketlengthmode',['../class_c_c1101.html#ad25ad96cddf62273bffd601384d22275',1,'CC1101::fixedPacketLengthMode()'],['../class_l_r11x0.html#a5df4c1ed45bf59aa25bc400bcb5dc1ba',1,'LR11x0::fixedPacketLengthMode()'],['../class_r_f69.html#a0de2a07f264839cda945faebf7319e0e',1,'RF69::fixedPacketLengthMode()'],['../class_si443x.html#ad2b3a961a99d9e8f3a7ead6e8b69e858',1,'Si443x::fixedPacketLengthMode()'],['../class_s_x126x.html#abc3a4f9213b2a7052e97c2e3a0bf45a5',1,'SX126x::fixedPacketLengthMode()'],['../class_s_x127x.html#a6fb42d9cd518e9f6408a40753c0be359',1,'SX127x::fixedPacketLengthMode()'],['../class_s_x128x.html#a30ce92d381006888fc46c19553bd805c',1,'SX128x::fixedPacketLengthMode()']]],
+ ['forceldro_9',['forceldro',['../class_s_x1278.html#a6d6398c4d4fde302d6d4752708bce856',1,'SX1278::forceLDRO()'],['../class_s_x1272.html#a4aaf9d61310fa7b4fce413ae53d30ac0',1,'SX1272::forceLDRO()'],['../class_s_x126x.html#a420c23bb1861646e29f44c0f4c646ee8',1,'SX126x::forceLDRO()'],['../class_l_r11x0.html#ae0a47e772fe24c7b3f3d3288c4cd0941',1,'LR11x0::forceLDRO()']]],
['fport_10',['fPort',['../struct_lo_ra_w_a_n_event__t.html#a14f360e64ae4a6090c04333567f1a513',1,'LoRaWANEvent_t']]],
['framesubtype_11',['frameSubType',['../struct_l_r11x0_wifi_result_full__t.html#ab4f5ee1a99afca09242ae31ae8bc75c2',1,'LR11x0WifiResultFull_t']]],
['frametype_12',['frameType',['../struct_l_r11x0_wifi_result_full__t.html#aac254fd90872d9e3457a0c44409ff9fb',1,'LR11x0WifiResultFull_t']]],
@@ -26,7 +26,7 @@ var searchData=
['frmpending_23',['frmPending',['../struct_lo_ra_w_a_n_event__t.html#afe256fb2ed02e2ffdf0ae85f92951778',1,'LoRaWANEvent_t']]],
['fromdistributionsystem_24',['fromDistributionSystem',['../struct_l_r11x0_wifi_result_full__t.html#a47cb77c1ccf8da32d3a4102518c0d72c',1,'LR11x0WifiResultFull_t']]],
['fsk_25',['fsk',['../union_data_rate__t.html#abfa0cbc4b33c49435e67662b6e6027cf',1,'DataRate_t']]],
- ['fsk4client_26',['fsk4client',['../class_f_s_k4_client.html#a2cdcea538e5b58e99a23f98ef4a68617',1,'FSK4Client::FSK4Client(PhysicalLayer *phy)'],['../class_f_s_k4_client.html#a65105b2744c4721b75ca0894c654bf82',1,'FSK4Client::FSK4Client(AFSKClient *audio)'],['../class_f_s_k4_client.html',1,'FSK4Client']]],
+ ['fsk4client_26',['fsk4client',['../class_f_s_k4_client.html',1,'FSK4Client'],['../class_f_s_k4_client.html#a65105b2744c4721b75ca0894c654bf82',1,'FSK4Client::FSK4Client(AFSKClient *audio)'],['../class_f_s_k4_client.html#a2cdcea538e5b58e99a23f98ef4a68617',1,'FSK4Client::FSK4Client(PhysicalLayer *phy)']]],
['fskrate_5ft_27',['FSKRate_t',['../struct_f_s_k_rate__t.html',1,'']]],
['fwgnss_28',['fwGNSS',['../struct_l_r11x0_version_info__t.html#aba5ac25e1acff5678991483d3a56084a',1,'LR11x0VersionInfo_t']]],
['fwmajor_29',['fwMajor',['../struct_l_r11x0_version_info__t.html#a50d3cf257fb187c00a6290c8c7d95edc',1,'LR11x0VersionInfo_t']]],
diff --git a/search/functions_12.js b/search/functions_12.js
index 0b64a10f..8e121e5c 100644
--- a/search/functions_12.js
+++ b/search/functions_12.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['variablepacketlengthmode_0',['variablepacketlengthmode',['../class_c_c1101.html#a50b9e73d2d82a4cd03841f465825b73f',1,'CC1101::variablePacketLengthMode()'],['../class_l_r11x0.html#adcd56cf63e91449b6cd03782a69c3451',1,'LR11x0::variablePacketLengthMode()'],['../class_r_f69.html#af434c67aabe02258ee6696a59973617b',1,'RF69::variablePacketLengthMode()'],['../class_si443x.html#abcca8ab4a1229efb5e7c6b09e564a48a',1,'Si443x::variablePacketLengthMode()'],['../class_s_x126x.html#a92c157efe751b4ae73d22ff44115285d',1,'SX126x::variablePacketLengthMode()'],['../class_s_x127x.html#a1d39296b40e7282ef44d8f376065e92c',1,'SX127x::variablePacketLengthMode()']]],
+ ['variablepacketlengthmode_0',['variablepacketlengthmode',['../class_c_c1101.html#a50b9e73d2d82a4cd03841f465825b73f',1,'CC1101::variablePacketLengthMode()'],['../class_l_r11x0.html#adcd56cf63e91449b6cd03782a69c3451',1,'LR11x0::variablePacketLengthMode()'],['../class_r_f69.html#af434c67aabe02258ee6696a59973617b',1,'RF69::variablePacketLengthMode()'],['../class_si443x.html#abcca8ab4a1229efb5e7c6b09e564a48a',1,'Si443x::variablePacketLengthMode()'],['../class_s_x126x.html#a92c157efe751b4ae73d22ff44115285d',1,'SX126x::variablePacketLengthMode()'],['../class_s_x127x.html#a1d39296b40e7282ef44d8f376065e92c',1,'SX127x::variablePacketLengthMode()'],['../class_s_x128x.html#a5ddb01757b3b9f3fa1b82b9419fc9340',1,'SX128x::variablePacketLengthMode()']]],
['verifycmac_1',['verifyCMAC',['../class_radio_lib_a_e_s128.html#a793795f82f27abd34409a5c0e0e7c455',1,'RadioLibAES128']]]
];
diff --git a/search/functions_5.js b/search/functions_5.js
index 50536d03..080dad88 100644
--- a/search/functions_5.js
+++ b/search/functions_5.js
@@ -3,8 +3,8 @@ var searchData=
['fifoadd_0',['fifoadd',['../class_s_x127x.html#a36dbd1697a415c6db3b47cd620c8c02e',1,'SX127x::fifoAdd()'],['../class_r_f69.html#ab6d98f3f2d964d1833e20da246a5be89',1,'RF69::fifoAdd(uint8_t *data, int totalLen, int *remLen)']]],
['fifoget_1',['fifoget',['../class_r_f69.html#aa6886410230c654400c76ec7710d623c',1,'RF69::fifoGet()'],['../class_s_x127x.html#a25b193b71ddb6015d25b0a161809d75a',1,'SX127x::fifoGet()']]],
['findrfswitchmode_2',['findRfSwitchMode',['../class_module.html#a5699a937b62ba41387567b4d679b9377',1,'Module']]],
- ['finishtransmit_3',['finishtransmit',['../class_physical_layer.html#a1de26f68b939f5af79ec29cc34c7be18',1,'PhysicalLayer::finishTransmit()'],['../class_s_x128x.html#a4587409a9b96a0c496cf12b3acac20c4',1,'SX128x::finishTransmit()'],['../class_s_x127x.html#a7fd9cec52b7fbd0c69cbd861dc17549f',1,'SX127x::finishTransmit()'],['../class_s_x126x.html#a8e22d67b64953c8b4da779d87d563f3e',1,'SX126x::finishTransmit()'],['../class_r_f69.html#a3e449fa06c9e76cf69585bfbeed1c46b',1,'RF69::finishTransmit()'],['../classn_r_f24.html#af0c21ff66c011dfdc1ad12bc7dd11c2f',1,'nRF24::finishTransmit()'],['../class_l_r11x0.html#aaff9a5b9b7636693c98bd1c93a5863e5',1,'LR11x0::finishTransmit()'],['../class_c_c1101.html#af70ea860154cd6d2b2e2a6962e161c8f',1,'CC1101::finishTransmit()'],['../class_si443x.html#a6792f13441a1bbb3340d2ba3d9abbec3',1,'Si443x::finishTransmit() override']]],
- ['fixedpacketlengthmode_4',['fixedpacketlengthmode',['../class_si443x.html#ad2b3a961a99d9e8f3a7ead6e8b69e858',1,'Si443x::fixedPacketLengthMode()'],['../class_s_x127x.html#a6fb42d9cd518e9f6408a40753c0be359',1,'SX127x::fixedPacketLengthMode()'],['../class_s_x126x.html#abc3a4f9213b2a7052e97c2e3a0bf45a5',1,'SX126x::fixedPacketLengthMode()'],['../class_r_f69.html#a0de2a07f264839cda945faebf7319e0e',1,'RF69::fixedPacketLengthMode()'],['../class_l_r11x0.html#a5df4c1ed45bf59aa25bc400bcb5dc1ba',1,'LR11x0::fixedPacketLengthMode()'],['../class_c_c1101.html#ad25ad96cddf62273bffd601384d22275',1,'CC1101::fixedPacketLengthMode()']]],
+ ['finishtransmit_3',['finishtransmit',['../class_physical_layer.html#a1de26f68b939f5af79ec29cc34c7be18',1,'PhysicalLayer::finishTransmit()'],['../class_s_x128x.html#a4587409a9b96a0c496cf12b3acac20c4',1,'SX128x::finishTransmit()'],['../class_s_x127x.html#a7fd9cec52b7fbd0c69cbd861dc17549f',1,'SX127x::finishTransmit()'],['../class_s_x126x.html#a8e22d67b64953c8b4da779d87d563f3e',1,'SX126x::finishTransmit()'],['../class_r_f69.html#a3e449fa06c9e76cf69585bfbeed1c46b',1,'RF69::finishTransmit()'],['../classn_r_f24.html#af0c21ff66c011dfdc1ad12bc7dd11c2f',1,'nRF24::finishTransmit()'],['../class_l_r11x0.html#aaff9a5b9b7636693c98bd1c93a5863e5',1,'LR11x0::finishTransmit()'],['../class_c_c1101.html#af70ea860154cd6d2b2e2a6962e161c8f',1,'CC1101::finishTransmit()'],['../class_si443x.html#a6792f13441a1bbb3340d2ba3d9abbec3',1,'Si443x::finishTransmit()']]],
+ ['fixedpacketlengthmode_4',['fixedpacketlengthmode',['../class_s_x126x.html#abc3a4f9213b2a7052e97c2e3a0bf45a5',1,'SX126x::fixedPacketLengthMode()'],['../class_s_x128x.html#a30ce92d381006888fc46c19553bd805c',1,'SX128x::fixedPacketLengthMode()'],['../class_s_x127x.html#a6fb42d9cd518e9f6408a40753c0be359',1,'SX127x::fixedPacketLengthMode()'],['../class_si443x.html#ad2b3a961a99d9e8f3a7ead6e8b69e858',1,'Si443x::fixedPacketLengthMode()'],['../class_r_f69.html#a0de2a07f264839cda945faebf7319e0e',1,'RF69::fixedPacketLengthMode()'],['../class_l_r11x0.html#a5df4c1ed45bf59aa25bc400bcb5dc1ba',1,'LR11x0::fixedPacketLengthMode()'],['../class_c_c1101.html#ad25ad96cddf62273bffd601384d22275',1,'CC1101::fixedPacketLengthMode()']]],
['forceldro_5',['forceldro',['../class_l_r11x0.html#ae0a47e772fe24c7b3f3d3288c4cd0941',1,'LR11x0::forceLDRO()'],['../class_s_x126x.html#a420c23bb1861646e29f44c0f4c646ee8',1,'SX126x::forceLDRO()'],['../class_s_x1272.html#a4aaf9d61310fa7b4fce413ae53d30ac0',1,'SX1272::forceLDRO()'],['../class_s_x1278.html#a6d6398c4d4fde302d6d4752708bce856',1,'SX1278::forceLDRO()']]],
['fsk4client_6',['fsk4client',['../class_f_s_k4_client.html#a2cdcea538e5b58e99a23f98ef4a68617',1,'FSK4Client::FSK4Client(PhysicalLayer *phy)'],['../class_f_s_k4_client.html#a65105b2744c4721b75ca0894c654bf82',1,'FSK4Client::FSK4Client(AFSKClient *audio)']]]
];
|