Commit graph

1173 commits

Author SHA1 Message Date
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
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