TerminalCollectData.java 3.26 KB
package com.bsth.entity;
import com.bsth.socket.protocol.Message0281;

public class TerminalCollectData extends Data {

    private final static int BYTE_LEN = 10;

    /**
     * 加速踏板标识类型
     * 默认应该为0x01
     */
    private byte acceleratorFlag;

    /**
     * 加速踏板行程值 0-100%
     * 分辨率1%
     * 0xFE 异常
     * 0xFF 无效
     */
    private byte acceleratorState;

    /**
     * 制动踏板标识类型
     * 默认应该为0x02
     */
    private byte brakePedalFlag;

    /**
     * 制动踏板状态 0-100%
     * 分辨率1% 在无具体行程值情况下,用“101”表示制动有效状态
     * 0xFE 异常
     * 0xFF 无效
     */
    private byte brakePedalState;

    /**
     * 车速标识类型
     * 默认应该为0x03
     */
    private byte speedFlag;

    /**
     * 车速 0-2200
     * 分辨率0.1km/h
     * 0xff 0xfe 异常
     * 0xff 0xff 无效
     */
    private short speed;

    /**
     * 总电流标识类型
     * 默认应该为0x04
     */
    private byte totalCurrentFlag;

    /**
     * 总电流 0-20000
     * 分辨率0.1a
     * 0xff 0xfe 异常
     * 0xff 0xff 无效
     */
    private short totalCurrent;

    public TerminalCollectData(Message0281 message0281){

        this.acceleratorFlag = message0281.getDataList().get(0).getAcceleratorFlag() != 0xFF ? message0281.getDataList().get(0).getAcceleratorFlag() : (byte) 0x01;

        // 加速踏板行程值
        this.acceleratorState = message0281.getDataList().get(0).getAcceleratorState();

        // 制动踏板标识类型,默认应该为0x02
        this.brakePedalFlag = message0281.getDataList().get(0).getBrakePedalFlag() != 0xFF ? message0281.getDataList().get(0).getBrakePedalFlag() : (byte) 0x02;

        // 制动踏板状态
        this.brakePedalState = message0281.getDataList().get(0).getBrakePedalState();


        // 车速标识类型,默认应该为0x03
        this.speedFlag = message0281.getDataList().get(0).getSpeedFlag() != 0xFF ? message0281.getDataList().get(0).getSpeedFlag() : (byte) 0x03;

        // 车速
        this.speed = message0281.getDataList().get(0).getSpeed();

        // 总电流标识类型,默认应该为0x04
        this.totalCurrentFlag = message0281.getDataList().get(0).getTotalCurrentFlag() != 0xFF ? message0281.getDataList().get(0).getTotalCurrentFlag() : (byte) 0x04;

        // 总电流
        this.totalCurrent = message0281.getDataList().get(0).getTotalCurrent();



    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(" 加速踏板标识类型: ").append(acceleratorFlag)
                .append(" 加速踏板行程值: ").append(acceleratorState)
                .append(" 制动踏板标识类型: ").append(brakePedalFlag)
                .append(" 制动踏板状态: ").append(brakePedalState)
                .append(" 车速标识类型: ").append(speedFlag)
                .append(" 车速: ").append(speed)
                .append(" 总电流标识类型: ").append(totalCurrentFlag)
                .append(" 总电流: ").append(totalCurrent)
                .append("\n");

        return sb.toString();
    }

    @Override
    public String getType() {

        return "TerminalCollect_data";
    }
}