summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--tests/multi_bluetooth/ble_gap_advertise.py37
1 files changed, 20 insertions, 17 deletions
diff --git a/tests/multi_bluetooth/ble_gap_advertise.py b/tests/multi_bluetooth/ble_gap_advertise.py
index 67c8bf4593..e2209cfae9 100644
--- a/tests/multi_bluetooth/ble_gap_advertise.py
+++ b/tests/multi_bluetooth/ble_gap_advertise.py
@@ -6,20 +6,22 @@ import time, machine, bluetooth
_IRQ_SCAN_RESULT = const(5)
_IRQ_SCAN_DONE = const(6)
-ADV_TIME_S = 3
+ADV_TIME_MS = 3000
def instance0():
multitest.globals(BDADDR=ble.config("mac"))
multitest.next()
+ adv_data = b"\x02\x01\x06\x04\xffMPY"
+
print("gap_advertise(100_000, connectable=False)")
- ble.gap_advertise(100_000, b"\x02\x01\x06\x04\xffMPY", connectable=False)
- time.sleep(ADV_TIME_S)
+ ble.gap_advertise(100_000, adv_data, connectable=False)
+ time.sleep_ms(ADV_TIME_MS)
print("gap_advertise(20_000, connectable=True)")
- ble.gap_advertise(20_000, b"\x02\x01\x06\x04\xffMPY", connectable=True)
- time.sleep(ADV_TIME_S)
+ ble.gap_advertise(20_000, adv_data, connectable=True)
+ time.sleep_ms(ADV_TIME_MS)
print("gap_advertise(None)")
ble.gap_advertise(None)
@@ -30,19 +32,20 @@ def instance0():
def instance1():
multitest.next()
finished = False
- adv_types = {}
- adv_data = None
+ matched_adv_types = {}
+ matched_adv_data = None
def irq(ev, data):
- nonlocal finished, adv_types, adv_data
+ nonlocal finished, matched_adv_types, matched_adv_data
if ev == _IRQ_SCAN_RESULT:
- if data[0] == BDADDR[0] and data[1] == BDADDR[1]:
- adv_types[data[2]] = True
- if adv_data is None:
- adv_data = bytes(data[4])
+ addr_type, addr, adv_type, rssi, adv_data = data
+ if addr_type == BDADDR[0] and addr == BDADDR[1]:
+ matched_adv_types[adv_type] = True
+ if matched_adv_data is None:
+ matched_adv_data = bytes(adv_data)
else:
- if adv_data != data[4]:
- adv_data = b"MISMATCH"
+ if adv_data != matched_adv_data:
+ matched_adv_data = b"MISMATCH"
elif ev == _IRQ_SCAN_DONE:
finished = True
@@ -51,12 +54,12 @@ def instance1():
except:
pass
ble.irq(irq)
- ble.gap_scan(2 * ADV_TIME_S * 1000, 10000, 10000)
+ ble.gap_scan(2 * ADV_TIME_MS, 30000, 30000)
while not finished:
machine.idle()
ble.active(0)
- print("adv_types:", sorted(adv_types))
- print("adv_data:", adv_data)
+ print("adv_types:", sorted(matched_adv_types))
+ print("adv_data:", matched_adv_data)
ble = bluetooth.BLE()