diff --git a/_module_8h_source.html b/_module_8h_source.html index d171cdcc..8897cf80 100644 --- a/_module_8h_source.html +++ b/_module_8h_source.html @@ -214,73 +214,73 @@ $(document).ready(function(){initNavTree('_module_8h_source.html',''); initResiz
257 
265  int16_t SPIgetRegValue(uint32_t reg, uint8_t msb = 7, uint8_t lsb = 0);
266 
-
277  int16_t SPIsetRegValue(uint32_t reg, uint8_t value, uint8_t msb = 7, uint8_t lsb = 0, uint8_t checkInterval = 2, uint8_t checkMask = 0xFF);
-
278 
-
285  void SPIreadRegisterBurst(uint32_t reg, size_t numBytes, uint8_t* inBytes);
-
286 
-
292  uint8_t SPIreadRegister(uint32_t reg);
-
293 
-
300  void SPIwriteRegisterBurst(uint32_t reg, uint8_t* data, size_t numBytes);
-
301 
-
307  void SPIwriteRegister(uint32_t reg, uint8_t data);
-
308 
-
317  void SPItransfer(uint16_t cmd, uint32_t reg, uint8_t* dataOut, uint8_t* dataIn, size_t numBytes);
-
318 
-
323  int16_t SPIcheckStream();
-
324 
-
334  int16_t SPIreadStream(uint16_t cmd, uint8_t* data, size_t numBytes, bool waitForGpio = true, bool verify = true);
-
335 
-
346  int16_t SPIreadStream(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, size_t numBytes, bool waitForGpio = true, bool verify = true);
-
347 
-
357  int16_t SPIwriteStream(uint16_t cmd, uint8_t* data, size_t numBytes, bool waitForGpio = true, bool verify = true);
-
358 
-
369  int16_t SPIwriteStream(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, size_t numBytes, bool waitForGpio = true, bool verify = true);
-
370 
-
382  int16_t SPItransferStream(const uint8_t* cmd, uint8_t cmdLen, bool write, uint8_t* dataOut, uint8_t* dataIn, size_t numBytes, bool waitForGpio);
-
383 
-
384  // pin number access methods
-
385  // getCs is omitted on purpose, as it can interfere when accessing the SPI in a concurrent environment
-
386  // so it is considered to be part of the SPI pins and hence not accessible from outside
-
387  // see https://github.com/jgromes/RadioLib/discussions/1364
-
388 
-
393  uint32_t getIrq() const { return(irqPin); }
-
394 
-
399  uint32_t getRst() const { return(rstPin); }
-
400 
-
405  uint32_t getGpio() const { return(gpioPin); }
-
406 
-
423  void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
-
424 
-
487  void setRfSwitchTable(const uint32_t (&pins)[RFSWITCH_MAX_PINS], const RfSwitchMode_t table[]);
-
488 
-
496  const RfSwitchMode_t *findRfSwitchMode(uint8_t mode) const;
-
497 
-
502  void setRfSwitchState(uint8_t mode);
-
503 
-
511  void waitForMicroseconds(RadioLibTime_t start, RadioLibTime_t len);
-
512 
-
513  #if RADIOLIB_DEBUG
-
520  void regdump(const char* level, uint16_t start, size_t len);
-
521  #endif
-
522 
-
523 #if !RADIOLIB_GODMODE
-
524  private:
-
525 #endif
-
526  uint32_t csPin = RADIOLIB_NC;
-
527  uint32_t irqPin = RADIOLIB_NC;
-
528  uint32_t rstPin = RADIOLIB_NC;
-
529  uint32_t gpioPin = RADIOLIB_NC;
-
530 
-
531  // RF switch pins and table
-
532  uint32_t rfSwitchPins[RFSWITCH_MAX_PINS] = { RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC };
-
533  const RfSwitchMode_t *rfSwitchTable = nullptr;
-
534 
-
535  #if RADIOLIB_INTERRUPT_TIMING
-
536  uint32_t prevTimingLen = 0;
-
537  #endif
-
538 };
-
539 
-
540 #endif
+
278  int16_t SPIsetRegValue(uint32_t reg, uint8_t value, uint8_t msb = 7, uint8_t lsb = 0, uint8_t checkInterval = 2, uint8_t checkMask = 0xFF, bool force = false);
+
279 
+
286  void SPIreadRegisterBurst(uint32_t reg, size_t numBytes, uint8_t* inBytes);
+
287 
+
293  uint8_t SPIreadRegister(uint32_t reg);
+
294 
+
301  void SPIwriteRegisterBurst(uint32_t reg, uint8_t* data, size_t numBytes);
+
302 
+
308  void SPIwriteRegister(uint32_t reg, uint8_t data);
+
309 
+
318  void SPItransfer(uint16_t cmd, uint32_t reg, uint8_t* dataOut, uint8_t* dataIn, size_t numBytes);
+
319 
+
324  int16_t SPIcheckStream();
+
325 
+
335  int16_t SPIreadStream(uint16_t cmd, uint8_t* data, size_t numBytes, bool waitForGpio = true, bool verify = true);
+
336 
+
347  int16_t SPIreadStream(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, size_t numBytes, bool waitForGpio = true, bool verify = true);
+
348 
+
358  int16_t SPIwriteStream(uint16_t cmd, uint8_t* data, size_t numBytes, bool waitForGpio = true, bool verify = true);
+
359 
+
370  int16_t SPIwriteStream(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, size_t numBytes, bool waitForGpio = true, bool verify = true);
+
371 
+
383  int16_t SPItransferStream(const uint8_t* cmd, uint8_t cmdLen, bool write, uint8_t* dataOut, uint8_t* dataIn, size_t numBytes, bool waitForGpio);
+
384 
+
385  // pin number access methods
+
386  // getCs is omitted on purpose, as it can interfere when accessing the SPI in a concurrent environment
+
387  // so it is considered to be part of the SPI pins and hence not accessible from outside
+
388  // see https://github.com/jgromes/RadioLib/discussions/1364
+
389 
+
394  uint32_t getIrq() const { return(irqPin); }
+
395 
+
400  uint32_t getRst() const { return(rstPin); }
+
401 
+
406  uint32_t getGpio() const { return(gpioPin); }
+
407 
+
424  void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
+
425 
+
488  void setRfSwitchTable(const uint32_t (&pins)[RFSWITCH_MAX_PINS], const RfSwitchMode_t table[]);
+
489 
+
497  const RfSwitchMode_t *findRfSwitchMode(uint8_t mode) const;
+
498 
+
503  void setRfSwitchState(uint8_t mode);
+
504 
+
512  void waitForMicroseconds(RadioLibTime_t start, RadioLibTime_t len);
+
513 
+
514  #if RADIOLIB_DEBUG
+
521  void regdump(const char* level, uint16_t start, size_t len);
+
522  #endif
+
523 
+
524 #if !RADIOLIB_GODMODE
+
525  private:
+
526 #endif
+
527  uint32_t csPin = RADIOLIB_NC;
+
528  uint32_t irqPin = RADIOLIB_NC;
+
529  uint32_t rstPin = RADIOLIB_NC;
+
530  uint32_t gpioPin = RADIOLIB_NC;
+
531 
+
532  // RF switch pins and table
+
533  uint32_t rfSwitchPins[RFSWITCH_MAX_PINS] = { RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC };
+
534  const RfSwitchMode_t *rfSwitchTable = nullptr;
+
535 
+
536  #if RADIOLIB_INTERRUPT_TIMING
+
537  uint32_t prevTimingLen = 0;
+
538  #endif
+
539 };
+
540 
+
541 #endif
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:73
Module::RFSWITCH_MAX_PINS
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
Module::SPIcheckStatusCb_t
int16_t(* SPIcheckStatusCb_t)(Module *mod)
Callback for validation SPI status.
Definition: Module.h:174
@@ -291,7 +291,7 @@ $(document).ready(function(){initNavTree('_module_8h_source.html',''); initResiz
Module::hal
RadioLibHal * hal
Hardware abstraction layer to be used.
Definition: Module.h:168
Module::term
void term()
Terminate low-level module control.
Definition: Module.cpp:44
Module::operator=
Module & operator=(const Module &mod)
Overload for assignment operator.
Definition: Module.cpp:27
-
Module::getGpio
uint32_t getGpio() const
Access method to get the pin number of second interrupt/GPIO.
Definition: Module.h:405
+
Module::getGpio
uint32_t getGpio() const
Access method to get the pin number of second interrupt/GPIO.
Definition: Module.h:406
Module::findRfSwitchMode
const RfSwitchMode_t * findRfSwitchMode(uint8_t mode) const
Find a mode in the RfSwitchTable.
Definition: Module.cpp:505
Module::OpMode_t
OpMode_t
Constants to use in a mode table set be setRfSwitchTable. These constants work for most radios,...
Definition: Module.h:105
Module::MODE_TX
@ MODE_TX
Transmission mode.
Definition: Module.h:119
@@ -306,13 +306,13 @@ $(document).ready(function(){initNavTree('_module_8h_source.html',''); initResiz
Module::SPIparseStatusCb_t
int16_t(* SPIparseStatusCb_t)(uint8_t in)
Callback for parsing SPI status.
Definition: Module.h:171
Module::SPItransfer
void SPItransfer(uint16_t cmd, uint32_t reg, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes)
SPI single transfer method.
Definition: Module.cpp:177
Module::SPIreadRegister
uint8_t SPIreadRegister(uint32_t reg)
SPI basic read method. Use of this method is reserved for special cases, SPIgetRegValue should be use...
Definition: Module.cpp:127
-
Module::getIrq
uint32_t getIrq() const
Access method to get the pin number of interrupt/GPIO.
Definition: Module.h:393
+
Module::getIrq
uint32_t getIrq() const
Access method to get the pin number of interrupt/GPIO.
Definition: Module.h:394
Module::setRfSwitchTable
void setRfSwitchTable(const uint32_t(&pins)[RFSWITCH_MAX_PINS], const RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: Module.cpp:497
Module::SPIreadRegisterBurst
void SPIreadRegisterBurst(uint32_t reg, size_t numBytes, uint8_t *inBytes)
SPI burst read method.
Definition: Module.cpp:111
Module::init
void init()
Initialize low-level module control.
Definition: Module.cpp:37
-
Module::getRst
uint32_t getRst() const
Access method to get the pin number of hardware reset pin.
Definition: Module.h:399
+
Module::getRst
uint32_t getRst() const
Access method to get the pin number of hardware reset pin.
Definition: Module.h:400
Module::SPIreadStream
int16_t SPIreadStream(uint16_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
Method to perform a read transaction with SPI stream.
Definition: Module.cpp:239
-
Module::SPIsetRegValue
int16_t SPIsetRegValue(uint32_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF)
Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism.
Definition: Module.cpp:59
+
Module::SPIsetRegValue
int16_t SPIsetRegValue(uint32_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF, bool force=false)
Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism.
Definition: Module.cpp:59
Module::SPIwriteStream
int16_t SPIwriteStream(uint16_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
Method to perform a write transaction with SPI stream.
Definition: Module.cpp:267
Module::setRfSwitchState
void setRfSwitchState(uint8_t mode)
Set RF switch state.
Definition: Module.cpp:516
RadioLibHal
Hardware abstraction library base interface.
Definition: Hal.h:13
diff --git a/_s_x127x_8h_source.html b/_s_x127x_8h_source.html index 2718301a..60a74d6c 100644 --- a/_s_x127x_8h_source.html +++ b/_s_x127x_8h_source.html @@ -927,91 +927,91 @@ $(document).ready(function(){initNavTree('_s_x127x_8h_source.html',''); initResi
SX127x
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:583
SX127x::packetMode
int16_t packetMode()
Disables direct mode and enables packet mode, allowing the module to receive packets....
Definition: SX127x.cpp:379
SX127x::clearChannelScanAction
void clearChannelScanAction() override
Clears interrupt service routine to call when a channel scan is finished.
Definition: SX127x.cpp:495
-
SX127x::readBit
void readBit(uint32_t pin) override
Function to read and process data bit in direct reception mode.
Definition: SX127x.cpp:1783
+
SX127x::readBit
void readBit(uint32_t pin) override
Function to read and process data bit in direct reception mode.
Definition: SX127x.cpp:1784
SX127x::clearFifoFullAction
void clearFifoFullAction()
Clears interrupt service routine to call when FIFO is full.
Definition: SX127x.cpp:521
SX127x::scanChannel
int16_t scanChannel() override
Performs scan for valid LoRa preamble in the current channel.
Definition: SX127x.cpp:276
SX127x::setOokFixedOrFloorThreshold
int16_t setOokFixedOrFloorThreshold(uint8_t value)
Fixed threshold for the Data Slicer in OOK mode or floor threshold for the Data Slicer in OOK when Pe...
Definition: SX127x.cpp:1139
SX127x::enableBitSync
int16_t enableBitSync()
Enable Bit synchronizer.
Definition: SX127x.cpp:1163
-
SX127x::variablePacketLengthMode
int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in variable packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:1243
+
SX127x::variablePacketLengthMode
int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in variable packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:1244
SX127x::sleep
int16_t sleep() override
Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data ...
Definition: SX127x.cpp:292
SX127x::setFifoFullAction
void setFifoFullAction(void(*func)(void))
Set interrupt service routine function to call when FIFO is full.
Definition: SX127x.cpp:512
-
SX127x::getIrqFlags
uint32_t getIrqFlags() override
Read currently active IRQ flags.
Definition: SX127x.cpp:1318
+
SX127x::getIrqFlags
uint32_t getIrqFlags() override
Read currently active IRQ flags.
Definition: SX127x.cpp:1319
SX127x::setOOK
int16_t setOOK(bool enableOOK)
Enables/disables OOK modulation instead of FSK.
Definition: SX127x.cpp:1171
SX127x::fifoGet
bool fifoGet(volatile uint8_t *data, int totalLen, volatile int *rcvLen)
Set interrupt service routine function to call when FIFO is sufficiently full to read.
Definition: SX127x.cpp:549
SX127x::setRxBandwidth
int16_t setRxBandwidth(float rxBw)
Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode.
Definition: SX127x.cpp:993
-
SX127x::getModemStatus
uint8_t getModemStatus()
Reads modem status. Only available in LoRa mode.
Definition: SX127x.cpp:1518
+
SX127x::getModemStatus
uint8_t getModemStatus()
Reads modem status. Only available in LoRa mode.
Definition: SX127x.cpp:1519
SX127x::clearPacketSentAction
void clearPacketSentAction() override
Clears interrupt service routine to call when a packet is sent.
Definition: SX127x.cpp:487
SX127x::reset
virtual void reset()=0
Reset method. Will reset the chip to the default state using RST pin. Declared pure virtual since SX1...
-
SX127x::getModem
int16_t getModem(ModemType_t *modem) override
Get modem currently in use by the radio.
Definition: SX127x.cpp:1762
+
SX127x::getModem
int16_t getModem(ModemType_t *modem) override
Get modem currently in use by the radio.
Definition: SX127x.cpp:1763
SX127x::setPacketSentAction
void setPacketSentAction(void(*func)(void)) override
Sets interrupt service routine to call when a packet is sent.
Definition: SX127x.cpp:483
SX127x::readData
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:206
-
SX127x::invertIQ
int16_t invertIQ(bool enable) override
Enable/disable inversion of the I and Q signals.
Definition: SX127x.cpp:1740
+
SX127x::invertIQ
int16_t invertIQ(bool enable) override
Enable/disable inversion of the I and Q signals.
Definition: SX127x.cpp:1741
SX127x::fifoAdd
bool fifoAdd(uint8_t *data, int totalLen, int *remLen)
Set interrupt service routine function to call when FIFO is empty.
Definition: SX127x.cpp:526
SX127x::setCurrentLimit
int16_t setCurrentLimit(uint8_t currentLimit)
Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45...
Definition: SX127x.cpp:759
-
SX127x::clearFHSSInt
void clearFHSSInt(void)
Clear the FHSS interrupt.
Definition: SX127x.cpp:1800
+
SX127x::clearFHSSInt
void clearFHSSInt(void)
Clear the FHSS interrupt.
Definition: SX127x.cpp:1801
SX127x::setAFC
int16_t setAFC(bool isEnabled)
Enables or disables FSK automatic frequency correction(AFC)
Definition: SX127x.cpp:1025
SX127x::setFrequencyDeviation
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and mu...
Definition: SX127x.cpp:951
-
SX127x::getPacketLength
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX127x.cpp:1211
+
SX127x::getPacketLength
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX127x.cpp:1212
SX127x::getSNR
float getSNR() override
Gets signal-to-noise ratio of the latest received packet. Only available in LoRa mode.
Definition: SX127x.cpp:900
SX127x::setOokPeakThresholdStep
int16_t setOokPeakThresholdStep(uint8_t value)
Size of each decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1155
SX127x::transmit
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:53
SX127x::getAFCError
float getAFCError()
Gets current AFC error.
Definition: SX127x.cpp:884
-
SX127x::setRSSIThreshold
int16_t setRSSIThreshold(float dbm)
Sets the RSSI value above which the RSSI interrupt is signaled.
Definition: SX127x.cpp:1449
-
SX127x::getFHSSChannel
uint8_t getFHSSChannel(void)
Gets the FHSS channel in use.
Definition: SX127x.cpp:1796
+
SX127x::setRSSIThreshold
int16_t setRSSIThreshold(float dbm)
Sets the RSSI value above which the RSSI interrupt is signaled.
Definition: SX127x.cpp:1450
+
SX127x::getFHSSChannel
uint8_t getFHSSChannel(void)
Gets the FHSS channel in use.
Definition: SX127x.cpp:1797
SX127x::invertPreamble
int16_t invertPreamble(bool enable)
Invert FSK preamble polarity. The default (non-inverted) is 0x55, the inverted is 0xAA.
Definition: SX127x.cpp:812
SX127x::setAFCBandwidth
int16_t setAFCBandwidth(float afcBw)
Sets FSK automatic frequency correction bandwidth. Allowed values range from 2.6 to 250 kHz....
Definition: SX127x.cpp:1009
SX127x::clearPacketReceivedAction
void clearPacketReceivedAction() override
Clears interrupt service routine to call when a packet is received.
Definition: SX127x.cpp:479
SX127x::startChannelScan
int16_t startChannelScan() override
Interrupt-driven channel activity detection method. DIO0 will be activated when LoRa preamble is dete...
Definition: SX127x.cpp:714
-
SX127x::fixedPacketLengthMode
int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in fixed packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:1239
+
SX127x::fixedPacketLengthMode
int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in fixed packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:1240
SX127x::setFifoEmptyAction
void setFifoEmptyAction(void(*func)(void))
Set interrupt service routine function to call when FIFO is empty.
Definition: SX127x.cpp:499
SX127x::clearDio0Action
void clearDio0Action()
Clears interrupt service routine to call when DIO0 activates.
Definition: SX127x.cpp:457
SX127x::standby
int16_t standby() override
Sets the LoRa module to standby.
Definition: SX127x.cpp:300
SX127x::setDio1Action
void setDio1Action(void(*func)(void), uint32_t dir)
Set interrupt service routine function to call when DIO1 activates.
Definition: SX127x.cpp:461
-
SX127x::setDIOPreambleDetect
int16_t setDIOPreambleDetect(bool usePreambleDetect)
Configure DIO mapping to use RSSI or Preamble Detect for pins that support it.
Definition: SX127x.cpp:1819
+
SX127x::setDIOPreambleDetect
int16_t setDIOPreambleDetect(bool usePreambleDetect)
Configure DIO mapping to use RSSI or Preamble Detect for pins that support it.
Definition: SX127x.cpp:1820
SX127x::setFifoThreshold
void setFifoThreshold(uint8_t threshold)
Set FIFO threshold level. Be aware that threshold is also set in setFifoFullAction method....
Definition: SX127x.cpp:508
-
SX127x::setFHSSHoppingPeriod
int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod)
Sets the hopping period and enables FHSS.
Definition: SX127x.cpp:1788
+
SX127x::setFHSSHoppingPeriod
int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod)
Sets the hopping period and enables FHSS.
Definition: SX127x.cpp:1789
SX127x::finishTransmit
int16_t finishTransmit() override
Clean up after transmission is done.
Definition: SX127x.cpp:645
SX127x::disableBitSync
int16_t disableBitSync()
Disable Bit synchronizer (not allowed in Packet mode).
Definition: SX127x.cpp:1167
SX127x::getChannelScanResult
int16_t getChannelScanResult() override
Read the channel scan result.
Definition: SX127x.cpp:739
SX127x::setPreambleLength
int16_t setPreambleLength(size_t preambleLength) override
Sets LoRa or FSK preamble length. Allowed values range from 6 to 65535 in LoRa mode or 0 to 65535 in ...
Definition: SX127x.cpp:783
SX127x::setOokThresholdType
int16_t setOokThresholdType(uint8_t type)
Selects the type of threshold in the OOK data slicer.
Definition: SX127x.cpp:1131
-
SX127x::setRfSwitchPins
void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX127x.cpp:1528
+
SX127x::setRfSwitchPins
void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX127x.cpp:1529
SX127x::startTransmit
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:148
-
SX127x::getTempRaw
int8_t getTempRaw()
Reads uncalibrated temperature value. This function will change operating mode and should not be call...
Definition: SX127x.cpp:1565
-
SX127x::randomByte
uint8_t randomByte() override
Get one truly random byte from RSSI noise.
Definition: SX127x.cpp:1536
+
SX127x::getTempRaw
int8_t getTempRaw()
Reads uncalibrated temperature value. This function will change operating mode and should not be call...
Definition: SX127x.cpp:1566
+
SX127x::randomByte
uint8_t randomByte() override
Get one truly random byte from RSSI noise.
Definition: SX127x.cpp:1537
SX127x::clearDio1Action
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX127x.cpp:468
-
SX127x::setLowBatteryThreshold
int16_t setLowBatteryThreshold(int8_t level, uint32_t pin=RADIOLIB_NC)
Set low battery indicator threshold.
Definition: SX127x.cpp:1885
-
SX127x::getTimeOnAir
RadioLibTime_t getTimeOnAir(size_t len) override
Get expected time-on-air for a given size of payload.
Definition: SX127x.cpp:1273
-
SX127x::clearIrqFlags
int16_t clearIrqFlags(uint32_t irq) override
Clear interrupt on a specific IRQ bit (e.g. RxTimeout, CadDone).
Definition: SX127x.cpp:1424
+
SX127x::setLowBatteryThreshold
int16_t setLowBatteryThreshold(int8_t level, uint32_t pin=RADIOLIB_NC)
Set low battery indicator threshold.
Definition: SX127x.cpp:1886
+
SX127x::getTimeOnAir
RadioLibTime_t getTimeOnAir(size_t len) override
Get expected time-on-air for a given size of payload.
Definition: SX127x.cpp:1274
+
SX127x::clearIrqFlags
int16_t clearIrqFlags(uint32_t irq) override
Clear interrupt on a specific IRQ bit (e.g. RxTimeout, CadDone).
Definition: SX127x.cpp:1425
SX127x::receiveDirect
int16_t receiveDirect() override
Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode,...
Definition: SX127x.cpp:342
SX127x::clearFifoEmptyAction
void clearFifoEmptyAction()
Clears interrupt service routine to call when FIFO is empty.
Definition: SX127x.cpp:504
SX127x::setOokPeakThresholdDecrement
int16_t setOokPeakThresholdDecrement(uint8_t value)
Period of decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1147
-
SX127x::setIrqFlags
int16_t setIrqFlags(uint32_t irq) override
Set interrupt on DIO1 to be sent on a specific IRQ bit (e.g. RxTimeout, CadDone). NOTE: Unlike other ...
Definition: SX127x.cpp:1322
+
SX127x::setIrqFlags
int16_t setIrqFlags(uint32_t irq) override
Set interrupt on DIO1 to be sent on a specific IRQ bit (e.g. RxTimeout, CadDone). NOTE: Unlike other ...
Definition: SX127x.cpp:1323
SX127x::setAFCAGCTrigger
int16_t setAFCAGCTrigger(uint8_t trigger)
Controls trigger of AFC and AGC.
Definition: SX127x.cpp:1035
-
SX127x::setCrcFiltering
int16_t setCrcFiltering(bool enable=true)
Enable CRC filtering and generation.
Definition: SX127x.cpp:1439
+
SX127x::setCrcFiltering
int16_t setCrcFiltering(bool enable=true)
Enable CRC filtering and generation.
Definition: SX127x.cpp:1440
SX127x::receive
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:111
-
SX127x::setRfSwitchTable
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: SX127x.cpp:1532
+
SX127x::setRfSwitchTable
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: SX127x.cpp:1533
SX127x::setNodeAddress
int16_t setNodeAddress(uint8_t nodeAddr)
Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode.
Definition: SX127x.cpp:1085
-
SX127x::setEncoding
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ,...
Definition: SX127x.cpp:1484
+
SX127x::setEncoding
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ,...
Definition: SX127x.cpp:1485
SX127x::startReceive
int16_t startReceive() override
Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalL...
Definition: SX127x.cpp:388
SX127x::setBroadcastAddress
int16_t setBroadcastAddress(uint8_t broadAddr)
Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK ...
Definition: SX127x.cpp:1099
-
SX127x::getNumSymbols
float getNumSymbols(size_t len)
Convert from bytes to LoRa symbols.
Definition: SX127x.cpp:1247
+
SX127x::getNumSymbols
float getNumSymbols(size_t len)
Convert from bytes to LoRa symbols.
Definition: SX127x.cpp:1248
SX127x::setChannelScanAction
void setChannelScanAction(void(*func)(void)) override
Sets interrupt service routine to call when a channel scan is finished.
Definition: SX127x.cpp:491
SX127x::setSyncWord
int16_t setSyncWord(uint8_t syncWord)
Sets LoRa sync word. Only available in LoRa mode.
Definition: SX127x.cpp:746
-
SX127x::getIRQFlags
uint16_t getIRQFlags()
Reads currently active IRQ flags, can be used to check which event caused an interrupt....
Definition: SX127x.cpp:1503
+
SX127x::getIRQFlags
uint16_t getIRQFlags()
Reads currently active IRQ flags, can be used to check which event caused an interrupt....
Definition: SX127x.cpp:1504
SX127x::SX127x
SX127x(Module *mod)
Default constructor. Called internally when creating new LoRa instance.
Definition: SX127x.cpp:5
-
SX127x::setRSSIConfig
int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)
Sets RSSI measurement configuration in FSK mode.
Definition: SX127x.cpp:1455
-
SX127x::getFHSSHoppingPeriod
uint8_t getFHSSHoppingPeriod(void)
Gets FHSS hopping period.
Definition: SX127x.cpp:1792
-
SX127x::calculateRxTimeout
RadioLibTime_t calculateRxTimeout(RadioLibTime_t timeoutUs) override
Calculate the timeout value for this specific module / series (in number of symbols or units of time)
Definition: SX127x.cpp:1309
+
SX127x::setRSSIConfig
int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)
Sets RSSI measurement configuration in FSK mode.
Definition: SX127x.cpp:1456
+
SX127x::getFHSSHoppingPeriod
uint8_t getFHSSHoppingPeriod(void)
Gets FHSS hopping period.
Definition: SX127x.cpp:1793
+
SX127x::calculateRxTimeout
RadioLibTime_t calculateRxTimeout(RadioLibTime_t timeoutUs) override
Calculate the timeout value for this specific module / series (in number of symbols or units of time)
Definition: SX127x.cpp:1310
SX127x::getDataRate
float getDataRate() const
Get data rate of the latest transmitted packet.
Definition: SX127x.cpp:911
SX127x::setPacketReceivedAction
void setPacketReceivedAction(void(*func)(void)) override
Sets interrupt service routine to call when a packet is received.
Definition: SX127x.cpp:475
-
SX127x::setDirectAction
void setDirectAction(void(*func)(void)) override
Set interrupt service routine function to call when data bit is received in direct mode.
Definition: SX127x.cpp:1779
+
SX127x::setDirectAction
void setDirectAction(void(*func)(void)) override
Set interrupt service routine function to call when data bit is received in direct mode.
Definition: SX127x.cpp:1780
SX127x::setDio0Action
void setDio0Action(void(*func)(void), uint32_t dir)
Set interrupt service routine function to call when DIO0 activates.
Definition: SX127x.cpp:453
SX127x::begin
int16_t begin(uint8_t *chipVersions, uint8_t numVersions, uint8_t syncWord, uint16_t preambleLength)
Initialization method. Will be called with appropriate parameters when calling initialization method ...
Definition: SX127x.cpp:9
-
SX127x::getChipVersion
int16_t getChipVersion()
Read version SPI register. Should return SX1278_CHIP_VERSION (0x12) or SX1272_CHIP_VERSION (0x22) if ...
Definition: SX127x.cpp:1561
+
SX127x::getChipVersion
int16_t getChipVersion()
Read version SPI register. Should return SX1278_CHIP_VERSION (0x12) or SX1272_CHIP_VERSION (0x22) if ...
Definition: SX127x.cpp:1562
SX127x::transmitDirect
int16_t transmitDirect(uint32_t frf=0) override
Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode,...
Definition: SX127x.cpp:313
SX127x::getFrequencyError
float getFrequencyError(bool autoCorrect=false)
Gets frequency error of the latest received packet.
Definition: SX127x.cpp:831
-
SX127x::setDIOMapping
int16_t setDIOMapping(uint32_t pin, uint32_t value) override
Configure DIO pin mapping to get a given signal on a DIO pin (if available).
Definition: SX127x.cpp:1809
+
SX127x::setDIOMapping
int16_t setDIOMapping(uint32_t pin, uint32_t value) override
Configure DIO pin mapping to get a given signal on a DIO pin (if available).
Definition: SX127x.cpp:1810
SX127x::beginFSK
int16_t beginFSK(uint8_t *chipVersions, uint8_t numVersions, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK init...
Definition: SX127x.cpp:72
SX127x::disableAddressFiltering
int16_t disableAddressFiltering()
Disables FSK address filtering.
Definition: SX127x.cpp:1113
RadioLibTime_t
unsigned long RadioLibTime_t
Type used for durations in RadioLib.
Definition: TypeDef.h:642
diff --git a/class_module-members.html b/class_module-members.html index 2c5d6876..7e5748b7 100644 --- a/class_module-members.html +++ b/class_module-members.html @@ -121,7 +121,7 @@ $(document).ready(function(){initNavTree('class_module.html',''); initResizable( SPIreadRegisterBurst(uint32_t reg, size_t numBytes, uint8_t *inBytes)Module SPIreadStream(uint16_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)Module SPIreadStream(uint8_t *cmd, uint8_t cmdLen, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)Module - SPIsetRegValue(uint32_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF)Module + SPIsetRegValue(uint32_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF, bool force=false)Module SPItransfer(uint16_t cmd, uint32_t reg, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes)Module SPItransferStream(const uint8_t *cmd, uint8_t cmdLen, bool write, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes, bool waitForGpio)Module SPIwriteRegister(uint32_t reg, uint8_t data)Module diff --git a/class_module.html b/class_module.html index e0ecce42..c9179822 100644 --- a/class_module.html +++ b/class_module.html @@ -163,9 +163,9 @@ void int16_t SPIgetRegValue (uint32_t reg, uint8_t msb=7, uint8_t lsb=0)  SPI read method that automatically masks unused bits. This method is the preferred SPI read mechanism. More...
  -int16_t SPIsetRegValue (uint32_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF) - Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism. More...
-  +int16_t SPIsetRegValue (uint32_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF, bool force=false) + Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism. More...
+  void SPIreadRegisterBurst (uint32_t reg, size_t numBytes, uint8_t *inBytes)  SPI burst read method. More...
  @@ -884,8 +884,8 @@ static const size_t  - -

◆ SPIsetRegValue()

+ +

◆ SPIsetRegValue()

@@ -924,7 +924,13 @@ static const size_t  uint8_t  - checkMask = 0xFF  + checkMask = 0xFF, + + + + + bool  + force = false  @@ -943,6 +949,7 @@ static const size_t lsbLeast significant bit of the register variable. Bits below this one will not be affected by the write operation. checkIntervalNumber of milliseconds between register writing and verification reading. Some registers need up to 10ms to process the change. checkMaskMask of bits to check, only bits set to 1 will be verified. + forceWrite new value even if the old value is the same. diff --git a/class_module.js b/class_module.js index 95e47d4a..32b3add8 100644 --- a/class_module.js +++ b/class_module.js @@ -33,7 +33,7 @@ var class_module = [ "SPIreadRegisterBurst", "class_module.html#ac993ab8e2ea0f5aa93339d1f6ffb54ee", null ], [ "SPIreadStream", "class_module.html#adacceb57ecfecb09150c135b2b44436f", null ], [ "SPIreadStream", "class_module.html#a085415b49ff72238f118b937ad896cbd", null ], - [ "SPIsetRegValue", "class_module.html#ade75c5403a05156b43cc7562563ae2d7", null ], + [ "SPIsetRegValue", "class_module.html#aed95fba2ee72d7a2a21f98dd63ae4ad1", null ], [ "SPItransfer", "class_module.html#aa6df70520aa015dd3a1bccdceae67232", null ], [ "SPItransferStream", "class_module.html#a4174159e476de5cef6ea3f89c883cb5e", null ], [ "SPIwriteRegister", "class_module.html#a60ca6b4cae98f7d935191a569d519913", null ], diff --git a/class_s_t_m32_w_lx___module-members.html b/class_s_t_m32_w_lx___module-members.html index 7988dfe0..78c94b2d 100644 --- a/class_s_t_m32_w_lx___module-members.html +++ b/class_s_t_m32_w_lx___module-members.html @@ -121,7 +121,7 @@ $(document).ready(function(){initNavTree('class_s_t_m32_w_lx___module.html',''); SPIreadRegisterBurst(uint32_t reg, size_t numBytes, uint8_t *inBytes)Module SPIreadStream(uint16_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)Module SPIreadStream(uint8_t *cmd, uint8_t cmdLen, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)Module - SPIsetRegValue(uint32_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF)Module + SPIsetRegValue(uint32_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF, bool force=false)Module SPItransfer(uint16_t cmd, uint32_t reg, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes)Module SPItransferStream(const uint8_t *cmd, uint8_t cmdLen, bool write, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes, bool waitForGpio)Module SPIwriteRegister(uint32_t reg, uint8_t data)Module diff --git a/class_s_t_m32_w_lx___module.html b/class_s_t_m32_w_lx___module.html index d1039acf..98d81830 100644 --- a/class_s_t_m32_w_lx___module.html +++ b/class_s_t_m32_w_lx___module.html @@ -145,9 +145,9 @@ void int16_t SPIgetRegValue (uint32_t reg, uint8_t msb=7, uint8_t lsb=0)  SPI read method that automatically masks unused bits. This method is the preferred SPI read mechanism. More...
  -int16_t SPIsetRegValue (uint32_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF) - Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism. More...
-  +int16_t SPIsetRegValue (uint32_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF, bool force=false) + Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism. More...
+  void SPIreadRegisterBurst (uint32_t reg, size_t numBytes, uint8_t *inBytes)  SPI burst read method. More...
  diff --git a/functions_func_s.html b/functions_func_s.html index ab2bdfdc..d7706409 100644 --- a/functions_func_s.html +++ b/functions_func_s.html @@ -684,7 +684,7 @@ $(document).ready(function(){initNavTree('functions_func_s.html',''); initResiza : Module
  • SPIsetRegValue() -: Module +: Module
  • SPItransfer() : Module diff --git a/functions_s.html b/functions_s.html index 75eac824..6f261804 100644 --- a/functions_s.html +++ b/functions_s.html @@ -711,7 +711,7 @@ $(document).ready(function(){initNavTree('functions_s.html',''); initResizable() : Module
  • SPIsetRegValue() -: Module +: Module
  • SPItransfer() : Module diff --git a/navtreeindex1.js b/navtreeindex1.js index 8f46cbd4..02a787bc 100644 --- a/navtreeindex1.js +++ b/navtreeindex1.js @@ -195,7 +195,7 @@ var NAVTREEINDEX1 = "class_module.html#ad1956ac81429ec1f61f83dbc081cf18c":[3,0,39,12], "class_module.html#ad6cddbf3aebec9717a1a381dd81ad398":[3,0,39,11], "class_module.html#adacceb57ecfecb09150c135b2b44436f":[3,0,39,21], -"class_module.html#ade75c5403a05156b43cc7562563ae2d7":[3,0,39,23], +"class_module.html#aed95fba2ee72d7a2a21f98dd63ae4ad1":[3,0,39,23], "class_module.html#af5e5dd089a3117f6499b818b426e2e0d":[3,0,39,4], "class_module.html#af5e5dd089a3117f6499b818b426e2e0da2ea83939f64337390afbdeb0bfdae3f0":[3,0,39,4,0], "class_module.html#af5e5dd089a3117f6499b818b426e2e0da52475d5a5e20c3593c9f761d0fb41118":[3,0,39,4,1], diff --git a/search/all_10.js b/search/all_10.js index 67cd30c3..2014ad75 100644 --- a/search/all_10.js +++ b/search/all_10.js @@ -130,7 +130,7 @@ var searchData= ['spireadregister_616',['SPIreadRegister',['../class_module.html#ab250eb929068e0c890e16e8e6d7cd7e6',1,'Module']]], ['spireadregisterburst_617',['SPIreadRegisterBurst',['../class_module.html#ac993ab8e2ea0f5aa93339d1f6ffb54ee',1,'Module']]], ['spireadstream_618',['SPIreadStream',['../class_module.html#adacceb57ecfecb09150c135b2b44436f',1,'Module::SPIreadStream(uint16_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)'],['../class_module.html#a085415b49ff72238f118b937ad896cbd',1,'Module::SPIreadStream(uint8_t *cmd, uint8_t cmdLen, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)']]], - ['spisetregvalue_619',['SPIsetRegValue',['../class_module.html#ade75c5403a05156b43cc7562563ae2d7',1,'Module']]], + ['spisetregvalue_619',['SPIsetRegValue',['../class_module.html#aed95fba2ee72d7a2a21f98dd63ae4ad1',1,'Module']]], ['spitransfer_620',['SPItransfer',['../class_module.html#aa6df70520aa015dd3a1bccdceae67232',1,'Module']]], ['spitransfer_621',['spiTransfer',['../class_pi_hal.html#a96a0f36efd8e23893add3242bdef8be4',1,'PiHal::spiTransfer()'],['../class_pico_hal.html#acc961bf30af621d0dfec2b3f7e25cf5c',1,'PicoHal::spiTransfer()'],['../class_radio_lib_hal.html#aebcaaf0cefdaaf5b572d4261e472ac8a',1,'RadioLibHal::spiTransfer()']]], ['spitransferstream_622',['SPItransferStream',['../class_module.html#a4174159e476de5cef6ea3f89c883cb5e',1,'Module']]], diff --git a/search/functions_f.js b/search/functions_f.js index 7c820f26..c79fb63a 100644 --- a/search/functions_f.js +++ b/search/functions_f.js @@ -120,7 +120,7 @@ var searchData= ['spireadregister_1102',['SPIreadRegister',['../class_module.html#ab250eb929068e0c890e16e8e6d7cd7e6',1,'Module']]], ['spireadregisterburst_1103',['SPIreadRegisterBurst',['../class_module.html#ac993ab8e2ea0f5aa93339d1f6ffb54ee',1,'Module']]], ['spireadstream_1104',['SPIreadStream',['../class_module.html#adacceb57ecfecb09150c135b2b44436f',1,'Module::SPIreadStream(uint16_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)'],['../class_module.html#a085415b49ff72238f118b937ad896cbd',1,'Module::SPIreadStream(uint8_t *cmd, uint8_t cmdLen, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)']]], - ['spisetregvalue_1105',['SPIsetRegValue',['../class_module.html#ade75c5403a05156b43cc7562563ae2d7',1,'Module']]], + ['spisetregvalue_1105',['SPIsetRegValue',['../class_module.html#aed95fba2ee72d7a2a21f98dd63ae4ad1',1,'Module']]], ['spitransfer_1106',['SPItransfer',['../class_module.html#aa6df70520aa015dd3a1bccdceae67232',1,'Module']]], ['spitransfer_1107',['spiTransfer',['../class_pi_hal.html#a96a0f36efd8e23893add3242bdef8be4',1,'PiHal::spiTransfer()'],['../class_pico_hal.html#acc961bf30af621d0dfec2b3f7e25cf5c',1,'PicoHal::spiTransfer()'],['../class_radio_lib_hal.html#aebcaaf0cefdaaf5b572d4261e472ac8a',1,'RadioLibHal::spiTransfer()']]], ['spitransferstream_1108',['SPItransferStream',['../class_module.html#a4174159e476de5cef6ea3f89c883cb5e',1,'Module']]],