Commit graph

1237 commits

Author SHA1 Message Date
lewisxhe
84402968c2 Fixed SX128X checkOutputPower 2024-05-25 10:50:58 +08:00
jgromes
e52fe99f03 [CC1101] Rework power check to not use constexpr 2024-05-20 19:56:47 +02:00
jgromes
534a2f2d62 [LR11x0] Fix struct initialization 2024-05-19 19:09:04 +02:00
jgromes
98c80a9cb9 [STM32WL] Fix output ramp time configuration 2024-05-19 19:05:03 +02:00
jgromes
5e398bd868 [LR11x0] Added firmware update support 2024-05-19 14:55:11 +02:00
jgromes
8f5440e4b5 [LR11x0] Clarified device macro naming 2024-05-19 13:55:53 +02:00
jgromes
b5fd75b4dc [LR11x0] Implemented v2 GNSS commands 2024-05-18 08:44:50 +02:00
jgromes
47f5569e7f [LR11x0] Dump FW versions in debug mode 2024-05-15 21:27:31 +02:00
jgromes
3b412d7521 [SX126x] Add rounding when using custom image rejection (#1096) 2024-05-15 20:22:30 +02:00
jgromes
f9af9b4d3f [SX128x] Fix forgotten sleep 2024-05-15 18:45:57 +02:00
jgromes
63ef9e0977 Fixup doxygen comments (#1089) 2024-05-15 18:43:19 +02:00
Dominic Moffat
b336dd59f9
Fixes overload warning when building with ESP IDF (#1089)
* fixes overload

* fixes overload

* fixes overload warnings in ESP-IDF
2024-05-15 18:40:08 +02:00
bkleiner
f3d358bbe3 LR11x0: fix setDioAsRfSwitch argument count 2024-05-12 19:01:17 +02:00
jgromes
1dcd61b71d [SX128x] Use const pointers where appropriate 2024-05-12 12:03:19 +01:00
jgromes
be4ad51330 [LR11x0] Use const pointers where appropriate 2024-05-12 12:03:08 +01:00
jgromes
3d9815f93d Use explicit constructors for base classes 2024-05-11 17:22:57 +01:00
jgromes
e35689cbaa [nRF24] Fixed issues found by cppcheck 2024-05-11 17:20:19 +01:00
jgromes
2f867153f9 [Si443x] Fixed issues found by cppcheck 2024-05-11 17:15:25 +01:00
jgromes
c641099e9f [SX127x] Fixed issues found by cppcheck 2024-05-11 16:49:51 +01:00
jgromes
dec7265f72 [SX128x] Fixed issues found by cppcheck 2024-05-11 16:49:29 +01:00
jgromes
a643d0db7a [LR11x0] Fixed issues found by cppcheck 2024-05-10 20:45:54 +01:00
jgromes
4d7c16bd44 [RF69] Fixed issues found by cppcheck 2024-05-10 20:45:36 +01:00
jgromes
46e6f78731 [LR11x0] Fixed inverted deallocation logic 2024-05-08 20:13:57 +01:00
jgromes
c494b983f5 [LR11x0] Added methods for LoRaWAN compatibility 2024-05-08 14:55:48 +02:00
jgromes
2f06885f9f [SX126x] Remove copypate from setSyncBits 2024-05-08 14:55:19 +02:00
jgromes
8a4514703b [SX128x] Use 32-bit IRQ flags 2024-05-08 14:54:33 +02:00
jgromes
bfb7c8dd3b [SX126x] Use 32-bit IRQ flags 2024-05-08 14:54:22 +02:00
jgromes
8eac3f1bf2 [SX127x] Use 32-bit IRQ flags 2024-05-08 14:53:01 +02:00
jgromes
df9e9ee68c [Si443x] Use 32-bit IRQ flags 2024-05-08 14:52:51 +02:00
jgromes
be56474596 [RF69] Use 32-bit IRQ flags 2024-05-08 14:52:42 +02:00
jgromes
44afc5a6f5 [nRF24] Use 32-bit IRQ flags 2024-05-08 14:52:31 +02:00
jgromes
2a776f4c09 [CC1101] Use 32-bit IRQ flags 2024-05-08 14:52:15 +02:00
jgromes
3b62c88a2e [SX126x] Fixed issues found by cppcheck 2024-05-05 20:11:02 +01:00
jgromes
4f52738ed4 [LLCC68] Fixed issues found by cppcheck 2024-05-05 20:10:46 +01:00
jgromes
4f1e5c5521 [LR11x0] Added LoRa header configuration methods 2024-05-05 20:42:06 +02:00
jgromes
bcd8a05cd4 [SX128x] Added interface for interrupt-driven CAD (#1085) 2024-05-05 12:42:03 +01:00
jgromes
86cdefe8a2 [LR11x0] Added support for WiFi scanning 2024-05-05 11:35:35 +02:00
jgromes
6fe581aea7 Fix minor format warnings 2024-05-03 20:54:18 +01:00
jgromes
92cb09a932 [CC1101] Resolve issues reported by cppcheck 2024-05-01 18:05:16 +01:00
StevenCellist
1b2b8bd67b
[LoRaWAN] Improve PHY behaviour, update beginABP, bugfixes (#1080)
* [LoRaWAN] Add getter for ToA, prevent MAC queue overflow

* [LoRaWAN] Permute arguments to beginABP

* Implement & split off checkOutputPower

* [LoRaWAN] Configure physical layer on each up/downlink

* [LoRaWAN] Remove unnecessary dynamic array

* [LoRaWAN] Improve downlink handling

* Resolve return-warnings in checkOutputPower()

* [LoRaWAN] Improve buffer definition

* [LoRaWAN] Prevent requesting repeated MAC commands

* Update keywords.txt

* [CC1101] Resolve unused variable warning

* [CC1101] Update checkOutputPower

* [SX1278] Fix variable assignment

* Update keywords.txt

* [CC1101] Added checkOutputPower override for PHY compatibility

* [LR11x0] Added checkOutputPower override for PHY compatibility

* [SX127x] Added checkOutputPower override for PHY compatibility

---------

Co-authored-by: jgromes <jan.gromes@gmail.com>
2024-05-01 13:35:22 +02:00
Elizabeth Myers
205031550b
Use RadioLibTime_t (aka unsigned long) when dealing with millis() and micros() (#1075)
* Use unsigned long when dealing with millis() and micros().

Although sizeof(uint32_t) == sizeof(unsigned long) on Arduino, this is
not the case on 64-bit Linux, where sizeof(unsigned long) ==
sizeof(uint64_t).

Most timestamp arithmetic and comparisons have been left alone, to
reduce code churn. This is fine, as uint32_t is perfectly wide to store
most timestamp deltas this library will deal with, and C will promote
the integer rather than do a narrowing conversion. The real problem
arises with narrowing conversions being done by assuming timestamps are
32-bit.

No functional changes intended for platforms where sizeof(uint32_t) ==
sizeof(unsigned long) (so most 8/16/32-bit platforms).

Signed-off-by: Elizabeth Myers <elizabeth.jennifer.myers@gmail.com>

* Change most timestamps to use RadioLibTime_t.

This makes it obvious what is and isn't a timestamp.

Not everything has been converted; anything dealing with protocol and
chip-level timestamps has been left alone on purpose, to make it clear
that these functions do require 32-bit timestamps.

No functional changes intended on platforms where sizeof(uint32_t) ==
sizeof(unsigned long).

Signed-off-by: Elizabeth Myers <elizabeth.jennifer.myers@gmail.com>

* Use uint32_t internally in getTimeOnAir.

We need to not overflow the integers with the shifts and
multiplications, so this is correct behaviour.

Signed-off-by: Elizabeth Myers <elizabeth.jennifer.myers@gmail.com>

---------

Signed-off-by: Elizabeth Myers <elizabeth.jennifer.myers@gmail.com>
2024-04-25 21:50:58 +02:00
jgromes
ecfc18c35d [CC1101] Fix RSSI readout (#1077) 2024-04-25 20:03:06 +02:00
jgromes
43ca08d8ee [LR11x0] Added LR1120/21 classes 2024-04-21 15:24:49 +02:00
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