Greatings!
I am sending a packet with data in it from my custom board with nrf51822 to my android phone using cahnged ble_app_uart. The packet is being sent 8 times before I receive event BLE_EVT_TX_COMPLETE
. Is it possibile to reduce time for receiving BLE_EVT_TX_COMPLETE
or could you suggest how to wait for this event so I would not be sending 8 packets? This is where I set event flag:
case BLE_EVT_TX_COMPLETE:
ble_tx_complete = 1;
break;
Is device is connected I am sending a string while I will get an event flag:
if( m_conn_handle != BLE_CONN_HANDLE_INVALID ) // BLE is connected. Do service routine.
{
if(ble_tx_complete == 0)
{
sprintf((char*)siusti_plnasete0,"H:%.2f T:%.2f",BME280_humidity,BME280_temperature);
ble_nus_send_string(&m_nus,siusti_plnasete0,20);
}
}
This is how it looks in nrf_uart app:
I have tried this way but then phone do not receive that packet at all:
if( m_conn_handle != BLE_CONN_HANDLE_INVALID ) // BLE is connected. Do service routine.
{
sprintf((char*)siusti_plnasete0,"H:%.2f T:%.2f",BME280_humidity,BME280_temperature);
ble_nus_send_string(&m_nus,siusti_plnasete0,20);
while(ble_tx_complete == 0)
{
}
}
Any suggestions?
-----------------------EDIT----------------------------------------------- This is real time trace from wireshark:
I use s110 (7.0.0), I can not find which SDK example I took. Is there a way to find from which sdk it was taken somewhere in a project? But I believe its one of 5,6 or 7.