Skip to content

Commit 9d7477f

Browse files
committed
Added scan parameters to GATTCentral
1 parent 579ffd5 commit 9d7477f

2 files changed

Lines changed: 20 additions & 24 deletions

File tree

Sources/GATT/GATTCentral.swift

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,26 @@ public final class GATTCentral <HostController: BluetoothHostControllerInterface
5353
/// Scans for peripherals that are advertising services.
5454
public func scan(
5555
filterDuplicates: Bool
56+
) async throws -> AsyncCentralScan<GATTCentral> {
57+
let scanParameters = HCILESetScanParameters(
58+
type: .active,
59+
interval: LowEnergyScanTimeInterval(rawValue: 0x01E0)!,
60+
window: LowEnergyScanTimeInterval(rawValue: 0x0030)!,
61+
addressType: .public,
62+
filterPolicy: .accept
63+
)
64+
return try await scan(filterDuplicates: filterDuplicates, parameters: scanParameters)
65+
}
66+
67+
/// Scans for peripherals that are advertising services.
68+
public func scan(
69+
filterDuplicates: Bool,
70+
parameters: HCILESetScanParameters
5671
) async throws -> AsyncCentralScan<GATTCentral> {
5772
self.log?("Scanning...")
5873
let stream = try await self.hostController.lowEnergyScan(
5974
filterDuplicates: filterDuplicates,
60-
parameters: self.options.scanParameters
75+
parameters: parameters
6176
)
6277
return AsyncCentralScan { [unowned self] continuation in
6378
// start scanning
@@ -266,28 +281,9 @@ internal extension GATTCentral {
266281
public struct GATTCentralOptions {
267282

268283
public let maximumTransmissionUnit: ATTMaximumTransmissionUnit
269-
270-
public let scanParameters: HCILESetScanParameters
271-
272-
public init(maximumTransmissionUnit: ATTMaximumTransmissionUnit = .max,
273-
scanParameters: HCILESetScanParameters = .gattCentralDefault) {
274284

285+
public init(maximumTransmissionUnit: ATTMaximumTransmissionUnit = .default) {
275286
self.maximumTransmissionUnit = maximumTransmissionUnit
276-
self.scanParameters = scanParameters
277-
}
278-
}
279-
280-
public extension HCILESetScanParameters {
281-
282-
static var gattCentralDefault: HCILESetScanParameters {
283-
284-
return HCILESetScanParameters(
285-
type: .active,
286-
interval: LowEnergyScanTimeInterval(rawValue: 0x01E0)!,
287-
window: LowEnergyScanTimeInterval(rawValue: 0x0030)!,
288-
addressType: .public,
289-
filterPolicy: .accept
290-
)
291287
}
292288
}
293289

Tests/GATTTests/GATTTests.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ final class GATTTests: XCTestCase {
333333

334334
try await connect(
335335
serverOptions: .init(maximumTransmissionUnit: .default, maximumPreparedWrites: 1000),
336-
clientOptions: .init(maximumTransmissionUnit: .max, scanParameters: .gattCentralDefault),
336+
clientOptions: .init(maximumTransmissionUnit: .max),
337337
server: { peripheral in
338338
let serviceAttribute = try await peripheral.add(service: service)
339339
XCTAssertEqual(serviceAttribute, 1)
@@ -395,10 +395,10 @@ final class GATTTests: XCTestCase {
395395
)
396396

397397
let newValue = GATTBatteryLevel(level: .min)
398-
398+
399399
try await connect(
400400
serverOptions: .init(maximumTransmissionUnit: .default, maximumPreparedWrites: 1000),
401-
clientOptions: .init(maximumTransmissionUnit: .max, scanParameters: .gattCentralDefault),
401+
clientOptions: .init(maximumTransmissionUnit: .max),
402402
server: { peripheral in
403403
let serviceAttribute = try await peripheral.add(service: service)
404404
XCTAssertEqual(serviceAttribute, 1)

0 commit comments

Comments
 (0)