Erick / Mbed 2 deprecated ICE_BLE_TEST

Dependencies:   NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed

Fork of ICE by Erick

Revision:
265:0fb72c26ae68
Child:
275:76285569fb64
Child:
279:b60379a9eb1a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BLE/src/ble_msg_handler.cpp	Wed Oct 26 13:26:45 2016 +0000
@@ -0,0 +1,103 @@
+/**
+  ******************************************************************************
+  * @file    ble_uart.cpp
+  * @author  Happiesstminds Firmware Team
+  * @version v1.0
+  * @date    4-Oct-2016
+  * @brief   
+  *
+  ******************************************************************************
+  * @attention
+  *  
+  *
+  ******************************************************************************
+  */
+
+/******************************************************************************/
+/* Include Files*/
+/******************************************************************************/
+
+#include "mbed.h"
+#include "ble_msg_handler.h"
+#include "ble_spi.h"
+#include "ble_main.h"
+/******************************************************************************/
+/* Defines                                                                    */
+/******************************************************************************/
+
+
+volatile bool isDeviceConnected;
+static ble_data_ready_callback_t data_ready_cb;
+
+  /*****************************************************************************
+ * Function:            BLE data receive callback
+ * Description:         Function used to register ble data receive callback 
+ *
+ * @param               ble_data_ready_callback_t
+ * @return              none
+ *****************************************************************************/
+void BleDataRxCbRegister(ble_data_ready_callback_t data_rx_callback)
+{
+    data_ready_cb = data_rx_callback;
+}
+
+/*****************************************************************************
+ * Function:            ProcessBleRxEvents()
+ * Description:         Process BLE data 
+ *
+ * @param               spi_rcv_array
+* @param                length
+ * @return              none
+ *****************************************************************************/
+void ProcessBleRxEvents(uint8_t *spi_rcv_array, uint8_t len)
+{
+    static bool file_receiving_flag = false;
+    
+    if (spi_rcv_array[0] == BLE_SOF_CMD) {
+        switch (spi_rcv_array[1])
+        {
+            case BLE_CONNECTION_EVNT_CMD:
+                printf("Mobile device connceted\n\r");
+                isDeviceConnected =true;                
+                break;
+                
+            case BLE_REC_DATA_CMD:
+                /*
+                TODO
+                    fill(append )the data to rx buffer and once file transfer 
+                    compleated,invoke callback function from EOF.Need to move 
+                    belo function to EOF.Appending data function to be added here               
+                */               
+                data_ready_cb(&spi_rcv_array[3], (spi_rcv_array[2]-1));                
+                break;
+                
+            case BLE_DISCONNECTION_EVNT_CMD:
+                printf("Mobile disconnected\n\r");
+                isDeviceConnected =false;
+                break;
+                
+            case BLE_START_OF_FILE:
+                file_receiving_flag = true;
+                /*
+                TODO
+                    extract the json string length from SOF.                
+                */   
+                break;
+                
+            case BLE_END_OF_FILE:                
+                /* Reset the File Parameters */
+                file_receiving_flag = false;
+                break;  
+                  
+            default:
+                printf("Unknown ID\n\r");
+                break;            
+        }
+    } else {
+        printf("SOF not found\n\r");
+    }
+}
+
+/******************************************************************************/
+/* END OF FILE                                                                */
+/******************************************************************************/
\ No newline at end of file