Skip to content

Commit 1babe56

Browse files
committed
Adds an implementation example and base class.
1 parent c5c9d75 commit 1babe56

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed

Diff for: README.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ pip2 install dronekit-solo -UI
1717
## API
1818

1919
```
20-
import dronekit_solo
20+
from dronekit import connect
21+
from dronekit_solo import SoloVehicle
22+
23+
vehicle = connect('127.0.0.1:14550', vehicle_class=SoloVehicle)
24+
print vehicle.gopro_status
2125
```
2226

2327
## License

Diff for: dronekit_solo/__init__.py

+36-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,40 @@
11
#!/usr/bin/python
22

33
from __future__ import print_function
4+
from dronekit import Vehicle
45

5-
print('todo')
6+
class SoloVehicle(Vehicle):
7+
def __init__(self, *args):
8+
super(SoloVehicle, self).__init__(*args)
9+
10+
self.__msg_gopro_status = None
11+
self.__msg_gopro_get_response = None
12+
self.__msg_gopro_set_response = None
13+
14+
self.on_message('GOPRO_HEARTBEAT', self.__on_gopro_status)
15+
self.on_message('GOPRO_GET_RESPONSE', self.__on_gopro_get_response)
16+
self.on_message('GOPRO_SET_RESPONSE', self.__on_gopro_set_response)
17+
18+
def __on_gopro_status(self, name, m):
19+
self.__msg_gopro_status = m.status
20+
self.notify_observers('gopro_status')
21+
22+
@property
23+
def gopro_status(self):
24+
return self.__msg_gopro_status
25+
26+
def __on_gopro_get_response(self, name, m):
27+
self.__msg_gopro_get_response = (m.cmd_id, m.value)
28+
self.notify_observers('gopro_get_response')
29+
30+
@property
31+
def gopro_get_response(self):
32+
return self.__msg_gopro_get_response
33+
34+
def __on_gopro_set_response(self, name, m):
35+
self.__msg_gopro_set_response = (m.cmd_id, m.result)
36+
self.notify_observers('gopro_set_response')
37+
38+
@property
39+
def gopro_set_response(self):
40+
return self.__msg_gopro_set_response

0 commit comments

Comments
 (0)