Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed
Fork of ICE by
BLE/src/ble_msg_handler.cpp@275:76285569fb64, 2016-10-26 (annotated)
- 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?
User | Revision | Line number | New 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 | /******************************************************************************/ |