31 #include "VMXErrors.h" 32 #include "VMXHandlers.h" 47 VMXTime(PIGPIOClient& pigpio_ref, MISCClient& misc_ref);
50 void ReleaseResources();
51 uint64_t GetTotalSystemTimeOfTick(uint32_t tick);
97 bool GetRTCTime(uint8_t& hours, uint8_t& minutes, uint8_t& seconds, uint32_t& milliseconds, VMXErrorCode *errcode = 0);
98 bool GetRTCDate(uint8_t& weekday, uint8_t& day, uint8_t& month, uint8_t& years, VMXErrorCode *errcode = 0);
100 bool SetRTCTime(uint8_t hours, uint8_t minutes, uint8_t seconds, VMXErrorCode *errcode = 0);
101 bool SetRTCDate(uint8_t weekday, uint8_t day, uint8_t month, uint8_t years, VMXErrorCode *errcode = 0);
Top-level Library Class providing access to all VMX-pi functionality.
Definition: VMXPi.h:37
uint32_t DelaySeconds(uint32_t delay_sec)
Blocks the current thread for the specified amount of time in seconds.
Definition: VMXTime.cpp:292
uint64_t GetCurrentOSTimeMicroseconds()
Returns the current linux operating system (OS) time in microseconds Note that this value is similar ...
Definition: VMXTime.cpp:52
uint32_t GetCurrentMicroseconds()
Returns the low 32 bit portion of the current system Hardware Timer value in microseconds.
Definition: VMXTime.cpp:63
bool GetRTCDate(uint8_t &weekday, uint8_t &day, uint8_t &month, uint8_t &years, VMXErrorCode *errcode=0)
Retrieves the current VMX Real-time date value.
Definition: VMXTime.cpp:162
bool IsTimerNotificationExpired(VMXNotifyHandler timer_notify_handler, bool &expired)
Indicates whether the provided previously-registered timer_notify_handler has expired.
Definition: VMXTime.cpp:128
bool SetRTCTime(uint8_t hours, uint8_t minutes, uint8_t seconds, VMXErrorCode *errcode=0)
Sets the current VMX Real-time clock value.
Definition: VMXTime.cpp:180
bool RegisterTimerNotificationRelative(VMXNotifyHandler timer_notify_handler, uint64_t time_from_now_us, void *param, bool repeat)
Register a VMXNotifyHandler which is invoked within a time period relative to now, which option to create a repeating notification.
Definition: VMXTime.cpp:109
DaylightSavingsAdjustment
Real-Time Clock Daylight Savings Adjustment Setting.
Definition: VMXTime.h:88
bool SetRTCDaylightSavingsAdjustment(DaylightSavingsAdjustment dsa, VMXErrorCode *errcode=0)
Sets the current VMX Real-time clock daylight savings adjustment setting.
Definition: VMXTime.cpp:243
bool DeregisterTimerNotification(VMXNotifyHandler timer_notify_handler)
Deregisters a previously-registered VMXNotifyHandler.
Definition: VMXTime.cpp:118
bool GetRTCDaylightSavingsAdjustment(DaylightSavingsAdjustment &dsa, VMXErrorCode *errcode=0)
Retrieves the current VMX Real-time clock daylight savings adjustment setting.
Definition: VMXTime.cpp:215
bool GetRTCTime(uint8_t &hours, uint8_t &minutes, uint8_t &seconds, uint32_t &milliseconds, VMXErrorCode *errcode=0)
Retrieves the current VMX Real-time clock value.
Definition: VMXTime.cpp:143
uint32_t GetCurrentMicrosecondsHighPortion()
Returns the high 32 bit portion of the current system Hardware Timer value in microseconds.
Definition: VMXTime.cpp:81
The Real-time Clock hour has one hour added to it during daylight savings time periods.
Definition: VMXTime.h:92
The VMXTime class provides time management functions, including system timestamps, VMX Real-time Clock access, timer notifications and current thread time-delay.
Definition: VMXTime.h:38
bool SetRTCDate(uint8_t weekday, uint8_t day, uint8_t month, uint8_t years, VMXErrorCode *errcode=0)
Sets the current VMX Real-time date value.
Definition: VMXTime.cpp:199
The VMXIO class provides access to VMX Analog/Digital IO functions, including VMX Channel and VMX Res...
Definition: VMXIO.h:41
The Real-time Clock hour is not adjusted during daylight savings time periods.
Definition: VMXTime.h:90
uint64_t GetCurrentTotalMicroseconds()
Returns the full 64 bit current system Hardware Timer value in microseconds.
Definition: VMXTime.cpp:72
uint32_t DelayMilliseconds(uint32_t delay_ms)
Blocks the current thread for the specified amount of time in milliseconds.
Definition: VMXTime.cpp:280
The Real-time Clock hours has one hour substracted from it during daylight savings time periods...
Definition: VMXTime.h:94
bool RegisterTimerNotificationAbsolute(VMXNotifyHandler timer_notify_handler, uint64_t trigger_timestamp_us, void *param)
Register a VMXNotifyHandler which is invoked when the system timestamp reaches the specified trigger_...
Definition: VMXTime.cpp:98
uint32_t DelayMicroseconds(uint32_t delay_us)
Blocks the current thread for the specified amount of time in microseconds.
Definition: VMXTime.cpp:270