示例#1
0
                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()
示例#2
0
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()