package com.ard.work.component.netty.command.register; import com.ard.work.component.netty.command.BaseCmd; import io.netty.buffer.ByteBuf; import lombok.Data; import lombok.EqualsAndHashCode; /** * 无人机初始化回复命令 * * @author 刘苏义 * @date 2024/10/22 16:36 */ @Data @EqualsAndHashCode(callSuper = false) public class UavInitInfoCmd extends BaseCmd { private final byte encryptFlag; // 加密标志 private final byte actionCode; // 动作编号 private final byte result; // 执行结果 public UavInitInfoCmd(byte[] boxSn) { setDataHeader((short) 0x7479); setDataLength((short) 19); setCmdCode((byte) 0xD1); this.encryptFlag = 0x00; this.actionCode = 0x42; this.result = 0x01; setBoxSn(boxSn); } public void encode(ByteBuf out) { out.writeShort(getDataHeader()); // 写入数据头 out.writeShort(getDataLength()); // 写入数据长度 out.writeByte(getCmdCode()); // 写入命令码 out.writeByte(encryptFlag); // 写入加密标志 out.writeByte(actionCode); // 写入动作编号 out.writeByte(result); // 写入执行结果 out.writeBytes(getBoxSn()); // 写入云盒编号 } }