diff options
Diffstat (limited to 'Projects/TemperatureDataLogger/Lib/DS1307.h')
-rw-r--r-- | Projects/TemperatureDataLogger/Lib/DS1307.h | 218 |
1 files changed, 109 insertions, 109 deletions
diff --git a/Projects/TemperatureDataLogger/Lib/DS1307.h b/Projects/TemperatureDataLogger/Lib/DS1307.h index 90b91e3e8..9b14ee467 100644 --- a/Projects/TemperatureDataLogger/Lib/DS1307.h +++ b/Projects/TemperatureDataLogger/Lib/DS1307.h @@ -1,109 +1,109 @@ -/*
- Copyright (C) Dean Camera, 2010.
-
- dean [at] fourwalledcubicle [dot] com
- www.fourwalledcubicle.com
-*/
-
-#ifndef _DS1307_H_
-#define _DS1307_H_
-
- /* Includes: */
- #include <avr/io.h>
-
- #include <LUFA/Drivers/Peripheral/TWI.h>
-
- /* Type Defines: */
- typedef struct
- {
- union
- {
- struct
- {
- unsigned int Sec : 4;
- unsigned int TenSec : 3;
- unsigned int CH : 1;
- };
-
- uint8_t IntVal;
- } Byte1;
-
- union
- {
- struct
- {
- unsigned int Min : 4;
- unsigned int TenMin : 3;
- unsigned int _RESERVED : 1;
- };
-
- uint8_t IntVal;
- } Byte2;
-
- union
- {
- struct
- {
- unsigned int Hour : 4;
- unsigned int TenHour : 2;
- unsigned int TwelveHourMode : 1;
- unsigned int _RESERVED : 1;
- };
-
- uint8_t IntVal;
- } Byte3;
- } DS1307_TimeRegs_t;
-
- typedef struct
- {
- union
- {
- struct
- {
- unsigned int Day : 4;
- unsigned int TenDay : 2;
- unsigned int _RESERVED : 2;
- };
-
- uint8_t IntVal;
- } Byte1;
-
- union
- {
- struct
- {
- unsigned int Month : 4;
- unsigned int TenMonth : 1;
- unsigned int _RESERVED : 3;
- };
-
- uint8_t IntVal;
- } Byte2;
-
- union
- {
- struct
- {
- unsigned int Year : 4;
- unsigned int TenYear : 4;
- };
-
- uint8_t IntVal;
- } Byte3;
- } DS1307_DateRegs_t;
-
- /* Macros: */
- #define DS1307_TIMEREG_START 0x00
- #define DS1307_DATEREG_START 0x04
-
- #define DS1307_ADDRESS_READ 0b11010001
- #define DS1307_ADDRESS_WRITE 0b11010000
-
- /* Function Prototypes: */
- void DS1307_SetDate(uint8_t Day, uint8_t Month, uint8_t Year);
- void DS1307_SetTime(uint8_t Hour, uint8_t Minute, uint8_t Second);
-
- void DS1307_GetDate(uint8_t* Day, uint8_t* Month, uint8_t* Year);
- void DS1307_GetTime(uint8_t* Hour, uint8_t* Minute, uint8_t* Second);
-
-#endif
+/* + Copyright (C) Dean Camera, 2010. + + dean [at] fourwalledcubicle [dot] com + www.fourwalledcubicle.com +*/ + +#ifndef _DS1307_H_ +#define _DS1307_H_ + + /* Includes: */ + #include <avr/io.h> + + #include <LUFA/Drivers/Peripheral/TWI.h> + + /* Type Defines: */ + typedef struct + { + union + { + struct + { + unsigned int Sec : 4; + unsigned int TenSec : 3; + unsigned int CH : 1; + }; + + uint8_t IntVal; + } Byte1; + + union + { + struct + { + unsigned int Min : 4; + unsigned int TenMin : 3; + unsigned int _RESERVED : 1; + }; + + uint8_t IntVal; + } Byte2; + + union + { + struct + { + unsigned int Hour : 4; + unsigned int TenHour : 2; + unsigned int TwelveHourMode : 1; + unsigned int _RESERVED : 1; + }; + + uint8_t IntVal; + } Byte3; + } DS1307_TimeRegs_t; + + typedef struct + { + union + { + struct + { + unsigned int Day : 4; + unsigned int TenDay : 2; + unsigned int _RESERVED : 2; + }; + + uint8_t IntVal; + } Byte1; + + union + { + struct + { + unsigned int Month : 4; + unsigned int TenMonth : 1; + unsigned int _RESERVED : 3; + }; + + uint8_t IntVal; + } Byte2; + + union + { + struct + { + unsigned int Year : 4; + unsigned int TenYear : 4; + }; + + uint8_t IntVal; + } Byte3; + } DS1307_DateRegs_t; + + /* Macros: */ + #define DS1307_TIMEREG_START 0x00 + #define DS1307_DATEREG_START 0x04 + + #define DS1307_ADDRESS_READ 0b11010001 + #define DS1307_ADDRESS_WRITE 0b11010000 + + /* Function Prototypes: */ + void DS1307_SetDate(uint8_t Day, uint8_t Month, uint8_t Year); + void DS1307_SetTime(uint8_t Hour, uint8_t Minute, uint8_t Second); + + void DS1307_GetDate(uint8_t* Day, uint8_t* Month, uint8_t* Year); + void DS1307_GetTime(uint8_t* Hour, uint8_t* Minute, uint8_t* Second); + +#endif |