Motoo Tanaka / Mbed 2 deprecated testRTC8564

Dependencies:   RTC8564 mbed

Committer:
Rhyme
Date:
Fri May 12 01:33:08 2017 +0000
Revision:
2:186958aacaef
Parent:
0:dac564e18146
Some clean ups and added title print

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhyme 0:dac564e18146 1 #include "mbed.h"
Rhyme 0:dac564e18146 2 #include "MSS.h"
Rhyme 0:dac564e18146 3 #include "RTC8564.h"
Rhyme 0:dac564e18146 4
Rhyme 0:dac564e18146 5 #define RTC8564_I2C_ADDRESS (0x51)
Rhyme 0:dac564e18146 6
Rhyme 0:dac564e18146 7 char *dayName[] = {
Rhyme 0:dac564e18146 8 "Sunday",
Rhyme 0:dac564e18146 9 "Monday",
Rhyme 0:dac564e18146 10 "Tuesday",
Rhyme 0:dac564e18146 11 "Wednesday",
Rhyme 0:dac564e18146 12 "Thursday",
Rhyme 0:dac564e18146 13 "Friday",
Rhyme 0:dac564e18146 14 "Saturday",
Rhyme 0:dac564e18146 15 0
Rhyme 0:dac564e18146 16 } ;
Rhyme 0:dac564e18146 17
Rhyme 0:dac564e18146 18 RTC8564 *rtc = 0 ;
Rhyme 0:dac564e18146 19
Rhyme 0:dac564e18146 20 void dumpData(uint8_t data[])
Rhyme 0:dac564e18146 21 {
Rhyme 0:dac564e18146 22 int i ;
Rhyme 0:dac564e18146 23 for (i = 0 ; i < 0x10 ; i++ ) {
Rhyme 0:dac564e18146 24 printf("%02X ", data[i]) ;
Rhyme 0:dac564e18146 25 }
Rhyme 0:dac564e18146 26 printf("\n") ;
Rhyme 0:dac564e18146 27 }
Rhyme 0:dac564e18146 28
Rhyme 0:dac564e18146 29 void prompt(char *str)
Rhyme 0:dac564e18146 30 {
Rhyme 0:dac564e18146 31 printf("%s > ", str) ;
Rhyme 0:dac564e18146 32 fflush(stdout) ;
Rhyme 0:dac564e18146 33 }
Rhyme 0:dac564e18146 34
Rhyme 0:dac564e18146 35 void setTime(void)
Rhyme 0:dac564e18146 36 {
Rhyme 0:dac564e18146 37 int year, month, day, dayofweek ;
Rhyme 0:dac564e18146 38 int hour, minute, second ;
Rhyme 0:dac564e18146 39 rtc->stop() ;
Rhyme 0:dac564e18146 40 prompt("Enter Year") ; scanf("%d", &year) ;
Rhyme 0:dac564e18146 41 rtc->setYears(year-2000) ;
Rhyme 0:dac564e18146 42
Rhyme 0:dac564e18146 43 prompt("Enter Month") ; scanf("%d", &month) ;
Rhyme 0:dac564e18146 44 rtc->setMonths(month) ;
Rhyme 0:dac564e18146 45
Rhyme 0:dac564e18146 46 prompt("Enter Day") ; scanf("%d", &day) ;
Rhyme 0:dac564e18146 47 rtc->setDays(day) ;
Rhyme 0:dac564e18146 48
Rhyme 0:dac564e18146 49 prompt("Enter Day of week(0: Sun... 6: Sat)") ;
Rhyme 0:dac564e18146 50 scanf("%d", &dayofweek) ;
Rhyme 0:dac564e18146 51 rtc->setWeekdays( dayofweek ) ;
Rhyme 0:dac564e18146 52
Rhyme 0:dac564e18146 53 prompt("Enter hour (0..23)") ; scanf("%d", &hour) ;
Rhyme 0:dac564e18146 54 rtc->setHours(hour) ;
Rhyme 0:dac564e18146 55
Rhyme 0:dac564e18146 56 prompt("Enter min (0..59)") ; scanf("%d", &minute) ;
Rhyme 0:dac564e18146 57 rtc->setMinutes( minute ) ;
Rhyme 0:dac564e18146 58
Rhyme 0:dac564e18146 59 prompt("Enter sec (0..59)") ; scanf("%d", &second ) ;
Rhyme 0:dac564e18146 60 rtc->setSeconds( second ) ;
Rhyme 0:dac564e18146 61
Rhyme 0:dac564e18146 62 rtc->setMinuteAlarm(0x00) ;
Rhyme 0:dac564e18146 63 rtc->setHourAlarm(0x00) ;
Rhyme 0:dac564e18146 64 rtc->setDayAlarm(0x00) ;
Rhyme 0:dac564e18146 65 rtc->setWeekdayAlarm(0x00) ;
Rhyme 0:dac564e18146 66 rtc->setCLKOUTFrequency(0x00) ;
Rhyme 0:dac564e18146 67 rtc->setTimerControl(0x00) ;
Rhyme 0:dac564e18146 68 rtc->setTimer(0x00) ;
Rhyme 0:dac564e18146 69
Rhyme 0:dac564e18146 70 rtc->start() ;
Rhyme 0:dac564e18146 71 }
Rhyme 0:dac564e18146 72
Rhyme 0:dac564e18146 73 void printTime(void)
Rhyme 0:dac564e18146 74 {
Rhyme 0:dac564e18146 75 if (rtc) {
Rhyme 0:dac564e18146 76 printf("20%02d/%02d/%02d %s %02d:%02d:%02d\n",
Rhyme 0:dac564e18146 77 rtc->getYears(),
Rhyme 0:dac564e18146 78 rtc->getMonths(),
Rhyme 0:dac564e18146 79 rtc->getDays(),
Rhyme 0:dac564e18146 80 dayName[ rtc->getWeekdays() ],
Rhyme 0:dac564e18146 81 rtc->getHours(),
Rhyme 0:dac564e18146 82 rtc->getMinutes(),
Rhyme 0:dac564e18146 83 rtc->getSeconds()
Rhyme 0:dac564e18146 84 ) ;
Rhyme 0:dac564e18146 85 }
Rhyme 0:dac564e18146 86 }
Rhyme 0:dac564e18146 87
Rhyme 0:dac564e18146 88 int main() {
Rhyme 2:186958aacaef 89 rtc = new RTC8564(PIN_SDA, PIN_SCL, RTC8564_I2C_ADDRESS) ;
Rhyme 2:186958aacaef 90 printf("=== test RTC8564 for %s (%s) ===\n",BOARD_NAME, __DATE__) ;
Rhyme 0:dac564e18146 91 setTime() ;
Rhyme 0:dac564e18146 92 while(1){
Rhyme 0:dac564e18146 93 printTime() ;
Rhyme 2:186958aacaef 94 wait(1) ;
Rhyme 0:dac564e18146 95 }
Rhyme 0:dac564e18146 96 }