Erick / Mbed 2 deprecated ICE_BLE_TEST

Dependencies:   NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed

Fork of ICE by Erick

Revision:
103:109fba818301
Parent:
101:8a25782572a3
Child:
109:bb4ef6a4bd0a
--- a/src/main.cpp	Wed Sep 21 22:12:00 2016 +0000
+++ b/src/main.cpp	Thu Sep 22 11:59:14 2016 +0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * File:                main.cpp
- * Desciption:          Ground Zero 
+ * Desciption:          Ground Zero
  *
  *****************************************************************************/
 #include "mbed.h"
@@ -22,7 +22,7 @@
 // main thread identifier (for signaling)
 osThreadId mainThreadId = NULL;
 
-// bootup sequence signals 
+// bootup sequence signals
 int sig_output_continue = 0x1;
 int sig_config_continue = 0x2;
 
@@ -54,6 +54,36 @@
 I2C* i2c;
 
 /*****************************************************************************
+ * Function:            timestamp_boot_record()
+ * Description:         timestamp the boot record with current time 
+ *
+ * @param               none
+ * @return              none
+ *****************************************************************************/
+static void timestamp_boot_record(void)
+{
+    char time_string[1024];
+    time_t curr_sec;
+    struct tm *ts;
+    
+    curr_sec = time(0);
+    ts = localtime(&curr_sec);
+    strftime(time_string, sizeof(time_string), "%Y-%m-%d %H:%M:%S", ts);
+    
+    // see if we can open the boot record
+    mDot::mdot_file file = GLOBAL_mdot->openUserFile("boot.time", mDot::FM_RDWR);
+    if ( file.fd < 0 ) {
+        file = GLOBAL_mdot->openUserFile("boot.time", mDot::FM_CREAT|mDot::FM_RDWR);
+        GLOBAL_mdot->writeUserFile(file, time_string, sizeof(time_string));
+    } else {
+        GLOBAL_mdot->seekUserFile(file, 0, SEEK_CUR);
+        GLOBAL_mdot->writeUserFile(file, time_string, sizeof(time_string));
+    }
+    GLOBAL_mdot->closeUserFile(file);
+    return;
+}
+
+/*****************************************************************************
  * Function:            banner()
  * Description:         Display the application boot banner
  *
@@ -116,21 +146,22 @@
     curr_sec =  mktime( &rtc_time );
 
     set_time(curr_sec);
+    timestamp_boot_record();
 
     // for signaling from the configuration handler
     mainThreadId = osThreadGetId();
 
     banner();
-    
-    // start the output task 
+
+    // start the output task
     Thread outputTask_thread(OutputTask,  NULL, osPriorityNormal, (1024*8), NULL);
     osSignalWait(sig_output_continue, osWaitForever);
-    
+
     // start the configuration handler
     Thread configHandler_thread(ConfigurationHandler, NULL, osPriorityNormal, (1024*3),  NULL);
     osSignalWait(sig_config_continue, osWaitForever);
 
-    // we're clear to start running the controls 
+    // we're clear to start running the controls
     Thread controlTask_thread(ControlTask, NULL, osPriorityNormal, (1024*2),  NULL);
     //printf("\r%s: continuing to initialize...\n", __func__);