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 Maxim Integrated

Revision:
6:5213e60b19c9
Parent:
5:46b14ed96df3
Child:
7:9b848bb25677
--- 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