LED clock
 All Files Functions Variables Macros Groups Pages
rtc_ds1307.h
Go to the documentation of this file.
1 /* This program is free software: you can redistribute it and/or modify
2  * it under the terms of the GNU General Public License as published by
3  * the Free Software Foundation, either version 3 of the License, or
4  * (at your option) any later version.
5  *
6  * This program is distributed in the hope that it will be useful,
7  * but WITHOUT ANY WARRANTY; without even the implied warranty of
8  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9  * GNU General Public License for more details.
10  *
11  * You should have received a copy of the GNU General Public License
12  * along with this program. If not, see <http://www.gnu.org/licenses/>.
13  *
14  */
22 #pragma once
23 
27 #define SQUARE_WAVE_RCC RCC_GPIOB
28 #define SQUARE_WAVE_PORT GPIOB
29 #define SQUARE_WAVE_PIN GPIO10
30 #define SQUARE_WAVE_EXTI EXTI10
31 //#define SQUARE_WAVE_IRQ NVIC_EXTI15_10_IRQ
32 //#define SQUARE_WAVE_ISR exti15_10_isr
33 //#define SQUARE_WAVE_HANDLING true
36 #if defined(SQUARE_WAVE_EXTI) && defined(SQUARE_WAVE_IRQ) && defined(SQUARE_WAVE_ISR) && defined(SQUARE_WAVE_HANDLING) && SQUARE_WAVE_HANDLING
37 extern volatile bool square_wave_flag;
38 #endif
39 
43 void rtc_setup(void);
47 bool rtc_oscillator_disabled(void);
51 uint16_t rtc_read_square_wave(void);
55 uint8_t rtc_read_seconds(void);
59 uint8_t rtc_read_minutes(void);
63 uint8_t rtc_read_hours(void);
67 uint8_t rtc_read_day(void);
71 uint8_t rtc_read_date(void);
75 uint8_t rtc_read_month(void);
79 uint16_t rtc_read_year(void);
83 uint16_t* rtc_read_time(void);
87 bool rtc_oscillator_disable(void);
91 bool rtc_oscillator_enable(void);
96 bool rtc_write_square_wave(uint16_t frequency);
101 bool rtc_write_seconds(uint8_t seconds);
106 bool rtc_write_minutes(uint8_t minutes);
111 bool rtc_write_hours(uint8_t hours);
116 bool rtc_write_day(uint8_t day);
121 bool rtc_write_date(uint8_t date);
126 bool rtc_write_month(uint8_t month);
131 bool rtc_write_year(uint16_t year);
142 bool rtc_write_time(uint8_t seconds, uint8_t minutes, uint8_t hours, uint8_t day, uint8_t date, uint8_t month, uint16_t year);
bool rtc_oscillator_disable(void)
disable RTC IC oscillator
Definition: rtc_ds1307.c:289
bool rtc_write_day(uint8_t day)
write day into RTC IC
Definition: rtc_ds1307.c:364
uint16_t rtc_read_square_wave(void)
read square wave output frequency (in Hz)
Definition: rtc_ds1307.c:143
uint8_t rtc_read_minutes(void)
read minutes from RTC IC
Definition: rtc_ds1307.c:166
bool rtc_oscillator_enable(void)
enable RTC IC oscillator
Definition: rtc_ds1307.c:297
uint16_t * rtc_read_time(void)
read time from RTC IC
Definition: rtc_ds1307.c:228
bool rtc_write_year(uint16_t year)
write year into RTC IC
Definition: rtc_ds1307.c:394
bool rtc_oscillator_disabled(void)
verify if oscillator is disabled
Definition: rtc_ds1307.c:136
uint8_t rtc_read_hours(void)
read hours from RTC IC
Definition: rtc_ds1307.c:175
void rtc_setup(void)
setup communication with RTC IC configure the I2C port defined in the sources
Definition: rtc_ds1307.c:54
bool rtc_write_minutes(uint8_t minutes)
write minutes into RTC IC
Definition: rtc_ds1307.c:344
bool rtc_write_hours(uint8_t hours)
write hours into RTC IC
Definition: rtc_ds1307.c:354
bool rtc_write_date(uint8_t date)
write date into RTC IC
Definition: rtc_ds1307.c:374
uint16_t rtc_read_year(void)
read year from RTC IC
Definition: rtc_ds1307.c:219
uint8_t rtc_read_date(void)
read date from RTC IC
Definition: rtc_ds1307.c:201
bool rtc_write_time(uint8_t seconds, uint8_t minutes, uint8_t hours, uint8_t day, uint8_t date, uint8_t month, uint16_t year)
write time into RTC IC
Definition: rtc_ds1307.c:404
bool rtc_write_month(uint8_t month)
write month into RTC IC
Definition: rtc_ds1307.c:384
uint8_t rtc_read_seconds(void)
read seconds from RTC IC
Definition: rtc_ds1307.c:157
bool rtc_write_square_wave(uint16_t frequency)
write square wave output frequency (in Hz)
Definition: rtc_ds1307.c:305
uint8_t rtc_read_month(void)
read month from RTC IC
Definition: rtc_ds1307.c:210
uint8_t rtc_read_day(void)
read day from RTC IC
Definition: rtc_ds1307.c:192
bool rtc_write_seconds(uint8_t seconds)
write seconds into RTC IC
Definition: rtc_ds1307.c:330