|
|
@ -228,14 +228,14 @@ static void db_disc_handler(ble_db_discovery_evt_t * p_evt) |
|
|
|
* If @ref ECHOBACK_BLE_UART_DATA is set, the data is sent back to sender. |
|
|
|
*/ |
|
|
|
|
|
|
|
static void ble_nus_chars_received_uart_print(uint8_t * p_data, uint16_t data_len,bool raw) |
|
|
|
static void ble_nus_chars_received_uart_print(uint8_t * p_data, uint16_t data_len) |
|
|
|
{ |
|
|
|
ret_code_t ret_val; |
|
|
|
|
|
|
|
NRF_LOG_DEBUG("Receiving data."); |
|
|
|
NRF_LOG_HEXDUMP_DEBUG(p_data, data_len); |
|
|
|
// app_uart_put(0x5A); |
|
|
|
// app_uart_put(data_len); |
|
|
|
app_uart_put(0xA5); |
|
|
|
app_uart_put(0x5A); |
|
|
|
for (uint32_t i = 0; i < data_len; i++) |
|
|
|
{ |
|
|
|
do |
|
|
@ -248,28 +248,34 @@ static void ble_nus_chars_received_uart_print(uint8_t * p_data, uint16_t data_le |
|
|
|
} |
|
|
|
} while (ret_val == NRF_ERROR_BUSY); |
|
|
|
} |
|
|
|
if(!raw){ |
|
|
|
app_uart_put(0x5A); |
|
|
|
app_uart_put(0xA5); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void ble_nus_chars_received_uart_print_ch4(uint8_t * p_data, uint16_t data_len) |
|
|
|
{ |
|
|
|
ret_code_t ret_val; |
|
|
|
|
|
|
|
// if (p_data[data_len-1] == '\r') |
|
|
|
// { |
|
|
|
// while (app_uart_put('\n') == NRF_ERROR_BUSY); |
|
|
|
// } |
|
|
|
if (ECHOBACK_BLE_UART_DATA) |
|
|
|
NRF_LOG_DEBUG("Receiving data."); |
|
|
|
NRF_LOG_HEXDUMP_DEBUG(p_data, data_len); |
|
|
|
app_uart_put(0xA4); |
|
|
|
app_uart_put(0x4A); |
|
|
|
for (uint32_t i = 0; i < data_len; i++) |
|
|
|
{ |
|
|
|
// Send data back to the peripheral. |
|
|
|
do |
|
|
|
{ |
|
|
|
ret_val = ble_nus_c_string_send(&m_ble_nus_c, p_data, data_len); |
|
|
|
ret_val = app_uart_put(p_data[i]); |
|
|
|
if ((ret_val != NRF_SUCCESS) && (ret_val != NRF_ERROR_BUSY)) |
|
|
|
{ |
|
|
|
NRF_LOG_ERROR("Failed sending NUS message. Error 0x%x. ", ret_val); |
|
|
|
NRF_LOG_ERROR("app_uart_put failed for index 0x%04x.", i); |
|
|
|
APP_ERROR_CHECK(ret_val); |
|
|
|
} |
|
|
|
} while (ret_val == NRF_ERROR_BUSY); |
|
|
|
} |
|
|
|
app_uart_put(0x4A); |
|
|
|
app_uart_put(0xA4); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -357,10 +363,10 @@ static void ble_nus_c_evt_handler(ble_nus_c_t * p_ble_nus_c, ble_nus_c_evt_t con |
|
|
|
break; |
|
|
|
|
|
|
|
case BLE_NUS_C_EVT_NUS_TX_EVT: |
|
|
|
ble_nus_chars_received_uart_print(p_ble_nus_evt->p_data, p_ble_nus_evt->data_len,false); |
|
|
|
ble_nus_chars_received_uart_print(p_ble_nus_evt->p_data, p_ble_nus_evt->data_len); |
|
|
|
break; |
|
|
|
case BLE_NUS_C_EVT_NUS_TX_EVT_2: |
|
|
|
ble_nus_chars_received_uart_print(p_ble_nus_evt->p_data, p_ble_nus_evt->data_len,true); |
|
|
|
ble_nus_chars_received_uart_print_ch4(p_ble_nus_evt->p_data, p_ble_nus_evt->data_len); |
|
|
|
rxcnt+=p_ble_nus_evt->data_len; |
|
|
|
// printf("data_len:%d %d\n",p_ble_nus_evt->data_len,rxcnt); |
|
|
|
break; |
|
|
|