31 #include "VMXErrors.h" 32 #include "VMXHandlers.h" 48 VMXTime(PIGPIOClient& pigpio_ref, MISCClient& misc_ref);
51 void ReleaseResources();
52 uint64_t GetTotalSystemTimeOfTick(uint32_t tick);
98 bool GetRTCTime(uint8_t& hours, uint8_t& minutes, uint8_t& seconds, uint32_t& milliseconds, VMXErrorCode *errcode);
99 bool GetRTCDate(uint8_t& weekday, uint8_t& day, uint8_t& month, uint8_t& years, VMXErrorCode *errcode);
101 bool SetRTCTime(uint8_t hours, uint8_t minutes, uint8_t seconds, VMXErrorCode *errcode);
102 bool SetRTCDate(uint8_t weekday, uint8_t day, uint8_t month, uint8_t years, VMXErrorCode *errcode);
Top-level Library Class providing access to all VMX-pi functionality.
Definition: VMXPi.h:40
uint32_t DelaySeconds(uint32_t delay_sec)
Blocks the current thread for the specified amount of time in seconds.
Definition: VMXTime.cpp:297
uint64_t GetCurrentOSTimeMicroseconds()
Returns the current linux operating system (OS) time in microseconds Note that this value is similar ...
Definition: VMXTime.cpp:57
uint32_t GetCurrentMicroseconds()
Returns the low 32 bit portion of the current system Hardware Timer value in microseconds.
Definition: VMXTime.cpp:68
bool IsTimerNotificationExpired(VMXNotifyHandler timer_notify_handler, bool &expired)
Indicates whether the provided previously-registered timer_notify_handler has expired.
Definition: VMXTime.cpp:133
bool GetRTCDate(uint8_t &weekday, uint8_t &day, uint8_t &month, uint8_t &years, VMXErrorCode *errcode)
Retrieves the current VMX Real-time date value.
Definition: VMXTime.cpp:167
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:114
DaylightSavingsAdjustment
Real-Time Clock Daylight Savings Adjustment Setting.
Definition: VMXTime.h:89
bool GetRTCDaylightSavingsAdjustment(DaylightSavingsAdjustment &dsa, VMXErrorCode *errcode)
Retrieves the current VMX Real-time clock daylight savings adjustment setting.
Definition: VMXTime.cpp:220
bool SetRTCTime(uint8_t hours, uint8_t minutes, uint8_t seconds, VMXErrorCode *errcode)
Sets the current VMX Real-time clock value.
Definition: VMXTime.cpp:185
bool DeregisterTimerNotification(VMXNotifyHandler timer_notify_handler)
Deregisters a previously-registered VMXNotifyHandler.
Definition: VMXTime.cpp:123
uint32_t GetCurrentMicrosecondsHighPortion()
Returns the high 32 bit portion of the current system Hardware Timer value in microseconds.
Definition: VMXTime.cpp:86
The Real-time Clock hour has one hour added to it during daylight savings time periods.
Definition: VMXTime.h:93
bool GetRTCTime(uint8_t &hours, uint8_t &minutes, uint8_t &seconds, uint32_t &milliseconds, VMXErrorCode *errcode)
Retrieves the current VMX Real-time clock value.
Definition: VMXTime.cpp:148
bool SetRTCDaylightSavingsAdjustment(DaylightSavingsAdjustment dsa, VMXErrorCode *errcode)
Sets the current VMX Real-time clock daylight savings adjustment setting.
Definition: VMXTime.cpp:248
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
The VMXIO class provides access to VMX Analog/Digital IO functions, including VMX Channel and VMX Res...
Definition: VMXIO.h:47
The Real-time Clock hour is not adjusted during daylight savings time periods.
Definition: VMXTime.h:91
uint64_t GetCurrentTotalMicroseconds()
Returns the full 64 bit current system Hardware Timer value in microseconds.
Definition: VMXTime.cpp:77
uint32_t DelayMilliseconds(uint32_t delay_ms)
Blocks the current thread for the specified amount of time in milliseconds.
Definition: VMXTime.cpp:285
Top-level Library Class providing access to all VMXzero functionality.
Definition: VMXZero.h:40
The Real-time Clock hours has one hour substracted from it during daylight savings time periods...
Definition: VMXTime.h:95
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:103
bool SetRTCDate(uint8_t weekday, uint8_t day, uint8_t month, uint8_t years, VMXErrorCode *errcode)
Sets the current VMX Real-time date value.
Definition: VMXTime.cpp:204
uint32_t DelayMicroseconds(uint32_t delay_us)
Blocks the current thread for the specified amount of time in microseconds.
Definition: VMXTime.cpp:275