From 887591113e85a3e643d85ebf138bd56984367c0a Mon Sep 17 00:00:00 2001 From: deflax Date: Thu, 23 Aug 2018 11:45:12 +0300 Subject: [PATCH] catch the serial exception and force zeroes --- scripts/arduino.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/scripts/arduino.py b/scripts/arduino.py index 0a7e9f1..4b504a2 100644 --- a/scripts/arduino.py +++ b/scripts/arduino.py @@ -7,10 +7,13 @@ from sys import argv def query_arduino(): global serial - serial = serial.Serial('/dev/ttyACM0', 9600) - serial.write('1') - query = serial.readline().strip('\r\n').split() fo = open('/etc/scripts/.arduino.db', 'wb') + try: + serial = serial.Serial('/dev/ttyACM0', 9600) + serial.write('1') + query = serial.readline().strip('\r\n').split() + except: + query = ("0", "0") fo.write(','.join(query)) fo.close() @@ -22,12 +25,12 @@ def print_arduino(pmode): if __name__ == "__main__": mode = argv - if mode[1] == 'temp': - print_arduino(0) - elif mode[1] == 'humid': - print_arduino(1) - elif mode[1] == 'query': - query_arduino() - else: + try: + if mode[1] == 'temp': + print_arduino(0) + elif mode[1] == 'humid': + print_arduino(1) + elif mode[1] == 'query': + query_arduino() + except IndexError: print('Usage: script.py [temp] [humid]') -