From 790b365595ce0e3407777b9ff37494ec7fe7db0f Mon Sep 17 00:00:00 2001 From: Dave Chapman Date: Sun, 11 Dec 2005 00:47:40 +0000 Subject: Reworking of Archos RTC code to create a (slightly) more abstract RTC api git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8216 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/rtc.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'firmware/drivers/rtc.c') diff --git a/firmware/drivers/rtc.c b/firmware/drivers/rtc.c index 30bbb6dfcb..b77db8b865 100644 --- a/firmware/drivers/rtc.c +++ b/firmware/drivers/rtc.c @@ -249,4 +249,34 @@ int rtc_read_multiple(unsigned char address, unsigned char *buf, int numbytes) i2c_end(); return ret; } -#endif + +int rtc_read_datetime(unsigned char* buf) { + int rc; + + rc = rtc_read_multiple(1, buf, 7); + + /* Adjust weekday */ + if(buf[3] == 7) + buf[3]=0; + + return rc; +} + +int rtc_write_datetime(unsigned char* buf) { + int i; + int rc = 0; + + /* Adjust weekday */ + if(buf[3] == 0) + buf[3] = 7; + + for (i = 0; i < 7 ; i++) + { + rc |= rtc_write(i+1, buf[i]); + } + rc |= rtc_write(8, 0x80); /* Out=1, calibration = 0 */ + + return rc; +} + +#endif /* CONFIG_RTC */ -- cgit v1.2.3