Skip to content

Commit e79d106

Browse files
authored
Merge pull request #761 from mavlink/pr-v3.5
Update to MAVSDK v3.5.0
2 parents fb33c95 + cade9e3 commit e79d106

File tree

91 files changed

+2165
-785
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+2165
-785
lines changed

MAVSDK_SERVER_VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v3.0.0
1+
v3.5.0

mavsdk/action_pb2.py

Lines changed: 11 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mavsdk/action_pb2_grpc.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@
55

66
from . import action_pb2 as action_dot_action__pb2
77

8-
GRPC_GENERATED_VERSION = '1.63.0'
8+
GRPC_GENERATED_VERSION = '1.71.0'
99
GRPC_VERSION = grpc.__version__
10-
EXPECTED_ERROR_RELEASE = '1.65.0'
11-
SCHEDULED_RELEASE_DATE = 'June 25, 2024'
1210
_version_not_supported = False
1311

1412
try:
@@ -18,15 +16,12 @@
1816
_version_not_supported = True
1917

2018
if _version_not_supported:
21-
warnings.warn(
19+
raise RuntimeError(
2220
f'The grpc package installed is at version {GRPC_VERSION},'
2321
+ f' but the generated code in action/action_pb2_grpc.py depends on'
2422
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
2523
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
2624
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
27-
+ f' This warning will become an error in {EXPECTED_ERROR_RELEASE},'
28-
+ f' scheduled for release on {SCHEDULED_RELEASE_DATE}.',
29-
RuntimeWarning
3025
)
3126

3227

@@ -490,6 +485,7 @@ def add_ActionServiceServicer_to_server(servicer, server):
490485
generic_handler = grpc.method_handlers_generic_handler(
491486
'mavsdk.rpc.action.ActionService', rpc_method_handlers)
492487
server.add_generic_rpc_handlers((generic_handler,))
488+
server.add_registered_method_handlers('mavsdk.rpc.action.ActionService', rpc_method_handlers)
493489

494490

495491
# This class is part of an EXPERIMENTAL API.

mavsdk/action_server.py

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -941,4 +941,59 @@ async def get_allowable_flight_modes(self):
941941

942942

943943
return AllowableFlightModes.translate_from_rpc(response.flight_modes)
944-
944+
945+
946+
async def set_armed_state(self, is_armed):
947+
"""
948+
Set/override the armed/disarmed state of the vehicle directly, and notify subscribers
949+
950+
Parameters
951+
----------
952+
is_armed : bool
953+
Is armed now?
954+
955+
Raises
956+
------
957+
ActionServerError
958+
If the request fails. The error contains the reason for the failure.
959+
"""
960+
961+
request = action_server_pb2.SetArmedStateRequest()
962+
request.is_armed = is_armed
963+
response = await self._stub.SetArmedState(request)
964+
965+
966+
result = self._extract_result(response)
967+
968+
if result.result != ActionServerResult.Result.SUCCESS:
969+
raise ActionServerError(result, "set_armed_state()", is_armed)
970+
971+
972+
async def set_flight_mode(self, flight_mode):
973+
"""
974+
Set/override the flight mode of the vehicle directly, and notify subscribers
975+
976+
Parameters
977+
----------
978+
flight_mode : FlightMode
979+
Current vehicle flight mode, e.g. Takeoff/Mission/Land/etc.
980+
981+
Raises
982+
------
983+
ActionServerError
984+
If the request fails. The error contains the reason for the failure.
985+
"""
986+
987+
request = action_server_pb2.SetFlightModeRequest()
988+
989+
request.flight_mode = flight_mode.translate_to_rpc()
990+
991+
992+
response = await self._stub.SetFlightMode(request)
993+
994+
995+
result = self._extract_result(response)
996+
997+
if result.result != ActionServerResult.Result.SUCCESS:
998+
raise ActionServerError(result, "set_flight_mode()", flight_mode)
999+

mavsdk/action_server_pb2.py

Lines changed: 76 additions & 54 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mavsdk/action_server_pb2_grpc.py

Lines changed: 91 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@
55

66
from . import action_server_pb2 as action__server_dot_action__server__pb2
77

8-
GRPC_GENERATED_VERSION = '1.63.0'
8+
GRPC_GENERATED_VERSION = '1.71.0'
99
GRPC_VERSION = grpc.__version__
10-
EXPECTED_ERROR_RELEASE = '1.65.0'
11-
SCHEDULED_RELEASE_DATE = 'June 25, 2024'
1210
_version_not_supported = False
1311

1412
try:
@@ -18,15 +16,12 @@
1816
_version_not_supported = True
1917

2018
if _version_not_supported:
21-
warnings.warn(
19+
raise RuntimeError(
2220
f'The grpc package installed is at version {GRPC_VERSION},'
2321
+ f' but the generated code in action_server/action_server_pb2_grpc.py depends on'
2422
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
2523
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
2624
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
27-
+ f' This warning will become an error in {EXPECTED_ERROR_RELEASE},'
28-
+ f' scheduled for release on {SCHEDULED_RELEASE_DATE}.',
29-
RuntimeWarning
3025
)
3126

3227

@@ -100,6 +95,16 @@ def __init__(self, channel):
10095
request_serializer=action__server_dot_action__server__pb2.GetAllowableFlightModesRequest.SerializeToString,
10196
response_deserializer=action__server_dot_action__server__pb2.GetAllowableFlightModesResponse.FromString,
10297
_registered_method=True)
98+
self.SetArmedState = channel.unary_unary(
99+
'/mavsdk.rpc.action_server.ActionServerService/SetArmedState',
100+
request_serializer=action__server_dot_action__server__pb2.SetArmedStateRequest.SerializeToString,
101+
response_deserializer=action__server_dot_action__server__pb2.SetArmedStateResponse.FromString,
102+
_registered_method=True)
103+
self.SetFlightMode = channel.unary_unary(
104+
'/mavsdk.rpc.action_server.ActionServerService/SetFlightMode',
105+
request_serializer=action__server_dot_action__server__pb2.SetFlightModeRequest.SerializeToString,
106+
response_deserializer=action__server_dot_action__server__pb2.SetFlightModeResponse.FromString,
107+
_registered_method=True)
103108

104109

105110
class ActionServerServiceServicer(object):
@@ -190,6 +195,20 @@ def GetAllowableFlightModes(self, request, context):
190195
context.set_details('Method not implemented!')
191196
raise NotImplementedError('Method not implemented!')
192197

198+
def SetArmedState(self, request, context):
199+
"""Set/override the armed/disarmed state of the vehicle directly, and notify subscribers
200+
"""
201+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
202+
context.set_details('Method not implemented!')
203+
raise NotImplementedError('Method not implemented!')
204+
205+
def SetFlightMode(self, request, context):
206+
"""Set/override the flight mode of the vehicle directly, and notify subscribers
207+
"""
208+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
209+
context.set_details('Method not implemented!')
210+
raise NotImplementedError('Method not implemented!')
211+
193212

194213
def add_ActionServerServiceServicer_to_server(servicer, server):
195214
rpc_method_handlers = {
@@ -253,10 +272,21 @@ def add_ActionServerServiceServicer_to_server(servicer, server):
253272
request_deserializer=action__server_dot_action__server__pb2.GetAllowableFlightModesRequest.FromString,
254273
response_serializer=action__server_dot_action__server__pb2.GetAllowableFlightModesResponse.SerializeToString,
255274
),
275+
'SetArmedState': grpc.unary_unary_rpc_method_handler(
276+
servicer.SetArmedState,
277+
request_deserializer=action__server_dot_action__server__pb2.SetArmedStateRequest.FromString,
278+
response_serializer=action__server_dot_action__server__pb2.SetArmedStateResponse.SerializeToString,
279+
),
280+
'SetFlightMode': grpc.unary_unary_rpc_method_handler(
281+
servicer.SetFlightMode,
282+
request_deserializer=action__server_dot_action__server__pb2.SetFlightModeRequest.FromString,
283+
response_serializer=action__server_dot_action__server__pb2.SetFlightModeResponse.SerializeToString,
284+
),
256285
}
257286
generic_handler = grpc.method_handlers_generic_handler(
258287
'mavsdk.rpc.action_server.ActionServerService', rpc_method_handlers)
259288
server.add_generic_rpc_handlers((generic_handler,))
289+
server.add_registered_method_handlers('mavsdk.rpc.action_server.ActionServerService', rpc_method_handlers)
260290

261291

262292
# This class is part of an EXPERIMENTAL API.
@@ -587,3 +617,57 @@ def GetAllowableFlightModes(request,
587617
timeout,
588618
metadata,
589619
_registered_method=True)
620+
621+
@staticmethod
622+
def SetArmedState(request,
623+
target,
624+
options=(),
625+
channel_credentials=None,
626+
call_credentials=None,
627+
insecure=False,
628+
compression=None,
629+
wait_for_ready=None,
630+
timeout=None,
631+
metadata=None):
632+
return grpc.experimental.unary_unary(
633+
request,
634+
target,
635+
'/mavsdk.rpc.action_server.ActionServerService/SetArmedState',
636+
action__server_dot_action__server__pb2.SetArmedStateRequest.SerializeToString,
637+
action__server_dot_action__server__pb2.SetArmedStateResponse.FromString,
638+
options,
639+
channel_credentials,
640+
insecure,
641+
call_credentials,
642+
compression,
643+
wait_for_ready,
644+
timeout,
645+
metadata,
646+
_registered_method=True)
647+
648+
@staticmethod
649+
def SetFlightMode(request,
650+
target,
651+
options=(),
652+
channel_credentials=None,
653+
call_credentials=None,
654+
insecure=False,
655+
compression=None,
656+
wait_for_ready=None,
657+
timeout=None,
658+
metadata=None):
659+
return grpc.experimental.unary_unary(
660+
request,
661+
target,
662+
'/mavsdk.rpc.action_server.ActionServerService/SetFlightMode',
663+
action__server_dot_action__server__pb2.SetFlightModeRequest.SerializeToString,
664+
action__server_dot_action__server__pb2.SetFlightModeResponse.FromString,
665+
options,
666+
channel_credentials,
667+
insecure,
668+
call_credentials,
669+
compression,
670+
wait_for_ready,
671+
timeout,
672+
metadata,
673+
_registered_method=True)

mavsdk/arm_authorizer_server.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
class RejectionReason(Enum):
1010
"""
11-
11+
The rejection reason
1212
1313
Values
1414
------
@@ -92,7 +92,7 @@ class ArmAuthorizerServerResult:
9292

9393
class Result(Enum):
9494
"""
95-
95+
The result
9696
9797
Values
9898
------
@@ -207,7 +207,7 @@ def __str__(self):
207207

208208
class ArmAuthorizerServer(AsyncBase):
209209
"""
210-
210+
Use arm authorization.
211211
212212
Generated by dcsdkgen - MAVSDK ArmAuthorizerServer API
213213
"""

mavsdk/arm_authorizer_server_pb2.py

Lines changed: 11 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mavsdk/arm_authorizer_server_pb2_grpc.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@
55

66
from . import arm_authorizer_server_pb2 as arm__authorizer__server_dot_arm__authorizer__server__pb2
77

8-
GRPC_GENERATED_VERSION = '1.63.0'
8+
GRPC_GENERATED_VERSION = '1.71.0'
99
GRPC_VERSION = grpc.__version__
10-
EXPECTED_ERROR_RELEASE = '1.65.0'
11-
SCHEDULED_RELEASE_DATE = 'June 25, 2024'
1210
_version_not_supported = False
1311

1412
try:
@@ -18,20 +16,18 @@
1816
_version_not_supported = True
1917

2018
if _version_not_supported:
21-
warnings.warn(
19+
raise RuntimeError(
2220
f'The grpc package installed is at version {GRPC_VERSION},'
2321
+ f' but the generated code in arm_authorizer_server/arm_authorizer_server_pb2_grpc.py depends on'
2422
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
2523
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
2624
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
27-
+ f' This warning will become an error in {EXPECTED_ERROR_RELEASE},'
28-
+ f' scheduled for release on {SCHEDULED_RELEASE_DATE}.',
29-
RuntimeWarning
3025
)
3126

3227

3328
class ArmAuthorizerServerServiceStub(object):
34-
"""Missing associated documentation comment in .proto file."""
29+
"""Use arm authorization.
30+
"""
3531

3632
def __init__(self, channel):
3733
"""Constructor.
@@ -57,7 +53,8 @@ def __init__(self, channel):
5753

5854

5955
class ArmAuthorizerServerServiceServicer(object):
60-
"""Missing associated documentation comment in .proto file."""
56+
"""Use arm authorization.
57+
"""
6158

6259
def SubscribeArmAuthorization(self, request, context):
6360
"""Subscribe to arm authorization request messages. Each request received should respond to using RespondArmAuthorization
@@ -102,11 +99,13 @@ def add_ArmAuthorizerServerServiceServicer_to_server(servicer, server):
10299
generic_handler = grpc.method_handlers_generic_handler(
103100
'mavsdk.rpc.arm_authorizer_server.ArmAuthorizerServerService', rpc_method_handlers)
104101
server.add_generic_rpc_handlers((generic_handler,))
102+
server.add_registered_method_handlers('mavsdk.rpc.arm_authorizer_server.ArmAuthorizerServerService', rpc_method_handlers)
105103

106104

107105
# This class is part of an EXPERIMENTAL API.
108106
class ArmAuthorizerServerService(object):
109-
"""Missing associated documentation comment in .proto file."""
107+
"""Use arm authorization.
108+
"""
110109

111110
@staticmethod
112111
def SubscribeArmAuthorization(request,

0 commit comments

Comments
 (0)