Trait mav_sdk::grpc::action::ActionService [−][src]
pub trait ActionService: Send + Sync + 'static {
Show 18 methods
fn arm<'life0, 'async_trait>(
&'life0 self,
request: Request<ArmRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ArmResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn disarm<'life0, 'async_trait>(
&'life0 self,
request: Request<DisarmRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<DisarmResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn takeoff<'life0, 'async_trait>(
&'life0 self,
request: Request<TakeoffRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TakeoffResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn land<'life0, 'async_trait>(
&'life0 self,
request: Request<LandRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<LandResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn reboot<'life0, 'async_trait>(
&'life0 self,
request: Request<RebootRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RebootResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn shutdown<'life0, 'async_trait>(
&'life0 self,
request: Request<ShutdownRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ShutdownResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn terminate<'life0, 'async_trait>(
&'life0 self,
request: Request<TerminateRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TerminateResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn kill<'life0, 'async_trait>(
&'life0 self,
request: Request<KillRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<KillResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn return_to_launch<'life0, 'async_trait>(
&'life0 self,
request: Request<ReturnToLaunchRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ReturnToLaunchResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn goto_location<'life0, 'async_trait>(
&'life0 self,
request: Request<GotoLocationRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GotoLocationResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn transition_to_fixedwing<'life0, 'async_trait>(
&'life0 self,
request: Request<TransitionToFixedwingRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TransitionToFixedwingResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn transition_to_multicopter<'life0, 'async_trait>(
&'life0 self,
request: Request<TransitionToMulticopterRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TransitionToMulticopterResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn get_takeoff_altitude<'life0, 'async_trait>(
&'life0 self,
request: Request<GetTakeoffAltitudeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetTakeoffAltitudeResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn set_takeoff_altitude<'life0, 'async_trait>(
&'life0 self,
request: Request<SetTakeoffAltitudeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<SetTakeoffAltitudeResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn get_maximum_speed<'life0, 'async_trait>(
&'life0 self,
request: Request<GetMaximumSpeedRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetMaximumSpeedResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn set_maximum_speed<'life0, 'async_trait>(
&'life0 self,
request: Request<SetMaximumSpeedRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<SetMaximumSpeedResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn get_return_to_launch_altitude<'life0, 'async_trait>(
&'life0 self,
request: Request<GetReturnToLaunchAltitudeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetReturnToLaunchAltitudeResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn set_return_to_launch_altitude<'life0, 'async_trait>(
&'life0 self,
request: Request<SetReturnToLaunchAltitudeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<SetReturnToLaunchAltitudeResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
}
Expand description
Generated trait containing gRPC methods that should be implemented for use with ActionServiceServer.
Required methods
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!
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.
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.
Send command to land at the current position.
This switches the drone to ‘Land’ flight mode.
Send command to reboot the drone components.
This will reboot the autopilot, companion computer, camera and gimbal.
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.
Send command to terminate the drone.
This will run the terminate routine as configured on the drone (e.g. disarm and open the parachute).
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.
fn return_to_launch<'life0, 'async_trait>(
&'life0 self,
request: Request<ReturnToLaunchRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ReturnToLaunchResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn return_to_launch<'life0, 'async_trait>(
&'life0 self,
request: Request<ReturnToLaunchRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ReturnToLaunchResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
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.
fn goto_location<'life0, 'async_trait>(
&'life0 self,
request: Request<GotoLocationRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GotoLocationResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn goto_location<'life0, 'async_trait>(
&'life0 self,
request: Request<GotoLocationRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GotoLocationResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
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).
fn transition_to_fixedwing<'life0, 'async_trait>(
&'life0 self,
request: Request<TransitionToFixedwingRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TransitionToFixedwingResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn transition_to_fixedwing<'life0, 'async_trait>(
&'life0 self,
request: Request<TransitionToFixedwingRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TransitionToFixedwingResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
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.
fn transition_to_multicopter<'life0, 'async_trait>(
&'life0 self,
request: Request<TransitionToMulticopterRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TransitionToMulticopterResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn transition_to_multicopter<'life0, 'async_trait>(
&'life0 self,
request: Request<TransitionToMulticopterRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TransitionToMulticopterResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
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.
fn get_takeoff_altitude<'life0, 'async_trait>(
&'life0 self,
request: Request<GetTakeoffAltitudeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetTakeoffAltitudeResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn get_takeoff_altitude<'life0, 'async_trait>(
&'life0 self,
request: Request<GetTakeoffAltitudeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetTakeoffAltitudeResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Get the takeoff altitude (in meters above ground).
fn set_takeoff_altitude<'life0, 'async_trait>(
&'life0 self,
request: Request<SetTakeoffAltitudeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<SetTakeoffAltitudeResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn set_takeoff_altitude<'life0, 'async_trait>(
&'life0 self,
request: Request<SetTakeoffAltitudeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<SetTakeoffAltitudeResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Set takeoff altitude (in meters above ground).
fn get_maximum_speed<'life0, 'async_trait>(
&'life0 self,
request: Request<GetMaximumSpeedRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetMaximumSpeedResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn get_maximum_speed<'life0, 'async_trait>(
&'life0 self,
request: Request<GetMaximumSpeedRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetMaximumSpeedResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Get the vehicle maximum speed (in metres/second).
fn set_maximum_speed<'life0, 'async_trait>(
&'life0 self,
request: Request<SetMaximumSpeedRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<SetMaximumSpeedResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn set_maximum_speed<'life0, 'async_trait>(
&'life0 self,
request: Request<SetMaximumSpeedRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<SetMaximumSpeedResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Set vehicle maximum speed (in metres/second).
fn get_return_to_launch_altitude<'life0, 'async_trait>(
&'life0 self,
request: Request<GetReturnToLaunchAltitudeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetReturnToLaunchAltitudeResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn get_return_to_launch_altitude<'life0, 'async_trait>(
&'life0 self,
request: Request<GetReturnToLaunchAltitudeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetReturnToLaunchAltitudeResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Get the return to launch minimum return altitude (in meters).
fn set_return_to_launch_altitude<'life0, 'async_trait>(
&'life0 self,
request: Request<SetReturnToLaunchAltitudeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<SetReturnToLaunchAltitudeResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn set_return_to_launch_altitude<'life0, 'async_trait>(
&'life0 self,
request: Request<SetReturnToLaunchAltitudeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<SetReturnToLaunchAltitudeResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Set the return to launch minimum return altitude (in meters).