From 3ca47b6485cc3911cec82112f037303c52a40c0c Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Tue, 30 Aug 2016 20:30:22 +0300 Subject: [PATCH] Fixed timer debug with TIME_SPEED=1 (tv_nsec should be less than 1000000000) --- projects/stargazer/stg_timer.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/projects/stargazer/stg_timer.cpp b/projects/stargazer/stg_timer.cpp index d39c61db..5bdbe712 100644 --- a/projects/stargazer/stg_timer.cpp +++ b/projects/stargazer/stg_timer.cpp @@ -24,7 +24,7 @@ const int TIME_SPEED = 1; 10 - 10x speed */ -const int START_TIME = 0; +const int START_TIME = 2; /* 0 - as is 1 - start before new day (3 min before) 29.11.2005 23:57:00 @@ -39,8 +39,8 @@ void * StgTimer(void *) struct tm lt; memset(<, 0, sizeof(lt)); -lt.tm_year = 2007 - 1900; // 2005 -lt.tm_mon = 11 - 1; // Nov +lt.tm_year = 2016 - 1900; // 2005 +lt.tm_mon = 7 - 1; // Nov lt.tm_hour = 23; // 23 h lt.tm_min = 57; // 50 min lt.tm_sec = 0; // 00 sec @@ -57,7 +57,7 @@ switch (START_TIME) break; case 2: - lt.tm_mday = 30; + lt.tm_mday = 31; stgTime = mktime(<); break; } @@ -74,7 +74,17 @@ isTimerRunning = true; while (nonstop) { #ifdef STG_TIMER_DEBUG - struct timespec ts = {0, 1000000000 / TIME_SPEED}; + struct timespec ts; + if (TIME_SPEED == 1) + { + ts.tv_sec = 1; + ts.tv_nsec = 0; + } + else + { + ts.tv_sec = 0; + ts.tv_nsec = 1000000000 / TIME_SPEED; + } nanosleep(&ts, NULL); stgTime++; #else -- 2.43.2