From fda065ea89c383cbf16df3b8101d897d485ba6b2 Mon Sep 17 00:00:00 2001 From: microbuilder Date: Mon, 15 Jan 2018 16:40:17 +0100 Subject: [PATCH] Minor scan example cleanup --- .../nrf/boards/feather52/examples/ble_scan.py | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/ports/nrf/boards/feather52/examples/ble_scan.py b/ports/nrf/boards/feather52/examples/ble_scan.py index aaa59673b3..9cacbe6f42 100644 --- a/ports/nrf/boards/feather52/examples/ble_scan.py +++ b/ports/nrf/boards/feather52/examples/ble_scan.py @@ -1,23 +1,26 @@ from ubluepy import Scanner, constants -def bytes_to_str(bytes): - string = "" - for b in bytes: - string += chr(b) - return string - -def list_scan_results(scan_entries): +def display_scan_results(scan_entries): for e in scan_entries: - print("ADDR: ", e.addr()) - print("TYPE: ", e.addr_type()) - print("RSSI: ", e.rssi()) + print("ADDR: ", e.addr()) + print("TYPE: ", e.addr_type()) + print("RSSI: ", e.rssi()) + + # Parse the contents of the advertising packet scan = e.getScanData() if scan: for s in scan: - #if s[0] == constants.ad_types.AD_TYPE_COMPLETE_LOCAL_NAME: - print('\t{}: {}'.format(s[1], s[2])) + # Convert byte array to hex format string + hex = ' '.join('0x%02X' % b for b in s[2]) + # Display enum value and hex string together + print('\t{}: {}'.format(s[1], hex)) + + # Line break between record sets print("") +# Scan 1s for advertising devices in range s = Scanner() -scan_res = s.scan(2000) -list_scan_results(scan_res) +scan_res = s.scan(1000) + +# Display the scan results +display_scan_results(scan_res)