Part Number: CC2640R2F
Hi,
Using simplelink_cc2640r2_sdk_3_30_00_20, I tried to increase the connection intervale to reduce the number of generated CTE and applied the settings below.
By setting the connection intervale timeout (DEFAULT_UPDATE_CONN_TIMEOUT ) to 20 seconds in the master, connection intervales up to 4 seconds can be used.
As described in the Developer's Guide for CC2640 and CC2650 SimpleLink™ Bluetooth® low energy Software Stack 2.2.0, chapter 5.2.1, the Effective Connection Interval is expected to be:
Effective Connection Interval = (Connection Interval) × (1 + [Slave Latency])
Issue
Using the rtls_aoa_iq_with_rtls_util_export_into_csv.py script to extract raw data with a 10 seconds timeout, the number of CTE matches the connection intervale and not the effective connection intervale, slave latency seems to be ignored?
| Connection intervale value | Slave Latency value | Effective Connection intervale (ms) | Time period (s) | Number of CTE | Expected number of CTE |
| connect_interval_mSec=2400 | 3 | 1,25*2400*(1+3) = 12000 | timeout_sec =10 | 3 | 0 |
| connect_interval_mSec=1600 | 3 | 1,25*1600*(1+3) = 8000 | timeout_sec =10 | 5 | 1 |
| connect_interval_mSec=800 | 3 | 1,25*800*(1+3) = 4000 | timeout_sec =10 | 12 | 2 |
Below are the connection settings used in master and slave applications:
rtls_master.c
// Minimum connection interval (units of 1.25ms) if automatic parameter update // request is enabled #define DEFAULT_UPDATE_MIN_CONN_INTERVAL 400 // Maximum connection interval (units of 1.25ms) if automatic parameter update // request is enabled #define DEFAULT_UPDATE_MAX_CONN_INTERVAL 800 // Slave latency to use if automatic parameter update request is enabled #define DEFAULT_UPDATE_SLAVE_LATENCY 3 // Supervision timeout value (units of 10ms) if automatic parameter update // request is enabled #define DEFAULT_UPDATE_CONN_TIMEOUT 2000
rtls_slave.c
// Minimum connection interval (units of 1.25ms, 80=100ms) for automatic // parameter update request #define DEFAULT_DESIRED_MIN_CONN_INTERVAL 80 // Maximum connection interval (units of 1.25ms, 800=1000ms) for automatic // parameter update request #define DEFAULT_DESIRED_MAX_CONN_INTERVAL 800 // Slave latency to use for automatic parameter update request #define DEFAULT_DESIRED_SLAVE_LATENCY 3 // Supervision timeout value (units of 10ms, 1000=10s) for automatic parameter // update request #define DEFAULT_DESIRED_CONN_TIMEOUT 1000
I am apparently missing something, what is the correct setup to apply slave latency?
Kind regards,
David