Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

The Clock implements the device for the real time clock, providing an interface to retrieve the current date/timeInstead of reading several CMOS registers on each call to Clock::getDateTime / Clock::getTimestamp() (which is quite expensive), the update interrupt is used to keep track of the current timestamp in a local variable. More...

#include <device/clock.h>

Inheritance diagram for Clock:
[legend]
Collaboration diagram for Clock:
[legend]

Public Member Functions

 Clock ()
 Constructor.
 
void init ()
 Initialize Clock and its interrupts.
 
uint32_t getTimestamp () const
 Get current time stamp. More...
 
DateTime getDateTime () const
 Get current date and time. More...
 
bool prologue () override
 Prologue for Real Time Clock Since the RTC can cause three different interrupts, the prologue is required to determine the source. More...
 
void epilogue () override
 Epilogue for Real Time Clock.
 
- Public Member Functions inherited from Gate
 Gate ()
 Constructor.
 
virtual ~Gate ()
 Destructor. More...
 

Additional Inherited Members

- Protected Types inherited from RTC
enum  Interrupt { NONE = 0, UPDATE = 1 << 4, ALARM = 1 << 5, PERIODIC = 1 << 6 }
 
enum  PeriodicFrequency {
  FREQ_NONE = 0, FREQ_8192HZ = 3, FREQ_4096HZ = 4, FREQ_2048HZ = 5,
  FREQ_1024HZ = 6, FREQ_512HZ = 7, FREQ_256HZ = 8, FREQ_128HZ = 9,
  FREQ_64HZ = 10, FREQ_32HZ = 11, FREQ_16HZ = 12, FREQ_8HZ = 13,
  FREQ_4HZ = 14, FREQ_2HZ = 15
}
 
- Static Protected Member Functions inherited from RTC
static void setPeriodic (enum PeriodicFrequency freq)
 
static void setAlarm (uint8_t hour, uint8_t minute, uint8_t second)
 
static void receiveInterrupt (Interrupt i, bool enable)
 
static Interrupt getSource ()
 
static DateTime getDateTime ()
 

Detailed Description

The Clock implements the device for the real time clock, providing an interface to retrieve the current date/time

Instead of reading several CMOS registers on each call to Clock::getDateTime / Clock::getTimestamp() (which is quite expensive), the update interrupt is used to keep track of the current timestamp in a local variable.

Member Function Documentation

◆ getTimestamp()

uint32_t Clock::getTimestamp ( ) const
inline

Get current time stamp.

Returns
seconds since Unix epoch

◆ getDateTime()

DateTime Clock::getDateTime ( ) const
inline

Get current date and time.

Returns
the current date and time

◆ prologue()

bool Clock::prologue ( )
overridevirtual

Prologue for Real Time Clock Since the RTC can cause three different interrupts, the prologue is required to determine the source.

Returns
true if the epilogue has to be executed.

Implements Gate.


The documentation for this class was generated from the following files: