mirror of https://github.com/ARMmbed/mbed-os.git
BLE: Implement connection parameter management in GAP.
parent
89355b9fb0
commit
2d63714f2e
|
@ -1611,8 +1611,17 @@ void GenericGap::on_disconnection_complete(const pal::GapDisconnectionCompleteEv
|
||||||
|
|
||||||
void GenericGap::on_connection_parameter_request(const pal::GapRemoteConnectionParameterRequestEvent &e)
|
void GenericGap::on_connection_parameter_request(const pal::GapRemoteConnectionParameterRequestEvent &e)
|
||||||
{
|
{
|
||||||
// intern behavior, accept all new parameter requests
|
if (_user_manage_connection_parameter_requests) {
|
||||||
// TODO: expose an API so user code can accept or reject such request
|
_eventHandler->onUpdateConnectionParametersRequest(
|
||||||
|
UpdateConnectionParametersRequestEvent(
|
||||||
|
e.connection_handle,
|
||||||
|
conn_interval_t(e.min_connection_interval),
|
||||||
|
conn_interval_t(e.max_connection_interval),
|
||||||
|
e.connection_latency,
|
||||||
|
supervision_timeout_t(e.supervision_timeout)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
_pal_gap.accept_connection_parameter_request(
|
_pal_gap.accept_connection_parameter_request(
|
||||||
e.connection_handle,
|
e.connection_handle,
|
||||||
e.min_connection_interval,
|
e.min_connection_interval,
|
||||||
|
@ -1622,12 +1631,20 @@ void GenericGap::on_connection_parameter_request(const pal::GapRemoteConnectionP
|
||||||
/* minimum_connection_event_length */ 0,
|
/* minimum_connection_event_length */ 0,
|
||||||
/* maximum_connection_event_length */ 0
|
/* maximum_connection_event_length */ 0
|
||||||
);
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenericGap::on_connection_update(const pal::GapConnectionUpdateEvent &e)
|
void GenericGap::on_connection_update(const pal::GapConnectionUpdateEvent &e)
|
||||||
{
|
{
|
||||||
// TODO: add feature in interface to notify the user that the connection
|
_eventHandler->onConnectionParametersUpdateComplete(
|
||||||
// has been updated.
|
ConnectionParametersUpdateCompleteEvent(
|
||||||
|
e.status == pal::hci_error_code_t::SUCCESS ? BLE_ERROR_NONE : BLE_ERROR_UNSPECIFIED,
|
||||||
|
e.connection_handle,
|
||||||
|
conn_interval_t(e.connection_interval),
|
||||||
|
e.connection_latency,
|
||||||
|
supervision_timeout_t(e.supervision_timeout)
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenericGap::on_unexpected_error(const pal::GapUnexpectedErrorEvent &e)
|
void GenericGap::on_unexpected_error(const pal::GapUnexpectedErrorEvent &e)
|
||||||
|
|
Loading…
Reference in New Issue