Skip to content

Update to mavsdk_server 3.2.0 #756

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion MAVSDK_SERVER_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v3.0.0
v3.2.0
12 changes: 11 additions & 1 deletion mavsdk/action_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 3 additions & 7 deletions mavsdk/action_pb2_grpc.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@

from . import action_pb2 as action_dot_action__pb2

GRPC_GENERATED_VERSION = '1.63.0'
GRPC_GENERATED_VERSION = '1.71.0'
GRPC_VERSION = grpc.__version__
EXPECTED_ERROR_RELEASE = '1.65.0'
SCHEDULED_RELEASE_DATE = 'June 25, 2024'
_version_not_supported = False

try:
Expand All @@ -18,15 +16,12 @@
_version_not_supported = True

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


Expand Down Expand Up @@ -490,6 +485,7 @@ def add_ActionServiceServicer_to_server(servicer, server):
generic_handler = grpc.method_handlers_generic_handler(
'mavsdk.rpc.action.ActionService', rpc_method_handlers)
server.add_generic_rpc_handlers((generic_handler,))
server.add_registered_method_handlers('mavsdk.rpc.action.ActionService', rpc_method_handlers)


# This class is part of an EXPERIMENTAL API.
Expand Down
57 changes: 56 additions & 1 deletion mavsdk/action_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -941,4 +941,59 @@ async def get_allowable_flight_modes(self):


return AllowableFlightModes.translate_from_rpc(response.flight_modes)



async def set_armed_state(self, is_armed):
"""
Set/override the armed/disarmed state of the vehicle directly, and notify subscribers

Parameters
----------
is_armed : bool
Is armed now?

Raises
------
ActionServerError
If the request fails. The error contains the reason for the failure.
"""

request = action_server_pb2.SetArmedStateRequest()
request.is_armed = is_armed
response = await self._stub.SetArmedState(request)


result = self._extract_result(response)

if result.result != ActionServerResult.Result.SUCCESS:
raise ActionServerError(result, "set_armed_state()", is_armed)


async def set_flight_mode(self, flight_mode):
"""
Set/override the flight mode of the vehicle directly, and notify subscribers

Parameters
----------
flight_mode : FlightMode
Current vehicle flight mode, e.g. Takeoff/Mission/Land/etc.

Raises
------
ActionServerError
If the request fails. The error contains the reason for the failure.
"""

request = action_server_pb2.SetFlightModeRequest()

request.flight_mode = flight_mode.translate_to_rpc()


response = await self._stub.SetFlightMode(request)


result = self._extract_result(response)

if result.result != ActionServerResult.Result.SUCCESS:
raise ActionServerError(result, "set_flight_mode()", flight_mode)

130 changes: 76 additions & 54 deletions mavsdk/action_server_pb2.py

Large diffs are not rendered by default.

98 changes: 91 additions & 7 deletions mavsdk/action_server_pb2_grpc.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@

from . import action_server_pb2 as action__server_dot_action__server__pb2

GRPC_GENERATED_VERSION = '1.63.0'
GRPC_GENERATED_VERSION = '1.71.0'
GRPC_VERSION = grpc.__version__
EXPECTED_ERROR_RELEASE = '1.65.0'
SCHEDULED_RELEASE_DATE = 'June 25, 2024'
_version_not_supported = False

try:
Expand All @@ -18,15 +16,12 @@
_version_not_supported = True

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


Expand Down Expand Up @@ -100,6 +95,16 @@ def __init__(self, channel):
request_serializer=action__server_dot_action__server__pb2.GetAllowableFlightModesRequest.SerializeToString,
response_deserializer=action__server_dot_action__server__pb2.GetAllowableFlightModesResponse.FromString,
_registered_method=True)
self.SetArmedState = channel.unary_unary(
'/mavsdk.rpc.action_server.ActionServerService/SetArmedState',
request_serializer=action__server_dot_action__server__pb2.SetArmedStateRequest.SerializeToString,
response_deserializer=action__server_dot_action__server__pb2.SetArmedStateResponse.FromString,
_registered_method=True)
self.SetFlightMode = channel.unary_unary(
'/mavsdk.rpc.action_server.ActionServerService/SetFlightMode',
request_serializer=action__server_dot_action__server__pb2.SetFlightModeRequest.SerializeToString,
response_deserializer=action__server_dot_action__server__pb2.SetFlightModeResponse.FromString,
_registered_method=True)


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

def SetArmedState(self, request, context):
"""Set/override the armed/disarmed state of the vehicle directly, and notify subscribers
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')

def SetFlightMode(self, request, context):
"""Set/override the flight mode of the vehicle directly, and notify subscribers
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')


def add_ActionServerServiceServicer_to_server(servicer, server):
rpc_method_handlers = {
Expand Down Expand Up @@ -253,10 +272,21 @@ def add_ActionServerServiceServicer_to_server(servicer, server):
request_deserializer=action__server_dot_action__server__pb2.GetAllowableFlightModesRequest.FromString,
response_serializer=action__server_dot_action__server__pb2.GetAllowableFlightModesResponse.SerializeToString,
),
'SetArmedState': grpc.unary_unary_rpc_method_handler(
servicer.SetArmedState,
request_deserializer=action__server_dot_action__server__pb2.SetArmedStateRequest.FromString,
response_serializer=action__server_dot_action__server__pb2.SetArmedStateResponse.SerializeToString,
),
'SetFlightMode': grpc.unary_unary_rpc_method_handler(
servicer.SetFlightMode,
request_deserializer=action__server_dot_action__server__pb2.SetFlightModeRequest.FromString,
response_serializer=action__server_dot_action__server__pb2.SetFlightModeResponse.SerializeToString,
),
}
generic_handler = grpc.method_handlers_generic_handler(
'mavsdk.rpc.action_server.ActionServerService', rpc_method_handlers)
server.add_generic_rpc_handlers((generic_handler,))
server.add_registered_method_handlers('mavsdk.rpc.action_server.ActionServerService', rpc_method_handlers)


# This class is part of an EXPERIMENTAL API.
Expand Down Expand Up @@ -587,3 +617,57 @@ def GetAllowableFlightModes(request,
timeout,
metadata,
_registered_method=True)

@staticmethod
def SetArmedState(request,
target,
options=(),
channel_credentials=None,
call_credentials=None,
insecure=False,
compression=None,
wait_for_ready=None,
timeout=None,
metadata=None):
return grpc.experimental.unary_unary(
request,
target,
'/mavsdk.rpc.action_server.ActionServerService/SetArmedState',
action__server_dot_action__server__pb2.SetArmedStateRequest.SerializeToString,
action__server_dot_action__server__pb2.SetArmedStateResponse.FromString,
options,
channel_credentials,
insecure,
call_credentials,
compression,
wait_for_ready,
timeout,
metadata,
_registered_method=True)

@staticmethod
def SetFlightMode(request,
target,
options=(),
channel_credentials=None,
call_credentials=None,
insecure=False,
compression=None,
wait_for_ready=None,
timeout=None,
metadata=None):
return grpc.experimental.unary_unary(
request,
target,
'/mavsdk.rpc.action_server.ActionServerService/SetFlightMode',
action__server_dot_action__server__pb2.SetFlightModeRequest.SerializeToString,
action__server_dot_action__server__pb2.SetFlightModeResponse.FromString,
options,
channel_credentials,
insecure,
call_credentials,
compression,
wait_for_ready,
timeout,
metadata,
_registered_method=True)
6 changes: 3 additions & 3 deletions mavsdk/arm_authorizer_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

class RejectionReason(Enum):
"""

The rejection reason

Values
------
Expand Down Expand Up @@ -92,7 +92,7 @@ class ArmAuthorizerServerResult:

class Result(Enum):
"""

The result

Values
------
Expand Down Expand Up @@ -207,7 +207,7 @@ def __str__(self):

class ArmAuthorizerServer(AsyncBase):
"""

Use arm authorization.

Generated by dcsdkgen - MAVSDK ArmAuthorizerServer API
"""
Expand Down
12 changes: 11 additions & 1 deletion mavsdk/arm_authorizer_server_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 9 additions & 10 deletions mavsdk/arm_authorizer_server_pb2_grpc.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@

from . import arm_authorizer_server_pb2 as arm__authorizer__server_dot_arm__authorizer__server__pb2

GRPC_GENERATED_VERSION = '1.63.0'
GRPC_GENERATED_VERSION = '1.71.0'
GRPC_VERSION = grpc.__version__
EXPECTED_ERROR_RELEASE = '1.65.0'
SCHEDULED_RELEASE_DATE = 'June 25, 2024'
_version_not_supported = False

try:
Expand All @@ -18,20 +16,18 @@
_version_not_supported = True

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


class ArmAuthorizerServerServiceStub(object):
"""Missing associated documentation comment in .proto file."""
"""Use arm authorization.
"""

def __init__(self, channel):
"""Constructor.
Expand All @@ -57,7 +53,8 @@ def __init__(self, channel):


class ArmAuthorizerServerServiceServicer(object):
"""Missing associated documentation comment in .proto file."""
"""Use arm authorization.
"""

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


# This class is part of an EXPERIMENTAL API.
class ArmAuthorizerServerService(object):
"""Missing associated documentation comment in .proto file."""
"""Use arm authorization.
"""

@staticmethod
def SubscribeArmAuthorization(request,
Expand Down
Loading
Loading