aboutsummaryrefslogtreecommitdiffstats
path: root/testhal
diff options
context:
space:
mode:
authorbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-12-12 13:13:07 +0000
committerbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-12-12 13:13:07 +0000
commitdd834361e8d805cf5ecf89bcdc15b08f60268e76 (patch)
tree0ed6b741781f87b078f8d3b71bf99f7e7309fb0b /testhal
parent527ef56ed39ada4b393062184144c33a86dbac2c (diff)
downloadChibiOS-dd834361e8d805cf5ecf89bcdc15b08f60268e76.tar.gz
ChibiOS-dd834361e8d805cf5ecf89bcdc15b08f60268e76.tar.bz2
ChibiOS-dd834361e8d805cf5ecf89bcdc15b08f60268e76.zip
RTCv1 code cleanups and adding some safety checks.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3603 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'testhal')
-rw-r--r--testhal/STM32F1xx/RTC/main.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/testhal/STM32F1xx/RTC/main.c b/testhal/STM32F1xx/RTC/main.c
index 19043a02a..e8e3480ec 100644
--- a/testhal/STM32F1xx/RTC/main.c
+++ b/testhal/STM32F1xx/RTC/main.c
@@ -24,7 +24,7 @@
RTCTime timespec;
RTCAlarm alarmspec;
-#define TEST_ALARM_WAKEUP TRUE
+#define TEST_ALARM_WAKEUP FALSE
#if TEST_ALARM_WAKEUP
@@ -63,8 +63,10 @@ int main(void) {
#else /* TEST_ALARM_WAKEUP */
+/**
+ * Callback function for RTC.
+ */
static void my_cb(RTCDriver *rtcp, rtcevent_t event) {
-
(void)rtcp;
switch (event) {
@@ -77,21 +79,31 @@ static void my_cb(RTCDriver *rtcp, rtcevent_t event) {
case RTC_EVENT_ALARM:
palTogglePad(GPIOC, GPIOC_LED);
rtcGetTime(&RTCD1, &timespec);
- alarmspec.tv_sec = timespec.tv_sec + 10;
+ alarmspec.tv_sec = timespec.tv_sec + 5;
rtcSetAlarm(&RTCD1, 0, &alarmspec);
break;
}
}
-int main(void) {
+/**
+ * Configuration structure with all callbacks supported by platform.
+ */
+static RTCCallbackConfig rtc_cb_cfg = {
+ my_cb
+};
+
+/**
+ * Main function.
+ */
+int main(void){
halInit();
chSysInit();
rtcGetTime(&RTCD1, &timespec);
- alarmspec.tv_sec = timespec.tv_sec + 10;
+ alarmspec.tv_sec = timespec.tv_sec + 5;
rtcSetAlarm(&RTCD1, 0, &alarmspec);
- rtcSetCallback(&RTCD1, my_cb);
+ rtcSetCallback(&RTCD1, &rtc_cb_cfg);
while (TRUE){
chThdSleepMilliseconds(500);
}