* * $Log: ds1307rtc.c,v $ * Revision 1.5 2007/09/11 17:32:30 haraldkipp * Last minute fix (bug #1786271) * * Revision 1.4 2006/10/08 16:39:33 haraldkipp * Corrected range check in DS1307RamRead(). Thanks to Helmut Holbach. * * Revision 1.3 2006/10/05 17:18:49 haraldkipp * Hardware independant RTC layer added. * * Revision 1.2 2006/08/25 13:42:55 olereinhardt * avr-gcc 3.4 does not understand binary representation of numbers, * changed to hex * * Revision 1.1 2006/06/30 22:05:51 christianwelzel * Initial check in. * * *
Definition in file ds1307rtc.c.
Go to the source code of this file.
Defines | |
#define | I2C_SLA_RTC 0x68 |
Functions | |
int | DS1307RtcReadRegs (u_char reg, u_char *buff, size_t cnt) |
Read RTC registers. | |
int | DS1307RtcWrite (CONST u_char *buff, size_t cnt) |
Write to RTC registers. | |
int | DS1307RtcGetClock (struct _tm *tm) |
Get date and time from an DS1307 hardware clock. | |
int | DS1307RtcSetClock (CONST struct _tm *tm) |
Set the DS1307 hardware clock. | |
int | DS1307RamRead (u_char addr, u_char *buff, size_t cnt) |
Read contents from DS1307 RAM. | |
int | DS1307RamWrite (u_char addr, CONST void *buff, size_t len) |
Store buffer contents in DS1307 RAM. | |
int | DS1307Init (void) |
Initialize the interface to an Dallas DS1307 hardware clock. | |
Variables | |
NUTRTC | rtcDs1307 |
#define I2C_SLA_RTC 0x68 |
Definition at line 73 of file ds1307rtc.c.
Referenced by DS1307RamWrite(), DS1307RtcReadRegs(), DS1307RtcWrite(), PcfRtcReadRegs(), PcfRtcWrite(), X12RtcReadRegs(), and X12RtcWrite().
Read RTC registers.
reg | The first register to read. | |
buff | Pointer to a buffer that receives the register contents. | |
cnt | The number of registers to read. |
Definition at line 86 of file ds1307rtc.c.
References I2C_SLA_RTC, NUT_WAIT_INFINITE, and TwMasterTransact().
Referenced by DS1307Init(), DS1307RamRead(), and DS1307RtcGetClock().
int DS1307RtcWrite | ( | CONST u_char * | buff, | |
size_t | cnt | |||
) |
Write to RTC registers.
buff | This buffer must contain all bytes to be transfered to the RTC chip, including the register address. | |
cnt | Number of valid bytes in the buffer. |
Definition at line 107 of file ds1307rtc.c.
References I2C_SLA_RTC, NUT_WAIT_INFINITE, and TwMasterTransact().
Referenced by DS1307Init(), and DS1307RtcSetClock().
int DS1307RtcGetClock | ( | struct _tm * | tm | ) |
Get date and time from an DS1307 hardware clock.
tm | Points to a structure that receives the date and time information. |
Definition at line 123 of file ds1307rtc.c.
References BCD2BIN, DS1307RtcReadRegs(), _tm::tm_hour, _tm::tm_mday, _tm::tm_min, _tm::tm_mon, _tm::tm_sec, _tm::tm_wday, and _tm::tm_year.
int DS1307RtcSetClock | ( | CONST struct _tm * | tm | ) |
Set the DS1307 hardware clock.
tm | Points to a structure which contains the date and time information. |
Definition at line 148 of file ds1307rtc.c.
References BIN2BCD, DS1307RtcWrite(), and memset().
Read contents from DS1307 RAM.
addr | Start location. | |
buff | Points to a buffer that receives the contents. | |
cnt | Number of bytes to read. |
Definition at line 175 of file ds1307rtc.c.
References DS1307RtcReadRegs().
int DS1307RamWrite | ( | u_char | addr, | |
CONST void * | buff, | |||
size_t | len | |||
) |
Store buffer contents in DS1307 RAM.
addr | Storage start location. | |
buff | Points to a buffer that contains the bytes to store. | |
len | Number of valid bytes in the buffer. |
Definition at line 196 of file ds1307rtc.c.
References CONST, free, I2C_SLA_RTC, malloc, memcpy(), NUT_WAIT_INFINITE, and TwMasterTransact().
int DS1307Init | ( | void | ) |
Initialize the interface to an Dallas DS1307 hardware clock.
Definition at line 225 of file ds1307rtc.c.
References DS1307RtcReadRegs(), DS1307RtcWrite(), and TwInit().
Initial value:
{ DS1307Init, DS1307RtcGetClock, DS1307RtcSetClock, NULL, NULL, NULL, NULL }
Definition at line 249 of file ds1307rtc.c.