
* 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>
35 lines
723 B
C++
35 lines
723 B
C++
#include "Hal.h"
|
|
|
|
RadioLibHal::RadioLibHal(const uint32_t input, const uint32_t output, const uint32_t low, const uint32_t high, const uint32_t rising, const uint32_t falling)
|
|
: GpioModeInput(input),
|
|
GpioModeOutput(output),
|
|
GpioLevelLow(low),
|
|
GpioLevelHigh(high),
|
|
GpioInterruptRising(rising),
|
|
GpioInterruptFalling(falling) {}
|
|
|
|
void RadioLibHal::init() {
|
|
|
|
}
|
|
|
|
void RadioLibHal::term() {
|
|
|
|
}
|
|
|
|
void RadioLibHal::tone(uint32_t pin, unsigned int frequency, RadioLibTime_t duration) {
|
|
(void)pin;
|
|
(void)frequency;
|
|
(void)duration;
|
|
}
|
|
|
|
void RadioLibHal::noTone(uint32_t pin) {
|
|
(void)pin;
|
|
}
|
|
|
|
void RadioLibHal::yield() {
|
|
|
|
}
|
|
|
|
uint32_t RadioLibHal::pinToInterrupt(uint32_t pin) {
|
|
return(pin);
|
|
}
|