BLE Nano Code.Tested with Integrated mDot code
Dependencies: BLE_API mbed nRF51822
Fork of eco_Labs_ble_Client by
Diff: ble_uart.cpp
- 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));