/*
- Copyright (C) Dean Camera, 2011.
+ Copyright (C) Dean Camera, 2012.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
#include <avr/io.h>
#include <LUFA/Drivers/Peripheral/TWI.h>
+
+ #include "Config/AppConfig.h"
/* Type Defines: */
typedef struct
uint8_t Month;
uint8_t Year;
} TimeDate_t;
-
+
typedef struct
{
union
{
struct
{
- unsigned int Sec : 4;
- unsigned int TenSec : 3;
- unsigned int CH : 1;
+ unsigned Sec : 4;
+ unsigned TenSec : 3;
+ unsigned CH : 1;
} Fields;
uint8_t IntVal;
{
struct
{
- unsigned int Min : 4;
- unsigned int TenMin : 3;
- unsigned int Reserved : 1;
+ unsigned Min : 4;
+ unsigned TenMin : 3;
+ unsigned Reserved : 1;
} Fields;
uint8_t IntVal;
{
struct
{
- unsigned int Hour : 4;
- unsigned int TenHour : 2;
- unsigned int TwelveHourMode : 1;
- unsigned int Reserved : 1;
+ unsigned Hour : 4;
+ unsigned TenHour : 2;
+ unsigned TwelveHourMode : 1;
+ unsigned Reserved : 1;
} Fields;
uint8_t IntVal;
{
struct
{
- unsigned int DayOfWeek : 3;
- unsigned int Reserved : 5;
+ unsigned DayOfWeek : 3;
+ unsigned Reserved : 5;
} Fields;
uint8_t IntVal;
} Byte4;
-
+
union
{
struct
{
- unsigned int Day : 4;
- unsigned int TenDay : 2;
- unsigned int Reserved : 2;
+ unsigned Day : 4;
+ unsigned TenDay : 2;
+ unsigned Reserved : 2;
} Fields;
uint8_t IntVal;
{
struct
{
- unsigned int Month : 4;
- unsigned int TenMonth : 1;
- unsigned int Reserved : 3;
+ unsigned Month : 4;
+ unsigned TenMonth : 1;
+ unsigned Reserved : 3;
} Fields;
uint8_t IntVal;
{
struct
{
- unsigned int Year : 4;
- unsigned int TenYear : 4;
+ unsigned Year : 4;
+ unsigned TenYear : 4;
} Fields;
uint8_t IntVal;
} DS1307_DateTimeRegs_t;
/* Macros: */
+ /** TWI address of the DS1307 device on the bus. */
#define DS1307_ADDRESS 0xD0
/* Function Prototypes: */