Commit graph

109 commits

Author SHA1 Message Date
jgromes
8fd0a67a78 Typo fixes 2023-07-15 19:13:16 +02:00
jgromes
d561d41e95 [SX126x] Implemented new common PHY methods 2023-07-06 11:14:44 +02:00
jgromes
787ebde43e [SX126x] Implemented generic IRQ actions (#773) 2023-06-21 22:21:55 +02:00
jgromes
cf677e6b15 [SX126x] Fixed default parameters 2023-05-28 22:32:24 +02:00
jgromes
2b28296c94 [SX128x] Added default startReceive method 2023-05-28 22:20:54 +02:00
jgromes
89f909fc6e [SX126x] Added force wakeup to standby (#740) 2023-05-02 21:05:13 +02:00
jgromes
bdc5bb0bba [SX126x] Wakeup device on standby() call (#740) 2023-05-02 18:59:33 +02:00
jgromes
d4365a3b1e [SX126x] Fixed variable shadowing 2023-04-23 22:04:40 +02:00
jgromes
f1c9423035 [SX126x] Fixed typo 2023-04-23 21:11:27 +02:00
jgromes
a015e541f6 [SX126x] General reformatting 2023-04-23 19:06:45 +02:00
Jan Gromeš
b76b819b12
Merge pull request #730 from Mesteery/new-hal
Improve hardware abstraction layer
2023-04-22 16:26:31 +02:00
jgromes
2e8d0ae8a3 [SX126x] Fixed IQ inversion not caching (#731) 2023-04-17 19:10:26 +02:00
Mestery
9a68a3c901 use uint32 instead of uint8 for pin type 2023-04-16 21:39:00 +02:00
Mestery
ec3d4eaf20 Improve hardware abstraction layer 2023-04-12 23:16:18 +02:00
jgromes
cb385f5946 [SX126x] Remove standby before data read (#703) 2023-04-10 14:05:25 +02:00
jgromes
9dde85598b [SX126x] Added IQ inversion 2023-04-08 21:44:51 +02:00
jgromes
5f0cfa9bf6 [SX126x] Improved RNG 2023-04-02 21:01:13 +02:00
Jan Gromeš
c2b40f088f
Merge pull request #711 from G4lile0/master
[SX1278] New getInstRSSI to get current RSSI
2023-03-27 23:28:18 +02:00
jgromes
ab9cf0d528 [SX126x] Unified getRSSI interface 2023-03-27 23:21:37 +02:00
G4lile0
09ab5f8073 [SX127x] & [SX126x] read current RSSI for getRSSI 2023-03-27 20:51:44 +02:00
jgromes
c10343e853 [SX126x] Added spectral scan in frequency 2023-03-27 18:48:32 +02:00
jgromes
9dd401e4a1 [SX126x] Added PHY startReceive (#700) 2023-03-26 22:19:53 +02:00
jgromes
cd4575ebb0 [SX126x] Fixed chip id (#707) 2023-03-21 18:18:17 +01:00
jgromes
dc2eb523a9 [SX126x] Cleanup whitespaces 2023-03-20 21:59:07 +01:00
jgromes
cfe6128656 [SX126x] Added frequency error reading 2023-03-18 10:56:00 +01:00
jgromes
0818230a7c [SX126x] Fixed incorrect variable names 2023-03-11 20:57:32 +01:00
jgromes
97ab0d357a [SX126x] Added spectral scan 2023-03-11 20:09:03 +01:00
jgromes
8392cea011 [SX126x] Added more LBT/scan registers (CI_FORCE_UNCRUST) 2023-03-05 18:08:14 +01:00
jgromes
8bf15941c7 [SX126x] Added option to control XTAL/TCXO via member variable 2023-03-05 16:38:28 +01:00
GUVWAF
f59bf4750c [SX126x] Add irqFlags and irqMask parameters to receive methods 2023-02-26 13:33:30 +01:00
jgromes
bd258380c8 [SX126x] Implemeted device type string check 2023-02-25 13:16:21 +01:00
jgromes
547a522826 [SX126x] Added undocumented registers 2023-02-25 13:14:11 +01:00
jgromes
95083e32b1 [SX126x] Use module stream read/write 2023-02-19 17:02:51 +01:00
jgromes
299e5de3c4 [SX126x] Use Module SPI tream 2023-02-19 16:16:16 +01:00
jgromes
dc050df8d9 [SX126x] Added support for AFSK transmission 2023-02-11 14:11:44 +01:00
Andrew Moroz
5f3fb5fa0d sx126x-rx-gain-persist: add ability to persist Rx gain setting when calling SX126x::setRxBoostedGainMode 2023-01-28 18:09:39 -05:00
Andrew Moroz
35ed685c8a andrew-moroz/sx126x-rx-boosted-gain: Add method to support SX126x Rx Boosted Gain mode 2023-01-16 16:37:14 -05:00
Matthijs Kooijman
cd138dd6c7 [STM32WLx] Apply PA clamp workaround for HP only
This modifies SX1262::begin and beginFSK to call setOutputPower after
applying the workaround, so that can undo the workaround if needed.
2023-01-10 18:09:55 +01:00
Matthijs Kooijman
9252cf53d3 [STM32WLx] Implement setDio1Action / interrupts
Because this interrupt is not connected to a GPIO or even the EXTI unit,
but directly to the MCU NVIC, the regular attachInterrupt flow cannot be
used.

Instead, this lets STM32WLx override the setDio1Action() and
clearDio1Action() methods to register the radio IRQ directly. Note that
it would have been nicer to implement this by overriding attachInterrupt
in STM32WLx_Module, but that is never called for virtual pins (because
the STM32Duino digitalPinToInterrupt() macro does not work for virtual
pins).

In addition, because the NVIC is level-sensitive and the code expects
edge-sensitive interrupts (for GPIO, the EXTI module in front of the
NVIC makes the interrupts edge-sensitive), this adds some additional
handling around the user-registered interrupt callback. To prevent the
ISR from triggering over and over again (and also to not require SPI
transactions in the ISR to clear the IRQ flags inside the radio), the
interrupt is disabled in the NVIC whenever it is trigered. Then,
whenever the IRQ flags *are* cleared in the radio, the IRQ is enabled in
the NVIC again. This requires making the SX126x::clearIrqStatus() method
virtual so STM32WLx can override it.
2023-01-10 18:09:55 +01:00
Matthijs Kooijman
da6c3f6a6b [SX126x] Allow subclasses to change the TX mode used
This prepares for adding a STM32WLx subclass later.
2023-01-09 10:26:28 +01:00
Matthijs Kooijman
3779faf600 Add setRfSwitchTable() wrapper methods
This gives all radios that use an rfswitch (i.e. have
a setRfSwitchPins() wrapper already) a wrapper method for
setRfSwitchTable() too. This wrapper just calls the same method on
Module, to make it easier for sketches to use it.
2023-01-09 10:26:27 +01:00
Matthijs Kooijman
90b28d7722 Remove duplicated setRfSwitchPins documentation
All radios that support RfSwitch define this method that simply forwards
to the `Module::setRfSwitchPins()` method. Previously, all these methods
duplicated the documentation as well, but this uses the doxygen \copydoc
to remove this duplication.
2023-01-09 09:46:31 +01:00
jgromes
0cd9dd2983 [SX126x] Added note about allowed OCP range (#654) 2023-01-04 10:22:06 +01:00
jgromes
3a34594b5b [SX126x] Fixed incorrect OCP step in documentation (#654) 2023-01-03 20:20:58 +01:00
Matthijs Kooijman
47163f4398 [SX126x] Make begin parameter docs consistent
This:
 - Updates syncWord comments after changing it from uint16_t to uint8_t
   in commit 55aff74a ([SX126x] Changed pin mapping, added reset,
   changed LoRa sync word to 1B).
 - Adds missing useRegulatorLDO comments forgoten in commit ea85a663
   ([SX126x] Pass useRegulatorLDO to SX1262/SX1261/SX1268).
 - Makes useRegulatorLDO comments the same in all places (using the more
   explicit version).
 - Fixes a typo in the doxygen \parma -> \param command.
2022-12-20 23:33:02 +01:00
jgromes
f942ccaec7 [SX126x] Added option to specify custom CAD parameters 2022-11-18 13:39:51 +01:00
jgromes
170ce9752b [SX126x] Skip SPI verification during block calibration (#583) 2022-10-04 18:19:54 +02:00
jgromes
3bdc8963a4 [SX126x] Added post-transaction error checking (#575) 2022-10-01 22:46:17 +02:00
jgromes
0ae6eae4d9 [SX126x] Added finishTransmit 2022-09-18 16:12:53 +02:00
jgromes
da0993a6ed Added RADIOLIB_EXCLUDE_DIRECT_RECEIVE exclusion macro (#557) 2022-08-15 19:19:59 +02:00