VehicleData.java 5.42 KB
package com.bsth.entity;

import com.bsth.socket.protocol.Message0201;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.springframework.beans.BeanUtils;

/**
 * @author Hill
 * 整车数据
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class VehicleData extends Data {

	/**
	 * 车辆状态
	 * 0x01 车辆启动
	 * 0x02 车辆熄火
	 * 0x03 其它
	 * 0xFE 异常
	 * 0xFF 无效
	 */
	private byte vehicleState;

	/**
	 * 充电状态
	 * 0x01 停车充电
	 * 0x02 行驶充电
	 * 0x03 未充电
	 * 0x04 充电完成
	 * 0xFE 异常
	 * 0xFF 无效
	 */
	private byte chargeState;

	/**
	 * 运行模式
	 * 0x01 纯电
	 * 0x02 混动
	 * 0x03 燃油
	 * 0xFE 异常
	 * 0xFF 无效
	 */
	private byte runMode;

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

	/**
	 * 累计里程 0-9999999
	 * 分辨率0.1km/h
	 * 0xff 0xff 0xff 0xfe 异常
	 * 0xff 0xff 0xff 0xff 无效
	 */
	private int totalMiles;

	/**
	 * 总电压 0-10000
	 * 分辨率0.1v
	 * 0xff 0xfe 异常
	 * 0xff 0xff 无效
	 */
	private short totalVoltage;

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

	/**
	 * soc 0-100%
	 * 分辨率1%
	 * 0xFE 异常
	 * 0xFF 无效
	 */
	private byte soc;

	/**
	 * dc-dc状态
	 * 0x01 工作
	 * 0x02 断开
	 * 0xFE 异常
	 * 0xFF 无效
	 */
	private byte dcState;

	/**
	 * 挡位
	 */
	@JsonIgnore
	private byte gear;

	/**
	 * 驱动力
	 */
	private boolean drivingForce;

	/**
	 * 制动力
	 */
	private boolean brakingForce;

	/**
	 * 挡位(json)
	 */
	@JsonProperty("gear")
	private byte gear1;

	/**
	 * 绝缘电阻 0-60000
	 * 分辨率 1k欧
	 */
	private int insulationResistance;

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

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

	public VehicleData() {

	}

	public VehicleData(Message0201 message0201) {
		VehicleData data = new VehicleData();
		BeanUtils.copyProperties(data, this);
		this.drivingForce = (gear & 32) == 32 ? true : false;
		this.brakingForce = (gear & 16) == 16 ? true : false;
		this.gear1 = (byte) (gear & 15);
	}

	public byte getVehicleState() {
		return vehicleState;
	}

	public void setVehicleState(byte vehicleState) {
		this.vehicleState = vehicleState;
	}

	public byte getChargeState() {
		return chargeState;
	}

	public void setChargeState(byte chargeState) {
		this.chargeState = chargeState;
	}

	public byte getRunMode() {
		return runMode;
	}

	public void setRunMode(byte runMode) {
		this.runMode = runMode;
	}

	public short getSpeed() {
		return speed;
	}

	public void setSpeed(short speed) {
		this.speed = speed;
	}

	public int getTotalMiles() {
		return totalMiles;
	}

	public void setTotalMiles(int totalMiles) {
		this.totalMiles = totalMiles;
	}

	public short getTotalVoltage() {
		return totalVoltage;
	}

	public void setTotalVoltage(short totalVoltage) {
		this.totalVoltage = totalVoltage;
	}

	public short getTotalCurrent() {
		return totalCurrent;
	}

	public void setTotalCurrent(short totalCurrent) {
		this.totalCurrent = totalCurrent;
	}

	public byte getSoc() {
		return soc;
	}

	public void setSoc(byte soc) {
		this.soc = soc;
	}

	public byte getDcState() {
		return dcState;
	}

	public void setDcState(byte dcState) {
		this.dcState = dcState;
	}

	public byte getGear() {
		return gear;
	}

	public void setGear(byte gear) {
		this.gear = gear;
	}

	public boolean isDrivingForce() {
		return drivingForce;
	}

	public void setDrivingForce(boolean drivingForce) {
		this.drivingForce = drivingForce;
	}

	public boolean isBrakingForce() {
		return brakingForce;
	}

	public void setBrakingForce(boolean brakingForce) {
		this.brakingForce = brakingForce;
	}

	public byte getGear1() {
		return gear1;
	}

	public void setGear1(byte gear1) {
		this.gear1 = gear1;
	}

	public int getInsulationResistance() {
		return insulationResistance;
	}

	public void setInsulationResistance(int insulationResistance) {
		this.insulationResistance = insulationResistance;
	}

	public byte getAcceleratorState() {
		return acceleratorState;
	}

	public void setAcceleratorState(byte acceleratorState) {
		this.acceleratorState = acceleratorState;
	}

	public byte getBrakePedalState() {
		return brakePedalState;
	}

	public void setBrakePedalState(byte brakePedalState) {
		this.brakePedalState = brakePedalState;
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append("车辆状态: ").append(vehicleState)
		.append(" 充电状态: ").append(chargeState)
		.append(" 运行模式: ").append(runMode)
		.append(" 车速: ").append(speed)
		.append(" 累计里程: ").append(totalMiles)
		.append(" 总电压: ").append(totalVoltage)
		.append(" 总电流: ").append(totalCurrent)
		.append(" soc: ").append(soc)
		.append(" dc-dc状态: ").append(dcState)
		.append(" 挡位: ").append(gear)
		.append(" 绝缘电阻: ").append(insulationResistance)
		.append(" 加速踏板行程值: ").append(acceleratorState)
		.append(" 制动踏板状态: ").append(brakePedalState);

		return sb.toString();
	}

	@Override
	public String getType() {
		return "vehicle_data";
	}
}