comparison ds1307.h @ 19:b5e4591b6570

- Satisfy new compiler - Put strings in PROGMEM - Add various time functions
author Daniel O'Connor <darius@dons.net.au>
date Sat, 31 Jan 2015 23:27:10 +1030
parents 119688bb743f
children
comparison
equal deleted inserted replaced
18:0876867347de 19:b5e4591b6570
40 uint8_t month; 40 uint8_t month;
41 uint8_t day; 41 uint8_t day;
42 uint8_t hour; 42 uint8_t hour;
43 uint8_t min; 43 uint8_t min;
44 uint8_t sec; 44 uint8_t sec;
45
46 uint8_t ctrl;
47 uint8_t ram[56];
48 } ds1307_t; 45 } ds1307_t;
49 46
50 typedef union { 47 typedef union {
51 uint8_t raw[8]; 48 uint8_t raw[8];
52 struct { 49 struct {
83 uint8_t sqwe : 1; // Square wave enable 80 uint8_t sqwe : 1; // Square wave enable
84 uint8_t pad5 : 2; 81 uint8_t pad5 : 2;
85 uint8_t out : 1; // Output control enable 82 uint8_t out : 1; // Output control enable
86 } split; 83 } split;
87 } ds1307raw_t; 84 } ds1307raw_t;
88 85
86 typedef int32_t time_t;
87
89 int ds1307_init(void); 88 int ds1307_init(void);
90 int8_t iic_read(uint8_t *data, uint8_t len, uint8_t adr, uint8_t sla); 89 int8_t iic_read(uint8_t *data, uint8_t len, uint8_t adr, uint8_t sla);
91 int8_t iic_write(uint8_t *data, uint8_t len, uint8_t adr, uint8_t sla); 90 int8_t iic_write(uint8_t *data, uint8_t len, uint8_t adr, uint8_t sla);
92 int8_t ds1307_gettod(ds1307raw_t *time); 91 int8_t ds1307_gettod(ds1307raw_t *time);
93 int8_t ds1307_settod(char *date); 92 int8_t ds1307_settod(char *date);
94 void ds1307_printtime(char *leader, char *trailer); 93 void ds1307_printtime(ds1307_t *time, const char *leader, const char *trailer);
94 void ds1307_printnow(const char *leader, const char *trailer);
95 void ds1307_cook(ds1307raw_t *raw, ds1307_t *cooked);
96 time_t ds1307_totimet(ds1307_t *time);
97 time_t ds1307_time(void);