BLE Nano Code.Tested with Integrated mDot code

Dependencies:   BLE_API mbed nRF51822

Fork of eco_Labs_ble_Client by Happiest

Revision:
11:b8e687d97537
Parent:
10:09d1a403eb14
Child:
12:c7a8a7fe76fd
--- a/ble_uart.cpp	Tue Oct 04 11:05:45 2016 +0000
+++ b/ble_uart.cpp	Thu Oct 06 09:42:38 2016 +0000
@@ -27,11 +27,18 @@
 /******************************************************************************/
 #define DEBUG(STR) { if (uart) uart->write(STR, strlen(STR)); }
 
+#define BLE_DEVICE_NAME "Ecolab-ICE"
+
 /******************************************************************************/
 /* Global Variables                                                           */
 /******************************************************************************/
+
+extern void enable_interrupt_line(bool status );
 bool isDeviceConnected = false;
 
+
+#define DEBUG(STR) { if (uart) uart->write(STR, strlen(STR)); }
+
 /******************************************************************************/
 /* Static Variable Declarations */
 /******************************************************************************/
@@ -48,8 +55,10 @@
  * @retval 
  */
 static void ble_connectionCallback(const Gap::ConnectionCallbackParams_t *params)
-{
+{    
     isDeviceConnected = true;
+    enable_interrupt_line(true);    
+    //toggle_led();
 }
 
 /**
@@ -58,10 +67,10 @@
  * @retval 
  */
 static void ble_disconnectionCallback(const Gap::DisconnectionCallbackParams_t *params)
-{
-    DEBUG("Disconnected!\n\r");
-    DEBUG("Restarting the advertising process\n\r");
+{    
     isDeviceConnected = false;
+    //toggle_led();
+    enable_interrupt_line(false);  
     ble.startAdvertising();
 }
 
@@ -72,27 +81,31 @@
  */
 static void ble_dataReceiveCallback(const GattWriteCallbackParams *params)                         
 {    
+
     uint8_t buf[32] = {0};
-    DEBUG("onDataReceiveCallback\n\r");
     
     memcpy(buf, params->data, params->len);
         
     if (data_ready_cb != NULL) {
         data_ready_cb(buf, sizeof(buf));
     }
+
 }
 
 /******************************************************************************/
 /* Global Functions                                                           */
 /******************************************************************************/
+void print(const char *msg)
+{
+    DEBUG(msg);
+}
 /**
  * @brief  Initializes the BLE module
  * @param  none
  * @retval none
  */
 void ble_init(void)
-{
-    DEBUG("Initialising the nRF51822\n\r");
+{    
     ble.init();
     ble.onConnection(ble_connectionCallback);
     ble.onDisconnection(ble_disconnectionCallback);
@@ -104,7 +117,7 @@
     ble.accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED);
     ble.setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED);
     ble.accumulateAdvertisingPayload(GapAdvertisingData::SHORTENED_LOCAL_NAME,
-                                     (const uint8_t *)"BLE UART", sizeof("BLE UART") - 1);
+                                     (const uint8_t *)BLE_DEVICE_NAME, sizeof(BLE_DEVICE_NAME) - 1);
     ble.accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_128BIT_SERVICE_IDS,
                                      (const uint8_t *)UARTServiceUUID_reversed, sizeof(UARTServiceUUID_reversed));