diff --git a/features/FEATURE_BLE/ble/Gap.h b/features/FEATURE_BLE/ble/Gap.h index f2392305e3..22c815fbbd 100644 --- a/features/FEATURE_BLE/ble/Gap.h +++ b/features/FEATURE_BLE/ble/Gap.h @@ -1944,7 +1944,7 @@ public: * @return BLE_ERROR_NONE on success. */ virtual ble_error_t startScan( - ble::scanning_filter_duplicates_t filtering = ble::SCAN_FILTER_DUPLICATES_DISABLED, + ble::duplicates_filter_t filtering = ble::duplicates_filter_t::DISABLE, ble::scan_duration_t duration = ble::scan_duration_t(0), ble::scan_period_t period = ble::scan_period_t(0) ) { diff --git a/features/FEATURE_BLE/ble/gap/Types.h b/features/FEATURE_BLE/ble/gap/Types.h index cdae5e8e6e..96268f8d27 100644 --- a/features/FEATURE_BLE/ble/gap/Types.h +++ b/features/FEATURE_BLE/ble/gap/Types.h @@ -347,17 +347,33 @@ struct initiator_filter_policy_t : SafeEnum initiator_filter_policy_t(type value) : SafeEnum(value) { } }; - /** * Scanning policy filter mode. * * @see Bluetooth Core Specification 4.2 (Vol. 6), Part B, Section 4.3.3. */ -enum scanning_filter_duplicates_t { - SCAN_FILTER_DUPLICATES_DISABLED = 0, /**< Do not remove duplicate reports. */ - SCAN_FILTER_DUPLICATES_ENABLED = 1, /**< Remove duplicate reports. */ - SCAN_FILTER_DUPLICATES_ENABLED_PER_PERIOD = 2 /**< Remove reports which are duplicate - within a single period. */ +struct duplicates_filter_t : SafeEnum{ + enum type { + /** + * Disable duplicate filtering. + */ + DISABLE, + + /** + * Enable duplicate filtering. + */ + ENABLE, + + /** + * Enable duplicate filtering, reset the cache periodically. + */ + PERIODIC_RESET + }; + + /** + * Construct a new duplicates_filter_t value. + */ + duplicates_filter_t(type value) : SafeEnum(value) { } }; struct own_address_type_t : ble::SafeEnum { diff --git a/features/FEATURE_BLE/ble/generic/GenericGap.h b/features/FEATURE_BLE/ble/generic/GenericGap.h index 9e36a2b8c5..02badf5017 100644 --- a/features/FEATURE_BLE/ble/generic/GenericGap.h +++ b/features/FEATURE_BLE/ble/generic/GenericGap.h @@ -175,7 +175,7 @@ public: /** @copydoc Gap::startScan */ virtual ble_error_t startScan( - scanning_filter_duplicates_t filtering, + duplicates_filter_t filtering, scan_duration_t duration, scan_period_t period ); diff --git a/features/FEATURE_BLE/ble/pal/GapTypes.h b/features/FEATURE_BLE/ble/pal/GapTypes.h index 90d8fbb0dd..8755ba7d9e 100644 --- a/features/FEATURE_BLE/ble/pal/GapTypes.h +++ b/features/FEATURE_BLE/ble/pal/GapTypes.h @@ -644,30 +644,7 @@ struct advertising_fragment_description_t : SafeEnum(value) { } }; -struct duplicates_filter_t : SafeEnum{ - enum type { - /** - * Disable duplicate filtering. - */ - DISABLE, - - /** - * Enable duplicate filtering. - */ - ENABLE, - - /** - * Enable duplicate filtering, reset the cache periodically. - */ - PERIODIC_RESET - }; - - /** - * Construct a new duplicates_filter_t value. - */ - duplicates_filter_t(type value) : - SafeEnum(value) { } -}; +typedef ble::duplicates_filter_t duplicates_filter_t; /** * Identify a periodic advertising sync. diff --git a/features/FEATURE_BLE/source/generic/GenericGap.cpp b/features/FEATURE_BLE/source/generic/GenericGap.cpp index 4f4ee03a1b..7137086346 100644 --- a/features/FEATURE_BLE/source/generic/GenericGap.cpp +++ b/features/FEATURE_BLE/source/generic/GenericGap.cpp @@ -2412,7 +2412,7 @@ ble_error_t GenericGap::setScanParameters(const ScanParameters ¶ms) } ble_error_t GenericGap::startScan( - scanning_filter_duplicates_t filtering, + duplicates_filter_t filtering, scan_duration_t duration, scan_period_t period ) @@ -2427,7 +2427,7 @@ ble_error_t GenericGap::startScan( if (is_extended_advertising_available()) { return _pal_gap.extended_scan_enable( /* enable */true, - (pal::duplicates_filter_t::type) filtering, + filtering, duration.value(), period.value() ); @@ -2438,7 +2438,7 @@ ble_error_t GenericGap::startScan( ble_error_t err = _pal_gap.scan_enable( true, - filtering == SCAN_FILTER_DUPLICATES_DISABLED ? false : true + filtering == duplicates_filter_t::DISABLE ? false : true ); if (err) {