Exemplo n.º 1
0
def adjustLon(baseStation, leftDrone, rightDrone, leftOffset, rightOffset):

    leftTargetCoordinate = (
        round(leftDrone[1].get("Lat"), 6),
        round((leftDrone[1].get("Lon") + leftOffset), 6),
        round(leftDrone[1].get("aAlt"), 6),
    )
    moveToCoordinate(baseStation, leftTargetCoordinate, leftDrone[0])

    rightTargetCoordinate = (
        round(rightDrone[1].get("Lat"), 6),
        round((rightDrone[1].get("Lon") + rightOffset), 6),
        round(rightDrone[1].get("aAlt"), 6),
    )
    moveToCoordinate(baseStation, rightTargetCoordinate, rightDrone[0])

    loop = asyncio.get_event_loop()
    tasks = [
        loop.create_task(
            waitForMovementToComplete(baseStation, leftTargetCoordinate,
                                      leftDrone[0], "left")),
        loop.create_task(
            waitForMovementToComplete(baseStation, rightTargetCoordinate,
                                      rightDrone[0], "right")),
    ]
    loop.run_until_complete(asyncio.wait(tasks))

    leftDrone = getUpdatedDroneLocationTuple(baseStation, leftDrone[0])
    rightDrone = getUpdatedDroneLocationTuple(baseStation, rightDrone[0])

    return leftDrone, rightDrone
def moveToCoordinatePrompt(baseStationXbeeDevice, droneChoice):
    print("Please input the following coordinates:")
    latitude = errorCheckCoordinateValue("latitude")
    longitude = errorCheckCoordinateValue("longitude")
    altitude = errorCheckCoordinateValue("altitude")
    coordinate = (latitude, longitude, altitude)

    flightControls.moveToCoordinate(baseStationXbeeDevice, coordinate,
                                    droneChoice)
Exemplo n.º 3
0
def moveToCoordinatePrompt(baseStation, droneChoice=None):
    coordinate = coordinateInputPrompt()
    flightControls.moveToCoordinate(baseStation, coordinate, droneChoice)