From 75902fb9d5b27a440d14308ccca3c3cff32167bb Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Fri, 25 Oct 2024 09:51:19 +0800
Subject: [PATCH] 优化
---
ard-work/src/main/java/com/ard/tianyu/netty/command/ControlAngleCommand.java | 34 +++++++++++-----------------------
1 files changed, 11 insertions(+), 23 deletions(-)
diff --git a/ard-work/src/main/java/com/ard/tianyu/netty/command/ControlAngleCommand.java b/ard-work/src/main/java/com/ard/tianyu/netty/command/ControlAngleCommand.java
index ea110e3..4e77ae1 100644
--- a/ard-work/src/main/java/com/ard/tianyu/netty/command/ControlAngleCommand.java
+++ b/ard-work/src/main/java/com/ard/tianyu/netty/command/ControlAngleCommand.java
@@ -11,37 +11,25 @@
*/
@Data
-public class ControlAngleCommand extends BaseCommand{
- private final byte[] boxSn; // 云盒编号
+public class ControlAngleCommand extends BaseCommand {
private final byte encryptFlag; // 加密标志
- private final byte actionId; // 动作编号
+ private final byte actionCode; // 动作编号
private final byte rotationAngle; // 转动角度
- public ControlAngleCommand(byte[] boxSn, byte encryptFlag, byte actionId, byte rotationAngle) {
- if (boxSn.length != 15) {
- throw new IllegalArgumentException("云盒编号长度必须为15字节");
- }
- setDataHeader((short)0x7479);
- setDataLength(getDataLength());
- setCmdCode((byte)0xD1);
- this.boxSn = boxSn;
- this.encryptFlag = encryptFlag;
- this.actionId = actionId;
+ public ControlAngleCommand(String boxSn, byte actionCode, byte rotationAngle) {
+ setDataHeader((short) 0x7479);
+ setDataLength((short)19);
+ setBoxSn(boxSn.getBytes());
+ setCmdCode((byte) 0xD1);
+
+ this.encryptFlag = 0x00;
+ this.actionCode = actionCode;
this.rotationAngle = rotationAngle;
}
- public short getDataLength() {
- // 计算数据长度: 云盒编号 + 指令编号 + 加密标志 + 动作编号 + 转动角度
- return (short) (1 + 15 + 1 + 1 + 1); // 帧头 + 数据内容
- }
-
public void encode(ByteBuf out) {
- out.writeShort(getDataHeader()); // 写入帧头
- out.writeShort(getDataLength()); // 写入数据长度
- out.writeBytes(boxSn); // 写入云盒编号
- out.writeByte(getCmdCode()); // 写入指令编号
out.writeByte(encryptFlag); // 写入加密标志
- out.writeByte(actionId); // 写入动作编号
+ out.writeByte(actionCode); // 写入动作编号
out.writeByte(rotationAngle); // 写入转动角度
}
}
--
Gitblit v1.9.3