Skip to content

Commit

Permalink
Merge "gd: Implement batch scan" am: cbe859c am: d4466da
Browse files Browse the repository at this point in the history
Original change: https://android-review.googlesource.com/c/platform/system/bt/+/1688307

Change-Id: I2026e26e11035e6fea46fb025689dceeaf111038
  • Loading branch information
myles-android authored and android-build-merge-worker-robot committed Apr 30, 2021
2 parents 9af91ec + d4466da commit fc54cf8
Show file tree
Hide file tree
Showing 8 changed files with 404 additions and 12 deletions.
1 change: 1 addition & 0 deletions gd/hci/facade/le_scanning_manager_facade.cc
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ class LeScanningManagerFacadeService : public LeScanningManagerFacade::Service,
};
void OnTrackAdvFoundLost(){};
void OnBatchScanReports(int client_if, int status, int report_format, int num_records, std::vector<uint8_t> data){};
void OnBatchScanThresholdCrossed(int client_if){};
void OnTimeout(){};
void OnFilterEnable(Enable enable, uint8_t status){};
void OnFilterParamSetup(uint8_t available_spaces, ApcfAction action, uint8_t status){};
Expand Down
55 changes: 44 additions & 11 deletions gd/hci/hci_packets.pdl
Original file line number Diff line number Diff line change
Expand Up @@ -4506,7 +4506,8 @@ enum BatchScanOpcode : 8 {
READ_RESULT_PARAMETERS = 0x04,
}

packet LeBatchScan : VendorCommand (op_code = LE_BATCH_SCAN) {
// https://source.android.com/devices/bluetooth/hci_requirements#batching-of-scan-results
packet LeBatchScan : LeScanningCommand (op_code = LE_BATCH_SCAN) {
batch_scan_opcode : BatchScanOpcode,
_body_,
}
Expand Down Expand Up @@ -4551,8 +4552,24 @@ packet LeBatchScanSetScanParameters : LeBatchScan (batch_scan_opcode = SET_SCAN_
packet LeBatchScanSetScanParametersComplete : LeBatchScanComplete (batch_scan_opcode = SET_SCAN_PARAMETERS) {
}

packet LeBatchScanReadTruncatedResultParameters : LeBatchScan (batch_scan_opcode = READ_RESULT_PARAMETERS) {
_fixed_ = 0x01 : 8,
enum BatchScanDataRead : 8 {
TRUNCATED_MODE_DATA = 0x01,
FULL_MODE_DATA = 0x02,
}

packet LeBatchScanReadResultParameters : LeBatchScan (batch_scan_opcode = READ_RESULT_PARAMETERS) {
batch_scan_data_read : BatchScanDataRead,
}

packet LeBatchScanReadResultParametersCompleteRaw : LeBatchScanComplete (batch_scan_opcode = READ_RESULT_PARAMETERS) {
batch_scan_data_read : BatchScanDataRead,
num_of_records : 8,
raw_data : 8[],
}

packet LeBatchScanReadResultParametersComplete : LeBatchScanComplete (batch_scan_opcode = READ_RESULT_PARAMETERS) {
batch_scan_data_read : BatchScanDataRead,
_body_,
}

struct TruncatedResult {
Expand All @@ -4563,12 +4580,7 @@ struct TruncatedResult {
timestamp : 16,
}

packet LeBatchScanReadTruncatedResultParametersComplete : LeBatchScanComplete (batch_scan_opcode = READ_RESULT_PARAMETERS) {
_fixed_ = 0x01 : 8,
}

packet LeBatchScanReadFullResultParameters : LeBatchScan (batch_scan_opcode = READ_RESULT_PARAMETERS) {
_fixed_ = 0x02 : 8,
packet LeBatchScanReadTruncatedResultParametersComplete : LeBatchScanReadResultParametersComplete (batch_scan_data_read = TRUNCATED_MODE_DATA) {
_count_(results) : 8,
results : TruncatedResult[],
}
Expand All @@ -4585,8 +4597,7 @@ struct FullResult {
scan_response : 8[],
}

packet LeBatchScanReadFullResultParametersComplete : LeBatchScanComplete (batch_scan_opcode = READ_RESULT_PARAMETERS) {
_fixed_ = 0x02 : 8,
packet LeBatchScanReadFullResultParametersComplete : LeBatchScanReadResultParametersComplete (batch_scan_data_read = FULL_MODE_DATA) {
_count_(results) : 8,
results : FullResult[],
}
Expand Down Expand Up @@ -5617,6 +5628,28 @@ packet VendorSpecificEvent : Event (event_code = VENDOR_SPECIFIC) {
_payload_,
}

packet StorageThresholdBreachEvent : VendorSpecificEvent (subevent_code = BLE_THRESHOLD) {
}

packet LEAdvertisementTrackingEvent : VendorSpecificEvent (subevent_code = BLE_TRACKING) {
apcf_filter_index : 8,
advertiser_state : 8,
advt_info_present : 8,
advertiser_address : Address,
advertiser_address_type : 8,
_body_,
}

packet LEAdvertisementTrackingWithInfoEvent : LEAdvertisementTrackingEvent {
tx_power : 8,
rssi : 8,
timestamp : 8,
_size_(adv_packet) : 8,
adv_packet : 8[],
_size_(scan_response) : 8,
scan_response : 8[],
}

enum QualityReportId : 8 {
MONITOR_MODE = 0x01,
APPROACH_LSTO = 0x02,
Expand Down
Loading

0 comments on commit fc54cf8

Please sign in to comment.