@@ -57,10 +57,18 @@ class System:
57
57
Port of the running mavsdk_server instance specified by
58
58
mavsdk_server_address.
59
59
60
+ sysid: int
61
+ MAVLink system ID of the mavsdk_server (1..255).
62
+
63
+ compid: int
64
+ MAVLink component ID of the mavsdk_server (1..255).
65
+
60
66
"""
61
- def __init__ (self , mavsdk_server_address = None , port = 50051 ):
67
+ def __init__ (self , mavsdk_server_address = None , port = 50051 , sysid = 245 , compid = 190 ):
62
68
self ._mavsdk_server_address = mavsdk_server_address
63
69
self ._port = port
70
+ self ._sysid = sysid
71
+ self ._compid = compid
64
72
65
73
self ._plugins = {}
66
74
self ._server_process = None
@@ -94,7 +102,7 @@ async def connect(self, system_address=None):
94
102
95
103
if self ._mavsdk_server_address is None :
96
104
self ._mavsdk_server_address = 'localhost'
97
- self ._server_process = self ._start_mavsdk_server (system_address ,self ._port )
105
+ self ._server_process = self ._start_mavsdk_server (system_address ,self ._port , self . _sysid , self . _compid )
98
106
99
107
await self ._init_plugins (self ._mavsdk_server_address , self ._port )
100
108
@@ -168,7 +176,7 @@ def failure(self) -> failure.Failure:
168
176
if "failure" not in self ._plugins :
169
177
raise RuntimeError (self .error_uninitialized ("Failure" ))
170
178
return self ._plugins ["failure" ]
171
-
179
+
172
180
@property
173
181
def follow_me (self ) -> follow_me .FollowMe :
174
182
if "follow_me" not in self ._plugins :
@@ -272,7 +280,7 @@ def tune(self) -> tune.Tune:
272
280
return self ._plugins ["tune" ]
273
281
274
282
@staticmethod
275
- def _start_mavsdk_server (system_address = None , port = 50051 ):
283
+ def _start_mavsdk_server (system_address , port , sysid , compid ):
276
284
"""
277
285
Starts the gRPC server in a subprocess, listening on localhost:port
278
286
port parameter can be specified now to allow multiple mavsdk servers to be spawned via code
@@ -289,7 +297,10 @@ def _start_mavsdk_server(system_address=None,port=50051):
289
297
290
298
try :
291
299
with path (bin , 'mavsdk_server' ) as backend :
292
- bin_path_and_args = [os .fspath (backend ), "-p" , str (port )]
300
+ bin_path_and_args = [os .fspath (backend ),
301
+ "-p" , str (port ),
302
+ "--sysid" , str (sysid ),
303
+ "--compid" , str (compid )]
293
304
if system_address :
294
305
bin_path_and_args .append (system_address )
295
306
p = subprocess .Popen (bin_path_and_args ,
0 commit comments