From 6aa9e0bdf7b37a1c05177994d030ef3089f18084 Mon Sep 17 00:00:00 2001 From: Stryxion Date: Thu, 8 Jan 2026 14:54:58 +0100 Subject: [PATCH] feat: Add filtering options for usb probe --- apps/usb_probe.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apps/usb_probe.py b/apps/usb_probe.py index 404efbac..6c23af56 100644 --- a/apps/usb_probe.py +++ b/apps/usb_probe.py @@ -166,7 +166,10 @@ def is_bluetooth_hci(device): # ----------------------------------------------------------------------------- @click.command() @click.option('--verbose', is_flag=True, default=False, help='Print more details') -def main(verbose): +@click.option('--manufacturer', default="", help='filter by manufacturer') +@click.option('--product', default="", help='filter by product') +@click.option('-hci-only', default=False, is_flag=True, help='filter by hci device') +def main(verbose:bool, manufacturer:str, product:str, hci_only:bool): bumble.logging.setup_basic_logging('WARNING') load_libusb() @@ -234,6 +237,17 @@ def main(verbose): f'{basic_transport_name}/{device_serial_number}' ) + # Filter + if product != "": + if device_product != product: + continue + if manufacturer != "": + if device_manufacturer != manufacturer: + continue + + if not is_bluetooth_hci(device) and hci_only: + continue + # Print the results print( color(