/*
- Copyright (C) Dean Camera, 2011.
+ Copyright (C) Dean Camera, 2012.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
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;
} Byte3;
- } DS1307_TimeRegs_t;
- typedef struct
- {
union
{
struct
{
- unsigned int Day : 4;
- unsigned int TenDay : 2;
- unsigned int Reserved : 2;
+ unsigned DayOfWeek : 3;
+ unsigned Reserved : 5;
} Fields;
uint8_t IntVal;
- } Byte1;
+ } Byte4;
union
{
struct
{
- unsigned int Month : 4;
- unsigned int TenMonth : 1;
- unsigned int Reserved : 3;
+ unsigned Day : 4;
+ unsigned TenDay : 2;
+ unsigned Reserved : 2;
} Fields;
uint8_t IntVal;
- } Byte2;
+ } Byte5;
union
{
struct
{
- unsigned int Year : 4;
- unsigned int TenYear : 4;
+ unsigned Month : 4;
+ unsigned TenMonth : 1;
+ unsigned Reserved : 3;
} Fields;
uint8_t IntVal;
- } Byte3;
- } DS1307_DateRegs_t;
+ } Byte6;
+
+ union
+ {
+ struct
+ {
+ unsigned Year : 4;
+ unsigned TenYear : 4;
+ } Fields;
+
+ uint8_t IntVal;
+ } Byte7;
+ } DS1307_DateTimeRegs_t;
/* Macros: */
- #define DS1307_ADDRESS_READ (0xD0 | TWI_ADDRESS_READ)
- #define DS1307_ADDRESS_WRITE (0xD0 | TWI_ADDRESS_WRITE)
+ #define DS1307_ADDRESS 0xD0
/* Function Prototypes: */
- void DS1307_SetTimeDate(const TimeDate_t* NewTimeDate);
- void DS1307_GetTimeDate(TimeDate_t* const TimeDate);
+ bool DS1307_SetTimeDate(const TimeDate_t* NewTimeDate);
+ bool DS1307_GetTimeDate(TimeDate_t* const TimeDate);
#endif