This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

throughput manage (BLE_ERROR_NO_TX_PACKETS)

Hello,

First of all I know that many questions were posted here about this topic but I am posting mine because I couldn't figure out how to solve my issue and I am looking for new ideas.

I am working on a project of throughput data from sensors to my central via nRF51822 through a notifying service (SDK12.2, S130).

My central is an iOS app, and my throughput data are given from STM32 via UART but am sure I get them correctly. Also am using a simple buffer not fifo.

            MIN_CONN_INTERVAL               MSEC_TO_UNITS(20, UNIT_1_25_MS)  
            MAX_CONN_INTERVAL               MSEC_TO_UNITS(40, UNIT_1_25_MS) 
            SLAVE_LATENCY                   3   

first of all I was adding packets to the TX buffer, faster than they can be sent out, and I got "BLE_ERROR_NO_TX_PACKETS " error. so I tried to make sure that my TX task is complete before initiating next one with this implementation:

  do{  
          err_code = ble_data_send(&m_data_send, data_packet);
           nrf_delay_ms(2);
    }while(err_code== BLE_ERROR_NO_TX_PACKETS);

But I still have the same problem.

What am I missing?

Is there any problem with my implementation?

Is there any example of maximum throughput manage?

Can this be a cause of my central ?

thank you in advance devzone community. PS: if you want I can give more details.

Parents
  • Hello, 1/ I am using a throughput over a Notification service(sd_ble_gatts_hvx), data from sensors HEX format.

    2/ I am sending static sensors data over my service but in my central I am not getting the same data, I have loss of data.

    3/ I checked and my connection interval is 20: the minimum value since am using iOS APP.

    4/ About the nrf_delay_ms(2); I did that to make sure that I gave to the stack some time to get the link-level ACK and eventually to free a buffer for the sending notification.

    5/ I dont think I am crossing maximum throughput of the S130, I calculated the max and I am above.

Reply
  • Hello, 1/ I am using a throughput over a Notification service(sd_ble_gatts_hvx), data from sensors HEX format.

    2/ I am sending static sensors data over my service but in my central I am not getting the same data, I have loss of data.

    3/ I checked and my connection interval is 20: the minimum value since am using iOS APP.

    4/ About the nrf_delay_ms(2); I did that to make sure that I gave to the stack some time to get the link-level ACK and eventually to free a buffer for the sending notification.

    5/ I dont think I am crossing maximum throughput of the S130, I calculated the max and I am above.

Children
No Data
Related