from ipcamera2 import CCamera STEP = 10 DELAY = 0.1 FILE = 'servo_map.data' RES = (736, 480) p = Pointer() c = CCamera(resolution=RES) q = deque() visited = set() datamap = {} pan = sys.argv[1] if len(sys.argv)>1 else 1700 tilt = sys.argv[2] if len(sys.argv)>2 else 1700 p.position(pan, tilt) time.sleep(3) # warmup if c.detect_pointer(): q.append((pan, tilt)) else: raise Exception("Cannot detect laser pointer at initial pan={} tilt={}".format(pan, tilt)) print("starting from {}".format((pan, tilt))) while q: print("enqued: {}, visited: {}, collected: {}".format(len(q), len(visited), len(datamap))) (pan, tilt) = q.pop() if (pan, tilt) in visited: continue visited.add((pan, tilt))
import time import random from pointer import Pointer print("Starting") def randpan(): return random.randrange(1400, 1600) def randtilt(): return random.randrange(1800, 2000) def randsleep(): time.sleep(random.uniform(0.5, 3)) pointer = Pointer() try: while True: pointer.position(randpan(), randtilt()) randsleep() except KeyboardInterrupt: pass # it's ok finally: print("Clean up and exit.") pointer.cleanup() print("Done")