firmware/dcftime.h

Go to the documentation of this file.
00001 #ifndef DCFTIME_H
00002 #define DCFTIME_H
00003 
00013 #include "boole.h"
00014 
00015 /*
00016   dcf-signal samples per second
00017 */
00018 #ifndef DCF_RATE
00019 #define DCF_RATE 244 
00020 #endif
00021 #if (DCF_RATE < 100) || (250 < DCF_RATE)
00022 #error DCF_RATE should be between 100 and 250
00023 #endif
00024 
00025 typedef unsigned int dcf_second;      
00026 typedef unsigned int dcf_minute;      
00027 typedef unsigned int dcf_hour;        
00028 typedef unsigned int dcf_dayofmonth;  
00029 typedef unsigned int dcf_year;        
00030 typedef boolean      dcf_is_dst;      
00033 enum dcf_dayofweek_enum {
00034     dcf_monday = 1, 
00035     dcf_tuesday, 
00036     dcf_wednesday, 
00037     dcf_thursday, 
00038     dcf_friday, 
00039     dcf_saturday, 
00040     dcf_sunday, 
00041 };
00043 typedef enum dcf_dayofweek_enum dcf_dayofweek;
00044 
00046 enum dcf_month_enum {
00047     dcf_january = 1, 
00048     dcf_february, 
00049     dcf_march, 
00050     dcf_april, 
00051     dcf_may, 
00052     dcf_june, 
00053     dcf_july, 
00054     dcf_august, 
00055     dcf_september, 
00056     dcf_october, 
00057     dcf_november, 
00058     dcf_december 
00059 };
00061 typedef enum dcf_month_enum dcf_month;
00062 
00064 struct dcf_time_struct {
00065     dcf_second second; 
00066     dcf_minute minute; 
00067     dcf_hour hour; 
00068     dcf_is_dst is_dst; 
00069 };
00071 typedef struct dcf_time_struct dcf_time;
00072 
00074 struct dcf_date_struct {
00075     dcf_dayofweek dayofweek; 
00076     dcf_dayofmonth dayofmonth; 
00077     dcf_month month; 
00078     dcf_year year; 
00079 };
00081 typedef struct dcf_date_struct dcf_date;
00082 
00084 struct dcf_datetime_struct {
00085     dcf_time time; 
00086     dcf_date date; 
00087     boolean is_valid; 
00088     boolean has_signal; 
00089 };
00091 typedef struct dcf_datetime_struct dcf_datetime;
00092 
00096 void dcf_init(void);
00097 
00105 void dcf_signal(boolean signal);
00106 
00111 dcf_datetime dcf_current_datetime(void);
00112 
00118 const char* dcf_dayofweek_name(dcf_dayofweek dow);
00119 
00125 const char* dcf_is_dst_name(dcf_is_dst dst);
00126 
00127 #endif

Generated on Wed Jan 3 22:22:35 2007 for Binary DCF-77 Clock by  doxygen 1.5.1