From f2236478e434b9d1b714b51d3586fb11a59e6f14 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Sat, 26 Oct 2024 16:40:28 +0800
Subject: [PATCH] 增加 控制权和起飞
---
ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java | 35 +++++++++++++++++++++++++++++++++--
1 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java b/ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java
index 637d878..1a3c1cd 100644
--- a/ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java
+++ b/ard-work/src/main/java/com/ard/tianyu/service/impl/TyServiceImpl.java
@@ -15,6 +15,8 @@
import com.ard.tianyu.model.dto.converter.UavSignalInfoConverter;
import com.ard.tianyu.model.dto.converter.UavStateConverter;
import com.ard.tianyu.model.dto.converter.UavTelemetryDataConverter;
+import com.ard.tianyu.model.dto.manual.SwitchUavControlDTO;
+import com.ard.tianyu.model.dto.manual.TakeOffDTO;
import com.ard.tianyu.model.dto.signal.SignalInfo;
import com.ard.tianyu.model.dto.state.UavState;
import com.ard.tianyu.model.dto.telemetry.TelemetryData;
@@ -25,6 +27,9 @@
import com.ard.tianyu.netty.command.control.AbsAngleControlCmd;
import com.ard.tianyu.netty.command.control.AngleControlCmd;
import com.ard.tianyu.netty.command.control.SpeedControlCmd;
+import com.ard.tianyu.netty.command.manual.SwitchUavControlCmd;
+import com.ard.tianyu.netty.command.manual.TakeOffCmd;
+import com.ard.tianyu.netty.command.manual.TakeOffReplyCmd;
import com.ard.tianyu.netty.command.notice.BoxPowerStatusReplyCmd;
import com.ard.tianyu.netty.command.notice.FlyWayEndReplyCmd;
import com.ard.tianyu.netty.command.notice.UavReadyReplyCmd;
@@ -268,6 +273,24 @@
}
/**
+ * 切换无人机控制权
+ */
+ @Override
+ public void switchUavControl(SwitchUavControlDTO switchUavControlDTO) {
+ SwitchUavControlCmd switchUavControlCmd = new SwitchUavControlCmd(switchUavControlDTO);
+ this.sendMessage(tyConfiguration.getIpPort(), switchUavControlCmd);
+ }
+
+ /**
+ * 起飞
+ */
+ @Override
+ public void takeOff(TakeOffDTO takeOffDTO) {
+ TakeOffCmd takeOffCmd = new TakeOffCmd(takeOffDTO);
+ this.sendMessage(tyConfiguration.getIpPort(), takeOffCmd);
+ }
+
+ /**
* 获取无人机状态
*/
@Override
@@ -355,7 +378,7 @@
}
if (tyCommand instanceof UavReadyReplyCmd) {
UavReadyReplyCmd uavReadyReplyCmd = (UavReadyReplyCmd) tyCommand;
- log.info("收到无人机准备完成通知,电池电量{} 经度{} 纬度{} 海拔{}",uavReadyReplyCmd.getBatteryPower(),uavReadyReplyCmd.getLongitude(),uavReadyReplyCmd.getLatitude(),uavReadyReplyCmd.getAltitude());
+ log.info("收到无人机准备完成通知,电池电量{} 经度{} 纬度{} 海拔{}", uavReadyReplyCmd.getBatteryPower(), uavReadyReplyCmd.getLongitude(), uavReadyReplyCmd.getLatitude(), uavReadyReplyCmd.getAltitude());
}
if (tyCommand instanceof CameraModeReplyCmd) {
CameraModeReplyCmd cameraModeReplyCommand = (CameraModeReplyCmd) tyCommand;
@@ -363,7 +386,7 @@
}
if (tyCommand instanceof FlyWayEndReplyCmd) {
FlyWayEndReplyCmd flyWayEndReplyCmd = (FlyWayEndReplyCmd) tyCommand;
- log.info("收到无人机飞行结束通知:状态:{}",flyWayEndReplyCmd.getResult());
+ log.info("收到无人机飞行结束通知:状态:{}", flyWayEndReplyCmd.getResult());
}
if (tyCommand instanceof CapturePicReplyCmd) {
CapturePicReplyCmd capturePicReplyCommand = (CapturePicReplyCmd) tyCommand;
@@ -377,6 +400,11 @@
RecordStopReplyCmd recordStopReplyCommand = (RecordStopReplyCmd) tyCommand;
log.info("收到无人机停止录像回复:{} 错误码:{}", String.format("0x%02X", recordStopReplyCommand.getResult() & 0xFF), recordStopReplyCommand.getErrorCode());
}
+ //起飞回复
+ if (tyCommand instanceof TakeOffReplyCmd) {
+ TakeOffReplyCmd takeOffReplyCommand = (TakeOffReplyCmd) tyCommand;
+ log.info("收到无人机起飞回复:{} 错误码:{}", String.format("0x%02X", takeOffReplyCommand.getResult() & 0xFF), takeOffReplyCommand.getErrorCode());
+ }
break;
default:
// 处理其他消息
@@ -384,6 +412,9 @@
}
}
+ /**
+ * 定时3秒发送心跳指令
+ */
@Scheduled(fixedRate = 3000)
public void sendHeartBeat() {
long timestamp = System.currentTimeMillis();
--
Gitblit v1.9.3