package com.multictrl.modules.business.service;

import com.multictrl.modules.business.dto.command.DrcStick;
import com.multictrl.modules.business.dto.command.FlyToPoint;
import com.multictrl.modules.business.dto.command.TakeoffToPoint;

/**
 * 指令飞行
 *
 * @author Sdy
 * @since 1.0.0 2026/4/27
 */
public interface CommandService {

    //一键起飞
    String takeoffToPoint(String dockSn, TakeoffToPoint takeoffToPoint);

    //起飞到备降点100米处悬停
    String takeOffToAlternateLandPoint(String dockSn);

    //飞向目标点
    String flyToPoint(String dockSn, FlyToPoint flyToPoint);

    //飞向目标点更新
    String flyToPointUpdate(String dockSn, FlyToPoint flyToPoint);

    //抢夺控制权
    void seizingControl(String dockSn);

    //进入指令飞行控制模式
    String drcModeEnter(String dockSn);

    //退出指令飞行控制模式
    String drcModeExit(String dockSn);

    //DRC-杆量控制
    void drcStickControl(String dockSn, DrcStick drcStick);
}
