Skip to content

Commit 42408d6

Browse files
update examples to use new Drone class
1 parent 7743709 commit 42408d6

14 files changed

+410
-322
lines changed

examples/calibration.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
#!/usr/bin/env python3
22

33
import asyncio
4-
5-
from mavsdk import start_mavlink
6-
from mavsdk import connect as mavsdk_connect
7-
8-
start_mavlink(connection_url="udp://:14540")
9-
drone = mavsdk_connect(host="127.0.0.1")
4+
from mavsdk import Drone
105

116

127
async def run():
138

9+
drone = Drone()
10+
await drone.connect(drone_address="udp://:14540")
11+
1412
print("-- Starting gyro calibration")
1513
async for progress_data in drone.calibration.calibrate_gyro():
1614
print(progress_data)
@@ -19,5 +17,7 @@ async def run():
1917
async for progress_data in drone.calibration.calibrate_magnetometer():
2018
print(progress_data)
2119

22-
loop = asyncio.get_event_loop()
23-
loop.run_until_complete(run())
20+
21+
if __name__ == "__main__":
22+
loop = asyncio.get_event_loop()
23+
loop.run_until_complete(run())

examples/camera.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,17 @@
22

33
import asyncio
44

5-
from mavsdk import start_mavlink
6-
from mavsdk import connect as mavsdk_connect
75
from mavsdk import (CameraError, CameraMode)
8-
9-
start_mavlink()
10-
drone = mavsdk_connect(host="127.0.0.1")
6+
from mavsdk import Drone
117

128

139
async def run():
10+
drone = Drone()
11+
await drone.connect(drone_address="udp://:14540")
12+
13+
asyncio.ensure_future(print_camera_mode(drone))
14+
asyncio.ensure_future(print_camera_status(drone))
15+
1416
print("Setting mode to 'PHOTO'")
1517
try:
1618
await drone.camera.set_mode(CameraMode.PHOTO)
@@ -28,17 +30,15 @@ async def run():
2830
# Shut down the running coroutines (here 'print_camera_mode()' and 'print_camera_status()')
2931
await asyncio.get_event_loop().shutdown_asyncgens()
3032

31-
async def print_camera_mode():
33+
async def print_camera_mode(drone):
3234
async for camera_mode in drone.camera.mode():
3335
print(f"Camera mode: {camera_mode}")
3436

35-
async def print_camera_status():
37+
async def print_camera_status(drone):
3638
async for camera_status in drone.camera.camera_status():
3739
print(camera_status)
3840

3941

4042
if __name__ == "__main__":
41-
asyncio.ensure_future(print_camera_mode())
42-
asyncio.ensure_future(print_camera_status())
43-
44-
asyncio.get_event_loop().run_until_complete(run())
43+
loop = asyncio.get_event_loop()
44+
loop.run_until_complete(run())

examples/firmware_version.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
#!/usr/bin/env python3
22

33
import asyncio
4-
5-
from mavsdk import start_mavlink
6-
from mavsdk import connect as mavsdk_connect
7-
8-
start_mavlink(connection_url="udp://:14540")
9-
drone = mavsdk_connect(host="127.0.0.1")
4+
from mavsdk import Drone
105

116

127
async def run():
8+
drone = Drone()
9+
await drone.connect(drone_address="udp://:14540")
1310

1411
info = await drone.info.get_version()
1512
print(info)
1613

1714

18-
loop = asyncio.get_event_loop()
19-
loop.run_until_complete(run())
15+
if __name__ == "__main__":
16+
loop = asyncio.get_event_loop()
17+
loop.run_until_complete(run())

examples/mission.py

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,17 @@
22

33
import asyncio
44

5-
from mavsdk import start_mavlink
6-
from mavsdk import connect as mavsdk_connect
5+
from mavsdk import Drone
76
from mavsdk import (MissionItem)
87

9-
start_mavlink(connection_url="udp://:14540")
10-
drone = mavsdk_connect(host="127.0.0.1")
11-
128

139
async def run():
10+
drone = Drone()
11+
await drone.connect(drone_address="udp://:14540")
12+
13+
asyncio.ensure_future(print_mission_progress(drone))
14+
termination_task = asyncio.ensure_future(observe_is_in_air(drone))
15+
1416
mission_items = []
1517
mission_items.append(MissionItem(47.398039859999997,
1618
8.5455725400000002,
@@ -54,13 +56,15 @@ async def run():
5456
print("-- Starting mission")
5557
await drone.mission.start_mission()
5658

59+
await termination_task
5760

58-
async def print_mission_progress():
61+
62+
async def print_mission_progress(drone):
5963
async for mission_progress in drone.mission.mission_progress():
6064
print(f"Mission progress: {mission_progress.current_item_index}/{mission_progress.mission_count}")
6165

6266

63-
async def observe_is_in_air():
67+
async def observe_is_in_air(drone):
6468
""" Monitors whether the drone is flying or not and
6569
returns after landing """
6670

@@ -75,11 +79,6 @@ async def observe_is_in_air():
7579
return
7680

7781

78-
def setup_tasks():
79-
asyncio.ensure_future(run())
80-
asyncio.ensure_future(print_mission_progress())
81-
82-
8382
if __name__ == "__main__":
84-
setup_tasks()
85-
asyncio.get_event_loop().run_until_complete(observe_is_in_air())
83+
loop = asyncio.get_event_loop()
84+
loop.run_until_complete(run())

examples/offboard.py

Lines changed: 0 additions & 217 deletions
This file was deleted.

0 commit comments

Comments
 (0)