ds1307rtc.c File Reference


Detailed Description

RTC and RAM routines for the Dallas DS1307 clock chip.

 *
 * $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 Documentation

#define I2C_SLA_RTC   0x68

Definition at line 73 of file ds1307rtc.c.

Referenced by DS1307RamWrite(), DS1307RtcReadRegs(), DS1307RtcWrite(), PcfRtcReadRegs(), PcfRtcWrite(), X12RtcReadRegs(), and X12RtcWrite().


Function Documentation

int DS1307RtcReadRegs ( u_char  reg,
u_char buff,
size_t  cnt 
)

Read RTC registers.

Parameters:
reg The first register to read.
buff Pointer to a buffer that receives the register contents.
cnt The number of registers to read.
Returns:
0 on success or -1 in case of an error.

Definition at line 86 of file ds1307rtc.c.

References I2C_SLA_RTC, NUT_WAIT_INFINITE, and TwMasterTransact().

int DS1307RtcWrite ( CONST u_char buff,
size_t  cnt 
)

Write to RTC registers.

Parameters:
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.
Returns:
0 on success or -1 in case of an error.

Definition at line 107 of file ds1307rtc.c.

References I2C_SLA_RTC, NUT_WAIT_INFINITE, and TwMasterTransact().

int DS1307RtcGetClock ( struct _tm tm  ) 

Get date and time from an DS1307 hardware clock.

Parameters:
tm Points to a structure that receives the date and time information.
Returns:
0 on success or -1 in case of an error.

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.

Parameters:
tm Points to a structure which contains the date and time information.
Returns:
0 on success or -1 in case of an error.

Definition at line 148 of file ds1307rtc.c.

References BIN2BCD, DS1307RtcWrite(), and memset().

int DS1307RamRead ( u_char  addr,
u_char buff,
size_t  cnt 
)

Read contents from DS1307 RAM.

Parameters:
addr Start location.
buff Points to a buffer that receives the contents.
cnt Number of bytes to read.
Returns:
0 on success or -1 in case of an error.

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.

Parameters:
addr Storage start location.
buff Points to a buffer that contains the bytes to store.
len Number of valid bytes in the buffer.
Returns:
0 on success or -1 in case of an error.

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.

Returns:
0 on success or -1 in case of an error.

Definition at line 225 of file ds1307rtc.c.

References DS1307RtcReadRegs(), DS1307RtcWrite(), and TwInit().


Variable Documentation

NUTRTC rtcDs1307

Initial value:

 {
    DS1307Init,         
    DS1307RtcGetClock,  
    DS1307RtcSetClock,  
    NULL,               
    NULL,               
    NULL,               
    NULL                
}

Definition at line 249 of file ds1307rtc.c.


© 2000-2007 by egnite Software GmbH - visit http://www.ethernut.de/