pub struct ActionServiceClient<T> { /* private fields */ }Expand description
Enable simple actions such as arming, taking off, and landing.
Implementations§
Source§impl<T> ActionServiceClient<T>where
T: GrpcService<BoxBody>,
T::ResponseBody: Body + Send + Sync + 'static,
T::Error: Into<StdError>,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
impl<T> ActionServiceClient<T>where
T: GrpcService<BoxBody>,
T::ResponseBody: Body + Send + Sync + 'static,
T::Error: Into<StdError>,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
pub fn new(inner: T) -> Self
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ActionServiceClient<InterceptedService<T, F>>where
F: Interceptor,
T: Service<Request<BoxBody>, Response = Response<<T as GrpcService<BoxBody>>::ResponseBody>>,
<T as Service<Request<BoxBody>>>::Error: Into<StdError> + Send + Sync,
Sourcepub fn send_gzip(self) -> Self
pub fn send_gzip(self) -> Self
Compress requests with gzip.
This requires the server to support it otherwise it might respond with an error.
Sourcepub fn accept_gzip(self) -> Self
pub fn accept_gzip(self) -> Self
Enable decompressing responses with gzip.
Sourcepub async fn arm(
&mut self,
request: impl IntoRequest<ArmRequest>,
) -> Result<Response<ArmResponse>, Status>
pub async fn arm( &mut self, request: impl IntoRequest<ArmRequest>, ) -> Result<Response<ArmResponse>, Status>
Send command to arm the drone.
Arming a drone normally causes motors to spin at idle. Before arming take all safety precautions and stand clear of the drone!
Sourcepub async fn disarm(
&mut self,
request: impl IntoRequest<DisarmRequest>,
) -> Result<Response<DisarmResponse>, Status>
pub async fn disarm( &mut self, request: impl IntoRequest<DisarmRequest>, ) -> Result<Response<DisarmResponse>, Status>
Send command to disarm the drone.
This will disarm a drone that considers itself landed. If flying, the drone should reject the disarm command. Disarming means that all motors will stop.
Sourcepub async fn takeoff(
&mut self,
request: impl IntoRequest<TakeoffRequest>,
) -> Result<Response<TakeoffResponse>, Status>
pub async fn takeoff( &mut self, request: impl IntoRequest<TakeoffRequest>, ) -> Result<Response<TakeoffResponse>, Status>
Send command to take off and hover.
This switches the drone into position control mode and commands it to take off and hover at the takeoff altitude.
Note that the vehicle must be armed before it can take off.
Sourcepub async fn land(
&mut self,
request: impl IntoRequest<LandRequest>,
) -> Result<Response<LandResponse>, Status>
pub async fn land( &mut self, request: impl IntoRequest<LandRequest>, ) -> Result<Response<LandResponse>, Status>
Send command to land at the current position.
This switches the drone to ‘Land’ flight mode.
Sourcepub async fn reboot(
&mut self,
request: impl IntoRequest<RebootRequest>,
) -> Result<Response<RebootResponse>, Status>
pub async fn reboot( &mut self, request: impl IntoRequest<RebootRequest>, ) -> Result<Response<RebootResponse>, Status>
Send command to reboot the drone components.
This will reboot the autopilot, companion computer, camera and gimbal.
Sourcepub async fn shutdown(
&mut self,
request: impl IntoRequest<ShutdownRequest>,
) -> Result<Response<ShutdownResponse>, Status>
pub async fn shutdown( &mut self, request: impl IntoRequest<ShutdownRequest>, ) -> Result<Response<ShutdownResponse>, Status>
Send command to shut down the drone components.
This will shut down the autopilot, onboard computer, camera and gimbal. This command should only be used when the autopilot is disarmed and autopilots commonly reject it if they are not already ready to shut down.
Sourcepub async fn terminate(
&mut self,
request: impl IntoRequest<TerminateRequest>,
) -> Result<Response<TerminateResponse>, Status>
pub async fn terminate( &mut self, request: impl IntoRequest<TerminateRequest>, ) -> Result<Response<TerminateResponse>, Status>
Send command to terminate the drone.
This will run the terminate routine as configured on the drone (e.g. disarm and open the parachute).
Sourcepub async fn kill(
&mut self,
request: impl IntoRequest<KillRequest>,
) -> Result<Response<KillResponse>, Status>
pub async fn kill( &mut self, request: impl IntoRequest<KillRequest>, ) -> Result<Response<KillResponse>, Status>
Send command to kill the drone.
This will disarm a drone irrespective of whether it is landed or flying. Note that the drone will fall out of the sky if this command is used while flying.
Sourcepub async fn return_to_launch(
&mut self,
request: impl IntoRequest<ReturnToLaunchRequest>,
) -> Result<Response<ReturnToLaunchResponse>, Status>
pub async fn return_to_launch( &mut self, request: impl IntoRequest<ReturnToLaunchRequest>, ) -> Result<Response<ReturnToLaunchResponse>, Status>
Send command to return to the launch (takeoff) position and land.
This switches the drone into Return mode which generally means it will rise up to a certain altitude to clear any obstacles before heading back to the launch (takeoff) position and land there.
Sourcepub async fn goto_location(
&mut self,
request: impl IntoRequest<GotoLocationRequest>,
) -> Result<Response<GotoLocationResponse>, Status>
pub async fn goto_location( &mut self, request: impl IntoRequest<GotoLocationRequest>, ) -> Result<Response<GotoLocationResponse>, Status>
Send command to move the vehicle to a specific global position.
The latitude and longitude are given in degrees (WGS84 frame) and the altitude in meters AMSL (above mean sea level).
The yaw angle is in degrees (frame is NED, 0 is North, positive is clockwise).
Sourcepub async fn transition_to_fixedwing(
&mut self,
request: impl IntoRequest<TransitionToFixedwingRequest>,
) -> Result<Response<TransitionToFixedwingResponse>, Status>
pub async fn transition_to_fixedwing( &mut self, request: impl IntoRequest<TransitionToFixedwingRequest>, ) -> Result<Response<TransitionToFixedwingResponse>, Status>
Send command to transition the drone to fixedwing.
The associated action will only be executed for VTOL vehicles (on other vehicle types the command will fail). The command will succeed if called when the vehicle is already in fixedwing mode.
Sourcepub async fn transition_to_multicopter(
&mut self,
request: impl IntoRequest<TransitionToMulticopterRequest>,
) -> Result<Response<TransitionToMulticopterResponse>, Status>
pub async fn transition_to_multicopter( &mut self, request: impl IntoRequest<TransitionToMulticopterRequest>, ) -> Result<Response<TransitionToMulticopterResponse>, Status>
Send command to transition the drone to multicopter.
The associated action will only be executed for VTOL vehicles (on other vehicle types the command will fail). The command will succeed if called when the vehicle is already in multicopter mode.
Sourcepub async fn get_takeoff_altitude(
&mut self,
request: impl IntoRequest<GetTakeoffAltitudeRequest>,
) -> Result<Response<GetTakeoffAltitudeResponse>, Status>
pub async fn get_takeoff_altitude( &mut self, request: impl IntoRequest<GetTakeoffAltitudeRequest>, ) -> Result<Response<GetTakeoffAltitudeResponse>, Status>
Get the takeoff altitude (in meters above ground).
Sourcepub async fn set_takeoff_altitude(
&mut self,
request: impl IntoRequest<SetTakeoffAltitudeRequest>,
) -> Result<Response<SetTakeoffAltitudeResponse>, Status>
pub async fn set_takeoff_altitude( &mut self, request: impl IntoRequest<SetTakeoffAltitudeRequest>, ) -> Result<Response<SetTakeoffAltitudeResponse>, Status>
Set takeoff altitude (in meters above ground).
Sourcepub async fn get_maximum_speed(
&mut self,
request: impl IntoRequest<GetMaximumSpeedRequest>,
) -> Result<Response<GetMaximumSpeedResponse>, Status>
pub async fn get_maximum_speed( &mut self, request: impl IntoRequest<GetMaximumSpeedRequest>, ) -> Result<Response<GetMaximumSpeedResponse>, Status>
Get the vehicle maximum speed (in metres/second).
Sourcepub async fn set_maximum_speed(
&mut self,
request: impl IntoRequest<SetMaximumSpeedRequest>,
) -> Result<Response<SetMaximumSpeedResponse>, Status>
pub async fn set_maximum_speed( &mut self, request: impl IntoRequest<SetMaximumSpeedRequest>, ) -> Result<Response<SetMaximumSpeedResponse>, Status>
Set vehicle maximum speed (in metres/second).
Sourcepub async fn get_return_to_launch_altitude(
&mut self,
request: impl IntoRequest<GetReturnToLaunchAltitudeRequest>,
) -> Result<Response<GetReturnToLaunchAltitudeResponse>, Status>
pub async fn get_return_to_launch_altitude( &mut self, request: impl IntoRequest<GetReturnToLaunchAltitudeRequest>, ) -> Result<Response<GetReturnToLaunchAltitudeResponse>, Status>
Get the return to launch minimum return altitude (in meters).
Sourcepub async fn set_return_to_launch_altitude(
&mut self,
request: impl IntoRequest<SetReturnToLaunchAltitudeRequest>,
) -> Result<Response<SetReturnToLaunchAltitudeResponse>, Status>
pub async fn set_return_to_launch_altitude( &mut self, request: impl IntoRequest<SetReturnToLaunchAltitudeRequest>, ) -> Result<Response<SetReturnToLaunchAltitudeResponse>, Status>
Set the return to launch minimum return altitude (in meters).
Trait Implementations§
Source§impl<T: Clone> Clone for ActionServiceClient<T>
impl<T: Clone> Clone for ActionServiceClient<T>
Source§fn clone(&self) -> ActionServiceClient<T>
fn clone(&self) -> ActionServiceClient<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<T> Freeze for ActionServiceClient<T>where
T: Freeze,
impl<T> RefUnwindSafe for ActionServiceClient<T>where
T: RefUnwindSafe,
impl<T> Send for ActionServiceClient<T>where
T: Send,
impl<T> Sync for ActionServiceClient<T>where
T: Sync,
impl<T> Unpin for ActionServiceClient<T>where
T: Unpin,
impl<T> UnwindSafe for ActionServiceClient<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request