jgromes
e9b6e27739
[SX126x] Fix FSK addresses on transmission ( #1268 )
2024-10-12 14:15:05 +01:00
Jan Gromeš
dc77e6e662
[SX126x] LR-FHSS support ( #1228 )
...
* [FEC] Added Vitervi encoder
* [SX126x] Added initial LR-FHSS transmission support
* [CI] Use RPi build for CodeQL
* [SX126x] Fix signed comparison warning
* [FEC] Make input to Viterbi encoder const
* [CI] Drop SX126x examples from Arduino Uno builds
* [CI] Build SX123x for CodeQL scan
* [FEC] Fix comparison type
* [SX126x] Added configurable grid step
* [SX126x] Rename convolutional coding class
* [SX126x] Fix payload CRC
* [SX126x] ADded LR-FHSS example
* [SX126x] Make argument const
2024-10-07 20:00:19 +02:00
jgromes
af27e44a52
[SX126x] Fix instant RSSI reading
2024-09-25 17:02:37 +01:00
jgromes
da74aa26d2
[SX126x] Simplify rx gain configuration
2024-09-25 17:02:09 +01:00
jgromes
ec6de3795b
Merge branch 'master' of https://github.com/jgromes/RadioLib
2024-09-24 20:02:29 +02:00
jgromes
a7a99a2097
[SX126x] Simplify Rx gain retention config
2024-09-24 20:02:27 +02:00
jgromes
b8cd1353b1
[SX126x] Fix shadowed variable
2024-09-22 18:17:45 +01:00
jgromes
102d06a9f8
[SX126x] Added missing implementation
2024-09-22 17:28:51 +01:00
jgromes
0e7c723fb1
[SX126x] Move common setup code to common method
2024-09-22 17:24:59 +01:00
jgromes
c4a129ed74
[PHY] Pass scan config by reference
2024-09-10 19:18:56 +02:00
GUVWAF
eda4ec22ae
[SX126x][SX128x][LR11x0] Don't report CRC mismatch if valid header received ( #1203 )
...
* Enable `HEADER_VALID` IRQ flags by default for receiving
* [SX126x] Don't report CRC mismatch if valid header received
* [SX128x] Don't report CRC mismatch if valid header received
* [LR11x0] Don't report CRC mismatch if valid header received
2024-09-01 20:48:17 +02:00
Jan Gromeš
bc801c7004
[PHY] Channel scan configuration ( #1190 )
...
* [PHY] Added channel scan configuration
* [LR11x0] Added channel scan configuration
* [SX126x] Added channel scan configuration
* [SX128x] Added channel scan configuration
* Use microsecond timeout
* [PHY] Added generalized IRQ handling via PHY
* [LR11x0] Added generalized IRQ handling via PHY
* [SX126x] Added generalized IRQ handling via PHY
* [SX127x] Added generalized IRQ handling via PHY
* [SX128x] Added generalized IRQ handling via PHY
* Added missing typedef
* [PHY] Fix IRQ method argument type
* [SX128x] Fix non-trivial initializer usage
* [LR11x0] Added missing override specifiers
* [SX126x] Added missing override specifiers
* [SX127x] Added missing override specifiers
* [SX128x] Added missing override specifiers
* [PHY] Added missing IRQ map initializer
* [CI] Drop APRS builds on AVR
* [CI] Drop Morse builds for AVR
* [PHY] Rework generic IRQ to allow multiple flags
* [LR11x0] Rework generic IRQ to allow multiple flags
* [SX126x] Rework generic IRQ to allow multiple flags
* [SX127x] Rework generic IRQ to allow multiple flags
* [SX128x] Rework generic IRQ to allow multiple flags
* [LoRaWAN] Use generic IRQ
* Add missing typedef
* [SX127x] Make Rx mode implicit based on timeout
* [SX127x] Fixed shadowed variable
* [LR11x0] Fix missing initializers
* [SX127x] Added default startReceive arguments
* [LR11x0] Pass scan config by const reference
* [SX126x] Pass scan config by const reference
* [SX128x] Pass scan config by const reference
* [PHY] Pass scan config by const reference
* [SX127x] Add missing IRQ conversion
* [SX126x] Fixed default CAD scan config IRQ
* [LR11x0] Fixed default CAD scan config IRQ
* [LR11x0] Fix comments referencing DIO1
2024-09-01 18:19:07 +02:00
Pavlo Manovi
6847fcda5c
Reconcile implicit double / float promotion with math functions and passed function value types. Also suppress incorrect unused variable warnings when variables are used in logging macros.
2024-08-29 09:30:31 -04:00
StevenCellist
0bc0e3d9c8
[PHY, modules, LoRaWAN] Integrate feedback
2024-08-17 22:03:48 +02:00
StevenCellist
3a73ed8c1f
[SX126x] Generalize IRQ checks
2024-08-16 00:04:42 +02:00
GUVWAF
8b5d705174
[SX126x] Remove unnecessary (void)update;
2024-08-10 18:40:09 +02:00
GUVWAF
0620d8edda
[SX126x] Start reading from Rx buffer offset
...
Remove setting RxBaseAddr to 0
2024-08-10 12:56:12 +02:00
jgromes
7c3ed88c0d
[SX126x] Clarify DIO3 for AFSK-based examples
2024-07-20 16:41:13 +02:00
jgromes
fffb1fae9f
[PHY] Make transmit data const ( #1156 )
2024-07-13 16:42:46 +01:00
jgromes
ce8e6fdfb0
[SX126x] Added missing PHY getRSSI ( #1132 )
2024-06-25 16:56:26 +01:00
jgromes
3af427fefb
[SX126x] Fix duplicate method
2024-05-26 16:43:54 +02:00
jgromes
852d336c50
[SX126x] Added getMod implementation
2024-05-26 16:32:51 +02:00
jgromes
3b412d7521
[SX126x] Add rounding when using custom image rejection ( #1096 )
2024-05-15 20:22:30 +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
jgromes
2f06885f9f
[SX126x] Remove copypate from setSyncBits
2024-05-08 14:55:19 +02:00
jgromes
bfb7c8dd3b
[SX126x] Use 32-bit IRQ flags
2024-05-08 14:54:22 +02:00
jgromes
3b62c88a2e
[SX126x] Fixed issues found by cppcheck
2024-05-05 20:11:02 +01:00
jgromes
6fe581aea7
Fix minor format warnings
2024-05-03 20:54:18 +01: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
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
a387b3b706
[SX126x] Fix image calibration ( #1051 )
2024-04-04 21:28:17 +02:00
jgromes
88f26c4aab
[SX126x] Use millis for timeouts ( #1013 )
2024-03-29 08:36:51 +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
118980fd27
[SX126x] Fixed data rate checking ( #948 )
2024-01-28 13:28:48 +01:00
jgromes
a642f5a8df
[SX126x] Implemented data rate check
2024-01-27 18:46:22 +01:00
jgromes
34d80faaf0
[SX126x] Cleanup private/protected members
2024-01-12 20:00:08 +01:00
jgromes
bf061c655f
[SX126x] Allow custom band calibration
2024-01-04 18:30:22 +01:00
jgromes
19b61739e6
[SX126x] Fixed image calibration
2024-01-04 18:23:36 +01:00
jgromes
49feff6df2
[SX126x] Reworked macro configuration system
2023-11-27 19:43:01 +01:00
jgromes
51169106c2
[SX126x] Fixed unused variable warning
2023-11-18 16:34:48 +01:00
StevenCellist
82258105b7
[LoRaWAN] Rework bands, official Rx windows, support ADR, confirm frames, improve EEPROM handling, support clock drift ( #867 )
...
* [LoRaWAN] rework bands, add ADR, partial MAC support
Known problem: terribly bad at receiving downlinks
Mask-list bands (e.g. US915) untested, likely a few bugs
* [LoRaWAN] Change Rx windows from CAD to RxSingle
* [LoRaWAN] improve persistence, better Rx windows, wear leveling, confirmed frames
* [LoRaWAN] Module-independent (OTAA) Rx windows, fix confirming downlinks
* [LoRaWAN] Implement SX127x support, fix MAC uplinking, support clock drift
* [ArduinoHal] fix clock drift calculation
* [LoRaWAN] Improve band & ADR logic, allow setting ADR, DR, subband, update examples
* [LoRaWAN] Fix EU868 coding rate, improve example
* [LoRaWAN] fix unused channel index
* [LoRaWAN] fix merge issue (deleted line)
* [LoRaWAN] fix CSMA calling now incorrect function
* [LoRaWAN] fix include logic
* [LoRaWAN] fix warnings, remove duplicate function
* [LoRaWAN] improve examples, add unified sendReceive, bugfixes, add FSK
* [LoRaWAN] improve examples
* [LoRaWAN] add new keywords, add debug guard
* [SX127x] Updated startReceive interface to be more in line with SX126x
* [SX127x] Added public method to convert from bytes to symbols
* [LoRaWAN] Update start receive for SX127x
* Added note about LoRaWAN beta
* [SX127x] Fixed potential float overflow
---------
Co-authored-by: jgromes <jan.gromes@gmail.com>
2023-11-12 14:02:39 +01:00
Amalinda Gamage
aca1d78a97
added functionality for LoRa Alliance TR-13 Enabling CSMA for LoRaWAN ( #859 )
...
* added functionality for LoRa Alliance TR-13 Enabling CSMA for LoRaWAN
* Addressed feedback on CSMA implementation
* symbolNumValues[6] array no longer needed as we will utilize only two symbol CAD operations for all SFs.
2023-10-29 14:19:00 +01:00
jgromes
46bf0445fa
[SX126x] Decrease startup wait to 10 ms ( #850 )
2023-10-17 20:14:26 +02:00
jgromes
7dec9477ae
[PHY] Added coding rate to data rate struct
2023-09-12 19:06:30 +02:00
jgromes
d0c4e3d6fb
[SX126x] Skip printing symbol length
2023-09-12 19:04:26 +02:00
jgromes
eb21f320ac
[SX126x] Use debug macro for hexdump
2023-09-12 17:20:27 +02:00