00001 /* 00002 00003 Copyright (c) 2010, Embedded Adventures, www.embeddedadventures.com 00004 All rights reserved. 00005 00006 Redistribution and use in source and binary forms, with or without 00007 modification, are permitted provided that the following conditions are met: 00008 00009 - Redistributions of source code must retain the above copyright notice, 00010 this list of conditions and the following disclaimer. 00011 00012 - Redistributions in binary form must reproduce the above copyright 00013 notice, this list of conditions and the following disclaimer in the 00014 documentation and/or other materials provided with the distribution. 00015 00016 - Neither the name of Embedded Adventures nor the names of its contributors 00017 may be used to endorse or promote products derived from this software 00018 without specific prior written permission. 00019 00020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00021 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00022 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00023 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 00024 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00025 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00026 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00027 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00028 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00029 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 00030 THE POSSIBILITY OF SUCH DAMAGE. 00031 00032 Contact us at admin@embeddedadventures.com 00033 00034 */ 00035 00043 #ifndef __ds1307_h 00044 #define __ds1307_h defined 00045 00046 #include "i2c.h" 00047 #include "pic_utils.h" 00048 00050 #define ds1307_device 0xD0 00051 00053 #define ds1307_seconds_register 0x00 00054 00055 #define ds1307_minutes_register 0x01 00056 00057 #define ds1307_hours_register 0x02 00058 00059 #define ds1307_day_register 0x03 00060 00061 #define ds1307_date_register 0x04 00062 00063 #define ds1307_month_register 0x05 00064 00065 #define ds1307_year_register 0x06 00066 00067 #define ds1307_control_register 0x07 00068 00076 uns8 rtc_get_minutes(); 00077 00078 00089 uns8 rtc_get_hours(); 00090 00091 00100 uns8 rtc_get_seconds(); 00101 00109 uns8 rtc_get_day(); 00110 00111 00119 uns8 rtc_get_date(); 00120 00121 00129 uns8 rtc_get_month(); 00130 00131 00139 uns8 rtc_get_year(); 00140 00157 uns8 rtc_get_config(); 00158 00159 00165 void rtc_set_year(uns16 year); 00166 00175 void rtc_set_minutes(uns16 minutes); 00176 00177 00186 void rtc_set_day(uns8 day); 00195 void rtc_set_date(uns8 date); 00196 00204 void rtc_set_seconds(uns8 seconds); 00205 00212 void rtc_set_hours(uns8 hours); 00213 00219 void rtc_set_month(uns8 month); 00220 00240 uns8 rtc_set_config(uns8 config); 00241 00247 void rtc_stop_clock(); 00248 00249 00255 void rtc_start_clock(); 00256 00257 00263 void rtc_setup_io(); 00264 #define rtc_setup() rtc_setup_io() 00265 00266 #endif