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
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
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
jgromes
34c861cfbe
[SX127x] Reworked macro configuration system
2023-11-27 21:14:33 +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
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
f589d77e09
[SX127x] Override default channel scan method
2023-08-06 16:06:15 +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
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
a6ba423c73
[SX127x] Implemented generic actions
2023-06-21 22:03:07 +02:00
jgromes
522aff911f
[SX127x] Fixed default parameters
2023-05-28 22:32:13 +02:00
jgromes
a16322097a
[SX127x] Added default startReceive method
2023-05-28 22:20:25 +02: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
jgromes
8587f73bd9
[SX127x] Implemented fractional bit rate ( #505 )
2023-04-09 17:08:45 +02:00
jgromes
13248b6eab
[SX127x] Fixed comments
2023-04-08 21:44:14 +02:00
Jan Gromeš
c2b40f088f
Merge pull request #711 from G4lile0/master
...
[SX1278] New getInstRSSI to get current RSSI
2023-03-27 23:28:18 +02:00
jgromes
f62f912c87
[SX127x] Unified getRSSI interface
2023-03-27 23:22:03 +02:00
jgromes
5d365d4da7
[SX127x] Added PHY startReceive ( #700 )
2023-03-26 22:20:08 +02:00
jgromes
8ace6350cf
[SX127x] Added missing standby for PhysicalLayer ( #695 )
2023-03-12 14:50:14 +01:00
jgromes
91d42ebf0e
[SX127x] Set minimum bit rate to 0.5 kbps ( #665 )
2023-01-18 18:58:52 +01:00
Matthijs Kooijman
3779faf600
Add setRfSwitchTable() wrapper methods
...
This gives all radios that use an rfswitch (i.e. have
a setRfSwitchPins() wrapper already) a wrapper method for
setRfSwitchTable() too. This wrapper just calls the same method on
Module, to make it easier for sketches to use it.
2023-01-09 10:26:27 +01:00
Matthijs Kooijman
90b28d7722
Remove duplicated setRfSwitchPins documentation
...
All radios that support RfSwitch define this method that simply forwards
to the `Module::setRfSwitchPins()` method. Previously, all these methods
duplicated the documentation as well, but this uses the doxygen \copydoc
to remove this duplication.
2023-01-09 09:46:31 +01:00
jgromes
18fefc0ca9
[SX127x] Removed unnecessary volatile
2022-12-22 18:17:41 +01:00
jgromes
1316a805f3
[SX127x] Added option to specify interrupt direction for DIO
2022-10-23 20:39:15 +02:00
jgromes
0d72dd2ac3
[SX127x] Added finishTransmit ( #571 )
2022-09-18 16:13:39 +02:00
jgromes
ffb2c15a50
[SX127x] Definition fixes suggested by @MrSniffer
2022-09-17 19:47:09 +02:00
obones
a7b42b61b2
Use a better name for the parameter so that it is clear that it's dBm that are expected here
2022-08-24 15:38:12 +02:00
obones
9a76aa1c84
Introduce setRSSIThreshold on SX127x modules
2022-08-24 15:05:20 +02:00
jgromes
da0993a6ed
Added RADIOLIB_EXCLUDE_DIRECT_RECEIVE exclusion macro ( #557 )
2022-08-15 19:19:59 +02:00
Jan Gromeš
96f2e34e09
Merge pull request #542 from obones/setDIOMapping
...
Introduce the setDIOMapping method
2022-07-13 23:04:48 +02:00
obones
0b2238a0a4
The SX127x family of chips shares the same DIO pin functions, so move all the support code in the base SX127x class
2022-07-13 10:05:45 +02:00
jgromes
d8c11fa8c9
[SX127x] Added missing Doxygen comments
2022-07-10 19:54:57 +02:00
jgromes
ce26892567
[SX127x] Fixed FSK maximum packet length
2022-07-10 19:48:56 +02:00
jgromes
9836e57616
[Stream] Added Stream mode support for SX127x ( #201 ) ( #403 )
2022-07-10 17:43:51 +02:00
Jaimi5
298dbe8e5c
RadioLib - getTimeOnAir for SX127x modules
2022-06-24 17:38:31 +02:00
matthias-bs
0a79f7fc22
added setCrcFiltering()
2022-05-23 17:30:40 +02:00
Chris Terwilliger
4661757482
Merge branch 'jgromes:master' into documentation-updates
2022-01-25 15:36:42 -05:00
Nathan Seidle
06ef449b68
Move helper functions from SX1276/7/8/9 to global SX127x.
2022-01-17 11:47:49 -07:00
Chris Terwilliger
5fb2ce66ab
Update SX127x.h
2021-12-23 22:03:39 -05:00
Chris Terwilliger
9f842acfe7
Update SX127x.h
2021-12-20 18:21:27 -05:00