From 0b19347bef03bc114900e53b0a4574a6fb18cb7c Mon Sep 17 00:00:00 2001 From: khsiao-google Date: Wed, 6 Aug 2025 03:55:41 +0000 Subject: [PATCH] Only reset subrate_factor and continuation_number when connection interval changes --- bumble/device.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/bumble/device.py b/bumble/device.py index c931281..919e102 100644 --- a/bumble/device.py +++ b/bumble/device.py @@ -6208,11 +6208,23 @@ class Device(utils.CompositeEventEmitter): f'{connection.peer_address} as {connection.role_name}, ' f'{connection_parameters}' ) - connection.parameters = Connection.Parameters( - connection_parameters.connection_interval * 1.25, - connection_parameters.peripheral_latency, - connection_parameters.supervision_timeout * 10.0, - ) + if ( + connection.parameters.connection_interval + != connection_parameters.connection_interval * 1.25 + ): + connection.parameters = Connection.Parameters( + connection_parameters.connection_interval * 1.25, + connection_parameters.peripheral_latency, + connection_parameters.supervision_timeout * 10.0, + ) + else: + connection.parameters = Connection.Parameters( + connection_parameters.connection_interval * 1.25, + connection_parameters.peripheral_latency, + connection_parameters.supervision_timeout * 10.0, + connection.parameters.subrate_factor, + connection.parameters.continuation_number, + ) connection.emit(connection.EVENT_CONNECTION_PARAMETERS_UPDATE) @host_event_handler