From 46c14a44e8e889bbdd317895492b70b179070441 Mon Sep 17 00:00:00 2001 From: joeycastillo Date: Tue, 14 Dec 2021 17:06:59 +0000 Subject: deploy: e8e9a0e2d86d37fa0354b3475c907eae1bf5a6dd --- watch__rtc_8h_source.html | 174 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 watch__rtc_8h_source.html (limited to 'watch__rtc_8h_source.html') diff --git a/watch__rtc_8h_source.html b/watch__rtc_8h_source.html new file mode 100644 index 00000000..10578d66 --- /dev/null +++ b/watch__rtc_8h_source.html @@ -0,0 +1,174 @@ + + + + + + + +Sensor Watch: watch-library/watch/watch_rtc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
Sensor Watch +  0.0.0 +
+
A board replacement for the classic Casio F-91W wristwatch, powered by a Microchip SAM L22 microcontroller.
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
watch_rtc.h
+
+
+
1 /*
+
2  * MIT License
+
3  *
+
4  * Copyright (c) 2020 Joey Castillo
+
5  *
+
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
+
7  * of this software and associated documentation files (the "Software"), to deal
+
8  * in the Software without restriction, including without limitation the rights
+
9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
10  * copies of the Software, and to permit persons to whom the Software is
+
11  * furnished to do so, subject to the following conditions:
+
12  *
+
13  * The above copyright notice and this permission notice shall be included in all
+
14  * copies or substantial portions of the Software.
+
15  *
+
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+
22  * SOFTWARE.
+
23  */
+
24 #ifndef _WATCH_RTC_H_INCLUDED
+
25 #define _WATCH_RTC_H_INCLUDED
+
27 
+
28 #include "watch.h"
+
29 #include "hpl_calendar.h"
+
30 
+
41 
+
42 #define WATCH_RTC_REFERENCE_YEAR (2020)
+
43 
+
44 typedef union {
+
45  struct {
+
46  uint32_t second : 6; // 0-59
+
47  uint32_t minute : 6; // 0-59
+
48  uint32_t hour : 5; // 0-23
+
49  uint32_t day : 5; // 1-31
+
50  uint32_t month : 4; // 1-12
+
51  uint32_t year : 6; // 0-63 (representing 2020-2083)
+
52  } unit;
+
53  uint32_t reg; // the bit-packed value as expected by the RTC peripheral's CLOCK register.
+ +
55 
+
56 typedef enum watch_rtc_alarm_match {
+
57  ALARM_MATCH_DISABLED = 0,
+
58  ALARM_MATCH_SS,
+
59  ALARM_MATCH_MMSS,
+
60  ALARM_MATCH_HHMMSS,
+
61 } watch_rtc_alarm_match;
+
62 
+
66 bool _watch_rtc_is_enabled(void);
+
67 
+ +
77 
+ +
83 
+
99 void watch_rtc_register_alarm_callback(ext_irq_cb_t callback, watch_date_time alarm_time, watch_rtc_alarm_match mask);
+
100 
+ +
104 
+
112 void watch_rtc_register_tick_callback(ext_irq_cb_t callback);
+
113 
+ +
117 
+
133 void watch_rtc_register_periodic_callback(ext_irq_cb_t callback, uint8_t frequency);
+
134 
+
138 void watch_rtc_disable_periodic_callback(uint8_t frequency);
+
139 
+ +
143 
+
147 __attribute__((deprecated("Use watch_rtc_set_date_time function instead")))
+
148 void watch_set_date_time(struct calendar_date_time date_time);
+
149 
+
153 __attribute__((deprecated("Use the watch_rtc_get_date_time function instead")))
+
154 void watch_get_date_time(struct calendar_date_time *date_time);
+
155 
+
160 __attribute__((deprecated("Use the watch_rtc_register_tick_callback function instead")))
+
161 void watch_register_tick_callback(ext_irq_cb_t callback);
+
162 
+
164 #endif
+
void watch_rtc_disable_all_periodic_callbacks(void)
Disables all periodic callbacks, including the once-per-second tick callback.
Definition: watch_rtc.c:105
+
watch_date_time watch_rtc_get_date_time(void)
Returns the date and time.
Definition: watch_rtc.c:64
+
bool _watch_rtc_is_enabled(void)
Called by main.c to check if the RTC is enabled. You may call this function, but outside of app_init,...
Definition: watch_rtc.c:33
+
void watch_rtc_disable_periodic_callback(uint8_t frequency)
Disables the tick callback for the given period.
Definition: watch_rtc.c:99
+
void watch_rtc_disable_tick_callback(void)
Disables the tick callback for the given period.
Definition: watch_rtc.c:77
+
void watch_rtc_disable_alarm_callback(void)
Disables the alarm callback.
Definition: watch_rtc.c:119
+
void watch_rtc_register_tick_callback(ext_irq_cb_t callback)
Registers a "tick" callback that will be called once per second.
Definition: watch_rtc.c:73
+
__attribute__((deprecated("Use watch_rtc_set_date_time function instead"))) void watch_set_date_time(struct calendar_date_time date_time)
Sets the system date and time.
+
void watch_rtc_register_alarm_callback(ext_irq_cb_t callback, watch_date_time alarm_time, watch_rtc_alarm_match mask)
Registers an alarm callback that will be called when the RTC time matches the target time,...
Definition: watch_rtc.c:109
+
void watch_rtc_set_date_time(watch_date_time date_time)
Sets the date and time.
Definition: watch_rtc.c:59
+
void watch_rtc_register_periodic_callback(ext_irq_cb_t callback, uint8_t frequency)
Registers a callback that will be called at a configurable period.
Definition: watch_rtc.c:81
+
Definition: watch_rtc.h:44
+ +
+ + + + -- cgit v1.2.3