Commit graph

1144 commits

Author SHA1 Message Date
jgromes
e8a6297c60 [LR11x0] Added support for LR-FHSS 2024-04-21 15:01:57 +02:00
jgromes
ce4d9aa150 [LR11x0] Fixed LoRa CRC configuration 2024-04-21 08:47:27 +02:00
jgromes
9451f36332 [LR11x0] Use IRQ instead of DIO1 as pin name 2024-04-21 08:34:00 +02:00
jgromes
01208574d9 [LR11x0] Added CAD support (#679) 2024-04-20 21:29:32 +02:00
jgromes
99d2e6c452 [LR11x0] Added direct mode support 2024-04-20 18:05:31 +02:00
jgromes
6fa4aa3ebb [LR11x0] Added GFSK modem support (#679) 2024-04-19 20:30:53 +02:00
jgromes
88e1411399 [LR11x0] Fix potential use after free 2024-04-14 19:42:14 +01:00
jgromes
4a6e182789 [LR11x0] Fix virtual method hiding (#679) 2024-04-14 20:38:12 +02:00
jgromes
7bb747fdba [LR11x0] Add missing header for non-Arduino paltforms (#679) 2024-04-14 19:29:35 +01:00
jgromes
f956a66ef2 [LR11x0] Fix typos in variable names 2024-04-14 19:29:12 +01:00
jgromes
23f45153c1 [LR11x0] Suppress warnings for unimplemented features 2024-04-14 19:28:54 +01:00
jgromes
77ed4452ae [LR11x0] Added basic LR11x0 support (#679) 2024-04-14 20:22:55 +02:00
jgromes
c11ac4703b [SX127x] Fixed getRSSI overload for PhysicalLayer (#1064) 2024-04-13 21:21:33 +02:00
jgromes
c9d8c601df [Mod] Use enum for bit widths 2024-04-07 17:34:31 +01:00
Jan Gromeš
4fa0656ddd
[MOD] SPI configuration interface rework (#1057)
* [MOD] Rework SPI config interface

* [CC1101] Rework SPI config interface

* [nRF24] Rework SPI config interface

* [SX126x] Rework SPI config interface

* [SX128x] Rework SPI config interface

* Fix missing moved debug info

* [MOD] Fix signed warnings
2024-04-07 17:05:07 +02:00
jgromes
f61be0d273 [SX126x] Added public method to set PA ramp time (#1054) 2024-04-05 17:30:05 +02:00
jgromes
263f7883cf [SX126x] Use integer frequency for band selection 2024-04-04 21:31:09 +02:00
jgromes
a387b3b706 [SX126x] Fix image calibration (#1051) 2024-04-04 21:28:17 +02:00
jgromes
5d741779a1 [SX126x] Use predefined image calibration bands (#1051) 2024-04-04 21:27:12 +02:00
jgromes
e7ee407b0d [Doc] Additional doxygen fixes 2024-04-01 12:11:13 +02:00
Jan Gromeš
e57c9b08ea
[Doxygen] Warnings fixes (#1046)
* [APRS] Fix Doxygen warnings

* [Print] Fix Doxygen warnings

* [CC1101] Fixed doxygen warnings

* [nRF24] Fixed doxygen warnings

* [RF69] Fixed doxygen warnings

* [SX126x] Fixed doxygen warnings

* [SX127x] Fixed doxygen warnings

* [AFSK] Fixed doxygen warnings

* [APRS] Fixed doxygen warnings

* [Bell] Fixed doxygen warnings

* [Ext] Fixed doxygen warnings

* [LoRaWAN] Fixed doxygen warnings

* [PHY] Fixed doxygen warnings

* [Print] Fixed doxygen warnings

* [Mod] Fixed doxygen warnings
2024-04-01 11:11:24 +02:00
jgromes
721a44c6e4 [RF69] Fix copy-pate error (#1013) 2024-03-29 08:40:25 +01:00
jgromes
88f26c4aab [SX126x] Use millis for timeouts (#1013) 2024-03-29 08:36:51 +01:00
jgromes
fb7d698007 [SX127x] Use millis for timeouts 2024-03-29 08:36:05 +01:00
jgromes
8098bea254 [SX128x] Use millis for timeouts 2024-03-29 08:35:29 +01:00
jgromes
eba32d7dcd [Si443x] Use millis for timeouts 2024-03-29 08:35:08 +01:00
jgromes
5980e0fb00 [RF69] Use millis for timeouts 2024-03-29 08:34:56 +01:00
jgromes
aafe96faf8 [nRF24] Use millis for timeouts 2024-03-29 08:34:48 +01:00
jgromes
936a39ad98 [CC1101] Use millis for timeouts 2024-03-29 08:34:35 +01:00
Crsarmv7l
1fb5100413
[CC1101] 3 New CC1101 Functions (#1038)
* getFrequency implementation

* getFrequency Method

* Get bitrate method

* getBitRate

* CalcRxBandwidth() method

* CalcRxBandwidth();

* Fix Notes

* Changes for pull

* Changes for pull 2

* Update keywords.txt

* Revert to hopefully bring in current

* Fix ()

* Re add
2024-03-28 18:44:10 +01:00
jgromes
7b5211130a [CC1101] Fix doxygen comment 2024-03-26 07:27:16 +01:00
jgromes
0ed586a840 [CC1101] Fixup tabs 2024-03-26 07:26:16 +01:00
Crsarmv7l
b3ed84a035
[CC1101] PQT = 0 in setPromiscuous (#1033)
* PQT = 0 in setPromiscuous

* Carriersense in promiscuous

* carriersense to promiscuous

* Fix explanation
2024-03-26 07:24:02 +01:00
jgromes
0b11d101aa [CC1101] Clarify direct methods are synchronous (#1016) 2024-03-15 19:32:57 +01:00
jgromes
9fd7db4d13 [SX126x] Fix rx/tx fallback mode (#1008) 2024-03-13 07:00:20 +01:00
jgromes
b288485d6c [SX126x] Added option to select standby mode (#1008) 2024-03-12 21:52:17 +01:00
jgromes
4ee17cc168 Debugging rework 2024-03-10 11:07:23 +01:00
jgromes
a907026c7b [SX127x] Fixed software timeout duration (#962) 2024-02-13 07:04:04 +01:00
jgromes
a168f9ba41 [SX127x] Fixed data rate checking 2024-01-28 13:29:14 +01:00
jgromes
118980fd27 [SX126x] Fixed data rate checking (#948) 2024-01-28 13:28:48 +01:00
jgromes
5ebea18572 [LLCC68] Fixed data rate checking 2024-01-28 13:28:21 +01:00
jgromes
f109fd0158 [LLCC68] Fixed set data rate for LLCC68 (#946) 2024-01-27 18:47:05 +01:00
jgromes
a642f5a8df [SX126x] Implemented data rate check 2024-01-27 18:46:22 +01:00
jgromes
a4b148d609 [SX127x] Implemented data rate check 2024-01-27 18:45:37 +01:00
jgromes
4c5321e5cb [SX1233] Fix incorrect exclude macro guard (#929) 2024-01-14 21:56:18 +01:00
jgromes
ea66037c11 [STM32WL] Fix Module pinter (CI_BUILD_ALL) 2024-01-14 16:48:32 +01:00
jgromes
d301aa6a37 [SX126x] Fix txMode made private 2024-01-14 16:48:06 +01:00
jgromes
8c1d0521c5 [SX127x] Removed extra semicolons 2024-01-14 16:29:57 +01:00
Paul Lietar
ab41bcac00 [CC1101] Correctly wait for packet end on blocking receive.
When using a blocking receive, I was getting non-sensical packet length
and garbage data, whereas IRQ mode was working fine. This was happening
despite what looked like a workaround for this in the code which would
read the length twice.

I tracked it down to the receive function trying to read the data too
early, before the packet had even been received. The receive function
would wait for the GDO0 pin to become low, then assume the packet was
ready and read off the data.

However, the GD0 pin is set by the `startReceive` as inverted and,
according to the datasheet, in a mode which "asserts when sync word has
been received, and de-asserts at the end of the packet". In other words,
taking into account the inversion, GDO0 becomes low at the start of the
packet and high at the end of it.

Therefore the receive function would actually try to read the packet
data as soon as the packet had started, rather than wait until the end,
explaining the garbage data.

I suspect that with a slow MCU and a fast transmission rate, the
previous workaround of reading the length field twice may have delayed
the data read just enough to allow the packet to be fully received, but
this does not work in the general case.

This commit updates the logic by first waiting for a low signal,
followed by a high one. This is actually the exact same logic used in
the blocking transmit implementation, but inverted to account for the
INV flag set on GDO0. The commit also removes the past workaround, since
it should not be necessary anymore.
2024-01-13 17:18:23 +00:00
jgromes
842c54849d [SX127x] Added setLowBatteryThreshold (#925) 2024-01-13 13:39:51 +01:00