Commit graph

92 commits

Author SHA1 Message Date
StevenCellist
797b7a4323 [LoRaWAN] Fix macros 2023-12-29 23:53:44 +01:00
StevenCellist
badcbbe809 [LoRaWAN] Fix ABP initialization, support MAC in payload 2023-12-29 16:38:55 +01:00
StevenCellist
fc8d80c9de
Merge branch 'jgromes:master' into master 2023-12-09 10:31:13 +01:00
StevenCellist
62276e070b [LoRaWAN] Expose downlink framecounters 2023-12-09 10:28:13 +01:00
jgromes
670e70bd9f [LoRaWAN] Reworked macro configuration system 2023-11-27 21:17:26 +01:00
StevenCellist
b6f6718f1f
[LoRaWAN] Add datarate into event structure (#885)
* [LoRaWAN] Move TX power logic to function

* Update keywords

* [LoRaWAN] Add datarate into event structure
2023-11-27 16:43:56 +01:00
StevenCellist
4703f58b7f [LoRaWAN] Add datarate into event structure 2023-11-27 16:20:06 +01:00
StevenCellist
b2b73ab21d
[LoRaWAN] Move TX power logic to function (#884)
* [LoRaWAN] Move TX power logic to function

* Update keywords
2023-11-27 16:10:47 +01:00
StevenCellist
594d8cbba1 [LoRaWAN] Move TX power logic to function 2023-11-27 12:39:14 +01:00
jgromes
7e70785909 [LoRaWAN] Replaced VLAs with dynamically allocated memory 2023-11-18 16:46:12 +01:00
jgromes
713162fcc7 [LoRaWAN] Fixed unused variable warning on non-EEPROM boards 2023-11-18 16:38:03 +01:00
jgromes
e4bfb6429b [LoRaWAN] Fixed variable-sized arrays 2023-11-18 16:15:48 +01:00
jgromes
063b42752f [LoRaWAN] Fixed a few warnings 2023-11-18 15:03:48 +01:00
jgromes
75a9420552 [LoRaWAN] Added event struct to pass extra info (#821) 2023-11-12 17:53:05 +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
StevenCellist
556f37f608
[LoRaWAN] Implement full session persistence & more v1.1 specification (#835)
* Implement session persistence & more 1.1 protocol

* [LoRaW] Improve session persistence, check frame counters & Nonces, multiple MAC commands

* [LoRaWAN] fix popping MAC command from queue

I just realized that the method popMacCommand did not correctly remove items from the queue - this should solve the problem

* [LoRaWAN] implement improvements from #835

* [LoRaWAN] String --> uint8_t[]

* [LoRaWAN] Fix typo
2023-10-23 17:50:16 +02:00
jgromes
f4f00537c6 [LoRaWAN] Fixed debug float print (#844) 2023-10-14 10:28:27 +02:00
jgromes
9279b8ab6d [LoRaWAN] Workaround unused variable warning for unimplemented fields 2023-09-15 18:36:08 +02:00
jgromes
253dfd8c50 [LoRaWAN] Temporarily cast unused variables until implemented 2023-09-15 18:31:31 +02:00
jgromes
7de4a4693e [HAL] Disable EEPROM on Arduino Due 2023-09-15 18:10:47 +02:00
jgromes
58eab402ad [LoRaWAN] Implemented most MAC commands 2023-09-14 20:58:46 +02:00
jgromes
2638fd0ad0 [LoRaWAN] Fixed memory leak in downlink 2023-09-14 20:58:04 +02:00
jgromes
a23d85c196 [LoRaWAN] Typo fixes 2023-09-13 17:05:19 +02:00
jgromes
3055613b6d [LoRaWAN] Added support for US bands and reworked channel selection process (#814) 2023-09-12 19:10:44 +02:00
jgromes
d170c02561 [LoRaWAN] Fixed initialization warnings 2023-08-26 20:34:37 +02:00
Nicklas Börjesson
2555857013
Fix "narrowing conversion" error on ESP-IDF
The 1 without a cast caused the result to be an integer.
2023-08-23 20:16:57 +02:00
jgromes
16f0ba7cce [LoRaWAN] Implemented MAC command support 2023-08-23 19:22:23 +02:00
jgromes
73382c2933 [LoRaWAN] Fixed output power configuration (#814) 2023-08-20 19:16:38 +02:00
jgromes
b2b176f1c3 [LoRaWAN] Added MIC mismatch debug message 2023-08-20 19:16:07 +02:00
jgromes
0a72d98750 [LoRaWAN] Fixed MIC calculation for downlink packets 2023-08-14 21:38:31 +02:00
jgromes
1ed22717d7 [LoRaWAN] Added check to not uplink in Rx slots 2023-08-12 21:48:31 +02:00
jgromes
45c376bde6 [LoRaWAN] Fixed variable range warning 2023-08-12 19:58:00 +02:00
jgromes
cd9ac9916c [LoRaWAN] Added support for 1.1 and downlink (#58) 2023-08-12 19:49:37 +02:00
jgromes
0a6026e69e [LoRaWAN] Fixed typo in variable name 2023-07-20 18:43:49 +02:00
jgromes
6a7773e005 [LoRaWAN] Fixed APB begin 2023-07-16 16:34:32 +02:00
jgromes
d52c9e3183 [LoRaWAN] Added preliminary FSK support 2023-07-16 16:33:47 +02:00
jgromes
89e405eeba [LoRaWAN] Fixes for SX127x series 2023-07-08 09:37:43 +02:00
Nicklas Börjesson
d9538f959a
Add parenthesis for compatibility
Hi,
I am getting a compile error on ESP-IDF/Platformio:
```
managed_components/RadioLib/src/protocols/LoRaWAN/LoRaWAN.cpp: In member function 'int16_t LoRaWANNode::beginOTAA(uint64_t, uint64_t, uint8_t*, uint8_t*, bool)':
managed_components/RadioLib/src/protocols/LoRaWAN/LoRaWAN.cpp:125:61: error: suggest parentheses around comparison in operand of '&' [-Werror=parentheses]
  125 |   if(joinAcceptMsgEnc[0] & RADIOLIB_LORAWAN_MHDR_MTYPE_MASK != RADIOLIB_LORAWAN_MHDR_MTYPE_JOIN_ACCEPT) {
cc1plus: some warnings being treated as errors
*** [.pio/build/TTGO-LoRa32-v1/managed_components/RadioLib/src/protocols/LoRaWAN/LoRaWAN.o] Error 1

I propose adding a parenthesis, for clarity and compatibility.
2023-07-06 22:43:33 +02:00
jgromes
a78c415616 [LoRaWAN] Fixed loop comparison 2023-07-06 19:00:41 +02:00
jgromes
f354903864 [LoRaWAN] Added rev 1.1 checking 2023-07-06 18:50:04 +02:00
jgromes
0d2ef419bf [LoRaWAN] Added basic LoRaWAN support (#58) 2023-07-06 13:41:31 +02:00