From 23fae8c543ed2ea1fd0f0e9aacbd740ae08c1c7f Mon Sep 17 00:00:00 2001 From: Fabrice Theoleyre Date: Tue, 24 Apr 2018 16:11:02 +0200 Subject: [PATCH 1/2] test several times each port if we have a failure --- .../openvisualizer/moteProbe/moteProbe.py | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/software/openvisualizer/openvisualizer/moteProbe/moteProbe.py b/software/openvisualizer/openvisualizer/moteProbe/moteProbe.py index 24d6f0aa0..8ec64e27c 100644 --- a/software/openvisualizer/openvisualizer/moteProbe/moteProbe.py +++ b/software/openvisualizer/openvisualizer/moteProbe/moteProbe.py @@ -75,18 +75,31 @@ def findSerialPorts(isIotMotes=False): # Find all OpenWSN motes that answer to TRIGGERSERIALECHO commands for port in serialports: probe = moteProbe(serialport=(port[0],BAUDRATE_LOCAL_BOARD)) + print(probe.portname) tester = SerialTester(probe.portname) tester.setNumTestPkt(1) tester.setTimeout(2) - tester.test(blocking=True) - if tester.getStats()['numOk'] >= 1: - mote_ports.append((port[0],BAUDRATE_LOCAL_BOARD)); + # stop the test as soon as a packet is ok + test=0 + while True: + tester.test(blocking=True) + print(tester.getStats()) + + if tester.getStats()['numOk'] >= 1: + mote_ports.append((port[0],BAUDRATE_LOCAL_BOARD)); + break + #at most 3 retries + if (test>5): + break; + test = test + 1 + probe.close() probe.join() # log log.info("discovered following COM port: {0}".format(['{0}@{1}'.format(s[0],s[1]) for s in mote_ports])) - + print("discovered following COM port: {0}".format(['{0}@{1}'.format(s[0],s[1]) for s in mote_ports])) + return mote_ports #============================ class =========================================== From 02df6445e76949a03a432f42eef6a365fbdbe0e2 Mon Sep 17 00:00:00 2001 From: Fabrice Theoleyre Date: Tue, 24 Apr 2018 16:26:01 +0200 Subject: [PATCH 2/2] unused print messages (debug) --- software/openvisualizer/openvisualizer/moteProbe/moteProbe.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/software/openvisualizer/openvisualizer/moteProbe/moteProbe.py b/software/openvisualizer/openvisualizer/moteProbe/moteProbe.py index 8ec64e27c..7ad7326a4 100644 --- a/software/openvisualizer/openvisualizer/moteProbe/moteProbe.py +++ b/software/openvisualizer/openvisualizer/moteProbe/moteProbe.py @@ -75,7 +75,6 @@ def findSerialPorts(isIotMotes=False): # Find all OpenWSN motes that answer to TRIGGERSERIALECHO commands for port in serialports: probe = moteProbe(serialport=(port[0],BAUDRATE_LOCAL_BOARD)) - print(probe.portname) tester = SerialTester(probe.portname) tester.setNumTestPkt(1) tester.setTimeout(2) @@ -83,7 +82,6 @@ def findSerialPorts(isIotMotes=False): test=0 while True: tester.test(blocking=True) - print(tester.getStats()) if tester.getStats()['numOk'] >= 1: mote_ports.append((port[0],BAUDRATE_LOCAL_BOARD)); @@ -98,7 +96,6 @@ def findSerialPorts(isIotMotes=False): # log log.info("discovered following COM port: {0}".format(['{0}@{1}'.format(s[0],s[1]) for s in mote_ports])) - print("discovered following COM port: {0}".format(['{0}@{1}'.format(s[0],s[1]) for s in mote_ports])) return mote_ports