You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problem:
We want our peripheral to have the Peripheral Preferred Connection Parameters characteristic in the Generic Access service, but we do NOT want the Zephyr stack of our peripheral to automatically send an L2CAP Connection Parameter Update Request if the central doesn't change the connection parameters within a certain time (this behavior is optional according to the spec). We want our peripheral application layer to decide if/when such requests are sent.
Currently, it seems that the Zephyr configuration setting CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS controls both functionalities at once. If and only if the setting is enabled, the characteristic will be present (in gatt.c), and the update request will automatically be sent (in conn.c). So there doesn't seem to be a way to get one without the other.
In conn.c, when the time out happens, conn_update_timeout() is invoked and Zephyr will Automatically sends out the Connection Parameter update request. If CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS is enabled it will take the values from Characteristics else internal values.
Solution:
Add a new KConfig flag, say CONFIG_BT_GAP_AUTO_SEND_CONN_PARAMS_ON_TIMEOUT and this can be disabled if the Application layer do not want to automatially send the Update request on time out.
And update conn_update_timeout() in conn.c something like below.
#if defined (CONFIG_BT_GAP_AUTO_SEND_CONN_PARAMS_ON_TIMEOUT)
#if defined (CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS)
.......
.......
.......
#endif
#endif
The text was updated successfully, but these errors were encountered:
Problem:
We want our peripheral to have the Peripheral Preferred Connection Parameters characteristic in the Generic Access service, but we do NOT want the Zephyr stack of our peripheral to automatically send an L2CAP Connection Parameter Update Request if the central doesn't change the connection parameters within a certain time (this behavior is optional according to the spec). We want our peripheral application layer to decide if/when such requests are sent.
Currently, it seems that the Zephyr configuration setting CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS controls both functionalities at once. If and only if the setting is enabled, the characteristic will be present (in gatt.c), and the update request will automatically be sent (in conn.c). So there doesn't seem to be a way to get one without the other.
In conn.c, when the time out happens, conn_update_timeout() is invoked and Zephyr will Automatically sends out the Connection Parameter update request. If CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS is enabled it will take the values from Characteristics else internal values.
Solution:
Add a new KConfig flag, say CONFIG_BT_GAP_AUTO_SEND_CONN_PARAMS_ON_TIMEOUT and this can be disabled if the Application layer do not want to automatially send the Update request on time out.
And update conn_update_timeout() in conn.c something like below.
#if defined (CONFIG_BT_GAP_AUTO_SEND_CONN_PARAMS_ON_TIMEOUT)
#if defined (CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS)
.......
.......
.......
#endif
#endif
The text was updated successfully, but these errors were encountered: