Commit graph

2587 commits

Author SHA1 Message Date
Crsarmv7l
9d0b24ae26
byteBuff as intermediate buffer so we aren't writing straight to the buffer
Start to hopefully be able to access the buffer directly.
2024-04-29 18:02:38 -04:00
jgromes
841b283c0f [LoRaWAN] Use dynamic array instead of VLA 2024-04-26 07:04:16 +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
b283c1b117 Added LR11x0 to supported protocols 2024-04-20 18:07:27 +02:00
jgromes
3c502b9cdf [AX25] Fix direct mode start 2024-04-20 18:05:57 +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
4d1157e3a4 Add LR11x0 to readme and library tags 2024-04-14 19:51:59 +01: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
6d232a64cf Merge branch 'master' of https://github.com/jgromes/RadioLib 2024-04-14 20:23:00 +02:00
jgromes
77ed4452ae [LR11x0] Added basic LR11x0 support (#679) 2024-04-14 20:22:55 +02:00
jgromes
e7da14421d [Mod] Fix SPI command byte order 2024-04-14 20:22:16 +02:00
jgromes
46ef20ebe9 Fix interrupt emulation in Raspberry Pi example 2024-04-14 14:37:55 +01:00
Velocet
91f89fa1f3
Updated board definitions for the LoRaWAN Examples (#1052)
* Update README.md

Clarify intended purpose. Remove unsupported modules.

* Update board configs in configABP.h

Added HelTec boards and corrected some errors

* Update board configs in config.h

Added HelTec boards and corrected some errors

* Update board configs in config.h

Added HelTec boards and corrected some errors

* Update prebuilt modules in notes.md

* Delete README.md

* Recreate README.md
2024-04-14 08:15:50 +02:00
jgromes
c11ac4703b [SX127x] Fixed getRSSI overload for PhysicalLayer (#1064) 2024-04-13 21:21:33 +02:00
jgromes
d77823375a [LoRaWAN] Generate random numbers instead of digital/analog read (#1056) 2024-04-09 22:18:40 +02:00
jgromes
c9d8c601df [Mod] Use enum for bit widths 2024-04-07 17:34:31 +01:00
jgromes
f982314858 Eanble all warnings in CMake 2024-04-07 16:13:33 +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
StevenCellist
aa46a0c8b3 [LoRaWAN] Hide broken CSMA 2024-04-02 22:25:50 +02:00
StevenCellist
a4ad32e6ff [LoRaWAN] Fix downlink crashes (#1049), remove redundant parameter 2024-04-02 22:24:06 +02:00
Matthias Prinke
fbee7471c7
[LoRaWAN] Added pin maps (#1047)
* Added pin maps

* Modified pin map for ARDUINO_TTGO_LORA32_V2 (DIO1 not connected & not needed)
2024-04-01 21:03:38 +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
Jonathan Bennett
e5493618a4
Update ArduinoHal.h to make spi and friends protected (#1044)
Most of the "override" functions here can't actually be overridden in a useful way when spi, spiSettings, and everything else is marked private. If everything is override, then nothing should be private.
2024-03-31 21:43:30 +02:00
Jan Gromeš
9daf4c4f26
[CI] Minor fixes (#1045)
* [CI] Add Teensy back in

* [CI] Add Arduino 101 back to build matrix

* [CI] Try different path to libs

* [CI] Skip LoRaWAN on Teensy
2024-03-31 21:41:12 +02:00
StevenCellist
b2c7e98d6c
Update examples/LoRaWAN/README 2024-03-30 09:33:30 +01: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