Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

DCF77 Atomic Clock Module


Functions

void dcf77_initialize (void)
const struct tm * dcf77_gettime (void)
unsigned dcf77_input_probe (void)

Variables

event_type dcf77_sync
event_type dcf77_update_time

Detailed Description

The DCF77 module gives the time of the day as reported by an external DCF77 receptor connected to the board. The DCF77 emitter uses an atomic clock to provide high precision time (no drift).

The time is sent by the emitter one bit per second, and 60 bits per frame. The complete sequence indicates the time, day, month and year. See http://www.eecis.udel.edu/~mills/ntp/dcf77.htm.

The software module is split into two parts:

The synchronization event is raised when synchronization is detected or when it is lost.

The time update event is raised when the first bit is received.


Function Documentation

const struct tm* dcf77_gettime void   
 

Get the DCF77 UTC time.

Return a pointer to a tm structure which contains the current time (UTC). The structure should not be modified.

void dcf77_initialize void   
 

Initialize the DCF77 module.

The DCF77 module must be initialized to register a timer handler to poll and analyze the DCF77 input.

unsigned dcf77_input_probe void   
 

Probe the DCF77 input.

This function must be implemented by the board. It probes the DCF77 input and returns either 0 or 1. It needs not return compute and return the value of the current DCF77 frame bit. That is, the upper layer calls this operation several times per second and determines itself the frame bit based. The frame bit will be 0 when the probe function returns a 1 for less than 100ms and it will be 1 when the duration is arround 200ms.


Variable Documentation

event_type dcf77_sync
 

Event to report changes in synchronisation state.

Definition at line 96 of file dcf77.h.

event_type dcf77_update_time
 

Event to notify new date available.

Definition at line 99 of file dcf77.h.