jgromes
bf734c4528
[SX127x] Implement staged modes
2025-02-03 20:34:03 +01:00
jgromes
06b3049e38
[SX127x] Cppcheck fixes
2025-01-18 17:48:19 +01:00
Matej Frančeškin
f3276c2e66
fix implicit conversion from float to double warnings
2025-01-15 16:06:47 +01:00
CrispyAlice2
680e88c739
Fix frequency issue on SX127x ( #1368 ) ( #1369 )
...
* Fix frequency issue on SX127x (#1368 )
* Add force option to SPIsetRegValue
* Fix indent
2025-01-03 19:11:29 +01:00
jgromes
0cc72c8310
[SX127x] Use length from startReceive in implicit header mode ( #1345 )
2024-12-15 15:48:05 +01:00
jgromes
c467b005c2
[SX127x] Add missing state initialization ( #1321 )
2024-11-18 18:24:12 +01:00
SzczepanLeon
cb45f4fe5e
[SX127x/RF69] Added setFifoThreshold ( #1309 )
...
* [SX127x] Added setFifoThreshold
* [SX127x] Added setFifoThreshold
* Add setFifoThreshold to RF69 class.
* Documentation update, about setFifoThreshold.
2024-11-03 18:25:44 +01:00
jgromes
4564d87721
[PHY] Use less generic modem names ( #1294 )
2024-10-29 17:14:04 +00:00
jgromes
3952fe9139
Use pointer assert
2024-10-26 16:59:13 +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
16504803d1
[SX127x] Fix FSK address handling
2024-10-12 14:15:23 +01:00
Thomas Göttgens
5a9ff5a491
[SX1227x] fix DIO register mapping ( #1246 )
2024-09-30 16:17:00 +02:00
jgromes
38fc7a97a4
[SX127x] Handle multiple IRQ flags ( #1190 )
2024-09-28 13:29:41 +02:00
GUVWAF
ce673b2939
[SX127x] Fix missing CRC mismatch error ( #1236 )
2024-09-26 20:57:26 +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
08f92cdd29
[SX127x] Generalize IRQ checks
2024-08-16 00:04:52 +02:00
Maik Menz
701c6f8e46
SX127x: Set FIFO read pointer to the start of the current packet
2024-08-09 19:19:33 +02:00
jgromes
fffb1fae9f
[PHY] Make transmit data const ( #1156 )
2024-07-13 16:42:46 +01:00
Sebastian Kuzminsky
a9bd1bffe8
[SX127x] When clearing the FHSS interrupt, don't also clear all the others
2024-07-08 15:36:39 -06:00
jgromes
c641099e9f
[SX127x] Fixed issues found by cppcheck
2024-05-11 16:49:51 +01:00
jgromes
8eac3f1bf2
[SX127x] Use 32-bit IRQ flags
2024-05-08 14:53:01 +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
fb7d698007
[SX127x] Use millis for timeouts
2024-03-29 08:36:05 +01:00
jgromes
4ee17cc168
Debugging rework
2024-03-10 11:07:23 +01:00
jgromes
a907026c7b
[SX127x] Fixed software timeout duration ( #962 )
2024-02-13 07:04:04 +01:00
jgromes
842c54849d
[SX127x] Added setLowBatteryThreshold ( #925 )
2024-01-13 13:39:51 +01:00
jgromes
bbe407b50f
[SX127x] Cleanup private/protected members
2024-01-12 18:51:55 +01:00
Peter Buchegger
abfc91a9bc
Update SX127x.cpp
2024-01-11 17:52:50 +01:00
jgromes
34c861cfbe
[SX127x] Reworked macro configuration system
2023-11-27 21:14:33 +01:00
jgromes
81c59f61ff
[SX127x] Fixed copy-pasted code snippet
2023-11-21 20:48:06 +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
BayCom GmbH
d329c60906
[SX127x] disable syncword generation & detection, add method to set preamble polarity ( #834 )
...
* allow syncword to be disabled if length is 0
* add method to change preamble polarity in FSK mode
* add new method 'setPreamblePolarity'
* move RADIOLIB_SX127X_PREAMBLE_POLARITY_55 from ::config to ::begin & ::beginFSK
* [SX127x] Remove FSK preamble config from LoRa init method
* [SX127x] Rename preamble inversion method
---------
Co-authored-by: BayCom GmbH <software@baycom.de>
Co-authored-by: jgromes <jan.gromes@gmail.com>
2023-09-29 14:27:31 +02:00
jgromes
10d225fadb
[SX127x] Allow alternate chip versions
2023-09-24 18:19:19 +02:00
jgromes
d34902ee46
[SX127x] Added missing parentheses
2023-08-12 19:44:13 +02:00
jgromes
ea4018d310
[SX127x] Added common CAD methods
2023-08-12 18:43:26 +02:00
jgromes
b48567722b
[SX127x] Added method to get CAD result
2023-08-12 18:40:38 +02:00
jgromes
bb468ad59f
[SX127x] Explicitly set non-inverted IQ on startup
2023-08-12 18:38:46 +02:00
jgromes
68c5edd7c2
[SX127x] Add delay before IRQ clearing ( #808 )
2023-08-06 09:31:39 +02:00
jgromes
d5ce384bda
[SX127x] Implemented new common PHY methods
2023-07-06 11:17:29 +02:00
jgromes
8acaca4884
[SX127x] Swap Tx IQ inversion ( #778 )
2023-06-25 09:33:17 +02:00
jgromes
43b9b13903
[SX127x] Fixed direction from HAL
2023-06-21 22:13:54 +02:00
jgromes
a6ba423c73
[SX127x] Implemented generic actions
2023-06-21 22:03:07 +02:00
jgromes
a16322097a
[SX127x] Added default startReceive method
2023-05-28 22:20:25 +02:00
jgromes
efbec6b9d1
Added custom min/max/abs macros
2023-05-16 17:13:43 +01:00
jgromes
cc8c8f2eed
[SX127x] General reformatting
2023-04-23 22:42:13 +02:00
Mestery
f20cc978a7
update interrupt action mode type
2023-04-16 21:45:39 +02:00
Mestery
9a68a3c901
use uint32 instead of uint8 for pin type
2023-04-16 21:39:00 +02:00
Mestery
ec3d4eaf20
Improve hardware abstraction layer
2023-04-12 23:16:18 +02:00