forked from auracaster/bumble_mirror
more HCI commands
This commit is contained in:
@@ -570,16 +570,16 @@ class DeviceListener(Device.Listener, Connection.Listener):
|
||||
def on_connection_data_length_change(self):
|
||||
self.app.append_to_output(f'connection data length change: {self.app.connected_peer.connection.data_length}')
|
||||
|
||||
def on_advertisement(self, address, ad_data, rssi, connectable):
|
||||
entry_key = f'{address}/{address.address_type}'
|
||||
def on_advertisement(self, advertisement):
|
||||
entry_key = f'{advertisement.address}/{advertisement.address.address_type}'
|
||||
entry = self.scan_results.get(entry_key)
|
||||
if entry:
|
||||
entry.ad_data = ad_data
|
||||
entry.rssi = rssi
|
||||
entry.connectable = connectable
|
||||
entry.ad_data = advertisement.data
|
||||
entry.rssi = advertisement.rssi
|
||||
entry.connectable = advertisement.connectable
|
||||
else:
|
||||
self.app.add_known_address(str(address))
|
||||
self.scan_results[entry_key] = ScanResult(address, address.address_type, ad_data, rssi, connectable)
|
||||
self.app.add_known_address(str(advertisement.address))
|
||||
self.scan_results[entry_key] = ScanResult(advertisement.address, advertisement.address.address_type, advertisement.data, advertisement.rssi, advertisement.is_connectable)
|
||||
|
||||
self.app.show_scan_results(self.scan_results)
|
||||
|
||||
|
||||
14
apps/scan.py
14
apps/scan.py
@@ -78,14 +78,14 @@ class AdvertisementPrinter:
|
||||
separator = '\n '
|
||||
print(f'>>> {color(address, address_color)} [{color(address_type_string, type_color)}]{address_qualifier}{resolution_qualifier}:{separator}RSSI:{rssi:4} {rssi_bar}{separator}{ad_data.to_string(separator)}\n')
|
||||
|
||||
def on_advertisement(self, address, ad_data, rssi, connectable):
|
||||
address_color = 'yellow' if connectable else 'red'
|
||||
self.print_advertisement(address, address_color, ad_data, rssi)
|
||||
def on_advertisement(self, advertisement):
|
||||
address_color = 'yellow' if advertisement.is_connectable else 'red'
|
||||
self.print_advertisement(advertisement.address, address_color, advertisement.data, advertisement.rssi)
|
||||
|
||||
def on_advertising_report(self, address, ad_data, rssi, event_type):
|
||||
print(f'{color("EVENT", "green")}: {HCI_LE_Advertising_Report_Event.event_type_name(event_type)}')
|
||||
ad_data = AdvertisingData.from_bytes(ad_data)
|
||||
self.print_advertisement(address, 'yellow', ad_data, rssi)
|
||||
def on_advertising_report(self, report):
|
||||
print(f'{color("EVENT", "green")}: {HCI_LE_Advertising_Report_Event.event_type_name(report.event_type)}')
|
||||
data = AdvertisingData.from_bytes(report.data)
|
||||
self.print_advertisement(report.address, 'yellow', data, report.rssi)
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user