BLE Nano Code.Tested with Integrated mDot code
Dependencies: BLE_API mbed nRF51822
Fork of eco_Labs_ble_Client by
Diff: ble_msg_handler.cpp
- Revision:
- 32:bb3b81b06676
- Parent:
- 31:d25111c2fa21
- Child:
- 33:17b8c186eb07
--- a/ble_msg_handler.cpp Thu Dec 01 14:50:00 2016 +0000 +++ b/ble_msg_handler.cpp Wed Dec 07 10:05:21 2016 +0000 @@ -70,50 +70,53 @@ */ void spi_rx_Data_Callback(uint8_t *rx_data, uint8_t len) { - uint8_t tmp_buf[30]; - if (rx_data[1] == 0xFF) { - //Dummy packet from mDot to clear buffer. - } else if (rx_data[1] == BLE_SOF_CMD) { - switch (rx_data[2]) { - case BLE_INIT_CMD: - /* TODO: Get the BLE Device name from rx_data and pass it to - ble_init */ - if(init_success ==false) - { - memcpy(tmp_buf, &rx_data[4], rx_data[3]); - //memset(tmp_buf, 'a', 5); - ble_init(tmp_buf,rx_data[3]); - toggle_led(); - } + uint8_t tmp_buf[30]; + if(rx_data !=NULL) + { + if (rx_data[1] == 0xFF) { + //Dummy packet from mDot to clear buffer. + } else if (rx_data[1] == BLE_SOF_CMD) { + switch (rx_data[2]) { + case BLE_INIT_CMD: + /* TODO: Get the BLE Device name from rx_data and pass it to + ble_init */ + if(init_success ==false) + { + memcpy(tmp_buf, &rx_data[4], rx_data[3]); + //memset(tmp_buf, 'a', 5); + ble_init(tmp_buf,rx_data[3]); + toggle_led(); + } + + break; - break; + case BLE_START_ADV_CMD: + // TODO: As of now Advertising is done from the ble_init + break; - case BLE_START_ADV_CMD: - // TODO: As of now Advertising is done from the ble_init - break; - - case BLE_SEND_DATA_CMD: - memcpy(tmp_buf, &rx_data[4], rx_data[3]); - ble_send_data(tmp_buf,rx_data[3]); - break; - - case BLE_START_OF_FILE: - toggle_led(); - memcpy(tmp_buf, &rx_data[4], rx_data[3]); - ble_send_data(tmp_buf, rx_data[3]); - break; - - case BLE_END_OF_FILE: - memcpy(tmp_buf, &rx_data[4], rx_data[3]); - ble_send_data(tmp_buf, rx_data[3]); - break; - - default : - break; - + case BLE_SEND_DATA_CMD: + memcpy(tmp_buf, &rx_data[4], rx_data[3]); + ble_send_data(tmp_buf,rx_data[3]); + break; + + case BLE_START_OF_FILE: + // toggle_led(); + memcpy(tmp_buf, &rx_data[4], rx_data[3]); + ble_send_data(tmp_buf, rx_data[3]); + break; + + case BLE_END_OF_FILE: + memcpy(tmp_buf, &rx_data[4], rx_data[3]); + ble_send_data(tmp_buf, rx_data[3]); + break; + + default : + break; + + } + } else { + // Invalid Packet received, ignore as of now } - } else { - // Invalid Packet received, ignore as of now } } /******************************************************************************/