Fork of Demo program for ard2pmod library. Alarm features of RTC have not been tested, please try them out.
Dependencies: Terminal ard2pmod mbed
Fork of ard2pmod_demo by
Diff: main.cpp
- Revision:
- 6:5213e60b19c9
- Parent:
- 5:46b14ed96df3
- Child:
- 7:9b848bb25677
diff -r 46b14ed96df3 -r 5213e60b19c9 main.cpp --- a/main.cpp Fri Feb 06 05:18:04 2015 +0000 +++ b/main.cpp Fri Feb 06 05:23:24 2015 +0000 @@ -46,7 +46,8 @@ #define ESC 0x1B -void get_user_input(char* message, uint8_t min, uint8_t max, uint8_t* member); +void get_user_input(char* message, uint8_t min, uint8_t max, uint32_t* member); +void get_user_input(char* message, uint8_t min, uint8_t max, bool* member); Serial term(USBTX, USBRX); @@ -85,7 +86,7 @@ rtc.set_cntl_stat_reg(rtc_control_status); - uint8_t user_input; + uint32_t user_input; get_user_input("\nDo you want to set the RTC time and calendar (1 for yes, 0 for no): ", 0, 1, &user_input); @@ -110,13 +111,13 @@ //Get time mode get_user_input("\nWhat time mode? 1 for 12hr 0 for 24hr: ", 0, 1, - (uint8_t*) &rtc_time.mode); + &rtc_time.mode); if(rtc_time.mode) { //Get AM/PM status get_user_input("\nIs it AM or PM? 0 for AM 1 for PM: ", 0, 1, - (uint8_t*) &rtc_time.am_pm); + &rtc_time.am_pm); //Get hour from user get_user_input("\nPlease enter the hour (1-12): ", 1, 12, &rtc_time.hours); @@ -176,23 +177,49 @@ * Description: get time/date input from user * **********************************************************************/ -void get_user_input(char* message, uint8_t min, uint8_t max, uint8_t* member) +void get_user_input(char* message, uint8_t min, uint8_t max, uint32_t* member) { - uint8_t temp; + uint32_t temp; do { - term.printf("\n%s", message); + printf("\n%s", message); //for some reason mbed doesn't like a pointer to a member in scanf //term.scanf("%d", member); works with gcc on RPi - term.scanf("%d", &temp); + scanf("%d", &temp); + *member = temp; if((*(member)< min) || (*(member) > max)) { - term.printf("\nERROR-RTI"); + printf("\nERROR-RTI"); } } while((*(member) < min) || (*(member) > max)); -} \ No newline at end of file +} + + +void get_user_input(char* message, uint8_t min, uint8_t max, bool* member) +{ + bool temp; + + do + { + printf("\n%s", message); + + //for some reason mbed doesn't like a pointer to a member in scanf + //term.scanf("%d", member); works with gcc on RPi + scanf("%d", &temp); + + *member = temp; + + if((*(member)< min) || (*(member) > max)) + { + printf("\nERROR-RTI"); + } + } + while((*(member) < min) || (*(member) > max)); +} + + \ No newline at end of file