* 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>
* [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
* 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