SEDO subject project

Dependencies:   ds3231 mbed-rtos mbed DHT

real_time_clock.cpp

Committer:
ValenSalLop
Date:
2017-05-08
Revision:
9:5e9c4277151d
Child:
10:f14f47225091

File content as of revision 9:5e9c4277151d:


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;


}