/* * TimingCore.cpp * * Created on: 13 May 2016 * Author: wentzelc */ // redA Libraries #include "TimingCore.h" // Standard C/C++ Libraries #include #include #include //--------------------------------------------------------------------------- // Set time void SetInterval( timeval * Time, long MilliSeconds ) { // milli-seconds -> seconds Time->tv_sec = MilliSeconds / 1000; // milli-seconds -> micro-seconds Time->tv_usec = (MilliSeconds % 1000) * 1000; } //--------------------------------------------------------------------------- // Populated start time void SetStartTime( timeval * StartTime ) { // Get current time gettimeofday( StartTime, NULL ); } //--------------------------------------------------------------------------- // Clear start time void ClearStartTime( timeval * StartTime ) { // Get current time StartTime->tv_sec = 0; StartTime->tv_usec = 0; } //--------------------------------------------------------------------------- // Calculate TimePassed from Start Time (in milli-seconds) long TimePassed( timeval StartTime ) { timeval CurrTime; long Duration; // Get current time gettimeofday( &CurrTime, NULL ); // Get time passed in milli-seconds Duration = (CurrTime.tv_sec - StartTime.tv_sec) * 1000 + (CurrTime.tv_usec - StartTime.tv_usec) / 1000; return Duration; } //--------------------------------------------------------------------------- bool Timeout( timeval StartTime, long MilliSeconds ) { return ((TimePassed(StartTime) > MilliSeconds)? true : false); } //---------------------------------------------------------------------------