Loading system/vendor_libs/test_vendor_lib/model/controller/dual_mode_controller.cc +49 −2 Original line number Diff line number Diff line Loading @@ -216,6 +216,9 @@ DualModeController::DualModeController(const std::string& properties_filename, u SET_HANDLER(OpCode::LE_REMOVE_DEVICE_FROM_RESOLVING_LIST, LeRemoveDeviceFromResolvingList); SET_HANDLER(OpCode::LE_CLEAR_RESOLVING_LIST, LeClearResolvingList); SET_HANDLER(OpCode::LE_SET_EXTENDED_SCAN_PARAMETERS, LeSetExtendedScanParameters); SET_HANDLER(OpCode::LE_SET_EXTENDED_SCAN_ENABLE, LeSetExtendedScanEnable); SET_HANDLER(OpCode::LE_SET_PRIVACY_MODE, LeSetPrivacyMode); // Testing Commands SET_HANDLER(OpCode::READ_LOOPBACK_MODE, ReadLoopbackMode); Loading Loading @@ -1467,8 +1470,11 @@ void DualModeController::LeSetScanEnable(CommandPacketView command) { auto command_view = gd_hci::LeSetScanEnableView::Create( gd_hci::LeScanningCommandView::Create(command)); ASSERT(command_view.IsValid()); link_layer_controller_.SetLeScanEnable(command_view.GetLeScanEnable() == gd_hci::Enable::ENABLED); if (command_view.GetLeScanEnable() == gd_hci::Enable::ENABLED) { link_layer_controller_.SetLeScanEnable(gd_hci::OpCode::LE_SET_SCAN_ENABLE); } else { link_layer_controller_.SetLeScanEnable(gd_hci::OpCode::NONE); } link_layer_controller_.SetLeFilterDuplicates( command_view.GetFilterDuplicates() == gd_hci::Enable::ENABLED); auto packet = bluetooth::hci::LeSetScanEnableCompleteBuilder::Create( Loading Loading @@ -1691,6 +1697,47 @@ void DualModeController::LeRemoveDeviceFromResolvingList( send_event_(std::move(packet)); } void DualModeController::LeSetExtendedScanParameters( CommandPacketView command) { auto command_view = gd_hci::LeSetExtendedScanParametersView::Create( gd_hci::LeScanningCommandView::Create(command)); ASSERT(command_view.IsValid()); auto parameters = command_view.GetParameters(); // Multiple phys are not supported. ASSERT(command_view.GetScanningPhys() == 1); ASSERT(parameters.size() == 1); link_layer_controller_.SetLeScanType( static_cast<uint8_t>(parameters[0].le_scan_type_)); link_layer_controller_.SetLeScanInterval(parameters[0].le_scan_interval_); link_layer_controller_.SetLeScanWindow(parameters[0].le_scan_window_); link_layer_controller_.SetLeAddressType( static_cast<uint8_t>(command_view.GetOwnAddressType())); link_layer_controller_.SetLeScanFilterPolicy( static_cast<uint8_t>(command_view.GetScanningFilterPolicy())); auto packet = bluetooth::hci::LeSetExtendedScanParametersCompleteBuilder::Create( kNumCommandPackets, ErrorCode::SUCCESS); send_event_(std::move(packet)); } void DualModeController::LeSetExtendedScanEnable(CommandPacketView command) { auto command_view = gd_hci::LeSetExtendedScanEnableView::Create( gd_hci::LeScanningCommandView::Create(command)); ASSERT(command_view.IsValid()); if (command_view.GetEnable() == gd_hci::Enable::ENABLED) { link_layer_controller_.SetLeScanEnable( gd_hci::OpCode::LE_SET_EXTENDED_SCAN_ENABLE); } else { link_layer_controller_.SetLeScanEnable(gd_hci::OpCode::NONE); } link_layer_controller_.SetLeFilterDuplicates( command_view.GetFilterDuplicates() == gd_hci::FilterDuplicates::ENABLED); auto packet = bluetooth::hci::LeSetExtendedScanEnableCompleteBuilder::Create( kNumCommandPackets, ErrorCode::SUCCESS); send_event_(std::move(packet)); } void DualModeController::LeSetPrivacyMode(CommandPacketView command) { auto command_view = gd_hci::LeSetPrivacyModeView::Create( gd_hci::LeSecurityCommandView::Create(command)); Loading system/vendor_libs/test_vendor_lib/model/controller/dual_mode_controller.h +6 −0 Original line number Diff line number Diff line Loading @@ -436,6 +436,12 @@ class DualModeController : public Device { // 7.8.40 void LeClearResolvingList(CommandPacketView args); // 7.8.64 void LeSetExtendedScanParameters(CommandPacketView args); // 7.8.65 void LeSetExtendedScanEnable(CommandPacketView args); // 7.8.77 void LeSetPrivacyMode(CommandPacketView args); Loading system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.cc +72 −21 Original line number Diff line number Diff line Loading @@ -206,7 +206,7 @@ void LinkLayerController::IncomingPacket( IncomingIoCapabilityNegativeResponsePacket(incoming); break; case model::packets::PacketType::LE_ADVERTISEMENT: if (le_scan_enable_ || le_connect_) { if (le_scan_enable_ != bluetooth::hci::OpCode::NONE || le_connect_) { IncomingLeAdvertisementPacket(incoming); } break; Loading @@ -221,7 +221,8 @@ void LinkLayerController::IncomingPacket( IncomingLeScanPacket(incoming); break; case model::packets::PacketType::LE_SCAN_RESPONSE: if (le_scan_enable_ && le_scan_type_ == 1) { if (le_scan_enable_ != bluetooth::hci::OpCode::NONE && le_scan_type_ == 1) { IncomingLeScanResponsePacket(incoming); } break; Loading Loading @@ -746,7 +747,7 @@ void LinkLayerController::IncomingLeAdvertisementPacket( advertisement.GetAdvertisementType()); auto address_type = advertisement.GetAddressType(); if (le_scan_enable_) { if (le_scan_enable_ == bluetooth::hci::OpCode::LE_SET_SCAN_ENABLE) { vector<uint8_t> ad = advertisement.GetData(); std::unique_ptr<bluetooth::packet::RawBuilder> raw_builder_ptr = Loading @@ -765,8 +766,34 @@ void LinkLayerController::IncomingLeAdvertisementPacket( send_event_(std::move(packet)); } if (le_scan_enable_ == bluetooth::hci::OpCode::LE_SET_EXTENDED_SCAN_ENABLE) { vector<uint8_t> ad = advertisement.GetData(); std::unique_ptr<bluetooth::packet::RawBuilder> raw_builder_ptr = std::make_unique<bluetooth::packet::RawBuilder>(); raw_builder_ptr->AddOctets1(static_cast<uint8_t>( bluetooth::hci::SubeventCode::EXTENDED_ADVERTISING_REPORT)); raw_builder_ptr->AddOctets1(0x01); // num reports raw_builder_ptr->AddOctets1(static_cast<uint8_t>(adv_type)); raw_builder_ptr->AddOctets1(static_cast<uint8_t>(address_type)); raw_builder_ptr->AddAddress(address); raw_builder_ptr->AddOctets1(1); // Primary_PHY raw_builder_ptr->AddOctets1(0); // Secondary_PHY raw_builder_ptr->AddOctets1(0xFF); // Advertising_SID - not provided raw_builder_ptr->AddOctets1(0x7F); // Tx_Power - Not available raw_builder_ptr->AddOctets1(GetRssi()); raw_builder_ptr->AddOctets1(0); // Periodic_Advertising_Interval - None raw_builder_ptr->AddOctets1(0); // Direct_Address_Type - PUBLIC raw_builder_ptr->AddAddress(Address::kEmpty); // Direct_Address raw_builder_ptr->AddOctets1(ad.size()); raw_builder_ptr->AddOctets(ad); auto packet = bluetooth::hci::EventPacketBuilder::Create( bluetooth::hci::EventCode::LE_META_EVENT, std::move(raw_builder_ptr)); send_event_(std::move(packet)); } // Active scanning if (le_scan_enable_ && le_scan_type_ == 1) { if (le_scan_enable_ != bluetooth::hci::OpCode::NONE && le_scan_type_ == 1) { auto to_send = model::packets::LeScanBuilder::Create( properties_.GetLeAddress(), address); SendLeLinkLayerPacket(std::move(to_send)); Loading @@ -790,7 +817,7 @@ void LinkLayerController::IncomingLeAdvertisementPacket( LOG_INFO("%s: connecting to %s (type %hhx)", __func__, incoming.GetSourceAddress().ToString().c_str(), address_type); le_connect_ = false; le_scan_enable_ = false; le_scan_enable_ = bluetooth::hci::OpCode::NONE; auto to_send = model::packets::LeConnectBuilder::Create( properties_.GetLeAddress(), incoming.GetSourceAddress(), Loading Loading @@ -877,7 +904,6 @@ void LinkLayerController::IncomingLeConnectCompletePacket( void LinkLayerController::IncomingLeScanPacket( model::packets::LinkLayerPacketView incoming) { LOG_INFO("LE Scan Packet"); auto to_send = model::packets::LeScanResponseBuilder::Create( properties_.GetLeAddress(), incoming.GetSourceAddress(), Loading @@ -898,7 +924,7 @@ void LinkLayerController::IncomingLeScanResponsePacket( scan_response.GetAdvertisementType()); auto address_type = static_cast<LeAdvertisement::AddressType>(scan_response.GetAddressType()); if (le_scan_enable_ == bluetooth::hci::OpCode::LE_SET_SCAN_ENABLE) { std::unique_ptr<bluetooth::packet::RawBuilder> raw_builder_ptr = std::make_unique<bluetooth::packet::RawBuilder>(); raw_builder_ptr->AddOctets1( Loading @@ -915,6 +941,31 @@ void LinkLayerController::IncomingLeScanResponsePacket( send_event_(std::move(packet)); } if (le_scan_enable_ == bluetooth::hci::OpCode::LE_SET_EXTENDED_SCAN_ENABLE) { std::unique_ptr<bluetooth::packet::RawBuilder> raw_builder_ptr = std::make_unique<bluetooth::packet::RawBuilder>(); raw_builder_ptr->AddOctets1(static_cast<uint8_t>( bluetooth::hci::SubeventCode::EXTENDED_ADVERTISING_REPORT)); raw_builder_ptr->AddOctets1(0x01); // num reports raw_builder_ptr->AddOctets1(static_cast<uint8_t>(adv_type)); raw_builder_ptr->AddOctets1(static_cast<uint8_t>(address_type)); raw_builder_ptr->AddAddress(incoming.GetSourceAddress()); raw_builder_ptr->AddOctets1(1); // Primary_PHY raw_builder_ptr->AddOctets1(0); // Secondary_PHY raw_builder_ptr->AddOctets1(0xFF); // Advertising_SID - not provided raw_builder_ptr->AddOctets1(0x7F); // Tx_Power - Not available raw_builder_ptr->AddOctets1(GetRssi()); raw_builder_ptr->AddOctets1(0); // Periodic_Advertising_Interval - None raw_builder_ptr->AddOctets1(0); // Direct_Address_Type - PUBLIC raw_builder_ptr->AddAddress(Address::kEmpty); // Direct_Address raw_builder_ptr->AddOctets1(ad.size()); raw_builder_ptr->AddOctets(ad); auto packet = bluetooth::hci::EventPacketBuilder::Create( bluetooth::hci::EventCode::LE_META_EVENT, std::move(raw_builder_ptr)); send_event_(std::move(packet)); } } void LinkLayerController::IncomingPagePacket( model::packets::LinkLayerPacketView incoming) { auto page = model::packets::PageView::Create(incoming); Loading Loading @@ -1691,7 +1742,7 @@ bool LinkLayerController::LeResolvingListFull() { void LinkLayerController::Reset() { inquiry_state_ = Inquiry::InquiryState::STANDBY; last_inquiry_ = steady_clock::now(); le_scan_enable_ = 0; le_scan_enable_ = bluetooth::hci::OpCode::NONE; le_advertising_enable_ = 0; le_connect_ = 0; } Loading system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.h +3 −3 Original line number Diff line number Diff line Loading @@ -156,8 +156,8 @@ class LinkLayerController { return ErrorCode::SUCCESS; } void SetLeScanEnable(uint8_t le_scan_enable) { le_scan_enable_ = le_scan_enable; void SetLeScanEnable(bluetooth::hci::OpCode enabling_opcode) { le_scan_enable_ = enabling_opcode; } void SetLeScanType(uint8_t le_scan_type) { le_scan_type_ = le_scan_type; Loading Loading @@ -337,7 +337,7 @@ class LinkLayerController { uint8_t le_advertising_enable_{false}; std::chrono::steady_clock::time_point last_le_advertisement_; uint8_t le_scan_enable_{false}; bluetooth::hci::OpCode le_scan_enable_{bluetooth::hci::OpCode::NONE}; uint8_t le_scan_type_; uint16_t le_scan_interval_; uint16_t le_scan_window_; Loading Loading
system/vendor_libs/test_vendor_lib/model/controller/dual_mode_controller.cc +49 −2 Original line number Diff line number Diff line Loading @@ -216,6 +216,9 @@ DualModeController::DualModeController(const std::string& properties_filename, u SET_HANDLER(OpCode::LE_REMOVE_DEVICE_FROM_RESOLVING_LIST, LeRemoveDeviceFromResolvingList); SET_HANDLER(OpCode::LE_CLEAR_RESOLVING_LIST, LeClearResolvingList); SET_HANDLER(OpCode::LE_SET_EXTENDED_SCAN_PARAMETERS, LeSetExtendedScanParameters); SET_HANDLER(OpCode::LE_SET_EXTENDED_SCAN_ENABLE, LeSetExtendedScanEnable); SET_HANDLER(OpCode::LE_SET_PRIVACY_MODE, LeSetPrivacyMode); // Testing Commands SET_HANDLER(OpCode::READ_LOOPBACK_MODE, ReadLoopbackMode); Loading Loading @@ -1467,8 +1470,11 @@ void DualModeController::LeSetScanEnable(CommandPacketView command) { auto command_view = gd_hci::LeSetScanEnableView::Create( gd_hci::LeScanningCommandView::Create(command)); ASSERT(command_view.IsValid()); link_layer_controller_.SetLeScanEnable(command_view.GetLeScanEnable() == gd_hci::Enable::ENABLED); if (command_view.GetLeScanEnable() == gd_hci::Enable::ENABLED) { link_layer_controller_.SetLeScanEnable(gd_hci::OpCode::LE_SET_SCAN_ENABLE); } else { link_layer_controller_.SetLeScanEnable(gd_hci::OpCode::NONE); } link_layer_controller_.SetLeFilterDuplicates( command_view.GetFilterDuplicates() == gd_hci::Enable::ENABLED); auto packet = bluetooth::hci::LeSetScanEnableCompleteBuilder::Create( Loading Loading @@ -1691,6 +1697,47 @@ void DualModeController::LeRemoveDeviceFromResolvingList( send_event_(std::move(packet)); } void DualModeController::LeSetExtendedScanParameters( CommandPacketView command) { auto command_view = gd_hci::LeSetExtendedScanParametersView::Create( gd_hci::LeScanningCommandView::Create(command)); ASSERT(command_view.IsValid()); auto parameters = command_view.GetParameters(); // Multiple phys are not supported. ASSERT(command_view.GetScanningPhys() == 1); ASSERT(parameters.size() == 1); link_layer_controller_.SetLeScanType( static_cast<uint8_t>(parameters[0].le_scan_type_)); link_layer_controller_.SetLeScanInterval(parameters[0].le_scan_interval_); link_layer_controller_.SetLeScanWindow(parameters[0].le_scan_window_); link_layer_controller_.SetLeAddressType( static_cast<uint8_t>(command_view.GetOwnAddressType())); link_layer_controller_.SetLeScanFilterPolicy( static_cast<uint8_t>(command_view.GetScanningFilterPolicy())); auto packet = bluetooth::hci::LeSetExtendedScanParametersCompleteBuilder::Create( kNumCommandPackets, ErrorCode::SUCCESS); send_event_(std::move(packet)); } void DualModeController::LeSetExtendedScanEnable(CommandPacketView command) { auto command_view = gd_hci::LeSetExtendedScanEnableView::Create( gd_hci::LeScanningCommandView::Create(command)); ASSERT(command_view.IsValid()); if (command_view.GetEnable() == gd_hci::Enable::ENABLED) { link_layer_controller_.SetLeScanEnable( gd_hci::OpCode::LE_SET_EXTENDED_SCAN_ENABLE); } else { link_layer_controller_.SetLeScanEnable(gd_hci::OpCode::NONE); } link_layer_controller_.SetLeFilterDuplicates( command_view.GetFilterDuplicates() == gd_hci::FilterDuplicates::ENABLED); auto packet = bluetooth::hci::LeSetExtendedScanEnableCompleteBuilder::Create( kNumCommandPackets, ErrorCode::SUCCESS); send_event_(std::move(packet)); } void DualModeController::LeSetPrivacyMode(CommandPacketView command) { auto command_view = gd_hci::LeSetPrivacyModeView::Create( gd_hci::LeSecurityCommandView::Create(command)); Loading
system/vendor_libs/test_vendor_lib/model/controller/dual_mode_controller.h +6 −0 Original line number Diff line number Diff line Loading @@ -436,6 +436,12 @@ class DualModeController : public Device { // 7.8.40 void LeClearResolvingList(CommandPacketView args); // 7.8.64 void LeSetExtendedScanParameters(CommandPacketView args); // 7.8.65 void LeSetExtendedScanEnable(CommandPacketView args); // 7.8.77 void LeSetPrivacyMode(CommandPacketView args); Loading
system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.cc +72 −21 Original line number Diff line number Diff line Loading @@ -206,7 +206,7 @@ void LinkLayerController::IncomingPacket( IncomingIoCapabilityNegativeResponsePacket(incoming); break; case model::packets::PacketType::LE_ADVERTISEMENT: if (le_scan_enable_ || le_connect_) { if (le_scan_enable_ != bluetooth::hci::OpCode::NONE || le_connect_) { IncomingLeAdvertisementPacket(incoming); } break; Loading @@ -221,7 +221,8 @@ void LinkLayerController::IncomingPacket( IncomingLeScanPacket(incoming); break; case model::packets::PacketType::LE_SCAN_RESPONSE: if (le_scan_enable_ && le_scan_type_ == 1) { if (le_scan_enable_ != bluetooth::hci::OpCode::NONE && le_scan_type_ == 1) { IncomingLeScanResponsePacket(incoming); } break; Loading Loading @@ -746,7 +747,7 @@ void LinkLayerController::IncomingLeAdvertisementPacket( advertisement.GetAdvertisementType()); auto address_type = advertisement.GetAddressType(); if (le_scan_enable_) { if (le_scan_enable_ == bluetooth::hci::OpCode::LE_SET_SCAN_ENABLE) { vector<uint8_t> ad = advertisement.GetData(); std::unique_ptr<bluetooth::packet::RawBuilder> raw_builder_ptr = Loading @@ -765,8 +766,34 @@ void LinkLayerController::IncomingLeAdvertisementPacket( send_event_(std::move(packet)); } if (le_scan_enable_ == bluetooth::hci::OpCode::LE_SET_EXTENDED_SCAN_ENABLE) { vector<uint8_t> ad = advertisement.GetData(); std::unique_ptr<bluetooth::packet::RawBuilder> raw_builder_ptr = std::make_unique<bluetooth::packet::RawBuilder>(); raw_builder_ptr->AddOctets1(static_cast<uint8_t>( bluetooth::hci::SubeventCode::EXTENDED_ADVERTISING_REPORT)); raw_builder_ptr->AddOctets1(0x01); // num reports raw_builder_ptr->AddOctets1(static_cast<uint8_t>(adv_type)); raw_builder_ptr->AddOctets1(static_cast<uint8_t>(address_type)); raw_builder_ptr->AddAddress(address); raw_builder_ptr->AddOctets1(1); // Primary_PHY raw_builder_ptr->AddOctets1(0); // Secondary_PHY raw_builder_ptr->AddOctets1(0xFF); // Advertising_SID - not provided raw_builder_ptr->AddOctets1(0x7F); // Tx_Power - Not available raw_builder_ptr->AddOctets1(GetRssi()); raw_builder_ptr->AddOctets1(0); // Periodic_Advertising_Interval - None raw_builder_ptr->AddOctets1(0); // Direct_Address_Type - PUBLIC raw_builder_ptr->AddAddress(Address::kEmpty); // Direct_Address raw_builder_ptr->AddOctets1(ad.size()); raw_builder_ptr->AddOctets(ad); auto packet = bluetooth::hci::EventPacketBuilder::Create( bluetooth::hci::EventCode::LE_META_EVENT, std::move(raw_builder_ptr)); send_event_(std::move(packet)); } // Active scanning if (le_scan_enable_ && le_scan_type_ == 1) { if (le_scan_enable_ != bluetooth::hci::OpCode::NONE && le_scan_type_ == 1) { auto to_send = model::packets::LeScanBuilder::Create( properties_.GetLeAddress(), address); SendLeLinkLayerPacket(std::move(to_send)); Loading @@ -790,7 +817,7 @@ void LinkLayerController::IncomingLeAdvertisementPacket( LOG_INFO("%s: connecting to %s (type %hhx)", __func__, incoming.GetSourceAddress().ToString().c_str(), address_type); le_connect_ = false; le_scan_enable_ = false; le_scan_enable_ = bluetooth::hci::OpCode::NONE; auto to_send = model::packets::LeConnectBuilder::Create( properties_.GetLeAddress(), incoming.GetSourceAddress(), Loading Loading @@ -877,7 +904,6 @@ void LinkLayerController::IncomingLeConnectCompletePacket( void LinkLayerController::IncomingLeScanPacket( model::packets::LinkLayerPacketView incoming) { LOG_INFO("LE Scan Packet"); auto to_send = model::packets::LeScanResponseBuilder::Create( properties_.GetLeAddress(), incoming.GetSourceAddress(), Loading @@ -898,7 +924,7 @@ void LinkLayerController::IncomingLeScanResponsePacket( scan_response.GetAdvertisementType()); auto address_type = static_cast<LeAdvertisement::AddressType>(scan_response.GetAddressType()); if (le_scan_enable_ == bluetooth::hci::OpCode::LE_SET_SCAN_ENABLE) { std::unique_ptr<bluetooth::packet::RawBuilder> raw_builder_ptr = std::make_unique<bluetooth::packet::RawBuilder>(); raw_builder_ptr->AddOctets1( Loading @@ -915,6 +941,31 @@ void LinkLayerController::IncomingLeScanResponsePacket( send_event_(std::move(packet)); } if (le_scan_enable_ == bluetooth::hci::OpCode::LE_SET_EXTENDED_SCAN_ENABLE) { std::unique_ptr<bluetooth::packet::RawBuilder> raw_builder_ptr = std::make_unique<bluetooth::packet::RawBuilder>(); raw_builder_ptr->AddOctets1(static_cast<uint8_t>( bluetooth::hci::SubeventCode::EXTENDED_ADVERTISING_REPORT)); raw_builder_ptr->AddOctets1(0x01); // num reports raw_builder_ptr->AddOctets1(static_cast<uint8_t>(adv_type)); raw_builder_ptr->AddOctets1(static_cast<uint8_t>(address_type)); raw_builder_ptr->AddAddress(incoming.GetSourceAddress()); raw_builder_ptr->AddOctets1(1); // Primary_PHY raw_builder_ptr->AddOctets1(0); // Secondary_PHY raw_builder_ptr->AddOctets1(0xFF); // Advertising_SID - not provided raw_builder_ptr->AddOctets1(0x7F); // Tx_Power - Not available raw_builder_ptr->AddOctets1(GetRssi()); raw_builder_ptr->AddOctets1(0); // Periodic_Advertising_Interval - None raw_builder_ptr->AddOctets1(0); // Direct_Address_Type - PUBLIC raw_builder_ptr->AddAddress(Address::kEmpty); // Direct_Address raw_builder_ptr->AddOctets1(ad.size()); raw_builder_ptr->AddOctets(ad); auto packet = bluetooth::hci::EventPacketBuilder::Create( bluetooth::hci::EventCode::LE_META_EVENT, std::move(raw_builder_ptr)); send_event_(std::move(packet)); } } void LinkLayerController::IncomingPagePacket( model::packets::LinkLayerPacketView incoming) { auto page = model::packets::PageView::Create(incoming); Loading Loading @@ -1691,7 +1742,7 @@ bool LinkLayerController::LeResolvingListFull() { void LinkLayerController::Reset() { inquiry_state_ = Inquiry::InquiryState::STANDBY; last_inquiry_ = steady_clock::now(); le_scan_enable_ = 0; le_scan_enable_ = bluetooth::hci::OpCode::NONE; le_advertising_enable_ = 0; le_connect_ = 0; } Loading
system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.h +3 −3 Original line number Diff line number Diff line Loading @@ -156,8 +156,8 @@ class LinkLayerController { return ErrorCode::SUCCESS; } void SetLeScanEnable(uint8_t le_scan_enable) { le_scan_enable_ = le_scan_enable; void SetLeScanEnable(bluetooth::hci::OpCode enabling_opcode) { le_scan_enable_ = enabling_opcode; } void SetLeScanType(uint8_t le_scan_type) { le_scan_type_ = le_scan_type; Loading Loading @@ -337,7 +337,7 @@ class LinkLayerController { uint8_t le_advertising_enable_{false}; std::chrono::steady_clock::time_point last_le_advertisement_; uint8_t le_scan_enable_{false}; bluetooth::hci::OpCode le_scan_enable_{bluetooth::hci::OpCode::NONE}; uint8_t le_scan_type_; uint16_t le_scan_interval_; uint16_t le_scan_window_; Loading