Loading system/gd/cert/py_hal.py +21 −0 Original line number Original line Diff line number Diff line Loading @@ -150,6 +150,27 @@ class PyHal(Closable): def set_random_le_address(self, addr): def set_random_le_address(self, addr): self.send_hci_command(hci_packets.LeSetRandomAddressBuilder(addr)) self.send_hci_command(hci_packets.LeSetRandomAddressBuilder(addr)) def set_scan_parameters(self): phy_scan_params = hci_packets.PhyScanParameters() phy_scan_params.le_scan_interval = 6553 phy_scan_params.le_scan_window = 6553 phy_scan_params.le_scan_type = hci_packets.LeScanType.ACTIVE self.send_hci_command( hci_packets.LeSetExtendedScanParametersBuilder(hci_packets.OwnAddressType.RANDOM_DEVICE_ADDRESS, hci_packets.LeScanningFilterPolicy.ACCEPT_ALL, 1, [phy_scan_params])) def start_scanning(self): self.send_hci_command( hci_packets.LeSetExtendedScanEnableBuilder(hci_packets.Enable.ENABLED, hci_packets.FilterDuplicates.DISABLED, 0, 0)) def stop_scanning(self): self.send_hci_command( hci_packets.LeSetExtendedScanEnableBuilder(hci_packets.Enable.DISABLED, hci_packets.FilterDuplicates.DISABLED, 0, 0)) def reset(self): def reset(self): self.send_hci_command(hci_packets.ResetBuilder()) self.send_hci_command(hci_packets.ResetBuilder()) assertThat(self.hci_event_stream).emits(HciMatchers.CommandComplete(OpCode.RESET)) assertThat(self.hci_event_stream).emits(HciMatchers.CommandComplete(OpCode.RESET)) Loading system/gd/hal/cert/simple_hal_test.py +4 −16 Original line number Original line Diff line number Diff line Loading @@ -81,19 +81,9 @@ class SimpleHalTest(GdBaseTestClass): def test_le_ad_scan_cert_advertises(self): def test_le_ad_scan_cert_advertises(self): self.dut_hal.set_random_le_address('0D:05:04:03:02:01') self.dut_hal.set_random_le_address('0D:05:04:03:02:01') # DUT scans phy_scan_params = hci_packets.PhyScanParameters() phy_scan_params.le_scan_interval = 6553 phy_scan_params.le_scan_window = 6553 phy_scan_params.le_scan_type = hci_packets.LeScanType.ACTIVE self.dut_hal.send_hci_command( self.dut_hal.set_scan_parameters() hci_packets.LeSetExtendedScanParametersBuilder(hci_packets.OwnAddressType.RANDOM_DEVICE_ADDRESS, self.dut_hal.start_scanning() hci_packets.LeScanningFilterPolicy.ACCEPT_ALL, 1, [phy_scan_params])) self.dut_hal.send_hci_command( hci_packets.LeSetExtendedScanEnableBuilder(hci_packets.Enable.ENABLED, hci_packets.FilterDuplicates.DISABLED, 0, 0)) advertisement = self.cert_hal.create_advertisement( advertisement = self.cert_hal.create_advertisement( 0, 0, Loading @@ -109,10 +99,8 @@ class SimpleHalTest(GdBaseTestClass): assertThat(self.dut_hal.get_hci_event_stream()).emits(lambda packet: b'Im_A_Cert' in packet.payload) assertThat(self.dut_hal.get_hci_event_stream()).emits(lambda packet: b'Im_A_Cert' in packet.payload) advertisement.stop() advertisement.stop() # Disable Scanning self.dut_hal.send_hci_command( self.dut_hal.stop_scanning() hci_packets.LeSetExtendedScanEnableBuilder(hci_packets.Enable.ENABLED, hci_packets.FilterDuplicates.DISABLED, 0, 0)) def test_le_connection_dut_advertises(self): def test_le_connection_dut_advertises(self): # Cert Connects # Cert Connects Loading Loading
system/gd/cert/py_hal.py +21 −0 Original line number Original line Diff line number Diff line Loading @@ -150,6 +150,27 @@ class PyHal(Closable): def set_random_le_address(self, addr): def set_random_le_address(self, addr): self.send_hci_command(hci_packets.LeSetRandomAddressBuilder(addr)) self.send_hci_command(hci_packets.LeSetRandomAddressBuilder(addr)) def set_scan_parameters(self): phy_scan_params = hci_packets.PhyScanParameters() phy_scan_params.le_scan_interval = 6553 phy_scan_params.le_scan_window = 6553 phy_scan_params.le_scan_type = hci_packets.LeScanType.ACTIVE self.send_hci_command( hci_packets.LeSetExtendedScanParametersBuilder(hci_packets.OwnAddressType.RANDOM_DEVICE_ADDRESS, hci_packets.LeScanningFilterPolicy.ACCEPT_ALL, 1, [phy_scan_params])) def start_scanning(self): self.send_hci_command( hci_packets.LeSetExtendedScanEnableBuilder(hci_packets.Enable.ENABLED, hci_packets.FilterDuplicates.DISABLED, 0, 0)) def stop_scanning(self): self.send_hci_command( hci_packets.LeSetExtendedScanEnableBuilder(hci_packets.Enable.DISABLED, hci_packets.FilterDuplicates.DISABLED, 0, 0)) def reset(self): def reset(self): self.send_hci_command(hci_packets.ResetBuilder()) self.send_hci_command(hci_packets.ResetBuilder()) assertThat(self.hci_event_stream).emits(HciMatchers.CommandComplete(OpCode.RESET)) assertThat(self.hci_event_stream).emits(HciMatchers.CommandComplete(OpCode.RESET)) Loading
system/gd/hal/cert/simple_hal_test.py +4 −16 Original line number Original line Diff line number Diff line Loading @@ -81,19 +81,9 @@ class SimpleHalTest(GdBaseTestClass): def test_le_ad_scan_cert_advertises(self): def test_le_ad_scan_cert_advertises(self): self.dut_hal.set_random_le_address('0D:05:04:03:02:01') self.dut_hal.set_random_le_address('0D:05:04:03:02:01') # DUT scans phy_scan_params = hci_packets.PhyScanParameters() phy_scan_params.le_scan_interval = 6553 phy_scan_params.le_scan_window = 6553 phy_scan_params.le_scan_type = hci_packets.LeScanType.ACTIVE self.dut_hal.send_hci_command( self.dut_hal.set_scan_parameters() hci_packets.LeSetExtendedScanParametersBuilder(hci_packets.OwnAddressType.RANDOM_DEVICE_ADDRESS, self.dut_hal.start_scanning() hci_packets.LeScanningFilterPolicy.ACCEPT_ALL, 1, [phy_scan_params])) self.dut_hal.send_hci_command( hci_packets.LeSetExtendedScanEnableBuilder(hci_packets.Enable.ENABLED, hci_packets.FilterDuplicates.DISABLED, 0, 0)) advertisement = self.cert_hal.create_advertisement( advertisement = self.cert_hal.create_advertisement( 0, 0, Loading @@ -109,10 +99,8 @@ class SimpleHalTest(GdBaseTestClass): assertThat(self.dut_hal.get_hci_event_stream()).emits(lambda packet: b'Im_A_Cert' in packet.payload) assertThat(self.dut_hal.get_hci_event_stream()).emits(lambda packet: b'Im_A_Cert' in packet.payload) advertisement.stop() advertisement.stop() # Disable Scanning self.dut_hal.send_hci_command( self.dut_hal.stop_scanning() hci_packets.LeSetExtendedScanEnableBuilder(hci_packets.Enable.ENABLED, hci_packets.FilterDuplicates.DISABLED, 0, 0)) def test_le_connection_dut_advertises(self): def test_le_connection_dut_advertises(self): # Cert Connects # Cert Connects Loading