Abstract interface for controlling a MCU specific RTC.

This interface defines methods for setting up the RTC component, and starting and stopping the RTC interrupt.

The DateTime class contains a static DateTime object that represents the system time. It is this RTC interface’s task to maintain a valid system timestamp by incrementing the static system DateTime object.

Public Functions

virtual void mono::IRTCSystem::setupRtcSystem()
= 0

Setup the RTC system with all register setting and interrupts needed.

This shuold not start the RTC, just intialize it - making it ready for calling startRtc().

Any subclass must implement this function - it is automatically called by the IApplicationContext class.

virtual void mono::IRTCSystem::startRtc()
= 0

Start the built-in RTC, effectively starting the system date/ time clock.

virtual void mono::IRTCSystem::stopRtc()
= 0

Stop the built-in RTC, effectively pausing the system date/ time clock.

Public Static Attributes

bool IRTCSystem::__shouldProcessScheduledTasks

The RTC should set this when it is time to process scheduled tasks.

The run loop and the sleep loop should check this variable to know when to process all scheduled tasks. You must set this variable in your RTC interrupt function.