Message0204.java
1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package com.bsth.socket.protocol;
import com.bsth.util.ConvertUtil;
/**
* @author Hill
* 发动机数据
*/
public class Message0204 implements IMessageBody02 {
/**
* 信息类型
* 默认应该为0x04
*/
private byte infoType;
/**
* 发动机状态
* 0x01 启动
* 0x02 关闭
* 0xfe 异常
* 0xff 无效
*/
private byte engineState;
/**
* 发动机曲轴转速 0-60000
* 分辨率1r/min
* 0xff 0xfe 异常
* 0xff 0xff 无效
*/
private short engineSpeed;
/**
* 燃料消耗率 0-60000
* 分辨率0.01L/100km
* 0xff 0xfe 异常
* 0xff 0xff 无效
*/
private short fuelConsumeRate;
@Override
public void read(byte[] bytes, int idx) {
// TODO Auto-generated method stub
infoType = bytes[idx]; idx++;
engineState = bytes[idx]; idx++;
engineSpeed = (short) ConvertUtil.bytes2int(bytes, idx, 2); idx += 2;
fuelConsumeRate = (short) ConvertUtil.bytes2int(bytes, idx, 2); idx += 2;
}
@Override
public int getByteLen() {
return 6;
}
public byte getInfoType() {
return infoType;
}
public void setInfoType(byte infoType) {
this.infoType = infoType;
}
public byte getEngineState() {
return engineState;
}
public void setEngineState(byte engineState) {
this.engineState = engineState;
}
public short getEngineSpeed() {
return engineSpeed;
}
public void setEngineSpeed(short engineSpeed) {
this.engineSpeed = engineSpeed;
}
public short getFuelConsumeRate() {
return fuelConsumeRate;
}
public void setFuelConsumeRate(short fuelConsumeRate) {
this.fuelConsumeRate = fuelConsumeRate;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(" 信息类型: ").append(String.format("%02x", infoType))
.append(" 发动机状态: ").append(engineState)
.append(" 发动机曲轴转速: ").append(engineSpeed)
.append(" 燃料消耗率: ").append(fuelConsumeRate);
return sb.toString();
}
}