liusuyi
2024-10-25 1157c58dc74805cbb7db57ab121bbb521f4c216b
ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java
@@ -8,11 +8,12 @@
import com.ard.tianyu.model.dto.BoxHistoryDTO;
import com.ard.tianyu.model.dto.BoxPhotosDTO;
import com.ard.tianyu.model.dto.BoxSettingsDTO;
import com.ard.tianyu.model.dto.camera.CapturePicDto;
import com.ard.tianyu.model.dto.camera.RecordDto;
import com.ard.tianyu.model.dto.control.AbsAngleControlDto;
import com.ard.tianyu.model.dto.control.AngleControlDto;
import com.ard.tianyu.model.dto.control.SpeedControlDto;
import com.ard.tianyu.model.dto.camera.CameraModeDTO;
import com.ard.tianyu.model.dto.camera.CapturePicDTO;
import com.ard.tianyu.model.dto.camera.RecordDTO;
import com.ard.tianyu.model.dto.control.AbsAngleControlDTO;
import com.ard.tianyu.model.dto.control.AngleControlDTO;
import com.ard.tianyu.model.dto.control.SpeedControlDTO;
import com.ard.tianyu.model.dto.converter.UavSignalInfoConverter;
import com.ard.tianyu.model.dto.converter.UavStateConverter;
import com.ard.tianyu.model.dto.converter.UavTelemetryDataConverter;
@@ -34,7 +35,6 @@
import io.netty.channel.Channel;
import io.netty.channel.ChannelFuture;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.record.Record;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
@@ -165,7 +165,7 @@
     * 云台控制基于角度
     */
    @Override
    public void angleControl(AngleControlDto angleControlDto) {
    public void angleControl(AngleControlDTO angleControlDto) {
        AngleControlCommand controlAngleCommand = new AngleControlCommand(angleControlDto);
        this.sendMessage(tyConfiguration.getIpPort(), controlAngleCommand);
    }
@@ -174,7 +174,7 @@
     * 云台绝对值控制(基于角度)
     */
    @Override
    public void absAngleControl(AbsAngleControlDto absAngleControlDto) {
    public void absAngleControl(AbsAngleControlDTO absAngleControlDto) {
        AbsAngleControlCommand absAngleControlCommand = new AbsAngleControlCommand(absAngleControlDto);
        this.sendMessage(tyConfiguration.getIpPort(), absAngleControlCommand);
    }
@@ -183,16 +183,26 @@
     * 云台转动(基于速度)
     */
    @Override
    public void speedControl(SpeedControlDto speedControlDto) {
    public void speedControl(SpeedControlDTO speedControlDto) {
        SpeedControlCommand speedControlCommand = new SpeedControlCommand(speedControlDto);
        this.sendMessage(tyConfiguration.getIpPort(), speedControlCommand);
    }
    /**
     * 设置相机模式
     */
    @Override
    public void updateCameraMode(CameraModeDTO cameraModeDTO) {
        CameraModeCommand cameraModeCommand = new CameraModeCommand(cameraModeDTO);
        this.sendMessage(tyConfiguration.getIpPort(), cameraModeCommand);
    }
    /**
     * 拍照
     */
    @Override
    public void capturePic(CapturePicDto capturePicDto) {
    public void capturePic(CapturePicDTO capturePicDto) {
        updateCameraMode(CameraModeDTO.builder().boxSn(capturePicDto.getBoxSn()).actionParam((byte)0x01).build());
        CapturePicCommand capturePicCommand = new CapturePicCommand(capturePicDto);
        this.sendMessage(tyConfiguration.getIpPort(), capturePicCommand);
    }
@@ -201,9 +211,10 @@
     * 录像
     */
    @Override
    public void record(RecordDto recordDto) {
    public void record(RecordDTO recordDto) {
        BaseCommand baseCommand;
        if (recordDto.getIsRecord()) {
            updateCameraMode(CameraModeDTO.builder().boxSn(recordDto.getBoxSn()).actionParam((byte)0x02).build());
            baseCommand = new RecordStartCommand(recordDto);
        } else {
            baseCommand = new RecordStopCommand(recordDto);
@@ -291,6 +302,13 @@
                        log.info("收到无人机初始化详情-回复防止再次发送");
                    }
                }
                if (tyCommand instanceof CameraModeReplyCommand) {
                    CameraModeReplyCommand cameraModeReplyCommand = (CameraModeReplyCommand) tyCommand;
                    if (cameraModeReplyCommand.getActionCode() == (byte) 0x22) {
                        log.info("收到无人机设置相机模式回复:{} 错误码:{}", String.format("0x%02X", cameraModeReplyCommand.getResult() & 0xFF), cameraModeReplyCommand.getErrorCode());
                    }
                }
                if (tyCommand instanceof CapturePicReplyCommand) {
                    CapturePicReplyCommand capturePicReplyCommand = (CapturePicReplyCommand) tyCommand;
                    if (capturePicReplyCommand.getActionCode() == (byte) 0x23) {