ds1307rtc.c File Reference


Detailed Description

RTC and RAM routines for the Dallas DS1307 clock chip.

 *
 * $Log: ds1307rtc.c,v $
 * Revision 1.6  2008/08/11 06:59:42  haraldkipp
 * BSD types replaced by stdint types (feature request #1282721).
 *
 * 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 (uint8_t reg, uint8_t *buff, size_t cnt)
 Read RTC registers.
int DS1307RtcWrite (CONST uint8_t *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 (uint8_t addr, uint8_t *buff, size_t cnt)
 Read contents from DS1307 RAM.
int DS1307RamWrite (uint8_t 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


Function Documentation

int DS1307RtcReadRegs ( uint8_t  reg,
uint8_t 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 89 of file ds1307rtc.c.

References I2C_SLA_RTC, NUT_WAIT_INFINITE, and TwMasterTransact().

Referenced by DS1307Init(), DS1307RamRead(), and DS1307RtcGetClock().

int DS1307RtcWrite ( CONST uint8_t 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 110 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.

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 126 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 151 of file ds1307rtc.c.

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

int DS1307RamRead ( uint8_t  addr,
uint8_t 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 178 of file ds1307rtc.c.

References DS1307RtcReadRegs().

int DS1307RamWrite ( uint8_t  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 199 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 228 of file ds1307rtc.c.

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


Variable Documentation

Initial value:

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

Definition at line 252 of file ds1307rtc.c.


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