TerminalCollectData.java 2.76 KB
package com.bsth.entity;
import com.bsth.socket.protocol.Message0281;
import org.springframework.beans.BeanUtils;

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){
        BeanUtils.copyProperties(message0281, this);

        this.acceleratorFlag  &= (short) 0xFF;

        // 加速踏板行程值
        this.acceleratorState  &= (short) 0xFF;

        // 制动踏板标识类型,默认应该为0x02
        this.brakePedalFlag  &= (short) 0xFF;

        // 制动踏板状态
        this.brakePedalState &= (short) 0xFF;


        // 车速标识类型,默认应该为0x03
        this.speedFlag  &= (short) 0xFF;

        // 车速
        this.speed  &= (short) 0xFF;

        // 总电流标识类型,默认应该为0x04
        this.totalCurrentFlag &= (short) 0xFF;

        // 总电流
        this.totalCurrent  &= (short) 0xFF;



    }

    @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";
    }
}