Jan Gromeš
00699ce225
[LR11x0] GNSS support ( #1275 )
...
* [LR11x0] Added WIP GNSS control
* [LR11x0] Added almanac update
* [LR11x0] Added almanac update example
* [LR11x0] Add missing memory deallocation
* [LR11x0] Fix underflow in delay until subframe
* [LR11x0] Remove pin mapping from example
* [LR11x0] Finish rework of the GNSS API
* [LR11x0] Added position and satellite examples
* [LR11x0] Fix result member in example
* Added LR11x0 GNSS keywords
* [LR11x0] Fix typo in macro name
* [LR11x0] Print scan failed in example
* [LR11x0] Added GNSS abort
2024-10-18 16:50:36 +02:00
jgromes
38fc7a97a4
[SX127x] Handle multiple IRQ flags ( #1190 )
2024-09-28 13:29:41 +02: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
Oliver
61a4cae935
Method SetBitrateTolerance added for CC1101, Updated error handling ( #1152 )
...
* Update TypeDef.h
* Update CC1101.h
* Update CC1101.cpp
* Update CC1101.cpp
Update of error handling
2024-07-08 22:37:09 +02:00
StevenCellist
237531c9a0
[LoRaWAN] Improve FPort checks, add TS009 option
2024-05-25 15:00:36 +02:00
StevenCellist
d4b25e75af
[LoRaWAN] Hide Rx2 config into guarded setRx2Dr()
2024-05-25 14:38:04 +02:00
StevenCellist
298a612699
[LoRaWAN] Change session activation ( #1093 )
...
* [LoRaWAN] Improve session restoration/activation behaviour
* [LoRaWAN] Custom return codes for session begin
* [LoRaWAN] Separate begin() and activate()
* [LoRaWAN] Fix activateABP()
* [LoRaWAN] Additional error-code
* [LoRaWAN] Fix rejoining during active session
* [LoRaWAN] Expose clearSession, drop `force`
* Update keywords...
2024-05-21 12:03:49 +02:00
jgromes
86cdefe8a2
[LR11x0] Added support for WiFi scanning
2024-05-05 11:35:35 +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
78211e7566
[LoRaWAN] Added specific error code for no downlink received
2024-03-27 18:48:16 +01:00
Jan Gromeš
cfc425970c
[LoRaWAN] Resolve warnings, fix bugs for fixed bands ( #1021 )
...
* [LoRaWAN] Resolve warnings
* [LoRaWAN] Fixed bands: improve initial datarate, fix CFList bug
* [LoRaWAN] Improve MAC debug output formatting
* Fix hexdump debug level
* Remove unnecessary error, add new ones to keywords
* [LoRaWAN] Discard useless check
---------
Co-authored-by: StevenCellist <steven@boonstoppel.nu>
2024-03-18 16:39:55 +01:00
StevenCellist
ca2a3073b9
[LoRaWAN] Change and upgrade persistence handling ( #1017 )
...
* [LoRaWAN] Change and upgrade persistence handling
* [BuildOpt] Patch to upstream
* [LoRaWAN] Fix #1018
* [LoRaWAN] Remove outdated parts
* [LoRaWAN] Resolve feedback
Warning: untested - am not at my desk
* [LoRaWAN] Small bugfixes
2024-03-18 08:51:38 +01:00
StevenCellist
5766d386af
[LoRaWAN] Improve persistence behaviour, add dwell time error, clear up debug output ( #980 )
...
* [LoRaWAN] Improve examples, add getter for DevAddr
* [ArduinoHAL] Only (over)write new values
* [HAL] Fix comment
* [TypeDef] Introduce error for LoRaWAN dwell time
* [LoRaWAN] Improve persistence behaviour, add dwell time error, clear up debug output
* [LoRaWAN] Prevent incorrect behaviour in restore()
* [LoRaWAN] Improve example comments and persistence
* [LoRaWAN] Fix DeviceTime and LinkCheck, fix FcntUp offset
* [LoRaWAN] Fix example incorrectly processing MAC commands
* [LoRaWAN] Fix downlink port, Fcnt 'underflow', user MAC processing
* [LoRaWAN] Add simple receive methods
* [LoRaWAN] Add co-author
Co-Authored-By: HeadBoffin <60431281+HeadBoffin@users.noreply.github.com>
* [LoRaWAN] Fix example output
* [LoRaWAN] Improve persistence behaviour, bugfix subband
* [LoRaWAN] Prevent useless rejoin during nonpersistent session
* [LoRaWAN] Graciously block an uplink if not joined
---------
Co-authored-by: HeadBoffin <60431281+HeadBoffin@users.noreply.github.com>
2024-02-27 17:29:45 +01:00
StevenCellist
0bba68f3ae
[LoRaWAN] Rework channel logic
2024-01-13 00:05:25 +01:00
StevenCellist
574555ca09
[LoRaWAN] Revamp internal processing, key checking, new MAC commands, implement DutyCycle & DwellTime
2024-01-05 11:06:24 +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
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
16f0ba7cce
[LoRaWAN] Implemented MAC command support
2023-08-23 19:22:23 +02:00
jgromes
1ed22717d7
[LoRaWAN] Added check to not uplink in Rx slots
2023-08-12 21:48:31 +02:00
jgromes
2f36d5901e
[LoRaWAN] Added LoRaWAN-specific status codes
2023-08-12 18:37:46 +02:00
jgromes
8fd0a67a78
Typo fixes
2023-07-15 19:13:16 +02:00
Hendrik Langer
79725481cf
fix error description
2023-06-16 15:58:59 +02:00
Hendrik Langer
69bc96ac08
Pager: allow manual override of function bits
2023-06-16 15:53:47 +02:00
jgromes
9b9a34bd2c
Fixed build options include order
2023-03-20 19:13:38 +01:00
jgromes
b9b3171001
Added user build opt
2023-03-17 23:01:24 +01:00
jgromes
02306bda91
Added further explanation of the -707 error code ( #691 )
2023-03-05 19:29:06 +01:00
jgromes
5ca2c8533c
[PHY] Added standby types abstraction
2023-01-14 23:13:27 +01:00
Federico Maggi
05217c095b
- Defined new RADIOLIB_ERR_NULL_POINTER
...
- all `begin()` now use macros for init values
- addressed other styling comments as per PR#612 review
Signed-off-by: Federico Maggi <federico.maggi@gmail.com>
2022-11-21 09:09:56 +01:00
jgromes
1f75ee0cc1
[Pager] Implemented POCSAG ( #7 )
2022-10-01 14:56:37 +02:00
OBones
fd3b165bf0
Introduce setRSSIThreshold on RF69 modules
2022-08-23 17:41:37 +02:00
jgromes
30cb7c8dd4
[APRS] Added Mic-E ( #430 )
2022-08-20 18:14:13 +02:00
obones
e421ab4272
Introduce setDIOMapping on the PhysicalLayer class which, by default, returns "not implemented"
2022-07-07 15:36:25 +02:00
jgromes
df466486aa
[APRS] Added APRS support
2021-11-28 22:56:36 +01:00
jgromes
9d5a66573e
Indentation fix CI_BUILD_ALL
2021-11-14 14:03:32 +01:00
jgromes
70d86f7eb6
Updated macro names
2021-11-14 11:36:06 +01:00
jgromes
81e8de8324
Drop references to I2C CI_BUILD_ALL
2021-10-28 00:15:02 +02:00
Christophe Painchaud
7b6f1d075a
added RF69::setOokThresholdType
2021-03-24 18:05:32 +01:00
jgromes
1903cfa898
Updated ifndef
2021-03-13 19:06:04 +01:00
jgromes
c127712c5e
[SX127x] Added check for LoRa header CRC mismatch ( #200 )
2020-11-19 17:07:32 +01:00
jgromes
cb191e7973
Added encoding and data shaping aliases
2020-07-06 08:51:24 +02:00
jgromes
1592831e0c
[SX128x] Implemented ranging
2020-04-12 13:47:56 +02:00
jgromes
7007cd873a
Extracted build options into a new file
2020-03-29 10:02:23 +02:00
jgromes
512567b9f3
Fixed typos
2020-03-27 21:03:23 +01:00
jgromes
39c259848c
Added support for Nano 33 BLE
2020-03-27 14:10:45 +01:00
jgromes
b05c264363
Fixed typo in version macro
2020-03-23 20:23:37 +01:00
jgromes
009b8a5373
Bump version to 3.4.0
2020-03-13 21:22:41 +01:00
jgromes
1a721715ea
Bump version to 3.3.1
2020-02-24 16:41:21 +01:00
jgromes
ec9f1a835f
Bump version to 3.3.0
2020-02-14 08:39:25 +01:00
jgromes
ddb478afff
[AX25] Added AX.25 support
2020-02-14 08:08:59 +01:00