POC1.5 prototype 2 x color sensor 2 x LM75B 3 x AnalogIn 1 x accel

Dependencies:   mbed vt100

Revision:
13:88ee926c56ae
Parent:
0:f0de320e23ac
--- a/edge_utils/edge_reset_mgr.cpp	Tue Dec 12 02:28:51 2017 +0000
+++ b/edge_utils/edge_reset_mgr.cpp	Tue Dec 12 06:53:12 2017 +0000
@@ -39,40 +39,76 @@
 #define SW_RESET_BIT     0x04
 #define LOCKUP_RESET_BIT 0x02
 
+#define IDX_POR_RESET    0
+#define IDX_PIN_RESET    1
+#define IDX_WDG_RESET    2
+#define IDX_LOL_RESET    3
+#define IDX_LOC_RESET    4
+#define IDX_LVD_RESET    5
+#define IDX_WUP_RESET    6
+#define IDX_SACK_RESET   7
+#define IDX_MDM_RESET    8
+#define IDX_SW_RESET     9
+#define IDX_LOCKUP_RESET 10 
+
+const char *reset_reason[] = {
+    "Power On Reset",
+    "Reset Pin Asserted",
+    "Watch Dog Reset",
+    "Loss of Lock Reset",
+    "Loss of Clock Reset",
+    "Low Voltage Detect Reset",
+    "Low Leakage Wakeup Reset",
+    "Stop Mode Acknowledge Error Reset",
+    "MDM-AP System Reset Request",
+    "Software Reset",
+    "Core Lockup Reset",
+    0
+} ;
+
+char *reset_reason_str = 0 ;
+
 void print_reset_reason(void) 
 {
+    extern char *reset_reason_str ;
+    int idx = 0 ;
     uint8_t *data = REG_RCM_SRS0 ;
     if (*data & POR_RESET_BIT) {
-        printf("Power On Reset\n") ;
+        idx = IDX_POR_RESET ;
     }
     if (*data & PIN_RESET_BIT) {
-        printf("Reset Pin asserted\n") ;
+        idx = IDX_PIN_RESET ; 
     }
     if (*data & WDG_RESET_BIT) {
-        printf("Watch Dog Reset\n") ;
+        idx = IDX_WDG_RESET ; 
     }
     if (*data & LOL_RESET_BIT) {
-        printf("Loss of Lock Reset\n") ;
+        idx = IDX_LOL_RESET ;
     }
     if (*data & LVD_RESET_BIT) {
-        printf("Low Voltage Detect Reset\n") ;
+        idx = IDX_LVD_RESET ;
     }  
+    if (*data & LOC_RESET_BIT) {
+        idx = IDX_LOC_RESET ;
+    }
     if (*data & WUP_RESET_BIT) {
-        printf("Low Leakage Wakeup Reset\n") ;
+        idx = IDX_WUP_RESET ;
     }
     data = REG_RCM_SRS1 ;
     if (*data & SACK_RESET_BIT) {
-        printf("Stop Mode Acknowledge Error Reset\n") ;
+        idx = IDX_SACK_RESET ;
     }
     if (*data & MDM_RESET_BIT) {
-        printf("MDM-AP System Reset Request\n") ;
+        idx = IDX_MDM_RESET ;
     }
     if (*data & SW_RESET_BIT) {
-        printf("Software Reset\n") ;
+        idx = IDX_SW_RESET ;
     }
     if (*data & LOCKUP_RESET_BIT) {
-        printf("Core Lockup Reset\n") ;
+        idx = IDX_LOCKUP_RESET ;
     }
+    printf("%s\n", reset_reason[idx]) ;
+    reset_reason_str = (char *)reset_reason[idx] ;
 }
 
 /**