Erick / Mbed 2 deprecated ICE_BLE_TEST

Dependencies:   NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed

Fork of ICE by Erick

Committer:
davidjhoward
Date:
Fri Oct 21 13:48:57 2016 +0000
Revision:
249:68ed571e0002
Child:
259:341f04be325e
Add BLE module from Happiest Minds

Who changed what in which revision?

UserRevisionLine numberNew contents of line
davidjhoward 249:68ed571e0002 1 /**
davidjhoward 249:68ed571e0002 2 ******************************************************************************
davidjhoward 249:68ed571e0002 3 * @file ble_uart.cpp
davidjhoward 249:68ed571e0002 4 * @author Happiesstminds Firmware Team
davidjhoward 249:68ed571e0002 5 * @version v1.0
davidjhoward 249:68ed571e0002 6 * @date 4-Oct-2016
davidjhoward 249:68ed571e0002 7 * @brief
davidjhoward 249:68ed571e0002 8 *
davidjhoward 249:68ed571e0002 9 ******************************************************************************
davidjhoward 249:68ed571e0002 10 * @attention
davidjhoward 249:68ed571e0002 11 *
davidjhoward 249:68ed571e0002 12 *
davidjhoward 249:68ed571e0002 13 ******************************************************************************
davidjhoward 249:68ed571e0002 14 */
davidjhoward 249:68ed571e0002 15
davidjhoward 249:68ed571e0002 16 /******************************************************************************/
davidjhoward 249:68ed571e0002 17 /* Include Files*/
davidjhoward 249:68ed571e0002 18 /******************************************************************************/
davidjhoward 249:68ed571e0002 19
davidjhoward 249:68ed571e0002 20 #include "mbed.h"
davidjhoward 249:68ed571e0002 21 #include "ble_msg_handler.h"
davidjhoward 249:68ed571e0002 22 #include "ble_spi.h"
davidjhoward 249:68ed571e0002 23
davidjhoward 249:68ed571e0002 24 /******************************************************************************/
davidjhoward 249:68ed571e0002 25 /* Defines */
davidjhoward 249:68ed571e0002 26 /******************************************************************************/
davidjhoward 249:68ed571e0002 27
davidjhoward 249:68ed571e0002 28
davidjhoward 249:68ed571e0002 29 volatile bool isDeviceConnected_flag;
davidjhoward 249:68ed571e0002 30
davidjhoward 249:68ed571e0002 31 /*****************************************************************************
davidjhoward 249:68ed571e0002 32 * Function: process_rx_data()
davidjhoward 249:68ed571e0002 33 * Description: Process BLE data
davidjhoward 249:68ed571e0002 34 *
davidjhoward 249:68ed571e0002 35 * @param spi_rcv_array
davidjhoward 249:68ed571e0002 36 * @param length
davidjhoward 249:68ed571e0002 37 * @return none
davidjhoward 249:68ed571e0002 38 *****************************************************************************/
davidjhoward 249:68ed571e0002 39 void process_rx_data(uint8_t *spi_rcv_array, uint8_t len)
davidjhoward 249:68ed571e0002 40 {
davidjhoward 249:68ed571e0002 41 static bool file_receiving_flag = false;
davidjhoward 249:68ed571e0002 42 static uint16_t file_size = 0;
davidjhoward 249:68ed571e0002 43 static uint8_t file_name[16];
davidjhoward 249:68ed571e0002 44
davidjhoward 249:68ed571e0002 45 if (spi_rcv_array[1] == BLE_SOF_CMD) {
davidjhoward 249:68ed571e0002 46 switch (spi_rcv_array[2])
davidjhoward 249:68ed571e0002 47 {
davidjhoward 249:68ed571e0002 48 case BLE_CONNECTION_EVNT_CMD:
davidjhoward 249:68ed571e0002 49 printf("Mobile device connceted\n\r");
davidjhoward 249:68ed571e0002 50 isDeviceConnected_flag =true;
davidjhoward 249:68ed571e0002 51 break;
davidjhoward 249:68ed571e0002 52
davidjhoward 249:68ed571e0002 53 case BLE_REC_DATA_CMD:
davidjhoward 249:68ed571e0002 54 printf("Data Received : \n\r");
davidjhoward 249:68ed571e0002 55 break;
davidjhoward 249:68ed571e0002 56
davidjhoward 249:68ed571e0002 57 case BLE_DISCONNECTION_EVNT_CMD:
davidjhoward 249:68ed571e0002 58 printf("Mobile disconnected\n\r");
davidjhoward 249:68ed571e0002 59 isDeviceConnected_flag =false;
davidjhoward 249:68ed571e0002 60 break;
davidjhoward 249:68ed571e0002 61
davidjhoward 249:68ed571e0002 62 case BLE_START_OF_FILE:
davidjhoward 249:68ed571e0002 63 file_receiving_flag = true;
davidjhoward 249:68ed571e0002 64 file_size = spi_rcv_array[4] << 8 | spi_rcv_array[5];
davidjhoward 249:68ed571e0002 65 memcpy (file_name, &spi_rcv_array[6], spi_rcv_array[3]);
davidjhoward 249:68ed571e0002 66 printf("File name %s receving from mobile. File Size: %d\n\r", file_name, file_size);
davidjhoward 249:68ed571e0002 67 break;
davidjhoward 249:68ed571e0002 68
davidjhoward 249:68ed571e0002 69 case BLE_END_OF_FILE:
davidjhoward 249:68ed571e0002 70
davidjhoward 249:68ed571e0002 71 /* End of file received */
davidjhoward 249:68ed571e0002 72 // file_available_cb(file_name, file_size);
davidjhoward 249:68ed571e0002 73
davidjhoward 249:68ed571e0002 74 /* Reset the File Parameters */
davidjhoward 249:68ed571e0002 75 file_receiving_flag = false;
davidjhoward 249:68ed571e0002 76 file_size = 0;
davidjhoward 249:68ed571e0002 77 memset(file_name, 0, sizeof(file_name));
davidjhoward 249:68ed571e0002 78 break;
davidjhoward 249:68ed571e0002 79
davidjhoward 249:68ed571e0002 80 default:
davidjhoward 249:68ed571e0002 81 printf("Unknown ID\n\r");
davidjhoward 249:68ed571e0002 82 break;
davidjhoward 249:68ed571e0002 83 }
davidjhoward 249:68ed571e0002 84 } else {
davidjhoward 249:68ed571e0002 85 printf("SOF not found\n\r");
davidjhoward 249:68ed571e0002 86 }
davidjhoward 249:68ed571e0002 87 }
davidjhoward 249:68ed571e0002 88 /*****************************************************************************
davidjhoward 249:68ed571e0002 89 * Function: msg_handler()
davidjhoward 249:68ed571e0002 90 * Description: msg_handler
davidjhoward 249:68ed571e0002 91 *
davidjhoward 249:68ed571e0002 92 * @param spi_rcv_array
davidjhoward 249:68ed571e0002 93 * @param None
davidjhoward 249:68ed571e0002 94 * @return none
davidjhoward 249:68ed571e0002 95 *****************************************************************************/
davidjhoward 249:68ed571e0002 96 void msg_handler(void)
davidjhoward 249:68ed571e0002 97 {
davidjhoward 249:68ed571e0002 98
davidjhoward 249:68ed571e0002 99 uint8_t spi_rcv_array[100];
davidjhoward 249:68ed571e0002 100 uint8_t len;
davidjhoward 249:68ed571e0002 101 // printf("Reading from Master\n\r");
davidjhoward 249:68ed571e0002 102
davidjhoward 249:68ed571e0002 103 len = ReadSpiData(spi_rcv_array);
davidjhoward 249:68ed571e0002 104
davidjhoward 249:68ed571e0002 105 process_rx_data(spi_rcv_array, len);
davidjhoward 249:68ed571e0002 106
davidjhoward 249:68ed571e0002 107
davidjhoward 249:68ed571e0002 108 }
davidjhoward 249:68ed571e0002 109
davidjhoward 249:68ed571e0002 110 /******************************************************************************/
davidjhoward 249:68ed571e0002 111 /* END OF FILE */
davidjhoward 249:68ed571e0002 112 /******************************************************************************/