[ion/timing] millis return uint64_t

Otherwise we could loop after a month or so
This commit is contained in:
Romain Goyet
2018-11-15 15:20:12 +01:00
parent 07a768ace6
commit 888d6cf7f4
4 changed files with 5 additions and 5 deletions

View File

@@ -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);

View File

@@ -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++;

View File

@@ -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;
}

View File

@@ -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<std::chrono::milliseconds>(elapsed).count();
}