Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef DS3231_H
00023 #define DS3231_H
00024
00025
00026 #include <avr/io.h>
00027 #include "config.h"
00028 #include <util/delay.h>
00029 #include <util/delay_basic.h>
00030 #include "i2c.h"
00031
00032
00033
00034
00038 void reset_rtc_i2c(void);
00039
00040
00041
00050 uint8_t read_from_rtc(uint8_t *store_data);
00051
00052
00053
00062 uint8_t write_to_rtc(uint8_t *store_data);
00063
00064
00065
00075 uint8_t write_alarm(uint8_t *alarm_data);
00076
00077
00078
00087 uint8_t read_temp_from_rtc(uint8_t *store_data);
00088
00089
00090
00098 uint8_t set_rtc_register_pointer(uint8_t val);
00099
00100
00101
00108 uint32_t get_fattime(void);
00109
00110
00111
00125 void dirname_from_date(uint8_t *dirname,uint8_t *time_store);
00126
00127
00128
00142 void filename_from_date(uint8_t *filename,uint8_t *time_store);
00143
00144
00145
00157 void iso_time(uint8_t *iso_time_store,uint8_t *time_store);
00158
00159
00160
00170 void americandate(uint8_t *result,uint8_t *time_store);
00171
00172
00173
00183 void hms_time(uint8_t *result,uint8_t *time_store);
00184
00185
00186
00193 uint8_t hex2ascii_h(uint8_t hexval);
00194
00195
00196
00203 uint8_t hex2ascii_l(uint8_t hexval);
00204
00205
00206
00216 uint8_t bcd_to_hex(uint8_t bcd);
00217
00218
00219
00230 uint8_t set_datetime(uint8_t *iso_time_store);
00231
00232
00233
00244 void addtime(uint8_t *result, uint8_t *start, uint16_t seconds);
00245
00246
00247 #endif