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

MIN_CONN_INTERVAL MAX_CONN_INTERVAL SLAVE_LATENCY CONN_SUP_TIMEOUT parameters values for Android and iOS

MIN_CONN_INTERVAL

MAX_CONN_INTERVAL

SLAVE_LATENCY

CONN_SUP_TIMEOUT

Hey guys, I want use my device with Android as well as iOS, but i am facing some issues for data sending over BLE... I am getting errors like 0x3401, 0x3004...

Anyone can help me for this, what will be the parameters value, which can be suitable for android as well as iOS.

In android app, i have set latency on High... And in nRF device it is 3... Please suggest if any changes is necessary...

If any changes necessary from iOS App or Android App please suggest.

error_code_status = ble_gyro_string_send_(&m_gyro, read_buffer_life, 14);

i getting this errors on above function or service calling... (In this variable "error_code_status")

My maximum data sending rate is 1-Frame/50ms.(20-Frame per 1-Second)

Parents
  • I guess you could set max to 50, but you should make sure you have medium to high bandwidth, so you are able to send multiple packets in one connection event in case a packet is lost in the previous event. Note that the interval is decided by the master, the peripheral can only request to change the intervals and choose to disconnet if it doesn't work with the given interval. Because of the way the protocol I don't think you can rely on sending a packet exactly every 50th ms. Lets say you want to send sensor data; in this case I would enable radio notifications so I can check the sensor value just prior to the connection event so i know the data is fresh. But even in this case some packets will have errors, so a retransmitt every now and then is expected. So in some connection events you might notreceive anything, while in the next you'll receive two values.

Reply
  • I guess you could set max to 50, but you should make sure you have medium to high bandwidth, so you are able to send multiple packets in one connection event in case a packet is lost in the previous event. Note that the interval is decided by the master, the peripheral can only request to change the intervals and choose to disconnet if it doesn't work with the given interval. Because of the way the protocol I don't think you can rely on sending a packet exactly every 50th ms. Lets say you want to send sensor data; in this case I would enable radio notifications so I can check the sensor value just prior to the connection event so i know the data is fresh. But even in this case some packets will have errors, so a retransmitt every now and then is expected. So in some connection events you might notreceive anything, while in the next you'll receive two values.

Children
No Data
Related