From e58963b35f79d99e35481f30f56b88cde05eef82 Mon Sep 17 00:00:00 2001
From: SmallChi <564952747@qq.com>
Date: Wed, 20 Jun 2018 00:09:39 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=91=E5=8A=A8=E6=9C=BA?=
 =?UTF-8?q?=E6=95=B0=E6=8D=AE=E3=80=81=E6=9E=81=E5=80=BC=E6=95=B0=E6=8D=AE?=
 =?UTF-8?q?=E3=80=81=E7=87=83=E6=96=99=E7=94=B5=E6=B1=A0=E6=95=B0=E6=8D=AE?=
 =?UTF-8?q?=E3=80=81=E8=BD=A6=E8=BE=86=E4=BD=8D=E7=BD=AE=E5=AE=9A=E4=BD=8D?=
 =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=B1=9E=E6=80=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../NEUploadEnginePartProperty.cs             |  39 +++++++
 .../NEUploadExtremeProperty.cs                |  94 ++++++++++++++++
 .../NEUploadFuelBatteryProperty.cs            | 103 ++++++++++++++++++
 .../NEUploadVehiclePositionProperty.cs        |  33 ++++++
 4 files changed, 269 insertions(+)
 create mode 100644 src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadEnginePartProperty.cs
 create mode 100644 src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadExtremeProperty.cs
 create mode 100644 src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadFuelBatteryProperty.cs
 create mode 100644 src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadVehiclePositionProperty.cs

diff --git a/src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadEnginePartProperty.cs b/src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadEnginePartProperty.cs
new file mode 100644
index 0000000..0ca2431
--- /dev/null
+++ b/src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadEnginePartProperty.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using GBNewEnergy.Protocol.Enums;
+
+namespace GBNewEnergy.Protocol.NEProperties.NEUploadProperties
+{
+    /// <summary>
+    /// 发动机部分数据
+    /// </summary>
+    public class NEUploadEnginePartProperty : NEUploadPropertyBase
+    {
+        public override NEInfoType NEInfoType => NEInfoType.发动机数据;
+        /// <summary>
+        /// 发动机状态
+        /// 0x01:启动状态
+        /// 0x02:关闭状态
+        /// 0xFE:异常
+        /// 0xFF:无效
+        /// </summary>
+        public byte EngineStatus { get; set; }
+        /// <summary>
+        /// 曲轴转速
+        /// 有效范围:0-60000(表示0 r/min-60000 r/min)
+        /// 最小计量单元:1 r/min
+        /// 异常:0xFF,0XFE
+        /// 无效:0xFF,0xFF
+        /// </summary>
+        public int Revs { get; set; }
+        /// <summary>
+        /// 燃料消耗率
+        /// 有效值范围:0-60000(表示0L/100km - 600L/100km)
+        /// 最小计量单元:0.01L/km
+        /// 异常:0xFF,0XFE
+        /// 无效:0xFF,0xFF
+        /// </summary>
+        public double FuelRate { get; set; }
+    }
+}
diff --git a/src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadExtremeProperty.cs b/src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadExtremeProperty.cs
new file mode 100644
index 0000000..84bd2cf
--- /dev/null
+++ b/src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadExtremeProperty.cs
@@ -0,0 +1,94 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using GBNewEnergy.Protocol.Enums;
+
+namespace GBNewEnergy.Protocol.NEProperties.NEUploadProperties
+{
+    /// <summary>
+    /// 极值数据
+    /// </summary>
+    public class NEUploadExtremeProperty : NEUploadPropertyBase
+    {
+        public override NEInfoType NEInfoType => NEInfoType.极值数据;
+
+        /// <summary>
+        /// 最高电压电池总成号
+        /// 有效值范围:1-250
+        /// 异常:0XFE
+        /// 无效:0xFF
+        /// </summary>
+        public byte MaxVoltageBatteryAssemblyNo { get; set; }
+        /// <summary>
+        /// 最高电压电池单体代号
+        /// 有效值范围:1-250
+        /// 异常:0XFE
+        /// 无效:0xFF
+        /// </summary>
+        public byte MaxVoltageSingleBatteryNo { get; set; }
+        /// <summary>
+        /// 电池单体电压最高值
+        /// 有效值范围:0-15000(表示0V - 15V)
+        /// 最小计量单元:0.001V
+        /// 异常:0xFF,0XFE
+        /// 无效:0xFF,0xFF
+        /// </summary>
+        public double MaxVoltageSingleBatteryValue { get; set; }
+        /// <summary>
+        /// 最低电压电池子系统号
+        /// 有效值范围:1-250
+        /// 异常:0XFE
+        /// 无效:0xFF
+        /// </summary>
+        public byte MinVoltageBatteryAssemblyNo { get; set; }
+        /// <summary>
+        /// 最低电压电池单体代号
+        /// 有效值范围:1-250
+        /// 异常:0XFE
+        /// 无效:0xFF
+        /// </summary>
+        public byte MinVoltageSingleBatteryNo { get; set; }
+        /// <summary>
+        /// 最低单体电压最低值
+        /// 有效值范围:0-15000(表示0V - 15V)
+        /// 最小计量单元:0.001V
+        /// 异常:0xFF,0XFE
+        /// 无效:0xFF,0xFF
+        /// </summary>
+        public double MinVoltageSingleBatteryValue { get; set; }
+        /// <summary>
+        /// 蓄电池中最高温度子系统号
+        /// 有效值范围:1-250
+        /// 异常:0XFE
+        /// 无效:0xFF
+        /// </summary>
+        public byte MaxTempProbeBatteryNo { get; set; }
+        /// <summary>
+        /// 蓄电池中最高温度探针序号
+        /// 有效值范围:1-250
+        /// 异常:0XFE
+        /// 无效:0xFF
+        /// </summary>
+        public byte MaxTempBatteryAssemblyNo { get; set; }
+        /// <summary>
+        /// 最高温度值
+        /// 有效值范围:0-250(数值偏移量40℃,表示-40℃ - +210℃)
+        /// 最小计量单元:1℃
+        /// 异常:0XFE
+        /// 无效:0xFF
+        /// </summary>
+        public int MaxTempProbeBatteryValue { get; set; }
+        /// <summary>
+        /// 最低温度子系统号
+        /// </summary>
+        public byte MinTempProbeBatteryNo { get; set; }
+        /// <summary>
+        /// 蓄电池中最低温度探针序号
+        /// </summary>
+        public byte MinTempBatteryAssemblyNo { get; set; }
+        /// <summary>
+        /// 最低温度值
+        /// </summary>
+        public int MinTempProbeBatteryValue { get; set; }
+    }
+}
diff --git a/src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadFuelBatteryProperty.cs b/src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadFuelBatteryProperty.cs
new file mode 100644
index 0000000..77a2dd8
--- /dev/null
+++ b/src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadFuelBatteryProperty.cs
@@ -0,0 +1,103 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using GBNewEnergy.Protocol.Enums;
+
+namespace GBNewEnergy.Protocol.NEProperties.NEUploadProperties
+{
+    /// <summary>
+    /// 燃料电池数据
+    /// </summary>
+    public class NEUploadFuelBatteryProperty : NEUploadPropertyBase
+    {
+        public override NEInfoType NEInfoType => NEInfoType.燃料电池数据;
+        /// <summary>
+        /// 燃料电池电压
+        /// 有效值范围:0 - 20000(表示 0V-2000V)
+        /// 最小计量单元:0.1V
+        /// 异常:0xFF,0XFE
+        /// 无效:0xFF,0xFF
+        /// </summary>
+        public double FuelBatteryVoltage { get; set; }
+        /// <summary>
+        /// 燃料电池电流
+        /// 有效值范围:0 - 20000(表示 0A- +2000A)
+        /// 最小计量单元:0.1 A
+        /// 异常:0xFF,0XFE
+        /// 无效:0xFF,0xFF
+        /// </summary>
+        public double FuelBatteryCurrent { get; set; }
+        /// <summary>
+        /// 燃料消耗率
+        /// 有效值范围:0-60000(表示 0kg/100km - 600kg/100km)
+        /// 最小计量单元:0.01kg/100km
+        /// 异常:0xFF,0XFE
+        /// 无效:0xFF,0xFF
+        /// </summary>
+        public double FuelConsumptionRate { get; set; }
+        /// <summary>
+        /// 燃料电池温度探针总数
+        /// N个燃料电池温度探针
+        /// 有效值范围:0-65531
+        /// 异常:0xFF,0XFE
+        /// 无效:0xFF,0xFF
+        /// </summary>
+        public int TemperatureProbeCount { get; set; }
+        /// <summary>
+        /// 探针温度值
+        /// 有效值范围:0-240(数值偏移量40 ℃,表示-40 ℃ - +200 ℃)
+        /// 最小计量单元:1 ℃
+        /// </summary>
+        public List<int> TemperatureList { get; set; } = new List<int>();
+        /// <summary>
+        /// 氢系统中最高温度
+        /// 有效值范围:0-2400(偏移量40 ℃,表示-40 ℃ - 200 ℃)
+        /// 最小计量单元:0.1 ℃
+        /// 异常:0xFF,0XFE
+        /// 无效:0xFF,0xFF
+        /// </summary>
+        public double HydrogenSystemMaxTemp { get; set; }
+        /// <summary>
+        /// 氢系统中最高温度探针代号
+        /// 有效值范围:1-252
+        /// 异常:0XFE
+        /// 无效:0xFF
+        /// </summary>
+        public byte HydrogenSystemMaxTempNo { get; set; }
+        /// <summary>
+        /// 氢气最高浓度
+        /// 有效值范围:0-60000(表示0 mg/kg - 50000 mg/kg)
+        /// 最小计量单元:1 mg/kg
+        /// 异常:0xFF,0XFE
+        /// 无效:0xFF,0xFF
+        /// </summary>
+        public double HydrogenSystemMaxConcentrations { get; set; }
+        /// <summary>
+        /// 氢气最高浓度传感器代号
+        /// 有效值范围:1-252
+        /// 异常:0XFE
+        /// 无效:0xFF
+        /// </summary>
+        public byte HydrogenSystemMaxConcentrationsNo { get; set; }
+        /// <summary>
+        /// 氢气最高压力
+        /// 有效值范围:0-1000(表示0MPa - 100MPa),最小计量单位:0.1MPa
+        /// </summary>
+        public double HydrogenSystemMaxPressure { get; set; }
+        /// <summary>
+        /// 氢气最高压力传感器代号
+        /// 有效值访问:1-252
+        /// 异常:0xFE
+        /// 无效:0xFF
+        /// </summary>
+        public byte HydrogenSystemMaxPressureNo { get; set; }
+        /// <summary>
+        /// 高压DC/DC状态
+        /// 0x01:工作
+        /// 0x02:断开
+        /// 0xFE:表示异常
+        /// 0xFF:表示无效
+        /// </summary>
+        public byte DCStatus { get; set; }
+    }
+}
diff --git a/src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadVehiclePositionProperty.cs b/src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadVehiclePositionProperty.cs
new file mode 100644
index 0000000..0bd82cc
--- /dev/null
+++ b/src/GBNewEnergy.Protocol/NEProperties/NEUploadProperties/NEUploadVehiclePositionProperty.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using GBNewEnergy.Protocol.Enums;
+
+namespace GBNewEnergy.Protocol.NEProperties.NEUploadProperties
+{
+    /// <summary>
+    /// 车辆位置数据
+    /// </summary>
+    public class NEUploadVehiclePositionProperty : NEUploadPropertyBase
+    {
+        public override NEInfoType NEInfoType => NEInfoType.车辆位置数据;
+        /// <summary>
+        /// 定位状态
+        /// 0位:0:有效定位;1:无效定位(当数据通信正常,而不能获取定位信息时,发送最后一次有效定位信息,并将定位状态置为无效。)
+        /// 1位:0:北纬;1:南纬
+        /// 2位:0:东经;1:西经
+        /// 3-7位:保留
+        /// </summary>
+        public byte PositioStatus { get; set; }
+        /// <summary>
+        /// 经度
+        /// 以度位单位的经度值乘以10^6,精确到百万分之一度
+        /// </summary>
+        public double Lng { get; set; }
+        /// <summary>
+        /// 纬度
+        /// 以度位单位的纬度值乘以10^6,精确到百万分之一度
+        /// </summary>
+        public double Lat { get; set; }
+    }
+}