Commit graph

158 commits

Author SHA1 Message Date
Jan Gromeš
8c2c7b6cb5
[LoRaWAN] Add methods to allow user-provided sleep function (#1410)
* [LoRaWAN] Add methods to allow user-provided sleep function

* Add example sleep function

* [LoRaWAN] Switch all delay calls to sleepDelay

* [LoRaWAN] Remove unused variable

---------

Co-authored-by: StevenCellist <steven@boonstoppel.nu>
2025-02-06 07:00:03 +01:00
Jan Gromeš
2550fae4cb
[PHY] Staged modes (#1414)
* [PHY] Add PHY support for staged modes

* [SX126x] Add support for staged Rx/Tx

* [PHY] Add missing virtual specifiers

* [SX126x] Add missing overrides

* [LoRaWAN] Use new stageMode and launchMode, reduce scanGuard

* [LoRaWAN] A-synchronize transmissions (#1410)

* [PHY] Pass mode config by reference

* [PHY] Add default implementation of start transmit/receive

* [SX126x] Implement staged modes

* [SX128x] Implement staged modes

* [SX127x] Implement staged modes

* [LR11x0] Implement staged modes

* [SX127x] Remove unused method from header

* [SX126x] Make array const

* Add new methods to keywords

---------

Co-authored-by: StevenCellist <steven@boonstoppel.nu>
2025-02-05 20:41:43 +01:00
StevenCellist
27653e1cf7 [LoRaWAN] Allow support for misc MAC commands 2025-01-30 20:58:53 +01:00
jgromes
8126e6f508 Suppress double promotion warning for debug 2025-01-19 18:29:56 +01:00
jgromes
cbb8126442 [LoRaWAN] Fix possible integer overflow 2025-01-18 21:23:01 +01:00
jgromes
269eb2fe38 [LoRaWAN] Fix typecast 2025-01-18 21:22:17 +01:00
jgromes
64f0f5028b [LoRaWAN] Cppcheck fixes 2025-01-18 18:14:56 +01:00
jgromes
ff24e2b2ae [LoRaWAN] Cppcheck fixes 2025-01-18 17:51:57 +01:00
jgromes
10c38164f2 [LoRaWAN] Remove range expression in switch 2025-01-17 19:59:10 +01:00
Matej Frančeškin
f3276c2e66 fix implicit conversion from float to double warnings 2025-01-15 16:06:47 +01:00
StevenCellist
33b65344c4 [LoRaWAN] Fix ADR backoff difference between 1.0.4 and 1.1 2025-01-04 23:27:18 +01:00
StevenCellist
f346dd3687 [LoRaWAN] Improve handling of invalid MAC commands 2025-01-04 23:18:37 +01:00
StevenCellist
a3782b432c [LoRaWAN] Accept MAC channel mask if ADR is disabled 2025-01-04 16:20:42 +01:00
StevenCellist
283bfb43fe [LoRaWAN] Revert change in dwell time arguments 2025-01-04 16:04:05 +01:00
StevenCellist
6ab358c292 [LoRaWAN] Improve dwell time handling under ADR 2025-01-04 14:43:20 +01:00
jgromes
89424a3025 [LoRaWAN] Remove unused parameter 2024-12-18 07:22:06 +00:00
StevenCellist
957a533089 [LoRaWAN] Do not reject first JoinAccept for 1.0.4 on Chirpstack 2024-12-14 12:39:27 +01:00
StevenCellist
5d6ca6251f [LoRaWAN] Code style fixes 2024-11-26 23:03:09 +01:00
StevenCellist
3e634ffb88 [LoRaWAN] Simplify JoinRequest datarate handling 2024-11-26 22:26:12 +01:00
Victor Barpp Gomes
a608075fc1
[LoRaWAN] Accept const uint8_t* on public API (#1302) 2024-11-01 17:47:02 +01:00
jgromes
4564d87721 [PHY] Use less generic modem names (#1294) 2024-10-29 17:14:04 +00:00
StevenCellist
5cd5d714a8 [LoRaWAN] Fix LR-FHSS cr encoding 2024-10-28 14:32:35 +01:00
StevenCellist
05d5ef2947 [LoRaWAN] Fix LR-FHSS bw encoding 2024-10-28 14:27:04 +01:00
StevenCellist
ef0cfddd01 [LoRaWAN] Improve modem switching 2024-10-28 14:20:26 +01:00
StevenCellist
412136845f [LoRaWAN] Fix persistence of channel mask (fixes #1293) 2024-10-28 13:02:58 +01:00
jgromes
9f4c15333c [LoRaWAN] Fix debug variable 2024-10-27 07:18:04 +00: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
StevenCellist
61494b8270 [LoRaWAN] Fix #1284 (max length) and channel struct for fixed bands 2024-10-22 20:21:52 +02:00
StevenCellist
94d5d59d80 Merge branch 'master' of https://github.com/jgromes/RadioLib 2024-10-14 12:29:50 +02:00
StevenCellist
3633391442 [LoRaWAN] Fix missing us-to-ms divisor 2024-10-14 12:29:42 +02:00
StevenCellist
1ca12abc88
Merge pull request #1267 from PCo-IoT-2024/Feature_isFrmPending
[LoRaWAN] Add `frmPending` field in `LoRaWANEvent_t`
2024-10-11 22:15:41 +02:00
Volker Christian
d9ea40032f [LoRaWAN] Just for convenience: Add a frmPending field in 2024-10-11 21:07:07 +02:00
StevenCellist
aecef28380 [LoRaWAN] Move templates to .h to prevent linker errors 2024-10-10 15:33:19 +02:00
Volker Christian
a7feeee1e0
[SX1276, LoRaWAN] Fix confusing return value in LoRaWAN::processJoinAccept (#1262)
The error RADIOLIB_ERR_LORA_HEADER_DAMAGED board returned fromreadData(...)
and signaled from a SX1276 is in fact correctly ignored but the state
variable is not corrected.

This confuses the caller due to the wrongly returned state value
RADIOLIB_ERR_LORA_HEADER_DAMAGED.

Change: Clear state also.
2024-10-09 20:32:50 +02:00
StevenCellist
bce4d91715 [LoRaWAN] Fix type format 2024-10-07 23:29:14 +02:00
StevenCellist
9db98f2ab4 [LoRaWAN] Collection of fixes (also fixes #1254) 2024-10-07 23:17:41 +02:00
StevenCellist
5d076f616a [LoRaWAN] Fix channel mask persistence (#1238) 2024-09-28 12:17:41 +02:00
jgromes
79b1b8c887 [LoRaWAN] Fixed size_t comparison (CI_BUILD_ALL) 2024-09-16 18:56:22 +02:00
StevenCellist
e9ed961c97 [LoRaWAN] Fix ADR backoff 2024-09-16 08:36:14 +02:00
StevenCellist
97579292de [LoRaWAN] Remove shadowed variable 2024-09-16 01:28:25 +02:00
StevenCellist
b76327c10f [LoRaWAN] Fix RekeyConf, change session buffer layout 2024-09-16 01:23:10 +02:00
StevenCellist
740ee7e235 [LoRaWAN] Verification cleanup 2024-09-16 00:39:12 +02:00
jgromes
8aedf53272 [LoRaWAN] Fix narrow type comparison 2024-09-10 20:27:49 +01:00
jgromes
78a6897e1b [LoRaWAN] Silence class-memaccess warning 2024-09-10 20:24:00 +01:00
StevenCellist
f7f0b62e7f
[LoRaWAN] Major rework (#1204)
* [LoRaWAN] Major rework

* [LoRaWAN] Some CI fixes, add retransmission timeout

* [LoRaWAN] CI fixes

* [LoRaWAN] Add missing initializers

* [LoRaWAN] Return Rx window number, fix casing

* [LoRaWAN] Un-static functions to fix overriding

* [LoRaWAN] Integrate feedback, fix session save/restore

* [LoRaWAN] Add const

* [LoRaWAN] Do not accept invalid Rx2 datarate

* [LoRaWAN] Integrate feedback

* [LoRaWAN] Fix retransmission, ADR backoff, setDatarate; reject out-of-band frequencies

* Update keywords.txt

* [LoRaWAN] Fix initial datarate, misc cleanup

* [LoRaWAN] Update examples

* [LoRaWAN] Update README

* [LoRaWAN] Reject oversized downlinks

* [LoRaWAN] Remove VLAs

* [LoRaWAN] CI fixes

* [LoRaWAN] More CI

* [LoRaWAN] Fix getMaxPayloadLen

* [LoRaWAN] Rename some status codes

* [CI] Skip LoRaWAN on XMega48

* [CI] Skip FW update for LR11x0

---------

Co-authored-by: jgromes <jan.gromes@gmail.com>
2024-09-10 21:11:16 +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
647fa23ce9 [LoRaWAN] Remove redundant PHY check 2024-08-17 22:04:28 +02:00
StevenCellist
0bc0e3d9c8 [PHY, modules, LoRaWAN] Integrate feedback 2024-08-17 22:03:48 +02:00
StevenCellist
32dc5babd4 [LoRaWAN] Move to generalized IRQ check (PHY) 2024-08-16 00:05:55 +02:00
StevenCellist
9195dbabda
[LoRaWAN] Fix downlink user-MAC commands piling up 2024-07-21 22:39:28 +02:00