liusuyi
2025-11-25 c94cc1ffd7395efc127b10ed3436095fbfbd7c18
增加环绕飞行控制飞行高度
3 files modified
13 ■■■■■ changed files
ard-work/src/main/java/com/ard/work/component/netty/command/manual/FlyRoundControlCmd.java 5 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/work/domain/dto/manual/FlyRoundControlDTO.java 4 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java 4 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/work/component/netty/command/manual/FlyRoundControlCmd.java
@@ -15,18 +15,20 @@
    private final double longitude;                  // 兴趣点经度
    private final double latitude;                   // 兴趣点纬度
    private final float altitude;                    // 兴趣点高度
    private final float height;                      // 飞行高度
    private final float speed;                       // 环绕速度
    private final float radius;                      // 环绕半径
    private final byte flyMode;                      // 飞行模式
    public FlyRoundControlCmd(FlyRoundControlDTO flyRoundControlDTO) {
        setDataHeader((short) 0x7479);
        setDataLength((short) 47);
        setDataLength((short) 51);
        setBoxSn(flyRoundControlDTO.getBoxSn().getBytes());
        setCmdCode((byte) 0xD1);
        this.longitude = flyRoundControlDTO.getLongitude();
        this.latitude = flyRoundControlDTO.getLatitude();
        this.altitude = flyRoundControlDTO.getAltitude();
        this.height=flyRoundControlDTO.getHeight();
        this.speed = flyRoundControlDTO.getSpeed();
        this.radius= flyRoundControlDTO.getRadius();
        this.flyMode = flyRoundControlDTO.getFlyMode();
@@ -43,6 +45,7 @@
        out.writeDouble(longitude);         // 写入兴趣点经度
        out.writeDouble(latitude);          // 写入兴趣点纬度
        out.writeFloat(altitude);           // 写入兴趣点高度
        out.writeFloat(height);             // 写入飞行高度
        out.writeFloat(speed);              // 写入环绕速度
        out.writeFloat(radius);             // 写入环绕半径
        out.writeByte(flyMode);             // 写入飞行模式
ard-work/src/main/java/com/ard/work/domain/dto/manual/FlyRoundControlDTO.java
@@ -33,6 +33,10 @@
    private Float altitude;
    /**
     * 飞行高度
     */
    private Float height;
    /**
     * 环绕速度
     */
    private Float speed;
ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
@@ -614,8 +614,8 @@
        if (ardDroneInfo == null) {
            throw new ControlException("未找到对应的飞行器信息,boxSn:{}" + boxSn);
        }
        FlyRoundControlCmd flyPointControlCmd = new FlyRoundControlCmd(flyRoundControlDTO);
        this.sendMessage(ardDroneInfo.getServerId(), flyPointControlCmd);
        FlyRoundControlCmd flyRoundControlCmd = new FlyRoundControlCmd(flyRoundControlDTO);
        this.sendMessage(ardDroneInfo.getServerId(), flyRoundControlCmd);
        return true;
    }