Erick / Mbed 2 deprecated ICE_BLE_TEST

Dependencies:   NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed

Fork of ICE by Erick

Committer:
jmarkel44
Date:
Wed Oct 26 20:10:37 2016 +0000
Revision:
275:76285569fb64
Parent:
265:0fb72c26ae68
Child:
280:7c1c9274cce6
more generic cleanup

Who changed what in which revision?

UserRevisionLine numberNew contents of line
davidjhoward 265:0fb72c26ae68 1 /**
davidjhoward 265:0fb72c26ae68 2 ******************************************************************************
davidjhoward 265:0fb72c26ae68 3 * @file ble_uart.cpp
davidjhoward 265:0fb72c26ae68 4 * @author Happiesstminds Firmware Team
davidjhoward 265:0fb72c26ae68 5 * @version v1.0
davidjhoward 265:0fb72c26ae68 6 * @date 4-Oct-2016
davidjhoward 265:0fb72c26ae68 7 * @brief
davidjhoward 265:0fb72c26ae68 8 *
davidjhoward 265:0fb72c26ae68 9 ******************************************************************************
davidjhoward 265:0fb72c26ae68 10 * @attention
davidjhoward 265:0fb72c26ae68 11 *
davidjhoward 265:0fb72c26ae68 12 *
davidjhoward 265:0fb72c26ae68 13 ******************************************************************************
davidjhoward 265:0fb72c26ae68 14 */
davidjhoward 265:0fb72c26ae68 15
davidjhoward 265:0fb72c26ae68 16 /******************************************************************************/
davidjhoward 265:0fb72c26ae68 17 /* Include Files*/
davidjhoward 265:0fb72c26ae68 18 /******************************************************************************/
davidjhoward 265:0fb72c26ae68 19
davidjhoward 265:0fb72c26ae68 20 #include "mbed.h"
davidjhoward 265:0fb72c26ae68 21 #include "ble_msg_handler.h"
davidjhoward 265:0fb72c26ae68 22 #include "ble_spi.h"
davidjhoward 265:0fb72c26ae68 23 #include "ble_main.h"
davidjhoward 265:0fb72c26ae68 24 /******************************************************************************/
davidjhoward 265:0fb72c26ae68 25 /* Defines */
davidjhoward 265:0fb72c26ae68 26 /******************************************************************************/
davidjhoward 265:0fb72c26ae68 27
davidjhoward 265:0fb72c26ae68 28
davidjhoward 265:0fb72c26ae68 29 volatile bool isDeviceConnected;
davidjhoward 265:0fb72c26ae68 30 static ble_data_ready_callback_t data_ready_cb;
davidjhoward 265:0fb72c26ae68 31
davidjhoward 265:0fb72c26ae68 32 /*****************************************************************************
davidjhoward 265:0fb72c26ae68 33 * Function: BLE data receive callback
davidjhoward 265:0fb72c26ae68 34 * Description: Function used to register ble data receive callback
davidjhoward 265:0fb72c26ae68 35 *
davidjhoward 265:0fb72c26ae68 36 * @param ble_data_ready_callback_t
davidjhoward 265:0fb72c26ae68 37 * @return none
davidjhoward 265:0fb72c26ae68 38 *****************************************************************************/
davidjhoward 265:0fb72c26ae68 39 void BleDataRxCbRegister(ble_data_ready_callback_t data_rx_callback)
davidjhoward 265:0fb72c26ae68 40 {
davidjhoward 265:0fb72c26ae68 41 data_ready_cb = data_rx_callback;
davidjhoward 265:0fb72c26ae68 42 }
davidjhoward 265:0fb72c26ae68 43
davidjhoward 265:0fb72c26ae68 44 /*****************************************************************************
davidjhoward 265:0fb72c26ae68 45 * Function: ProcessBleRxEvents()
davidjhoward 265:0fb72c26ae68 46 * Description: Process BLE data
davidjhoward 265:0fb72c26ae68 47 *
davidjhoward 265:0fb72c26ae68 48 * @param spi_rcv_array
davidjhoward 265:0fb72c26ae68 49 * @param length
davidjhoward 265:0fb72c26ae68 50 * @return none
davidjhoward 265:0fb72c26ae68 51 *****************************************************************************/
davidjhoward 265:0fb72c26ae68 52 void ProcessBleRxEvents(uint8_t *spi_rcv_array, uint8_t len)
davidjhoward 265:0fb72c26ae68 53 {
davidjhoward 265:0fb72c26ae68 54 static bool file_receiving_flag = false;
davidjhoward 265:0fb72c26ae68 55
davidjhoward 265:0fb72c26ae68 56 if (spi_rcv_array[0] == BLE_SOF_CMD) {
davidjhoward 265:0fb72c26ae68 57 switch (spi_rcv_array[1])
davidjhoward 265:0fb72c26ae68 58 {
davidjhoward 265:0fb72c26ae68 59 case BLE_CONNECTION_EVNT_CMD:
jmarkel44 275:76285569fb64 60 printf("Mobile device connected...\n\r");
davidjhoward 265:0fb72c26ae68 61 isDeviceConnected =true;
davidjhoward 265:0fb72c26ae68 62 break;
davidjhoward 265:0fb72c26ae68 63
davidjhoward 265:0fb72c26ae68 64 case BLE_REC_DATA_CMD:
davidjhoward 265:0fb72c26ae68 65 /*
davidjhoward 265:0fb72c26ae68 66 TODO
davidjhoward 265:0fb72c26ae68 67 fill(append )the data to rx buffer and once file transfer
davidjhoward 265:0fb72c26ae68 68 compleated,invoke callback function from EOF.Need to move
davidjhoward 265:0fb72c26ae68 69 belo function to EOF.Appending data function to be added here
davidjhoward 265:0fb72c26ae68 70 */
davidjhoward 265:0fb72c26ae68 71 data_ready_cb(&spi_rcv_array[3], (spi_rcv_array[2]-1));
davidjhoward 265:0fb72c26ae68 72 break;
davidjhoward 265:0fb72c26ae68 73
davidjhoward 265:0fb72c26ae68 74 case BLE_DISCONNECTION_EVNT_CMD:
jmarkel44 275:76285569fb64 75 printf("Mobile device disconnected...\n\r");
davidjhoward 265:0fb72c26ae68 76 isDeviceConnected =false;
davidjhoward 265:0fb72c26ae68 77 break;
davidjhoward 265:0fb72c26ae68 78
davidjhoward 265:0fb72c26ae68 79 case BLE_START_OF_FILE:
davidjhoward 265:0fb72c26ae68 80 file_receiving_flag = true;
davidjhoward 265:0fb72c26ae68 81 /*
davidjhoward 265:0fb72c26ae68 82 TODO
davidjhoward 265:0fb72c26ae68 83 extract the json string length from SOF.
davidjhoward 265:0fb72c26ae68 84 */
davidjhoward 265:0fb72c26ae68 85 break;
davidjhoward 265:0fb72c26ae68 86
davidjhoward 265:0fb72c26ae68 87 case BLE_END_OF_FILE:
davidjhoward 265:0fb72c26ae68 88 /* Reset the File Parameters */
davidjhoward 265:0fb72c26ae68 89 file_receiving_flag = false;
davidjhoward 265:0fb72c26ae68 90 break;
davidjhoward 265:0fb72c26ae68 91
davidjhoward 265:0fb72c26ae68 92 default:
davidjhoward 265:0fb72c26ae68 93 printf("Unknown ID\n\r");
davidjhoward 265:0fb72c26ae68 94 break;
davidjhoward 265:0fb72c26ae68 95 }
davidjhoward 265:0fb72c26ae68 96 } else {
davidjhoward 265:0fb72c26ae68 97 printf("SOF not found\n\r");
davidjhoward 265:0fb72c26ae68 98 }
davidjhoward 265:0fb72c26ae68 99 }
davidjhoward 265:0fb72c26ae68 100
davidjhoward 265:0fb72c26ae68 101 /******************************************************************************/
davidjhoward 265:0fb72c26ae68 102 /* END OF FILE */
davidjhoward 265:0fb72c26ae68 103 /******************************************************************************/