Commit graph

32 commits

Author SHA1 Message Date
jgromes
6fe581aea7 Fix minor format warnings 2024-05-03 20:54:18 +01: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
4ee17cc168 Debugging rework 2024-03-10 11:07:23 +01:00
jgromes
cf561733d2 [Pager] Minor fixes 2024-03-02 18:09:56 +01:00
Jan Szumiec
268e2d704f
Receive messages for multiple POCSAG RICs (#998)
* Make it possible to supply a list of addresses for POCSAG reception.

* Initialize some instance variables to sensible values.
2024-03-02 18:01:32 +01:00
jgromes
9f0bdffc50 [LoRaWAN] Use ESP_PLATFORM macro to include esp_attr.h (#952) 2024-02-25 18:02:31 +01:00
Olivér Remény
7945ffb996
include esp_attr.h where IRAM_ATTR is used (#952)
* Update LoRaWAN.cpp

* Update Pager.cpp
2024-02-02 16:57:43 +01:00
jgromes
074b707924 [Pager] Reworked macro configuration system 2023-11-27 21:17:45 +01:00
Hendrik Langer
69bc96ac08 Pager: allow manual override of function bits 2023-06-16 15:53:47 +02:00
jgromes
0b92a33d83 [Pager] Use FEC util 2023-05-23 22:44:44 +02:00
jgromes
bb4a45e850 [Pager] Fixed long prints 2023-05-21 18:26:46 +02:00
jgromes
03d2a9bf26 [MOD] Added common reflect method 2023-05-12 20:55:51 +02:00
jgromes
767a2b006a [Pager] Fixed deprecation warning for ESP 2023-04-22 20:37:42 +02:00
jgromes
6bbd237fb3 [Pager] Use compact Doxygen and stop using reserved format 2023-04-22 19:35:14 +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
Mestery
220b4dad7f
use printf in both build 2023-04-10 09:13:58 +00:00
Mestery
7b6fd24c8e
fix non arduino build 2023-04-10 09:13:57 +00:00
jgromes
f809f17dc8 [Pager] Added missing exclude direct receive guards (#697) 2023-03-13 22:02:07 +01:00
jgromes
607ae1035c [Pager] Fixed inversion logic (#641) 2022-12-22 16:19:10 +01:00
jgromes
132c2b3b82 Fixed inversion logic and inverted frame sync word (#641) 2022-12-15 17:37:41 +01:00
jgromes
60b73d5ccd [Pager] Implemented inversion for receive (#641) 2022-12-12 21:07:35 +01:00
Ihor Nehrutsa
9abb3fd396 Update Pager.cpp 2022-12-01 17:47:42 +02:00
jgromes
f51229ef9a [Pager] Added option to invert frequencies (#7) 2022-11-27 20:47:01 +01:00
jgromes
a848cf281b [Pager] Added option to retrieve matched address on reception 2022-11-14 21:19:16 +01:00
jgromes
00fc7cd5b9 [Pager] Added optional custom frequnecy shift 2022-11-14 21:18:42 +01:00
jgromes
b903ddabc6 [Pager] Added missing IRAM_ATTR for ESP platforms 2022-10-22 23:49:13 +02:00
jgromes
edc04f16bd [Pager] Added missing input pinmode 2022-10-22 23:48:57 +02:00
jgromes
f6e5d02481 [Pager] Reworked logic to workaround linker error on MegaCore (CI_BUILD_ALL) 2022-10-02 12:19:33 +02:00
jgromes
ae04d3dbb3 [Pager] Fixed strncpy length 2022-10-02 00:00:50 +02:00
jgromes
3baa4bd80f [Pager] Fixed narrow type comparison 2022-10-01 16:11:07 +02:00
jgromes
1f75ee0cc1 [Pager] Implemented POCSAG (#7) 2022-10-01 14:56:37 +02:00