Skip to content

Commit f34d31f

Browse files
remember if BLE scan paremeters are set
1 parent 84e5f1e commit f34d31f

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

connectivity/FEATURE_BLE/source/generic/GapImpl.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1221,6 +1221,7 @@ ble_error_t Gap::reset()
12211221
#endif // BLE_FEATURE_PRIVACY
12221222

12231223
#if BLE_ROLE_OBSERVER
1224+
_scan_parameters_set = false;
12241225
_scan_timeout.detach();
12251226
#endif
12261227

@@ -3562,6 +3563,8 @@ ble_error_t Gap::setScanParameters(const ScanParameters &params)
35623563
params.getCodedPhyConfiguration().getWindow().value()
35633564
};
35643565

3566+
_scan_parameters_set = true;
3567+
35653568
return _pal_gap.set_extended_scan_parameters(
35663569
params.getOwnAddressType(),
35673570
params.getFilter(),
@@ -3581,6 +3584,8 @@ ble_error_t Gap::setScanParameters(const ScanParameters &params)
35813584
ScanParameters::phy_configuration_t legacy_configuration =
35823585
params.get1mPhyConfiguration();
35833586

3587+
_scan_parameters_set = true;
3588+
35843589
return _pal_gap.set_scan_parameters(
35853590
legacy_configuration.isActiveScanningSet(),
35863591
legacy_configuration.getInterval().value(),
@@ -3613,6 +3618,11 @@ ble_error_t Gap::startScan(
36133618
return BLE_STACK_BUSY;
36143619
}
36153620

3621+
if (!_scan_parameters_set) {
3622+
tr_error("Scan parameters not set.");
3623+
return BLE_ERROR_OPERATION_NOT_PERMITTED;
3624+
}
3625+
36163626
_scan_requested_duration = duration;
36173627
_scan_requested_filtering = filtering;
36183628
_scan_requested_period = period;

connectivity/FEATURE_BLE/source/generic/GapImpl.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -991,6 +991,10 @@ class Gap :
991991

992992

993993
bool _user_manage_connection_parameter_requests : 1;
994+
#if BLE_ROLE_OBSERVER
995+
bool _scan_parameters_set : 1 = false;
996+
#endif // BLE_ROLE_OBSERVER
997+
994998
};
995999

9961000
} // namespace impl

0 commit comments

Comments
 (0)