Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MPU9250_SPI
Fork of WearableDevice_Nucleo by
Revision 29:ab809198c1ba, committed 2018-02-16
- Comitter:
 - Muglug
 - Date:
 - Fri Feb 16 18:30:19 2018 +0000
 - Parent:
 - 28:c7e977a19564
 - Commit message:
 - Final Version
 
Changed in this revision
--- a/configuration.h	Tue Dec 19 10:15:19 2017 +0000
+++ b/configuration.h	Fri Feb 16 18:30:19 2018 +0000
@@ -13,7 +13,6 @@
 #define CONFIGURATION_H_
 
 // Microcontroller definition - Comment the Version not used
-// #define STM32F401RET6 1
 #define STM32F446RET6 1
 
 // Debug mode
@@ -22,44 +21,37 @@
 
 //-----------------------------------------------------------------
 // PIN Defines
-#ifdef STM32F401RET6
-    #define RADIO_TX PA_11
-    #define RADIO_RX PA_12
-    #define RADIO_RESET NC
-    
-    #define SD_CLK PC_10
-    #define SD_MISO PC_11
-    #define SD_MOSI PC_12
-    #define SD_CS PD_2
-    
-    //Analog Input
-    AnalogIn   micro(A0);
-    //Digital Input
-    DigitalOut led1(LED1);
-#endif
-
 #ifdef STM32F446RET6
+    // Wifi SSID & Password
     #define WiFi_SSID "OnePlus3"
     #define WiFi_Pass "mahandi00"
 
+    // ESP8266 Communication Variables
     #define ESP_TX PC_6
     #define ESP_RX PC_7
-    
-    // #define SD_CLK PC_10
-    // #define SD_MISO PC_11
-    // #define SD_MOSI PC_12
-    // #define SD_CS PD_2
-    // #define SD_CD PC_0
         
+    // IMU Variables
     #define IMU_SCK PB_13
     #define IMU_MISO PB_14      // SDO - Serial Data Output - MISO
     #define IMU_MOSI PB_15      // SDI - Serial Data Input - MOSI
     #define IMU_CS PB_1
     
+    // Buzzer PWM Output
+    PwmOut Buzzer(PB_4);
+    
+    // Voltage & Current Sensor
+    AnalogIn VSense(PA_5);
+    AnalogIn ISense(PA_6);
+    
     //Analog Input
-    AnalogIn micro(PC_4);
-    //Digital Input
-    DigitalOut led1(LED1);
+    AnalogIn Micro_1(PC_4);
+    AnalogIn Micro_2(PC_0);
+    
+    //Digital Output
+    DigitalOut LED_Blue1(PC_10);
+    DigitalOut LED_Blue2(PC_11);
+    DigitalOut LED_Red1(PC_12);
+    DigitalOut LED_Red2(PD_2);
 #endif
 
 #endif // CONFIGURATION_H_
--- a/esp8266-driver.lib Tue Dec 19 10:15:19 2017 +0000 +++ b/esp8266-driver.lib Fri Feb 16 18:30:19 2018 +0000 @@ -1,1 +1,1 @@ -https://github.com/armmbed/esp8266-driver/#a7245780485c4743f4905dfeacf01749fa398617 +https://github.com/armmbed/esp8266-driver/#b93fee9e6cb1659b074ae2283d52dd623cbb4e56
--- a/event.cpp	Tue Dec 19 10:15:19 2017 +0000
+++ b/event.cpp	Fri Feb 16 18:30:19 2018 +0000
@@ -12,25 +12,52 @@
 //-----------------------------------------------------------------
 // Includes
 #include "event.h"
+
+//-----------------------------------------------------------------
+
+//-----------------------------------------------------------------
+void ReadBattery(void)
+{
+    Battery_Status = VSense.read()/0.21 - 3;        // Read Voltage Level above Critial Value (> 3V)
+    Power_Consumption = ISense.read() * 3.3;        // Read Current Level and calculate Power_Consumption
+    PC.printf("Battery_Status = %.3fV - %.3fmW\n", Battery_Status + 3, Power_Consumption);      // Show Total Voltage Level
+
+    if (Battery_Status > 1) {   // More than 1V Voltage Difference
+        LED_Red1 = 0;           // Turn ON both Red LEDs
+        LED_Red2 = 0;
+    } else if ((Battery_Status > 0.25) && (Battery_Status < 1)) {       // Between 0.25V and 1V Voltage Difference
+        LED_Red1 = 0;       // Turn ON one Red LEDs
+        LED_Red2 = 1;
+    } else {
+        LED_Red1 = 1;       // Turn off both Red LEDs
+        LED_Red2 = 1;
+    }
+}
 //-----------------------------------------------------------------
 
 //-----------------------------------------------------------------
 void ReceiveCommand(void)
 {
-    if (Socket_TCP.recv(Data_Buffer, sizeof Data_Buffer) > 0) {
-        PC.printf("Socket Data Received! - %s\n", Data_Buffer);
+    response = Socket_TCP.connect("192.168.43.96", 8080);       // Connect to TCP Server at 192.168.43.96/8080
 
-        if (strlen(Data_Buffer) == 9) {         // Check Package Length (correct: len = 9)
-            if ((Data_Buffer[0] == '#') && (Data_Buffer[6] == ',')) {       // Check for "#" and "," at specific Positions
-                if (strstr(Data_Buffer, DeviceNr) != NULL) {                // Check for valid DeviceNr in Package
-                    Time_Buffer[0] = Data_Buffer[7];
-                    Time_Buffer[1] = Data_Buffer[8];
-                    Requested_Time = atoi(Time_Buffer);                     // Requested Time by received Package
-
-                    CheckCommandDone_Flag = 1;
-                    PC.printf("Requested Time: %d\n", Requested_Time);
-                    memset(Data_Buffer, 0, sizeof(Data_Buffer));            // Clear Data_Buffer
-                    Ticker_ReceiveCommand.detach();
+    if (0 == response) {            // Server Available & Connection Successful
+        if (Socket_TCP.recv(Data_Buffer, sizeof Data_Buffer) > 0) {         // TCP Socket Data Available
+            if (strlen(Data_Buffer) == 9) {                                 // Check Package Length (correct: len = 9)
+                if ((Data_Buffer[0] == '#') && (Data_Buffer[6] == ',')) {       // Check for "#" and "," at specific Positions
+                    if (strstr(Data_Buffer, DeviceNr) != NULL) {                // Check for valid DeviceNr in Package
+                        Ticker_ReadBattery.detach();            // Stop "ReadBattery" Thread                    
+                        Ticker_ReceiveCommand.detach();         // Stop "ReceiveCommand" Thread
+                        
+                        Time_Buffer[0] = Data_Buffer[7];        // Read 1st Time Byte from Buffer
+                        Time_Buffer[1] = Data_Buffer[8];        // Read 2nd Time Byte from Buffer
+                        Requested_Time = atoi(Time_Buffer);     // Requested Time by Command
+                        
+                        PC.printf("\nCommand Received - Requested Time: %d\n", Requested_Time);
+                        Buzzer = 0.5;       // Enable Buzzer at 50% DutyCycle
+                        wait(0.5);          // Pause for Buzzing
+                        Buzzer = 0;         // Disable Buzzer
+                        CheckCommandDone_Flag = 1;              // Set Flag for Measurement Start
+                    }
                 }
             }
         }
@@ -44,21 +71,20 @@
     Time_Data = TimeStamp.read_ms();        // Read TimeStamp Data
 
     if (Time_Data <= Requested_Time * 1000) {       // Check Time Elapsed
-        imu.read_acc();
+        imu.read_acc();         // Read Accelerometer Data
 
-        Data_Storage_MIC[writePointer_MIC++] = micro.read_u16();    // Store Microphone Data
-        Data_Storage[writePointer++] = imu.accelerometer_data[2];   // Store Z-Axis Accelerometer Data
-        Data_Storage[writePointer++] = imu.accelerometer_data[1];   // Store Y-Axis Accelerometer Data
-        Data_Storage[writePointer++] = imu.accelerometer_data[0];   // Store X-Axis Accelerometer Data
-        Data_Storage[writePointer++] = Time_Data;                   // Store Time Data
+        Data_Storage_MIC[writePointer_MIC++] = Micro_1.read_u16();      // Store Microphone Data
+        Data_Storage[writePointer++] = imu.accelerometer_data[2];       // Store Z-Axis Accelerometer Data
+        Data_Storage[writePointer++] = imu.accelerometer_data[1];       // Store Y-Axis Accelerometer Data
+        Data_Storage[writePointer++] = imu.accelerometer_data[0];       // Store X-Axis Accelerometer Data
+        Data_Storage[writePointer++] = Time_Data;                       // Store Time Data
     } else {
-        Ticker_IMU.detach();        // Detach Timer to Stop "ReadIMU"
+        Ticker_IMU.detach();        // Stop "ReadIMU" Thread
         TimeStamp.stop();           // Stop TimeStamp
         TimeStamp.reset();          // Reset TimeStamp
 
-        TimeStamp.start();
-        ReadIMUDone_Flag = 1;
-        PC.printf("Measurement Done!\n");
+        TimeStamp.start();          // Start TimeStamp
+        ReadIMUDone_Flag = 1;       // Set Flag for Sending Start
     }
 }
 //-----------------------------------------------------------------
--- a/event.h Tue Dec 19 10:15:19 2017 +0000 +++ b/event.h Fri Feb 16 18:30:19 2018 +0000 @@ -17,24 +17,43 @@ //----------------------------------------------------------------- #ifndef EVENT_H_ #define EVENT_H_ -#define BufferSize 40000 -#define BufferSize_MIC 10000 -#define SampleRate 1000 // Define Sample Rate in Hz +#define BufferSize 20000 +#define BufferSize_MIC 5000 +#define SampleRate 500 // Define Sample Rate in Hz // Declarations -extern TCPSocket Socket_TCP; +extern Serial PC; extern Timer TimeStamp; extern mpu9250_spi imu; -extern AnalogIn micro; -extern Serial PC; +extern TCPSocket Socket_TCP; +extern nsapi_error_t response; + +// Battery Voltage & Power Consumption Declaration +extern float Battery_Status; +extern float Power_Consumption; -// Read & Writepointers +// Analog Microphone/Current/Voltage Inputs +extern AnalogIn VSense; +extern AnalogIn ISense; +extern AnalogIn Micro_1; +extern AnalogIn Micro_2; + +// Buzzer PWM Output +extern PwmOut Buzzer; + +// Digital LED Outputs +extern DigitalOut LED_Blue1; +extern DigitalOut LED_Blue2; +extern DigitalOut LED_Red1; +extern DigitalOut LED_Red2; + +// Writepointers extern volatile uint16_t writePointer; extern volatile uint16_t writePointer_MIC; // Data Storage Buffers extern char Time_Buffer[2]; -extern char Data_Buffer[2048]; +extern char Data_Buffer[1024]; extern const char DeviceNr[6]; extern int16_t Data_Storage[BufferSize]; extern uint16_t Data_Storage_MIC[BufferSize_MIC]; @@ -47,14 +66,22 @@ extern uint16_t Time_Data; extern uint8_t Requested_Time; -// Ticker Declaration +// EventQueue Declaration +extern EventQueue queue; + +// Thread Declaration extern Thread Thread_IMU; -extern EventQueue queue; +extern Thread Thread_ReadBattery; +extern Thread Thread_ReceiveCommand; + +// Ticker Declaration extern Ticker Ticker_IMU; +extern Ticker Ticker_ReadBattery; extern Ticker Ticker_ReceiveCommand; // Function Declarations void ReadIMU(void); +void ReadBattery(void); void ReceiveCommand(void); #endif // EVENT_H_
--- a/main.cpp	Tue Dec 19 10:15:19 2017 +0000
+++ b/main.cpp	Fri Feb 16 18:30:19 2018 +0000
@@ -28,47 +28,60 @@
 //-----------------------------------------------------------------
 
 //-----------------------------------------------------------------
-// Declarations
-Timer Testing;
-Timer TimeStamp;                            // Timer µS time-stamp
-Serial PC(USBTX, USBRX);                    // Create an Serial PC Object - USBTX, USBRX
+// General Declarations
+Timer TimeStamp;                // Timer µS time-stamp
+Serial PC(USBTX, USBRX);        // Create an Serial PC Object - USBTX, USBRX
 
-SPI spi(IMU_MOSI, IMU_MISO,IMU_SCK);       // Create an SPI Object for MPU9250 - MOSI, MISO, SCK
+// IMU-SPI Declaration
+SPI spi(IMU_MOSI, IMU_MISO,IMU_SCK);        // Create an SPI Object for MPU9250 - MOSI, MISO, SCK
 mpu9250_spi imu(spi, IMU_CS);               // Create an MPU9250 Object - SPI Object, CS
 
+// WiFi & TCP Socket Declaration
 ESP8266Interface WiFi(ESP_TX, ESP_RX);      // ESP8266 WiFi Interface
 TCPSocket Socket_TCP;                       // TCP Socket
+nsapi_error_t response;                     // TCP Socket Response
 
-// Events
+// EventQueue Declarations
 EventQueue queue(32 * EVENTS_EVENT_SIZE);   // Event Setup
 
-// Tickers
+// Ticker Declarations
 Ticker Ticker_IMU;
+Ticker Ticker_ReadBattery;
 Ticker Ticker_ReceiveCommand;
 
-// Threads
+// Thread Declarations
 Thread Thread_IMU(osPriorityRealtime);
-Thread Thread_ReceiveCommand(osPriorityNormal);
+Thread Thread_ReadBattery(osPriorityRealtime);
+Thread Thread_ReceiveCommand(osPriorityRealtime);
 
 // Global Variables
-uint32_t len = 0;
-uint16_t Time_Data = 0;
+uint16_t LineCount = 0;
+uint32_t Line_Size = 0;
 uint32_t Data_Size = 0;
-uint16_t LineCount = 0;
+
+// Read & Writepointer Declarations
+uint8_t Current_Position = 0;
 volatile uint16_t readPointer = 0;
 volatile uint16_t readPointer_MIC = 0;
 volatile uint16_t writePointer = 0;
 volatile uint16_t writePointer_MIC = 0;
 
+// Flag Declarations
 uint8_t ReadIMUDone_Flag = 0;
 uint8_t CheckCommandDone_Flag = 0;
 
+// Battery Voltage & Power Consumption Declaration
+float Battery_Status = 0;
+float Power_Consumption = 0;
+
+// Time Buffer Declaration
+char Time_Buffer[2];
+uint16_t Time_Data = 0;
 uint8_t Requested_Time = 0;
-uint8_t Current_Position = 0;
-    
-char Time_Buffer[2];
-char Data_Buffer[2048];
-const char DeviceNr[6] = "DEV01";
+
+// Data Storage Declaration
+char Data_Buffer[1024];
+const char DeviceNr[6] = "DEV01";       // Device specific ID
 int16_t Data_Storage[BufferSize];               // BufferSize defined in "event.h"
 uint16_t Data_Storage_MIC[BufferSize_MIC];      // BufferSize_MIC defined in "event.h"
 
@@ -77,40 +90,47 @@
 //-----------------------------------------------------------------
 void Setup()
 {
+    LED_Blue1 = 1;      // Turn OFF all LEDs
+    LED_Blue2 = 1;
+    LED_Red1 = 1;
+    LED_Red2 = 1;
+
     PC.baud(230400);            // Initialize PC Serial Connection
     PC.printf("\r\n------------- Booting! -------------\r\n");
-    PC.printf("CPU SystemCoreClock is %d Hz", SystemCoreClock);
+    PC.printf("CPU SystemCoreClock is %d Hz", SystemCoreClock);     // Show SystemCoreClock Speed
 
     PC.printf("\nConnecting to %s with %s...\n",  WiFi_SSID, WiFi_Pass);
-    int ret = WiFi.connect(WiFi_SSID, WiFi_Pass, NSAPI_SECURITY_WPA_WPA2);
-    if (ret != 0) {
-        printf("\nConnection error\n");
+    int ret = WiFi.connect(WiFi_SSID, WiFi_Pass, NSAPI_SECURITY_WPA_WPA2);      // Connect WiFi
+
+    while (ret != 0) {          // WiFi Connection Not Successful
+        PC.printf("\nConnecting to %s with %s...\n",  WiFi_SSID, WiFi_Pass);
+        ret = WiFi.connect(WiFi_SSID, WiFi_Pass, NSAPI_SECURITY_WPA_WPA2);
+        wait(0.5);
     }
 
-    nsapi_error_t response;
-    Socket_TCP.open(&WiFi);
-    Socket_TCP.set_blocking(false);
-    wait(0.5);
+    printf("Connection Done! - IP: %s\r\n", WiFi.get_ip_address());     // Show IP Address
+    Socket_TCP.open(&WiFi);             // Open TCP_Socket on WiFi
+    Socket_TCP.set_blocking(false);     // Set Non-Blocking Mode
 
-    response = Socket_TCP.connect("192.168.43.96", 8080);
-    while (0 != response) {
-        wait(0.5);
-        response = Socket_TCP.connect("192.168.43.96", 8080);
-    }
-
-
-    // Initialize IMU SPI Connection
+    // Initialize IMU-SPI Connection
     if(imu.init(1, BITS_DLPF_CFG_188HZ))        // Initialize the MPU9250
         PC.printf("\nCouldn't initialize MPU9250 via SPI!");
     PC.printf("\nWHOAMI = 0x%2x", imu.whoami());                        // Output I2C Address to check SPI (correct: 104 - 0x68)
     PC.printf("\nAcc_Scale = %u\n", imu.set_acc_scale(BITS_FS_16G));    // Set Full Range for Acc.
     imu.calib_acc();        // Calibrate Acceleration Sensor
 
-    TimeStamp.reset();  // Reset Timer TimeStamp
+    ReadBattery();          // Read Battery Level
+    TimeStamp.reset();      // Reset Timer TimeStamp
     Thread_ReceiveCommand.start(callback(&queue, &EventQueue::dispatch_forever));       // Start Command-Receiving Thread
-    Ticker_ReceiveCommand.attach(queue.event(&ReceiveCommand), 0.250);                  // Attach 250 ms Ticker to "ReceiveCommand"
+    Ticker_ReceiveCommand.attach(queue.event(&ReceiveCommand), 0.500);                  // Attach 500ms Ticker to "ReceiveCommand"
 
-    led1 = 1;           // Turn ON LED to display 'Ready!'
+    Thread_ReadBattery.start(callback(&queue, &EventQueue::dispatch_forever));          // Start Battery-Reading Thread
+    Ticker_ReadBattery.attach(queue.event(&ReadBattery), 30);                           // Attach 30s Ticker to "ReadBattery"
+    
+    Buzzer = 0;             // Disable Buzzer
+    Buzzer.period(0.001);   // 1kHz Buzzer Frequency
+    
+    LED_Blue1 = 0;          // Turn ON LED to display 'Booting Done!'
     PC.printf("\r\n------------- Ready! ---------------\r\n");
 }
 
@@ -119,8 +139,20 @@
 //-----------------------------------------------------------------
 void Reset()            // Reset All Variables
 {
-    len = 0;
+    Line_Size = 0;
+    Data_Size = 0;
+    LineCount = 0;
+    Time_Data = 0;
+    Requested_Time = 0;
+    Current_Position = 0;
 
+    readPointer = 0;
+    readPointer_MIC = 0;
+    writePointer = 0;
+    writePointer_MIC = 0;
+
+    ReadIMUDone_Flag = 0;
+    CheckCommandDone_Flag = 0;
 
     memset(Data_Storage, 0, sizeof(Data_Storage));
     memset(Data_Storage_MIC, 0, sizeof(Data_Storage_MIC));
@@ -134,53 +166,46 @@
     Setup();    // Initial Setups
 
     while (true) {
-        if ((Requested_Time != 0) && (CheckCommandDone_Flag == 1)) {
-            CheckCommandDone_Flag = 0;
+        if ((Requested_Time != 0) && (CheckCommandDone_Flag == 1)) {        // Check Flag & Requested Time
+            CheckCommandDone_Flag = 0;          // Reset Flag
+            memset(Data_Buffer, 0, sizeof(Data_Buffer));                    // Clear Data_Buffer
 
-            TimeStamp.start();
-            Thread_IMU.start(callback(&queue, &EventQueue::dispatch_forever));      // Start IMU-Reading Thread
-            Ticker_IMU.attach_us(queue.event(&ReadIMU), 1000);                      // Attach 1 ms Ticker to "ReadIMU"
+            TimeStamp.start();                  // Start Timer TimeStamp
+            Thread_IMU.start(callback(&queue, &EventQueue::dispatch_forever));      // Start "ReadIMU" Thread
+            Ticker_IMU.attach_us(queue.event(&ReadIMU), 2000);                      // Attach 2ms Ticker to "ReadIMU"
         }
 
-        while ((writePointer != readPointer) && (writePointer_MIC != readPointer_MIC) && (ReadIMUDone_Flag == 1)) {
-            Testing.start();
-
-            while ((Data_Size + len) < 1024) {
+        while ((writePointer != readPointer) && (writePointer_MIC != readPointer_MIC) && (ReadIMUDone_Flag == 1)) {     // Check Flag & Pointer Position
+            while ((Data_Size + Line_Size) < 1024) {        // Check Maximum Package Size
                 if ((writePointer != readPointer) && (writePointer_MIC != readPointer_MIC)) {
                     Data_Size += sprintf(&Data_Buffer[Data_Size], "%d;%d;%d;%d;%d\n", Data_Storage[readPointer++], Data_Storage_MIC[readPointer_MIC++], Data_Storage[readPointer++], Data_Storage[readPointer++], Data_Storage[readPointer++]);
-                    len = snprintf(NULL, 0, "%d;%d;%d;%d;%d\n", Data_Storage[readPointer], Data_Storage_MIC[readPointer_MIC], Data_Storage[readPointer], Data_Storage[readPointer], Data_Storage[readPointer]);
+                    Line_Size = snprintf(NULL, 0, "%d;%d;%d;%d;%d\n", Data_Storage[readPointer], Data_Storage_MIC[readPointer_MIC], Data_Storage[readPointer], Data_Storage[readPointer], Data_Storage[readPointer]);
                 } else
                     break;
             }
 
-            PC.printf("Package Size: %d\n", Data_Size);
-            Socket_TCP.send(Data_Buffer, Data_Size);
-
-            memset(Data_Buffer, 0, sizeof(Data_Buffer));
-            PC.printf("Time: %d\n\n\n", Testing.read_ms());
+            response = Socket_TCP.send(Data_Buffer, Data_Size);        // Send Data via TCP_Socket
+            while (response != Data_Size)                              // Sending Not Successful
+                response = Socket_TCP.send(Data_Buffer, Data_Size);    // Resend Data via TCP_Socket
+                
+            Data_Size = 0;      // Reset Data_Size
+            memset(Data_Buffer, 0, sizeof(Data_Buffer));    // Clear Data_Buffer
+            wait(0.1);          // Wait 100ms between Packages for ESP8266 Module
 
-            
-            Data_Size = 0;
-            wait(0.1);
-            Testing.stop();
-            Testing.reset();
+            if ((readPointer == writePointer) && (writePointer_MIC == readPointer_MIC)) {       // Check if Readpointer reached Writepointer Position
+                ReadIMUDone_Flag = 0;           // Reset Flag for Sending
+                PC.printf("Sending Done! - Time Taken: %d ms\n\n", TimeStamp.read_ms());        // Show Time used for Data Sending
+                TimeStamp.stop();           // Stop Timer TimeStamp
+                TimeStamp.reset();          // Reset Timer TimeStamp
 
-            if ((readPointer == writePointer) && (writePointer_MIC == readPointer_MIC)) {
-                ReadIMUDone_Flag = 0;
-                PC.printf("Sending Done! - Time Taken: %d ms", TimeStamp.read_ms());
-                TimeStamp.stop();
-                TimeStamp.reset();
+                Reset();        // Reset All Variables
+                Thread_ReceiveCommand.start(callback(&queue, &EventQueue::dispatch_forever));       // Start "ReceiveCommand" Thread
+                Ticker_ReceiveCommand.attach(queue.event(&ReceiveCommand), 0.500);                  // Attach 500ms Ticker to "ReceiveCommand"
 
-                Reset();
-                Thread_ReceiveCommand.start(callback(&queue, &EventQueue::dispatch_forever));       // Start Command-Receiving Thread
-                Ticker_ReceiveCommand.attach(queue.event(&ReceiveCommand), 0.250);                  // Attach 250 ms Ticker to "ReceiveCommand
+                Thread_ReadBattery.start(callback(&queue, &EventQueue::dispatch_forever));       // Start "ReadBattery"
+                Ticker_ReadBattery.attach(queue.event(&ReadBattery), 30);                        // Attach 30s Ticker to "ReadBattery"
             }
         }
-
-        /*    sprintf(Data_Buffer, "%d;%d;%d;", (int)(1000*imu.accelerometer_data[0]), (int)(1000*imu.accelerometer_data[1]), (int)(1000*imu.accelerometer_data[2]));
-        Socket_TCP.send(Data_Buffer, strlen(Data_Buffer));
-        memset(Data_Buffer, 0, sizeof(Data_Buffer));*/
-
     }
 }
 
--- a/mbed-os.lib Tue Dec 19 10:15:19 2017 +0000 +++ b/mbed-os.lib Fri Feb 16 18:30:19 2018 +0000 @@ -1,1 +1,1 @@ -https://github.com/ARMmbed/mbed-os/#182bbd51bc8d1b6217477c2b5de3f1d0c5e6249f +https://github.com/ARMmbed/mbed-os/#eca67ca7dafab4ef70c21e2463b541132d0dd691
