Add tag for the 120219 release.
[pub/USBasp.git] / Projects / TempDataLogger / Lib / DS1307.h
index 212cdfe..0736d8e 100644 (file)
@@ -1,5 +1,5 @@
 /*
-     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;
@@ -42,9 +42,9 @@
                        {
                                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