1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-13 13:01:55 +03:00

emulation on host: millis()/micros() now start at 0 (#7810)

emulation on host: millis()/micros() now start at 0
This commit is contained in:
david gauchard
2021-01-05 12:21:16 +01:00
committed by GitHub
parent 100a8df33f
commit 43f44e4b13
2 changed files with 11 additions and 2 deletions

View File

@ -18,18 +18,24 @@
#include <unistd.h>
static struct timeval gtod0 = { 0, 0 };
extern "C" unsigned long millis()
{
timeval time;
gettimeofday(&time, NULL);
return (time.tv_sec * 1000) + (time.tv_usec / 1000);
if (gtod0.tv_sec == 0)
memcpy(&gtod0, &time, sizeof gtod0);
return ((time.tv_sec - gtod0.tv_sec) * 1000) + ((time.tv_usec - gtod0.tv_usec) / 1000);
}
extern "C" unsigned long micros()
{
timeval time;
gettimeofday(&time, NULL);
return (time.tv_sec * 1000000) + time.tv_usec;
if (gtod0.tv_sec == 0)
memcpy(&gtod0, &time, sizeof gtod0);
return ((time.tv_sec - gtod0.tv_sec) * 1000000) + time.tv_usec - gtod0.tv_usec;
}