SEDO subject project
Dependencies: ds3231 mbed-rtos mbed DHT
Diff: real_time_clock.cpp
- Revision:
- 9:5e9c4277151d
- Child:
- 10:f14f47225091
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/real_time_clock.cpp Mon May 08 07:20:54 2017 +0000 @@ -0,0 +1,54 @@ + +Ds3231 rtc(D14, D15); + +int setupRTC(void) +{ + int error = 0; + char temp[255]; + int token_count = 0; + int time_data[7] + ds3231_cntl_stat_t rtc_control_status = {0,0}; + ds3231_time_t rtc_time; + ds3231_calendar_t rtc_calendar; + + scanf("%d", &temp); + char * pch; + pch = strtok (str,","); + do { + + printf ("Insert DOW,DOM,M,Y,H,m,S\n"); + while (pch != NULL) { + if(token_count>=7) { + error = 1; + break; + } + time_data[token_count] = atoi(pch); + token_count++; + } + } while(error==0); + + rtc.set_cntl_stat_reg(rtc_control_status); + tc_calendar.day=time_data[0]; + rtc_calendar.date=time_data[1]; + rtc_calendar.month=time_data[2]; + rtc_calendar.year=time_data[3]; + rtc_time.mode=0; + rtc_time.hours=time_data[4]; + rtc_time.minutes=time_data[5]; + rtc_time.seconds=time_data[6]; + + //Set the time, uses inverted logic for return value + if(rtc.set_time(rtc_time)) { + printf("\nrtc.set_time failed!!\n"); + error = 2; + } + + //Set the calendar, uses inverted logic for return value + if(rtc.set_calendar(rtc_calendar)) { + printf("\nrtc.set_calendar failed!!\n"); + error = 3; + } + return error; + + +} \ No newline at end of file