NonArduiono: Tock: Support RADIOLIB_CLOCK_DRIFT_MS

Signed-off-by: Alistair Francis <alistair@alistair23.me>
This commit is contained in:
Alistair Francis 2024-07-02 20:18:19 +10:00
parent 1c429228d5
commit 6268e5d4c7

View file

@ -157,11 +157,19 @@ class TockHal : public RadioLibHal {
} }
void delay(unsigned long ms) override { void delay(unsigned long ms) override {
libtocksync_alarm_delay_ms( ms ); #if !defined(RADIOLIB_CLOCK_DRIFT_MS)
libtocksync_alarm_delay_ms(ms);
#else
libtocksync_alarm_delay_ms(ms * 1000 / (1000 + RADIOLIB_CLOCK_DRIFT_MS));
#endif
} }
void delayMicroseconds(unsigned long us) override { void delayMicroseconds(unsigned long us) override {
libtocksync_alarm_delay_ms( us / 1000 ); #if !defined(RADIOLIB_CLOCK_DRIFT_MS)
libtocksync_alarm_delay_ms(us / 1000);
#else
libtocksync_alarm_delay_ms((us * 1000 / (1000 + RADIOLIB_CLOCK_DRIFT_MS)) / 1000);
#endif
} }
unsigned long millis() override { unsigned long millis() override {
@ -176,7 +184,11 @@ class TockHal : public RadioLibHal {
ms = now / (frequency / 1000); ms = now / (frequency / 1000);
#if !defined(RADIOLIB_CLOCK_DRIFT_MS)
return ms; return ms;
#else
return ms * 1000 / (1000 + RADIOLIB_CLOCK_DRIFT_MS);
#endif
} }
unsigned long micros() override { unsigned long micros() override {