Files
binary-clock/firmware/rtc.h

37 lines
681 B
C

#ifndef __RTC_H__
#define __RTC_H__
#include "time.h"
#define RTC_I2C_ADDR 0xA2
#define DATE_SEPARATOR '.'
#define INT0_PORT PORTD
#define INT0_DIR DDRD
#define INT0_PIN PD2
#define INT1_PORT PORTD
#define INT1_DIR DDRD
#define INT1_PIN PD3
#define SECOND 0x02
#define MINUTE 0x03
#define HOUR 0x04
struct RTC_DATA
{
struct TIME_HMS time;
struct DATE_YMDW date;
char time_str[9];
char date_str[11];
uint8_t buffer[5];
};
void rtc_int0_init(void);
void rtc_bind_handler(void (*handler)(struct RTC_DATA* clock));
void rtc_set_time(struct TIME_HMS* time);
void rtc_set_date(struct DATE_YMD* date);
void rtc_inc_time(uint8_t part);
void rtc_handle_event(void);
#endif