diff --git a/ion/include/ion/timing.h b/ion/include/ion/timing.h index 8b99901bb..1d077ab93 100644 --- a/ion/include/ion/timing.h +++ b/ion/include/ion/timing.h @@ -9,7 +9,7 @@ void usleep(uint32_t us); #define EXTERNC #endif -EXTERNC uint32_t millis(); +EXTERNC uint64_t millis(); EXTERNC void msleep(uint32_t ms); diff --git a/ion/src/device/boot/rt0.cpp b/ion/src/device/boot/rt0.cpp index b9734b7f3..332ab5301 100644 --- a/ion/src/device/boot/rt0.cpp +++ b/ion/src/device/boot/rt0.cpp @@ -93,7 +93,7 @@ void start() { abort(); } -volatile uint32_t millis_elapsed = 0; +volatile uint64_t millis_elapsed = 0; void __attribute__((interrupt)) sysTick() { millis_elapsed++; diff --git a/ion/src/device/device.cpp b/ion/src/device/device.cpp index cb18bf0d8..a53d851c7 100644 --- a/ion/src/device/device.cpp +++ b/ion/src/device/device.cpp @@ -39,9 +39,9 @@ void Ion::usleep(uint32_t us) { } } -extern volatile uint32_t millis_elapsed; +extern volatile uint64_t millis_elapsed; -uint32_t Ion::millis() { +uint64_t Ion::millis() { return millis_elapsed; } diff --git a/ion/src/shared/timing.cpp b/ion/src/shared/timing.cpp index a39d450d6..6e47a293e 100644 --- a/ion/src/shared/timing.cpp +++ b/ion/src/shared/timing.cpp @@ -3,7 +3,7 @@ static auto start = std::chrono::steady_clock::now(); -uint32_t Ion::millis() { +uint64_t Ion::millis() { auto elapsed = std::chrono::steady_clock::now() - start; return std::chrono::duration_cast(elapsed).count(); }