mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-28 07:51:19 +01:00
pkg/nimble/autoconn: cleanup timing params
This commit is contained in:
parent
bd48f06de4
commit
29640252b7
@ -27,38 +27,38 @@ extern "C" {
|
||||
* @name Default parameters used for the nimble_netif_autoconn module
|
||||
* @{
|
||||
*/
|
||||
#ifndef NIMBLE_AUTOCONN_PERIOD_SCAN
|
||||
#define NIMBLE_AUTOCONN_PERIOD_SCAN (2000U) /* 2s */
|
||||
#ifndef NIMBLE_AUTOCONN_PERIOD_SCAN_MS
|
||||
#define NIMBLE_AUTOCONN_PERIOD_SCAN_MS (2000U) /* 2s */
|
||||
#endif
|
||||
#ifndef NIMBLE_AUTOCONN_PERIOD_ADV
|
||||
#define NIMBLE_AUTOCONN_PERIOD_ADV (10000U) /* 10s */
|
||||
#ifndef NIMBLE_AUTOCONN_PERIOD_ADV_MS
|
||||
#define NIMBLE_AUTOCONN_PERIOD_ADV_MS (10000U) /* 10s */
|
||||
#endif
|
||||
#ifndef NIMBLE_AUTOCONN_PERIOD_JITTER
|
||||
#define NIMBLE_AUTOCONN_PERIOD_JITTER (5000U) /* 0-5s */
|
||||
#ifndef NIMBLE_AUTOCONN_PERIOD_JITTER_MS
|
||||
#define NIMBLE_AUTOCONN_PERIOD_JITTER_MS (5000U) /* 0-5s */
|
||||
#endif
|
||||
|
||||
#ifndef NIMBLE_AUTOCONN_ADV_ITVL
|
||||
#define NIMBLE_AUTOCONN_ADV_ITVL (100U) /* 100ms */
|
||||
#ifndef NIMBLE_AUTOCONN_ADV_ITVL_MS
|
||||
#define NIMBLE_AUTOCONN_ADV_ITVL_MS (100U) /* 100ms */
|
||||
#endif
|
||||
|
||||
#ifndef NIMBLE_AUTOCONN_SCAN_ITVL
|
||||
#define NIMBLE_AUTOCONN_SCAN_ITVL (1500U) /* 1.5s */
|
||||
#ifndef NIMBLE_AUTOCONN_SCAN_ITVL_MS
|
||||
#define NIMBLE_AUTOCONN_SCAN_ITVL_MS (1500U) /* 1.5s */
|
||||
#endif
|
||||
#ifndef NIMBLE_AUTOCONN_SCAN_WIN
|
||||
#define NIMBLE_AUTOCONN_SCAN_WIN (110U) /* 110ms */
|
||||
#ifndef NIMBLE_AUTOCONN_SCAN_WIN_MS
|
||||
#define NIMBLE_AUTOCONN_SCAN_WIN_MS (110U) /* 110ms */
|
||||
#endif
|
||||
|
||||
#ifndef NIMBLE_AUTOCONN_CONN_TIMEOUT
|
||||
#define NIMBLE_AUTOCONN_CONN_TIMEOUT (330U) /* 3 * SCAN_WIN */
|
||||
#ifndef NIMBLE_AUTOCONN_CONN_TIMEOUT_MS
|
||||
#define NIMBLE_AUTOCONN_CONN_TIMEOUT_MS (3 * NIMBLE_AUTOCONN_SCAN_WIN_MS)
|
||||
#endif
|
||||
#ifndef NIMBLE_AUTOCONN_CONN_ITVL
|
||||
#define NIMBLE_AUTOCONN_CONN_ITVL (75U) /* 75ms */
|
||||
#ifndef NIMBLE_AUTOCONN_CONN_ITVL_MS
|
||||
#define NIMBLE_AUTOCONN_CONN_ITVL_MS (75U) /* 75ms */
|
||||
#endif
|
||||
#ifndef NIMBLE_AUTOCONN_CONN_LATENCY
|
||||
#define NIMBLE_AUTOCONN_CONN_LATENCY (0)
|
||||
#endif
|
||||
#ifndef NIMBLE_AUTOCONN_CONN_SUPER_TO
|
||||
#define NIMBLE_AUTOCONN_CONN_SUPER_TO (2500U) /* 2.5s */
|
||||
#ifndef NIMBLE_AUTOCONN_CONN_SVTO_MS
|
||||
#define NIMBLE_AUTOCONN_CONN_SVTO_MS (2500U) /* 2.5s */
|
||||
#endif
|
||||
|
||||
#ifndef NIMBLE_AUTOCONN_NODE_ID
|
||||
@ -66,17 +66,17 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef NIMBLE_AUTOCONN_PARAMS
|
||||
#define NIMBLE_AUTOCONN_PARAMS \
|
||||
{ .period_scan = NIMBLE_AUTOCONN_PERIOD_SCAN, \
|
||||
.period_adv = NIMBLE_AUTOCONN_PERIOD_ADV, \
|
||||
.period_jitter = NIMBLE_AUTOCONN_PERIOD_JITTER, \
|
||||
.adv_itvl = NIMBLE_AUTOCONN_ADV_ITVL, \
|
||||
.scan_itvl = NIMBLE_AUTOCONN_SCAN_ITVL, \
|
||||
.scan_win = NIMBLE_AUTOCONN_SCAN_WIN, \
|
||||
.conn_timeout = NIMBLE_AUTOCONN_CONN_TIMEOUT, \
|
||||
.conn_itvl = NIMBLE_AUTOCONN_CONN_ITVL, \
|
||||
.conn_latency = NIMBLE_AUTOCONN_CONN_LATENCY, \
|
||||
.conn_super_to = NIMBLE_AUTOCONN_CONN_SUPER_TO, \
|
||||
#define NIMBLE_AUTOCONN_PARAMS \
|
||||
{ .period_scan = NIMBLE_AUTOCONN_PERIOD_SCAN_MS, \
|
||||
.period_adv = NIMBLE_AUTOCONN_PERIOD_ADV_MS, \
|
||||
.period_jitter = NIMBLE_AUTOCONN_PERIOD_JITTER_MS, \
|
||||
.adv_itvl = NIMBLE_AUTOCONN_ADV_ITVL_MS, \
|
||||
.scan_itvl = NIMBLE_AUTOCONN_SCAN_ITVL_MS, \
|
||||
.scan_win = NIMBLE_AUTOCONN_SCAN_WIN_MS, \
|
||||
.conn_timeout = NIMBLE_AUTOCONN_CONN_TIMEOUT_MS, \
|
||||
.conn_itvl = NIMBLE_AUTOCONN_CONN_ITVL_MS, \
|
||||
.conn_latency = NIMBLE_AUTOCONN_CONN_LATENCY, \
|
||||
.conn_super_to = NIMBLE_AUTOCONN_CONN_SVTO_MS, \
|
||||
.node_id = NIMBLE_AUTOCONN_NODE_ID, }
|
||||
#endif
|
||||
/**@}*/
|
||||
|
||||
@ -279,12 +279,13 @@ int nimble_autoconn_update(const nimble_autoconn_params_t *params,
|
||||
ble_npl_time_ms_to_ticks(params->period_jitter, &_period_jitter);
|
||||
|
||||
/* populate the connection parameters */
|
||||
_conn_params.scan_itvl = ((params->scan_win * 1000) / BLE_HCI_SCAN_ITVL);
|
||||
_conn_params.scan_window = ((params->scan_win * 1000) / BLE_HCI_SCAN_ITVL);
|
||||
_conn_params.itvl_min = ((params->conn_itvl * 1000) / BLE_HCI_CONN_ITVL);
|
||||
_conn_params.itvl_max = ((params->conn_itvl * 1000) / BLE_HCI_CONN_ITVL);
|
||||
_conn_params.scan_itvl = BLE_GAP_SCAN_ITVL_MS(params->scan_win);
|
||||
_conn_params.scan_window = _conn_params.scan_itvl;
|
||||
_conn_params.itvl_min = BLE_GAP_CONN_ITVL_MS(params->conn_itvl);
|
||||
_conn_params.itvl_max = _conn_params.itvl_min;
|
||||
_conn_params.latency = 0;
|
||||
_conn_params.supervision_timeout = (params->conn_super_to / 10);
|
||||
_conn_params.supervision_timeout = BLE_GAP_SUPERVISION_TIMEOUT_MS(
|
||||
params->conn_super_to);
|
||||
_conn_params.min_ce_len = 0;
|
||||
_conn_params.max_ce_len = 0;
|
||||
_conn_timeout = params->conn_timeout;
|
||||
@ -300,18 +301,18 @@ int nimble_autoconn_update(const nimble_autoconn_params_t *params,
|
||||
|
||||
/* calculate the used scan parameters */
|
||||
struct ble_gap_disc_params scan_params;
|
||||
scan_params.itvl = ((params->scan_itvl * 1000) / BLE_HCI_SCAN_ITVL),
|
||||
scan_params.window = ((params->scan_win * 1000) / BLE_HCI_SCAN_ITVL),
|
||||
scan_params.filter_policy = 0,
|
||||
scan_params.limited = 0,
|
||||
scan_params.passive = 0,
|
||||
scan_params.filter_duplicates = 1,
|
||||
scan_params.itvl = BLE_GAP_SCAN_ITVL_MS(params->scan_itvl);
|
||||
scan_params.window = BLE_GAP_SCAN_WIN_MS(params->scan_win);
|
||||
scan_params.filter_policy = 0;
|
||||
scan_params.limited = 0;
|
||||
scan_params.passive = 0;
|
||||
scan_params.filter_duplicates = 1;
|
||||
|
||||
/* set the advertising parameters used */
|
||||
_adv_params.conn_mode = BLE_GAP_CONN_MODE_UND;
|
||||
_adv_params.disc_mode = BLE_GAP_DISC_MODE_GEN;
|
||||
_adv_params.itvl_min = ((params->adv_itvl * 1000) / BLE_HCI_ADV_ITVL);
|
||||
_adv_params.itvl_max = ((params->adv_itvl * 1000) / BLE_HCI_ADV_ITVL);
|
||||
_adv_params.itvl_min = BLE_GAP_ADV_ITVL_MS(params->adv_itvl);
|
||||
_adv_params.itvl_max = _adv_params.itvl_min;
|
||||
_adv_params.channel_map = 0;
|
||||
_adv_params.filter_policy = 0;
|
||||
_adv_params.high_duty_cycle = 0;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user