Trait mav_sdk::grpc::action::action_service_server::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.

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.

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).

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.

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.

Get the takeoff altitude (in meters above ground).

Set takeoff altitude (in meters above ground).

Get the vehicle maximum speed (in metres/second).

Set vehicle maximum speed (in metres/second).

Get the return to launch minimum return altitude (in meters).

Set the return to launch minimum return altitude (in meters).

Implementors