/* Copyright (C) Dean Camera, 2017. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org*/#ifndef _RTC_H_#define _RTC_H_/* Includes: */#include<avr/io.h>#include<LUFA/Drivers/Peripheral/TWI.h>#include"Config/AppConfig.h"/* Type Defines: */typedefstruct{uint8_tHour;uint8_tMinute;uint8_tSecond;uint8_tDay;uint8_tMonth;uint8_tYear;}TimeDate_t;typedefstruct{union{struct{unsignedSec:4;unsignedTenSec:3;unsignedCH:1;}Fields;uint8_tIntVal;}Byte1;union{struct{unsignedMin:4;unsignedTenMin:3;unsignedReserved:1;}Fields;uint8_tIntVal;}Byte2;union{struct{unsignedHour:4;unsignedTenHour:2;unsignedTwelveHourMode:1;unsignedReserved:1;}Fields;uint8_tIntVal;}Byte3;union{struct{unsignedDayOfWeek:3;unsignedReserved:5;}Fields;uint8_tIntVal;}Byte4;union{struct{unsignedDay:4;unsignedTenDay:2;unsignedReserved:2;}Fields;uint8_tIntVal;}Byte5;union{struct{unsignedMonth:4;unsignedTenMonth:1;unsignedReserved:3;}Fields;uint8_tIntVal;}Byte6;union{struct{unsignedYear:4;unsignedTenYear:4;}Fields;uint8_tIntVal;}Byte7;}DS1307_DateTimeRegs_t;/* Macros: *//** TWI address of the DS1307 device on the bus. */#define DS1307_ADDRESS 0xD0/* Function Prototypes: */voidRTC_Init(void);voidRTC_Tick500ms(void);boolRTC_SetTimeDate(constTimeDate_t*NewTimeDate);boolRTC_GetTimeDate(TimeDate_t*constTimeDate);#endif