package com.zy.acs.common.domain.protocol;
|
|
import com.zy.acs.framework.common.RadixTools;
|
import com.zy.acs.common.utils.Utils;
|
import lombok.Data;
|
|
import java.io.Serializable;
|
|
/**
|
* 心跳包
|
* Created by vincent on 2023/3/16
|
*/
|
@Data
|
public class AGV_03_UP implements IMessageBody, Serializable {
|
|
private static final long serialVersionUID = -8758441350794873082L;
|
|
@Override
|
public byte[] writeToBytes() {
|
return new byte[0];
|
}
|
|
@Override
|
public void readFromBytes(byte[] bytes) {
|
//电压
|
this.voltage = RadixTools.byteToShort(Utils.sliceWithReverse(bytes, 0, 2));
|
//剩余电量
|
this.soc = Utils.slice(bytes, 2, 1)[0];
|
//寿命
|
this.soh = Utils.slice(bytes, 3, 1)[0];
|
//电池故障标志
|
this.batterFailSign = Utils.slice(bytes, 4, 1)[0];
|
//电池温度
|
this.batteryTempe = Utils.slice(bytes, 5, 1)[0];
|
//环境温度
|
this.envirTempe = Utils.slice(bytes, 6, 1)[0];
|
//左轮电机温度
|
this.leftMotorTempe = Utils.slice(bytes, 7, 1)[0];
|
//右轮电机温度
|
this.rightMotorTempe = Utils.slice(bytes, 8, 1)[0];
|
//升降电机温度
|
this.raiseMotorTempe = Utils.slice(bytes, 9, 1)[0];
|
//伸缩电机温度
|
this.telescopicMotorTempe = Utils.slice(bytes, 10, 1)[0];
|
//旋转电机温度
|
this.rotatingMotorTempe = Utils.slice(bytes, 11, 1)[0];
|
//开机时间
|
this.bootTime = RadixTools.bytesToInt(Utils.sliceWithReverse(bytes, 12, 4));
|
//左电机故障标志
|
this.leftMotorFailSign = RadixTools.byteToShort(Utils.sliceWithReverse(bytes, 16, 2));
|
//右电机故障标志
|
this.leftMotorFailSign = RadixTools.byteToShort(Utils.sliceWithReverse(bytes, 18, 2));
|
//升降电机故障标志
|
this.raiseMotorFailSign = RadixTools.byteToShort(Utils.sliceWithReverse(bytes, 20, 2));
|
//伸缩电机故障标志
|
this.telescopicMotorFailSign = RadixTools.byteToShort(Utils.sliceWithReverse(bytes, 22, 2));
|
//旋转电机故障标志
|
this.rotatingMotorFailSign = RadixTools.byteToShort(Utils.sliceWithReverse(bytes, 24, 2));
|
//故障标志位
|
this.failSign = RadixTools.bytesToInt(Utils.sliceWithReverse(bytes, 26, 4));
|
//预留字段
|
this.reservedField = RadixTools.bytesToInt(Utils.sliceWithReverse(bytes, 30, 4));
|
}
|
|
private int voltage; // 电压
|
|
private int soc; // 剩余电量
|
|
private int soh; // 寿命
|
|
private int batterFailSign; // 电池故障标志
|
|
//电池温度
|
private int batteryTempe;
|
|
// 环境温度
|
private int envirTempe;
|
|
//左轮电机温度
|
private int leftMotorTempe;
|
|
//右轮电机温度
|
private int rightMotorTempe;
|
|
//升降电机温度
|
private int raiseMotorTempe;
|
|
//伸缩电机温度
|
private int telescopicMotorTempe;
|
|
//旋转电机温度
|
private int rotatingMotorTempe;
|
|
//开机时间
|
private int bootTime;
|
|
//左电机故障标志
|
private int leftMotorFailSign;
|
|
//右电机故障标志
|
private int rightMotorFailSign;
|
|
//升降电机故障标志
|
private int raiseMotorFailSign;
|
|
//伸缩电机故障标志
|
private int telescopicMotorFailSign;
|
|
//旋转电机故障标志
|
private int rotatingMotorFailSign;
|
|
//故障标志位
|
private int failSign;
|
|
//预留字段
|
private int reservedField;
|
|
|
}
|