Skip to content

Commit d466abb

Browse files
Update system for new modules structure
1 parent 3688bbb commit d466abb

File tree

1 file changed

+57
-59
lines changed

1 file changed

+57
-59
lines changed

mavsdk/system.py

Lines changed: 57 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,30 @@
11
# -*- coding: utf-8 -*-
22

33
from .async_plugin_manager import AsyncPluginManager
4-
from .generated import Action
5-
from .generated import Calibration
6-
from .generated import Camera
7-
from .generated import Core
8-
from .generated import FollowMe
9-
from .generated import Ftp
10-
from .generated import Geofence
11-
from .generated import Gimbal
12-
from .generated import Info
13-
from .generated import LogFiles
14-
from .generated import Mission
15-
from .generated import MissionRaw
16-
from .generated import Mocap
17-
from .generated import Offboard
18-
from .generated import Param
19-
from .generated import Shell
20-
from .generated import Telemetry
21-
from .generated import Tune
4+
5+
from .action import action
6+
from .calibration import calibration
7+
from .camera import camera
8+
from .core import core
9+
from .follow_me import follow_me
10+
from .ftp import ftp
11+
from .geofence import geofence
12+
from .gimbal import gimbal
13+
from .info import info
14+
from .log_files import log_files
15+
from .mission import mission
16+
from .mission_raw import mission_raw
17+
from .mocap import mocap
18+
from .offboard import offboard
19+
from .param import param
20+
from .shell import shell
21+
from .telemetry import telemetry
22+
from .tune import tune
2223

2324
from . import bin
2425

2526

2627
class System:
27-
_core_plugins = [
28-
"Action",
29-
"Calibration",
30-
"Camera",
31-
"Core",
32-
"FollowMe",
33-
"Ftp",
34-
"Geofence",
35-
"Gimbal",
36-
"Info",
37-
"LogFiles",
38-
"Mission",
39-
"MissionRaw",
40-
"Mocap",
41-
"Offboard",
42-
"Param",
43-
"Shell",
44-
"Telemetry",
45-
"Tune",
46-
]
47-
4828
def __init__(self, mavsdk_server_address=None, port=50051):
4929
"""Instantiate a System object, that will serve as a proxy to
5030
all the MAVSDK plugins.
@@ -90,118 +70,136 @@ async def connect(self, system_address=None):
9070
async def _init_plugins(self, host, port):
9171
plugin_manager = await AsyncPluginManager.create(host=host, port=port)
9272

93-
for plugin in self._core_plugins:
94-
self._plugins[plugin.lower()] = globals()[plugin](plugin_manager)
73+
self._plugins = {}
74+
self._plugins["action"] = action.Action(plugin_manager)
75+
self._plugins["calibration"] = calibration.Calibration(plugin_manager)
76+
self._plugins["camera"] = camera.Camera(plugin_manager)
77+
self._plugins["core"] = core.Core(plugin_manager)
78+
self._plugins["follow_me"] = follow_me.FollowMe(plugin_manager)
79+
self._plugins["ftp"] = ftp.Ftp(plugin_manager)
80+
self._plugins["geofence"] = geofence.Geofence(plugin_manager)
81+
self._plugins["gimbal"] = gimbal.Gimbal(plugin_manager)
82+
self._plugins["info"] = info.Info(plugin_manager)
83+
self._plugins["log_files"] = log_files.LogFiles(plugin_manager)
84+
self._plugins["mission"] = mission.Mission(plugin_manager)
85+
self._plugins["mission_raw"] = mission_raw.MissionRaw(plugin_manager)
86+
self._plugins["mocap"] = mocap.Mocap(plugin_manager)
87+
self._plugins["offboard"] = offboard.Offboard(plugin_manager)
88+
self._plugins["param"] = param.Param(plugin_manager)
89+
self._plugins["shell"] = shell.Shell(plugin_manager)
90+
self._plugins["telemetry"] = telemetry.Telemetry(plugin_manager)
91+
self._plugins["tune"] = tune.Tune(plugin_manager)
92+
9593

9694
@staticmethod
9795
def error_uninitialized(plugin_name: str) -> str:
9896
return "{plugin_name} plugin has not been initialized!" \
9997
"Did you run `System.connect()`?"
10098

10199
@property
102-
def action(self) -> Action:
100+
def action(self) -> action.Action:
103101
if "action" not in self._plugins:
104102
raise RuntimeError(self.error_uninitialized("Action"))
105103
return self._plugins["action"]
106104

107105
@property
108-
def calibration(self) -> Calibration:
106+
def calibration(self) -> calibration.Calibration:
109107
if "calibration" not in self._plugins:
110108
raise RuntimeError(self.error_uninitialized("Calibration"))
111109
return self._plugins["calibration"]
112110

113111
@property
114-
def camera(self) -> Camera:
112+
def camera(self) -> camera.Camera:
115113
if "camera" not in self._plugins:
116114
raise RuntimeError(self.error_uninitialized("Camera"))
117115
return self._plugins["camera"]
118116

119117
@property
120-
def core(self) -> Core:
118+
def core(self) -> core.Core:
121119
if "core" not in self._plugins:
122120
raise RuntimeError(self.error_uninitialized("Core"))
123121
return self._plugins["core"]
124122

125123
@property
126-
def follow_me(self) -> FollowMe:
124+
def follow_me(self) -> follow_me.FollowMe:
127125
if "follow_me" not in self._plugins:
128126
raise RuntimeError(self.error_uninitialized("FollowMe"))
129127
return self._plugins["follow_me"]
130128

131129
@property
132-
def ftp(self) -> Ftp:
130+
def ftp(self) -> ftp.Ftp:
133131
if "ftp" not in self._plugins:
134132
raise RuntimeError(self.error_uninitialized("Ftp"))
135133
return self._plugins["Ftp"]
136134

137135
@property
138-
def geofence(self) -> Geofence:
136+
def geofence(self) -> geofence.Geofence:
139137
if "geofence" not in self._plugins:
140138
raise RuntimeError(self.error_uninitialized("Geofence"))
141139
return self._plugins["geofence"]
142140

143141
@property
144-
def gimbal(self) -> Gimbal:
142+
def gimbal(self) -> gimbal.Gimbal:
145143
if "gimbal" not in self._plugins:
146144
raise RuntimeError(self.error_uninitialized("Gimbal"))
147145
return self._plugins["gimbal"]
148146

149147
@property
150-
def info(self) -> Info:
148+
def info(self) -> info.Info:
151149
if "info" not in self._plugins:
152150
raise RuntimeError(self.error_uninitialized("Info"))
153151
return self._plugins["info"]
154152

155153
@property
156-
def log_files(self) -> LogFiles:
154+
def log_files(self) -> log_files.LogFiles:
157155
if "log_files" not in self._plugins:
158156
raise RuntimeError(self.error_uninitialized("LogFiles"))
159157
return self._plugins["log_files"]
160158

161159
@property
162-
def mission(self) -> Mission:
160+
def mission(self) -> mission.Mission:
163161
if "mission" not in self._plugins:
164162
raise RuntimeError(self.error_uninitialized("Mission"))
165163
return self._plugins["mission"]
166164

167165
@property
168-
def mission_raw(self) -> MissionRaw:
166+
def mission_raw(self) -> mission_raw.MissionRaw:
169167
if "mission_raw" not in self._plugins:
170168
raise RuntimeError(self.error_uninitialized("MissionRaw"))
171169
return self._plugins["mission_raw"]
172170

173171
@property
174-
def mocap(self) -> Mocap:
172+
def mocap(self) -> mocap.Mocap:
175173
if "mocap" not in self._plugins:
176174
raise RuntimeError(self.error_uninitialized("Mocap"))
177175
return self._plugins["mocap"]
178176

179177
@property
180-
def offboard(self) -> Offboard:
178+
def offboard(self) -> offboard.Offboard:
181179
if "offboard" not in self._plugins:
182180
raise RuntimeError(self.error_uninitialized("Offboard"))
183181
return self._plugins["offboard"]
184182

185183
@property
186-
def param(self) -> Param:
184+
def param(self) -> param.Param:
187185
if "param" not in self._plugins:
188186
raise RuntimeError(self.error_uninitialized("Param"))
189187
return self._plugins["param"]
190188

191189
@property
192-
def shell(self) -> Shell:
190+
def shell(self) -> shell.Shell:
193191
if "shell" not in self._plugins:
194192
raise RuntimeError(self.error_uninitialized("Shell"))
195193
return self._plugins["shell"]
196194

197195
@property
198-
def telemetry(self) -> Telemetry:
196+
def telemetry(self) -> telemetry.Telemetry:
199197
if "telemetry" not in self._plugins:
200198
raise RuntimeError(self.error_uninitialized("Telemetry"))
201199
return self._plugins["telemetry"]
202200

203201
@property
204-
def tune(self) -> Tune:
202+
def tune(self) -> tune.Tune:
205203
if "tune" not in self._plugins:
206204
raise RuntimeError(self.error_uninitialized("Tune"))
207205
return self._plugins["tune"]

0 commit comments

Comments
 (0)