From 41912077b3f2b527e72363105ca950c49164df77 Mon Sep 17 00:00:00 2001 From: jgromes Date: Fri, 3 Jan 2025 18:12:01 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20680e8?= =?UTF-8?q?8c7394a103e1fe9f1b1fe057e36a2c54d3d=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _module_8h_source.html | 142 +++++++++++------------ _s_x127x_8h_source.html | 62 +++++----- class_module-members.html | 2 +- class_module.html | 19 ++- class_module.js | 2 +- class_s_t_m32_w_lx___module-members.html | 2 +- class_s_t_m32_w_lx___module.html | 6 +- functions_func_s.html | 2 +- functions_s.html | 2 +- navtreeindex1.js | 2 +- search/all_10.js | 2 +- search/functions_f.js | 2 +- 12 files changed, 126 insertions(+), 119 deletions(-) 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
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
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
RadioLibHal * hal
Hardware abstraction layer to be used.
Definition: Module.h:168
void term()
Terminate low-level module control.
Definition: Module.cpp:44
Module & operator=(const Module &mod)
Overload for assignment operator.
Definition: Module.cpp:27
-
uint32_t getGpio() const
Access method to get the pin number of second interrupt/GPIO.
Definition: Module.h:405
+
uint32_t getGpio() const
Access method to get the pin number of second interrupt/GPIO.
Definition: Module.h:406
const RfSwitchMode_t * findRfSwitchMode(uint8_t mode) const
Find a mode in the RfSwitchTable.
Definition: Module.cpp:505
OpMode_t
Constants to use in a mode table set be setRfSwitchTable. These constants work for most radios,...
Definition: Module.h:105
@ MODE_TX
Transmission mode.
Definition: Module.h:119
@@ -306,13 +306,13 @@ $(document).ready(function(){initNavTree('_module_8h_source.html',''); initResiz
int16_t(* SPIparseStatusCb_t)(uint8_t in)
Callback for parsing SPI status.
Definition: Module.h:171
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
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
-
uint32_t getIrq() const
Access method to get the pin number of interrupt/GPIO.
Definition: Module.h:393
+
uint32_t getIrq() const
Access method to get the pin number of interrupt/GPIO.
Definition: Module.h:394
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
void SPIreadRegisterBurst(uint32_t reg, size_t numBytes, uint8_t *inBytes)
SPI burst read method.
Definition: Module.cpp:111
void init()
Initialize low-level module control.
Definition: Module.cpp:37
-
uint32_t getRst() const
Access method to get the pin number of hardware reset pin.
Definition: Module.h:399
+
uint32_t getRst() const
Access method to get the pin number of hardware reset pin.
Definition: Module.h:400
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
-
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
+
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
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
void setRfSwitchState(uint8_t mode)
Set RF switch state.
Definition: Module.cpp:516
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
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:583
int16_t packetMode()
Disables direct mode and enables packet mode, allowing the module to receive packets....
Definition: SX127x.cpp:379
void clearChannelScanAction() override
Clears interrupt service routine to call when a channel scan is finished.
Definition: SX127x.cpp:495
-
void readBit(uint32_t pin) override
Function to read and process data bit in direct reception mode.
Definition: SX127x.cpp:1783
+
void readBit(uint32_t pin) override
Function to read and process data bit in direct reception mode.
Definition: SX127x.cpp:1784
void clearFifoFullAction()
Clears interrupt service routine to call when FIFO is full.
Definition: SX127x.cpp:521
int16_t scanChannel() override
Performs scan for valid LoRa preamble in the current channel.
Definition: SX127x.cpp:276
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
int16_t enableBitSync()
Enable Bit synchronizer.
Definition: SX127x.cpp:1163
-
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
+
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
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
void setFifoFullAction(void(*func)(void))
Set interrupt service routine function to call when FIFO is full.
Definition: SX127x.cpp:512
-
uint32_t getIrqFlags() override
Read currently active IRQ flags.
Definition: SX127x.cpp:1318
+
uint32_t getIrqFlags() override
Read currently active IRQ flags.
Definition: SX127x.cpp:1319
int16_t setOOK(bool enableOOK)
Enables/disables OOK modulation instead of FSK.
Definition: SX127x.cpp:1171
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
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
-
uint8_t getModemStatus()
Reads modem status. Only available in LoRa mode.
Definition: SX127x.cpp:1518
+
uint8_t getModemStatus()
Reads modem status. Only available in LoRa mode.
Definition: SX127x.cpp:1519
void clearPacketSentAction() override
Clears interrupt service routine to call when a packet is sent.
Definition: SX127x.cpp:487
virtual void reset()=0
Reset method. Will reset the chip to the default state using RST pin. Declared pure virtual since SX1...
-
int16_t getModem(ModemType_t *modem) override
Get modem currently in use by the radio.
Definition: SX127x.cpp:1762
+
int16_t getModem(ModemType_t *modem) override
Get modem currently in use by the radio.
Definition: SX127x.cpp:1763
void setPacketSentAction(void(*func)(void)) override
Sets interrupt service routine to call when a packet is sent.
Definition: SX127x.cpp:483
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:206
-
int16_t invertIQ(bool enable) override
Enable/disable inversion of the I and Q signals.
Definition: SX127x.cpp:1740
+
int16_t invertIQ(bool enable) override
Enable/disable inversion of the I and Q signals.
Definition: SX127x.cpp:1741
bool fifoAdd(uint8_t *data, int totalLen, int *remLen)
Set interrupt service routine function to call when FIFO is empty.
Definition: SX127x.cpp:526
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
-
void clearFHSSInt(void)
Clear the FHSS interrupt.
Definition: SX127x.cpp:1800
+
void clearFHSSInt(void)
Clear the FHSS interrupt.
Definition: SX127x.cpp:1801
int16_t setAFC(bool isEnabled)
Enables or disables FSK automatic frequency correction(AFC)
Definition: SX127x.cpp:1025
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
-
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX127x.cpp:1211
+
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX127x.cpp:1212
float getSNR() override
Gets signal-to-noise ratio of the latest received packet. Only available in LoRa mode.
Definition: SX127x.cpp:900
int16_t setOokPeakThresholdStep(uint8_t value)
Size of each decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1155
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:53
float getAFCError()
Gets current AFC error.
Definition: SX127x.cpp:884
-
int16_t setRSSIThreshold(float dbm)
Sets the RSSI value above which the RSSI interrupt is signaled.
Definition: SX127x.cpp:1449
-
uint8_t getFHSSChannel(void)
Gets the FHSS channel in use.
Definition: SX127x.cpp:1796
+
int16_t setRSSIThreshold(float dbm)
Sets the RSSI value above which the RSSI interrupt is signaled.
Definition: SX127x.cpp:1450
+
uint8_t getFHSSChannel(void)
Gets the FHSS channel in use.
Definition: SX127x.cpp:1797
int16_t invertPreamble(bool enable)
Invert FSK preamble polarity. The default (non-inverted) is 0x55, the inverted is 0xAA.
Definition: SX127x.cpp:812
int16_t setAFCBandwidth(float afcBw)
Sets FSK automatic frequency correction bandwidth. Allowed values range from 2.6 to 250 kHz....
Definition: SX127x.cpp:1009
void clearPacketReceivedAction() override
Clears interrupt service routine to call when a packet is received.
Definition: SX127x.cpp:479
int16_t startChannelScan() override
Interrupt-driven channel activity detection method. DIO0 will be activated when LoRa preamble is dete...
Definition: SX127x.cpp:714
-
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
+
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
void setFifoEmptyAction(void(*func)(void))
Set interrupt service routine function to call when FIFO is empty.
Definition: SX127x.cpp:499
void clearDio0Action()
Clears interrupt service routine to call when DIO0 activates.
Definition: SX127x.cpp:457
int16_t standby() override
Sets the LoRa module to standby.
Definition: SX127x.cpp:300
void setDio1Action(void(*func)(void), uint32_t dir)
Set interrupt service routine function to call when DIO1 activates.
Definition: SX127x.cpp:461
-
int16_t setDIOPreambleDetect(bool usePreambleDetect)
Configure DIO mapping to use RSSI or Preamble Detect for pins that support it.
Definition: SX127x.cpp:1819
+
int16_t setDIOPreambleDetect(bool usePreambleDetect)
Configure DIO mapping to use RSSI or Preamble Detect for pins that support it.
Definition: SX127x.cpp:1820
void setFifoThreshold(uint8_t threshold)
Set FIFO threshold level. Be aware that threshold is also set in setFifoFullAction method....
Definition: SX127x.cpp:508
-
int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod)
Sets the hopping period and enables FHSS.
Definition: SX127x.cpp:1788
+
int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod)
Sets the hopping period and enables FHSS.
Definition: SX127x.cpp:1789
int16_t finishTransmit() override
Clean up after transmission is done.
Definition: SX127x.cpp:645
int16_t disableBitSync()
Disable Bit synchronizer (not allowed in Packet mode).
Definition: SX127x.cpp:1167
int16_t getChannelScanResult() override
Read the channel scan result.
Definition: SX127x.cpp:739
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
int16_t setOokThresholdType(uint8_t type)
Selects the type of threshold in the OOK data slicer.
Definition: SX127x.cpp:1131
-
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
+
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
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
-
int8_t getTempRaw()
Reads uncalibrated temperature value. This function will change operating mode and should not be call...
Definition: SX127x.cpp:1565
-
uint8_t randomByte() override
Get one truly random byte from RSSI noise.
Definition: SX127x.cpp:1536
+
int8_t getTempRaw()
Reads uncalibrated temperature value. This function will change operating mode and should not be call...
Definition: SX127x.cpp:1566
+
uint8_t randomByte() override
Get one truly random byte from RSSI noise.
Definition: SX127x.cpp:1537
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX127x.cpp:468
-
int16_t setLowBatteryThreshold(int8_t level, uint32_t pin=RADIOLIB_NC)
Set low battery indicator threshold.
Definition: SX127x.cpp:1885
-
RadioLibTime_t getTimeOnAir(size_t len) override
Get expected time-on-air for a given size of payload.
Definition: SX127x.cpp:1273
-
int16_t clearIrqFlags(uint32_t irq) override
Clear interrupt on a specific IRQ bit (e.g. RxTimeout, CadDone).
Definition: SX127x.cpp:1424
+
int16_t setLowBatteryThreshold(int8_t level, uint32_t pin=RADIOLIB_NC)
Set low battery indicator threshold.
Definition: SX127x.cpp:1886
+
RadioLibTime_t getTimeOnAir(size_t len) override
Get expected time-on-air for a given size of payload.
Definition: SX127x.cpp:1274
+
int16_t clearIrqFlags(uint32_t irq) override
Clear interrupt on a specific IRQ bit (e.g. RxTimeout, CadDone).
Definition: SX127x.cpp:1425
int16_t receiveDirect() override
Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode,...
Definition: SX127x.cpp:342
void clearFifoEmptyAction()
Clears interrupt service routine to call when FIFO is empty.
Definition: SX127x.cpp:504
int16_t setOokPeakThresholdDecrement(uint8_t value)
Period of decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1147
-
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
+
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
int16_t setAFCAGCTrigger(uint8_t trigger)
Controls trigger of AFC and AGC.
Definition: SX127x.cpp:1035
-
int16_t setCrcFiltering(bool enable=true)
Enable CRC filtering and generation.
Definition: SX127x.cpp:1439
+
int16_t setCrcFiltering(bool enable=true)
Enable CRC filtering and generation.
Definition: SX127x.cpp:1440
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:111
-
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
+
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
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
-
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
+
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
int16_t startReceive() override
Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalL...
Definition: SX127x.cpp:388
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
-
float getNumSymbols(size_t len)
Convert from bytes to LoRa symbols.
Definition: SX127x.cpp:1247
+
float getNumSymbols(size_t len)
Convert from bytes to LoRa symbols.
Definition: SX127x.cpp:1248
void setChannelScanAction(void(*func)(void)) override
Sets interrupt service routine to call when a channel scan is finished.
Definition: SX127x.cpp:491
int16_t setSyncWord(uint8_t syncWord)
Sets LoRa sync word. Only available in LoRa mode.
Definition: SX127x.cpp:746
-
uint16_t getIRQFlags()
Reads currently active IRQ flags, can be used to check which event caused an interrupt....
Definition: SX127x.cpp:1503
+
uint16_t getIRQFlags()
Reads currently active IRQ flags, can be used to check which event caused an interrupt....
Definition: SX127x.cpp:1504
SX127x(Module *mod)
Default constructor. Called internally when creating new LoRa instance.
Definition: SX127x.cpp:5
-
int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)
Sets RSSI measurement configuration in FSK mode.
Definition: SX127x.cpp:1455
-
uint8_t getFHSSHoppingPeriod(void)
Gets FHSS hopping period.
Definition: SX127x.cpp:1792
-
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
+
int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)
Sets RSSI measurement configuration in FSK mode.
Definition: SX127x.cpp:1456
+
uint8_t getFHSSHoppingPeriod(void)
Gets FHSS hopping period.
Definition: SX127x.cpp:1793
+
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
float getDataRate() const
Get data rate of the latest transmitted packet.
Definition: SX127x.cpp:911
void setPacketReceivedAction(void(*func)(void)) override
Sets interrupt service routine to call when a packet is received.
Definition: SX127x.cpp:475
-
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
+
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
void setDio0Action(void(*func)(void), uint32_t dir)
Set interrupt service routine function to call when DIO0 activates.
Definition: SX127x.cpp:453
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
-
int16_t getChipVersion()
Read version SPI register. Should return SX1278_CHIP_VERSION (0x12) or SX1272_CHIP_VERSION (0x22) if ...
Definition: SX127x.cpp:1561
+
int16_t getChipVersion()
Read version SPI register. Should return SX1278_CHIP_VERSION (0x12) or SX1272_CHIP_VERSION (0x22) if ...
Definition: SX127x.cpp:1562
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
float getFrequencyError(bool autoCorrect=false)
Gets frequency error of the latest received packet.
Definition: SX127x.cpp:831
-
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
+
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
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
int16_t disableAddressFiltering()
Disables FSK address filtering.
Definition: SX127x.cpp:1113
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']]],