jgromes
c187960cc1
[SX126x] Add public method to handle LR-FHSS hopping
2025-01-29 17:51:20 +00:00
jgromes
d3d16433bf
[SX126x] Cppcheck fixes
2025-01-18 15:43:14 +01:00
jgromes
3354cd89df
[SX126x] MAke LLCC68-shared methods virtual
2025-01-17 22:31:20 +01:00
Matej Frančeškin
f3276c2e66
fix implicit conversion from float to double warnings
2025-01-15 16:06:47 +01:00
jgromes
6e3b870317
[SX126x] Drop support for FSK address filtering ( #1268 )
2024-12-17 20:12:19 +00:00
jgromes
67547615af
[SX126x] Added notes about preamble detector to Doxygen ( #1350 )
2024-12-16 19:01:30 +00:00
jgromes
b8b1afdae1
[SX126x] Calibrate image based on frequency change ( #1292 )
2024-10-27 07:40:10 +00:00
jgromes
f23f798fe0
[SX126x] Configure preamble detector length based on preamble
2024-10-26 18:13:02 +01:00
Jan Gromeš
e44e9b4bce
[PHY] Get/Set modem ( #1294 )
...
* [PHY] Added set modem method
* Added new keyword
* [SX126x] Added setModem implementation
* [LoRaWAN] Use setModem
* [PHY] Added getModem
* [LoRaWAN] Use getModem instead of caching modulation
* [SX126x] Implement getModem
* Added new keywords
* [LR11x0] Added get/set modem
* [LLCC68] Added get/set modem
* [SX126x] Added missing default branch
* [SX127x] Added get/set modem
* [SX128x] Added get/set modem
* [CI] Drop Hellschreiber from AVR builds
* [CI] Drop Arduino Uno from CI
2024-10-26 17:49:35 +02:00
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
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
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
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
0620d8edda
[SX126x] Start reading from Rx buffer offset
...
Remove setting RxBaseAddr to 0
2024-08-10 12:56:12 +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
77bc8fb33e
[SX126x] Added missing override
2024-05-26 08:44:12 +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
jgromes
3d9815f93d
Use explicit constructors for base classes
2024-05-11 17:22:57 +01: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
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
f61be0d273
[SX126x] Added public method to set PA ramp time ( #1054 )
2024-04-05 17:30:05 +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
b288485d6c
[SX126x] Added option to select standby mode ( #1008 )
2024-03-12 21:52:17 +01:00
jgromes
a642f5a8df
[SX126x] Implemented data rate check
2024-01-27 18:46:22 +01:00
jgromes
d301aa6a37
[SX126x] Fix txMode made private
2024-01-14 16:48:06 +01:00
jgromes
34d80faaf0
[SX126x] Cleanup private/protected members
2024-01-12 20:00:08 +01:00
jgromes
3478d90819
[SX126x] Improved image calibration
2024-01-04 18:21:35 +01:00
jgromes
49feff6df2
[SX126x] Reworked macro configuration system
2023-11-27 19:43:01 +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
jgromes
29c891e017
[SX126x] Fixed duplicate setPaConfig
2023-10-20 19:45:50 +02:00
jgromes
f1f3336e59
[SX126x] Make setPaConfig public ( #852 )
2023-10-20 19:37:44 +02:00
jgromes
44bdf0dba4
[SX126x] Changed default whitening initial value for SX127x/LoRaWAN compatibility ( #832 )
2023-09-25 06:42:15 +02:00
jgromes
db3ac8bf19
[SX126x] Implemented common CAD methods
2023-08-12 18:45:42 +02:00
jgromes
86724197ec
[SX126x] Added default channel scan override
2023-08-06 16:07:28 +02:00
jgromes
d1e3691c32
Added notes about getPacketLength ( #214 )
2023-07-15 19:40:07 +02:00
jgromes
8fd0a67a78
Typo fixes
2023-07-15 19:13:16 +02:00
jgromes
d561d41e95
[SX126x] Implemented new common PHY methods
2023-07-06 11:14:44 +02:00
jgromes
787ebde43e
[SX126x] Implemented generic IRQ actions ( #773 )
2023-06-21 22:21:55 +02:00
jgromes
cf677e6b15
[SX126x] Fixed default parameters
2023-05-28 22:32:24 +02:00
jgromes
2b28296c94
[SX128x] Added default startReceive method
2023-05-28 22:20:54 +02:00
jgromes
89f909fc6e
[SX126x] Added force wakeup to standby ( #740 )
2023-05-02 21:05:13 +02:00
jgromes
bdc5bb0bba
[SX126x] Wakeup device on standby() call ( #740 )
2023-05-02 18:59:33 +02:00