-
Notifications
You must be signed in to change notification settings - Fork 244
Expand file tree
/
Copy pathtune.py
More file actions
executable file
·68 lines (59 loc) · 2.46 KB
/
tune.py
File metadata and controls
executable file
·68 lines (59 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/usr/bin/env python3
import asyncio
from mavsdk import System
from mavsdk.tune import SongElement, TuneDescription
async def run():
drone = System()
await drone.connect(system_address="udpin://0.0.0.0:14540")
print("Waiting for drone to connect...")
async for state in drone.core.connection_state():
if state.is_connected:
print("-- Connected to drone!")
break
song_elements = []
song_elements.append(SongElement.DURATION_4)
song_elements.append(SongElement.NOTE_G)
song_elements.append(SongElement.NOTE_A)
song_elements.append(SongElement.NOTE_B)
song_elements.append(SongElement.FLAT)
song_elements.append(SongElement.OCTAVE_UP)
song_elements.append(SongElement.DURATION_1)
song_elements.append(SongElement.NOTE_E)
song_elements.append(SongElement.FLAT)
song_elements.append(SongElement.OCTAVE_DOWN)
song_elements.append(SongElement.DURATION_4)
song_elements.append(SongElement.NOTE_PAUSE)
song_elements.append(SongElement.NOTE_F)
song_elements.append(SongElement.NOTE_G)
song_elements.append(SongElement.NOTE_A)
song_elements.append(SongElement.OCTAVE_UP)
song_elements.append(SongElement.DURATION_2)
song_elements.append(SongElement.NOTE_D)
song_elements.append(SongElement.NOTE_D)
song_elements.append(SongElement.OCTAVE_DOWN)
song_elements.append(SongElement.DURATION_4)
song_elements.append(SongElement.NOTE_PAUSE)
song_elements.append(SongElement.NOTE_E)
song_elements.append(SongElement.FLAT)
song_elements.append(SongElement.NOTE_F)
song_elements.append(SongElement.NOTE_G)
song_elements.append(SongElement.OCTAVE_UP)
song_elements.append(SongElement.DURATION_1)
song_elements.append(SongElement.NOTE_C)
song_elements.append(SongElement.OCTAVE_DOWN)
song_elements.append(SongElement.DURATION_4)
song_elements.append(SongElement.NOTE_PAUSE)
song_elements.append(SongElement.NOTE_A)
song_elements.append(SongElement.OCTAVE_UP)
song_elements.append(SongElement.NOTE_C)
song_elements.append(SongElement.OCTAVE_DOWN)
song_elements.append(SongElement.NOTE_B)
song_elements.append(SongElement.FLAT)
song_elements.append(SongElement.DURATION_2)
song_elements.append(SongElement.NOTE_G)
tune_description = TuneDescription(song_elements, 200)
await drone.tune.play_tune(tune_description)
print("Tune played")
if __name__ == "__main__":
# Run the asyncio loop
asyncio.run(run())