diff --git a/run.py b/run.py index ffdaeb3..f0c2530 100755 --- a/run.py +++ b/run.py @@ -73,6 +73,7 @@ arm_position = (0,0,0,0,0,0) arm_position_process = None start_animation = False failcount = 0 +timecount = 0 def arm_start_callback(res): fprint("Arm action complete.") @@ -538,6 +539,7 @@ def mainloop_server(pool, manager): global arm_position_process global start_animation global failcount + global timecount if mode != oldmode: print(" ***** Running mode:", mode, "***** ") @@ -834,6 +836,7 @@ def mainloop_server(pool, manager): start_animation = True ring_animation = 49 led_set_mode = "Camera" + timecount = 0 pool.apply_async(camera.read_qr, (10,), callback=camera_start_callback, error_callback=handle_error) else: camera_ready = True @@ -852,13 +855,14 @@ def mainloop_server(pool, manager): mode = "Idle" fprint("Giving up scanning cable.") failcount = 0 + timecount = 0 arm_ready = True else: fprint("Unable to scan cable. Gonna retry.") camera_ready = False #mode = "Idle" failcount += 1 - + timecount = 0 pool.apply_async(camera.read_qr, (10,), callback=camera_start_callback, error_callback=handle_error) elif scan_value.find("bldn.app/") > -1: @@ -897,7 +901,11 @@ def mainloop_server(pool, manager): break if mode == "Scan": mode = "Idle" - + else: # camera not ready + timecount += 1 + if timecount > 180: + timecount = 0 + camera_ready = True if mode == "Return":