diff --git a/examples/iec61850_9_2_LE_example/iec61850_9_2_LE_example.c b/examples/iec61850_9_2_LE_example/iec61850_9_2_LE_example.c index a7a016e6..34aba48e 100644 --- a/examples/iec61850_9_2_LE_example/iec61850_9_2_LE_example.c +++ b/examples/iec61850_9_2_LE_example/iec61850_9_2_LE_example.c @@ -27,6 +27,8 @@ #include #include #include + +#define _USE_MATH_DEFINES #include /* Include the generated header with the model access handles */ diff --git a/hal/time/win32/time.c b/hal/time/win32/time.c index af58793f..0b182d20 100644 --- a/hal/time/win32/time.c +++ b/hal/time/win32/time.c @@ -34,10 +34,26 @@ Hal_getTimeInMs() uint64_t now; static const uint64_t DIFF_TO_UNIXTIME = 11644473600000LL; - + GetSystemTimeAsFileTime(&ft); now = (LONGLONG)ft.dwLowDateTime + ((LONGLONG)(ft.dwHighDateTime) << 32LL); return (now / 10000LL) - DIFF_TO_UNIXTIME; } + +nsSinceEpoch +Hal_getTimeInNs() +{ + FILETIME ft; + + static const uint64_t DIFF_TO_UNIXTIME = 11644473600000000000LL; + + GetSystemTimeAsFileTime(&ft); + + nsSinceEpoch nsTime = (LONGLONG)ft.dwLowDateTime + ((LONGLONG)(ft.dwHighDateTime) << 32LL); + + nsTime = nsTime * 100LL - DIFF_TO_UNIXTIME; + + return nsTime; +}