w_status.addstr( 5, 49, dronedict.get_pretty(config, dronedict.S_MAX_ROT) + ' ') mutex.release() w_status.refresh() event = screen.getch() if event == ord('q'): break move_drone(event) if event in right_events: hl_dir(w_rightjoy, event) elif event in left_events: hl_dir(w_leftjoy, event) elif event == ord('o'): drone.cutout(not config['cutout']) elif event == ord('i'): drone.wheels(not config['wheels']) curses.napms(70) if __name__ == '__main__': global drone, state, message, config, speed, battery state = S_DISCONNECTED message = speed = battery = '' config = dict() drone = minidrone.MiniDrone(mac=DRONEMAC, callback=refresh_data) curses.wrapper(main_loop) drone.die() curses.curs_set(1) curses.nl()
DRONEMAC = 'E0:14:F6:32:3D:29' def new_direction(): global t, move, moves move = moves[random.randrange(4)] print(str(move)) t = threading.Timer(2.0, new_direction) t.start() if __name__ == '__main__': global drone global t, move, moves drone = minidrone.MiniDrone(mac=DRONEMAC) moves = [drone.move_fw, drone.move_bw, drone.move_right, drone.move_left] move = moves[0] drone.connect() drone.takeoff() t = threading.Timer(1.0, new_direction) t.start() try: while True: pass #move() except KeyboardInterrupt: drone.land() drone.die()