package com.ard.work.component.netty.command.camera;
|
|
import com.ard.work.domain.dto.camera.ZoomToLevelDTO;
|
import com.ard.work.component.netty.command.BaseCmd;
|
import io.netty.buffer.ByteBuf;
|
import lombok.Data;
|
|
/**
|
* 变倍到指定倍数指令
|
*
|
* @author liusuyi
|
* @date 2024年10月25日14:44
|
**/
|
@Data
|
public class ZoomToLevelCmd extends BaseCmd {
|
private final byte encryptFlag = 0x00; // 加密标志
|
private final byte actionCode = 0x0D; // 动作编号
|
private final byte level; // 倍数
|
|
public ZoomToLevelCmd(ZoomToLevelDTO zoomToLevelDTO) {
|
setDataHeader((short) 0x7479);
|
setDataLength((short) 19);
|
setBoxSn(zoomToLevelDTO.getBoxSn().getBytes());
|
setCmdCode((byte) 0xD1);
|
this.level = zoomToLevelDTO.getLevel();
|
}
|
|
public void encode(ByteBuf out) {
|
out.writeShort(getDataHeader()); // 写入数据头
|
out.writeShort(getDataLength()); // 写入数据长度
|
out.writeBytes(getBoxSn()); // 写入盒子SN
|
out.writeByte(getCmdCode()); // 写入命令码
|
out.writeByte(encryptFlag); // 写入加密标志
|
out.writeByte(actionCode); // 写入动作编号
|
out.writeByte(level); // 写入变倍数值
|
}
|
}
|