Commit graph

68 commits

Author SHA1 Message Date
jgromes
fffb1fae9f [PHY] Make transmit data const (#1156) 2024-07-13 16:42:46 +01:00
jgromes
16710d4dae [SX128x] Added missing override 2024-05-26 08:45:42 +02:00
jgromes
4a011e0915 [SX128x] Fix check output power argument name 2024-05-25 07:13:31 +02:00
jgromes
f9af9b4d3f [SX128x] Fix forgotten sleep 2024-05-15 18:45:57 +02:00
jgromes
63ef9e0977 Fixup doxygen comments (#1089) 2024-05-15 18:43:19 +02:00
Dominic Moffat
b336dd59f9
Fixes overload warning when building with ESP IDF (#1089)
* fixes overload

* fixes overload

* fixes overload warnings in ESP-IDF
2024-05-15 18:40:08 +02:00
jgromes
1dcd61b71d [SX128x] Use const pointers where appropriate 2024-05-12 12:03:19 +01:00
jgromes
3d9815f93d Use explicit constructors for base classes 2024-05-11 17:22:57 +01:00
jgromes
dec7265f72 [SX128x] Fixed issues found by cppcheck 2024-05-11 16:49:29 +01:00
jgromes
8a4514703b [SX128x] Use 32-bit IRQ flags 2024-05-08 14:54:33 +02:00
jgromes
bcd8a05cd4 [SX128x] Added interface for interrupt-driven CAD (#1085) 2024-05-05 12:42:03 +01:00
StevenCellist
1b2b8bd67b
[LoRaWAN] Improve PHY behaviour, update beginABP, bugfixes (#1080)
* [LoRaWAN] Add getter for ToA, prevent MAC queue overflow

* [LoRaWAN] Permute arguments to beginABP

* Implement & split off checkOutputPower

* [LoRaWAN] Configure physical layer on each up/downlink

* [LoRaWAN] Remove unnecessary dynamic array

* [LoRaWAN] Improve downlink handling

* Resolve return-warnings in checkOutputPower()

* [LoRaWAN] Improve buffer definition

* [LoRaWAN] Prevent requesting repeated MAC commands

* Update keywords.txt

* [CC1101] Resolve unused variable warning

* [CC1101] Update checkOutputPower

* [SX1278] Fix variable assignment

* Update keywords.txt

* [CC1101] Added checkOutputPower override for PHY compatibility

* [LR11x0] Added checkOutputPower override for PHY compatibility

* [SX127x] Added checkOutputPower override for PHY compatibility

---------

Co-authored-by: jgromes <jan.gromes@gmail.com>
2024-05-01 13:35:22 +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
948088c1e1 [SX128x] Moved setHeaderType to private methods 2024-01-12 19:49:17 +01:00
jgromes
b5d931ec79 [SX128x] Cleanup private/protected members 2024-01-12 19:45:41 +01:00
S5NC
14a2238ca6
Update SX128x.h 2023-11-30 12:18:13 +00:00
jgromes
827aac5938 [SX128x] Reworked macro configuration system 2023-11-27 21:15:07 +01: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
1f6acc8347 [SX128x] Implemented generic IRQ actions 2023-06-21 22:23:43 +02:00
jgromes
1597e8d754 [SX128x] Fixed default parameters 2023-05-28 22:32:06 +02:00
jgromes
f936d53639 [SX128x] Added default startReceive method 2023-05-28 22:19:03 +02:00
jgromes
c451765602 [SX128x] Added force wakeup to standby 2023-05-02 21:04:49 +02:00
jgromes
84ebdddcaf [SX128x] Wakeup device on standby() call 2023-05-02 18:58:59 +02:00
jgromes
76c654c0c1 [SX128x] General reformatting 2023-04-23 22:05:18 +02:00
Jan Gromeš
b76b819b12
Merge pull request #730 from Mesteery/new-hal
Improve hardware abstraction layer
2023-04-22 16:26:31 +02:00
jgromes
21f2ef6836 [SX128x] Fixed IQ inversion 2023-04-17 19:12:42 +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
9d3a2bb72f [SX128x] Added IQ inversion (#724) 2023-04-08 21:45:15 +02:00
jgromes
ee7c1e7604 [SX128x] Added PHY startReceive (#700) 2023-03-26 22:20:19 +02:00
GUVWAF
edc8877adb [SX128x] Add irqFlags and irqMask to startReceive 2023-02-26 13:34:22 +01:00
jgromes
60bd3d6440 [SX128x] Use Module stream read/write 2023-02-19 17:07:00 +01:00
jgromes
7d286e32bc [SX128x] Use Module SPI stream 2023-02-19 16:23:08 +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
Matthijs Kooijman
47163f4398 [SX126x] Make begin parameter docs consistent
This:
 - Updates syncWord comments after changing it from uint16_t to uint8_t
   in commit 55aff74a ([SX126x] Changed pin mapping, added reset,
   changed LoRa sync word to 1B).
 - Adds missing useRegulatorLDO comments forgoten in commit ea85a663
   ([SX126x] Pass useRegulatorLDO to SX1262/SX1261/SX1268).
 - Makes useRegulatorLDO comments the same in all places (using the more
   explicit version).
 - Fixes a typo in the doxygen \parma -> \param command.
2022-12-20 23:33:02 +01:00
Thomas Göttgens
08de95e15e Access getIrqStatus() without Godmode and change the flag setting like SX126x handles it. 2022-12-05 11:17:59 +01:00
jgromes
fc3a85abf9 [SX128x] Added post-transaction error checking 2022-10-01 22:54:36 +02:00
jgromes
e5fe82f334 [SX128x] Fixed setBitRate compatibility with PhysicalLayer 2022-10-01 15:16:01 +02:00
jgromes
0b5cd51828 [SX128x] Added finishTransmit 2022-09-18 16:15:07 +02:00
jgromes
da0993a6ed Added RADIOLIB_EXCLUDE_DIRECT_RECEIVE exclusion macro (#557) 2022-08-15 19:19:59 +02:00
jgromes
64817ed4be [SX128x] Minor formatting update 2022-02-28 18:47:55 +01:00
Robert
89f202ce6a Changed method to return float instead of double. All calculations within the method also use float instead of double. Results of the method do not seem to be effected. 2022-02-26 18:44:05 -05:00
Robert
ff43d95afa Cleaned up formatting in header. Changed assigned value to set only the bit indicated in the documentation. 2022-02-24 00:29:51 -05:00
Robert
da0cd455c9 Add method to support SX128x Manual Gain Mode. 2022-02-23 23:58:56 -05:00
Robert
89de031e18 Add method to support SX128x High Sensitivity Mode. 2022-02-23 23:51:54 -05:00
Robert
01fc7fb844 Add method to support SX128x Frequency Error of last received LoRa or Ranging packet. Updated SX128x receive examples. 2022-02-23 11:41:29 -05:00
jgromes
c2cfe597cc [SX128x] Fixed known binary receive length 2021-11-21 21:16:45 +01:00
jgromes
1126e64587 [SX128x] Update to 5.0.0 2021-11-14 11:42:36 +01:00