@@ -8,7 +8,7 @@ | |||||
<PackageProjectUrl>https://github.com/SmallChi/JT808</PackageProjectUrl> | <PackageProjectUrl>https://github.com/SmallChi/JT808</PackageProjectUrl> | ||||
<licenseUrl>https://github.com/SmallChi/JT808/blob/master/LICENSE</licenseUrl> | <licenseUrl>https://github.com/SmallChi/JT808/blob/master/LICENSE</licenseUrl> | ||||
<license>https://github.com/SmallChi/JT808/blob/master/LICENSE</license> | <license>https://github.com/SmallChi/JT808/blob/master/LICENSE</license> | ||||
<Version>2.4.6</Version> | |||||
<Version>2.5.0-preview1</Version> | |||||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | <PackageLicenseFile>LICENSE</PackageLicenseFile> | ||||
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | ||||
<AnalysisLevel>latest</AnalysisLevel> | <AnalysisLevel>latest</AnalysisLevel> | ||||
@@ -83,11 +83,11 @@ namespace JT808.Protocol.Benchmark | |||||
{ | { | ||||
AreaId = 1, | AreaId = 1, | ||||
JT808PositionType = Enums.JT808PositionType.圆形区域, | JT808PositionType = Enums.JT808PositionType.圆形区域, | ||||
Direction= Enums.JT808DirectionType.出 | |||||
Direction= Enums.JT808DirectionType.direction_out | |||||
}); | }); | ||||
jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808Constants.JT808_0x0200_0x13, new JT808_0x0200_0x13 | jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808Constants.JT808_0x0200_0x13, new JT808_0x0200_0x13 | ||||
{ | { | ||||
DrivenRoute= Enums.JT808DrivenRouteType.过长, | |||||
DrivenRoute= Enums.JT808DrivenRouteType.overlength, | |||||
DrivenRouteId=2, | DrivenRouteId=2, | ||||
Time=34 | Time=34 | ||||
}); | }); | ||||
@@ -20,13 +20,13 @@ namespace JT808.Protocol.Test.Extensions | |||||
var list3 = JT808EnumExtensions.GetEnumTypes<JT808.Protocol.Enums.JT808Alarm>(24, 32); | var list3 = JT808EnumExtensions.GetEnumTypes<JT808.Protocol.Enums.JT808Alarm>(24, 32); | ||||
var list4 = JT808EnumExtensions.GetEnumTypes<JT808.Protocol.Enums.JT808Alarm>(31, 32); | var list4 = JT808EnumExtensions.GetEnumTypes<JT808.Protocol.Enums.JT808Alarm>(31, 32); | ||||
var list5= JT808EnumExtensions.GetEnumTypes<JT808.Protocol.Enums.JT808Alarm>(2147483679, 33); | var list5= JT808EnumExtensions.GetEnumTypes<JT808.Protocol.Enums.JT808Alarm>(2147483679, 33); | ||||
Assert.Equal(list0, new List<JT808Alarm>() { JT808Alarm.紧急报警_触动报警开关后触发,JT808Alarm.疲劳驾驶 } ); | |||||
Assert.Equal(list1, new List<JT808Alarm>() { JT808Alarm.GNSS模块发生故障} ); | |||||
Assert.Equal(list2, new List<JT808Alarm>() { JT808Alarm.超速报警, JT808Alarm.GNSS模块发生故障 }); | |||||
Assert.Equal(list3, new List<JT808Alarm>() { JT808Alarm.危险预警, JT808Alarm.GNSS模块发生故障 }); | |||||
Assert.Equal(list3, new List<JT808Alarm>() { JT808Alarm.危险预警, JT808Alarm.GNSS模块发生故障 }); | |||||
Assert.Equal(list4, new List<JT808Alarm>() { JT808Alarm.紧急报警_触动报警开关后触发, JT808Alarm.超速报警,JT808Alarm.疲劳驾驶, JT808Alarm.危险预警, JT808Alarm.GNSS模块发生故障 }); | |||||
Assert.Equal(list5, new List<JT808Alarm>() { JT808Alarm.紧急报警_触动报警开关后触发, JT808Alarm.超速报警, JT808Alarm.疲劳驾驶, JT808Alarm.危险预警, JT808Alarm.GNSS模块发生故障, JT808Alarm.非法开门报警 }); | |||||
Assert.Equal(list0, new List<JT808Alarm>() { JT808Alarm.emergency_alarm, JT808Alarm.fatigue_driving } ); | |||||
Assert.Equal(list1, new List<JT808Alarm>() { JT808Alarm.gnss_module_fault } ); | |||||
Assert.Equal(list2, new List<JT808Alarm>() { JT808Alarm.overspeed_alarm, JT808Alarm.gnss_module_fault }); | |||||
Assert.Equal(list3, new List<JT808Alarm>() { JT808Alarm.danger_warning, JT808Alarm.gnss_module_fault }); | |||||
Assert.Equal(list3, new List<JT808Alarm>() { JT808Alarm.danger_warning, JT808Alarm.gnss_module_fault }); | |||||
Assert.Equal(list4, new List<JT808Alarm>() { JT808Alarm.emergency_alarm, JT808Alarm.overspeed_alarm, JT808Alarm.fatigue_driving, JT808Alarm.danger_warning, JT808Alarm.gnss_module_fault }); | |||||
Assert.Equal(list5, new List<JT808Alarm>() { JT808Alarm.emergency_alarm, JT808Alarm.overspeed_alarm, JT808Alarm.fatigue_driving, JT808Alarm.danger_warning, JT808Alarm.gnss_module_fault, JT808Alarm.illegal_opening_door_alarm }); | |||||
} | } | ||||
[Fact] | [Fact] | ||||
@@ -538,11 +538,11 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
AreaId = 1, | AreaId = 1, | ||||
JT808PositionType = Enums.JT808PositionType.圆形区域, | JT808PositionType = Enums.JT808PositionType.圆形区域, | ||||
Direction = Enums.JT808DirectionType.出 | |||||
Direction = Enums.JT808DirectionType.direction_out | |||||
}); | }); | ||||
jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808Constants.JT808_0x0200_0x13, new JT808_0x0200_0x13 | jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808Constants.JT808_0x0200_0x13, new JT808_0x0200_0x13 | ||||
{ | { | ||||
DrivenRoute = Enums.JT808DrivenRouteType.过长, | |||||
DrivenRoute = Enums.JT808DrivenRouteType.overlength, | |||||
DrivenRouteId = 2, | DrivenRouteId = 2, | ||||
Time = 34 | Time = 34 | ||||
}); | }); | ||||
@@ -14,7 +14,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
JT808_0x0702 jT808_0X0702 = new JT808_0x0702 | JT808_0x0702 jT808_0X0702 = new JT808_0x0702 | ||||
{ | { | ||||
IC_Card_Status = JT808ICCardStatus.从业资格证IC卡拔出_驾驶员下班, | |||||
IC_Card_Status = JT808ICCardStatus.ic_card_pull_out, | |||||
IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16") | IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16") | ||||
}; | }; | ||||
var hex = JT808Serializer.Serialize(jT808_0X0702).ToHexString(); | var hex = JT808Serializer.Serialize(jT808_0X0702).ToHexString(); | ||||
@@ -26,7 +26,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
byte[] bytes = "02 18 08 16 09 16 16".ToHexBytes(); | byte[] bytes = "02 18 08 16 09 16 16".ToHexBytes(); | ||||
JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes); | JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes); | ||||
Assert.Equal(JT808ICCardStatus.从业资格证IC卡拔出_驾驶员下班, jT808_0X0702.IC_Card_Status); | |||||
Assert.Equal(JT808ICCardStatus.ic_card_pull_out, jT808_0X0702.IC_Card_Status); | |||||
Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime); | Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime); | ||||
} | } | ||||
@@ -35,9 +35,9 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
JT808_0x0702 jT808_0X0702 = new JT808_0x0702 | JT808_0x0702 jT808_0X0702 = new JT808_0x0702 | ||||
{ | { | ||||
IC_Card_Status = JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, | |||||
IC_Card_Status = JT808ICCardStatus.ic_card_into, | |||||
IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16"), | IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16"), | ||||
IC_Card_ReadResult = JT808ICCardReadResult.读卡失败_原因为卡片密钥认证未通过 | |||||
IC_Card_ReadResult = JT808ICCardReadResult.read_card_failure_auth | |||||
}; | }; | ||||
var hex = JT808Serializer.Serialize(jT808_0X0702).ToHexString(); | var hex = JT808Serializer.Serialize(jT808_0X0702).ToHexString(); | ||||
Assert.Equal("01 18 08 16 09 16 16 01".Replace(" ", ""), hex); | Assert.Equal("01 18 08 16 09 16 16 01".Replace(" ", ""), hex); | ||||
@@ -48,9 +48,9 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
byte[] bytes = "01 18 08 16 09 16 16 01".ToHexBytes(); | byte[] bytes = "01 18 08 16 09 16 16 01".ToHexBytes(); | ||||
JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes); | JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes); | ||||
Assert.Equal(JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, jT808_0X0702.IC_Card_Status); | |||||
Assert.Equal(JT808ICCardStatus.ic_card_into, jT808_0X0702.IC_Card_Status); | |||||
Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime); | Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime); | ||||
Assert.Equal(JT808ICCardReadResult.读卡失败_原因为卡片密钥认证未通过, jT808_0X0702.IC_Card_ReadResult); | |||||
Assert.Equal(JT808ICCardReadResult.read_card_failure_auth, jT808_0X0702.IC_Card_ReadResult); | |||||
} | } | ||||
[Fact] | [Fact] | ||||
@@ -58,9 +58,9 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
JT808_0x0702 jT808_0X0702 = new JT808_0x0702 | JT808_0x0702 jT808_0X0702 = new JT808_0x0702 | ||||
{ | { | ||||
IC_Card_Status = JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, | |||||
IC_Card_Status = JT808ICCardStatus.ic_card_into, | |||||
IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16"), | IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16"), | ||||
IC_Card_ReadResult = JT808ICCardReadResult.IC卡读卡成功, | |||||
IC_Card_ReadResult = JT808ICCardReadResult.ic_card_reading_succeeded, | |||||
DriverUserName = "koike", | DriverUserName = "koike", | ||||
QualificationCode = "qwe123456aaa", | QualificationCode = "qwe123456aaa", | ||||
LicenseIssuing = "qwertx", | LicenseIssuing = "qwertx", | ||||
@@ -75,9 +75,9 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
byte[] bytes = "0118081609161600056B6F696B6571776531323334353661616100000000000000000671776572747820180816".ToHexBytes(); | byte[] bytes = "0118081609161600056B6F696B6571776531323334353661616100000000000000000671776572747820180816".ToHexBytes(); | ||||
JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes); | JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes); | ||||
Assert.Equal(JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, jT808_0X0702.IC_Card_Status); | |||||
Assert.Equal(JT808ICCardStatus.ic_card_into, jT808_0X0702.IC_Card_Status); | |||||
Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime); | Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime); | ||||
Assert.Equal(JT808ICCardReadResult.IC卡读卡成功, jT808_0X0702.IC_Card_ReadResult); | |||||
Assert.Equal(JT808ICCardReadResult.ic_card_reading_succeeded, jT808_0X0702.IC_Card_ReadResult); | |||||
Assert.Equal("koike", jT808_0X0702.DriverUserName); | Assert.Equal("koike", jT808_0X0702.DriverUserName); | ||||
Assert.Equal("qwe123456aaa", jT808_0X0702.QualificationCode); | Assert.Equal("qwe123456aaa", jT808_0X0702.QualificationCode); | ||||
Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing); | Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing); | ||||
@@ -89,9 +89,9 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
JT808_0x0702 jT808_0X0702 = new JT808_0x0702 | JT808_0x0702 jT808_0X0702 = new JT808_0x0702 | ||||
{ | { | ||||
IC_Card_Status = JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, | |||||
IC_Card_Status = JT808ICCardStatus.ic_card_into, | |||||
IC_Card_PlugDateTime = DateTime.Parse("2019-12-01 11:11:11"), | IC_Card_PlugDateTime = DateTime.Parse("2019-12-01 11:11:11"), | ||||
IC_Card_ReadResult = JT808ICCardReadResult.IC卡读卡成功, | |||||
IC_Card_ReadResult = JT808ICCardReadResult.ic_card_reading_succeeded, | |||||
DriverUserName = "koike", | DriverUserName = "koike", | ||||
QualificationCode = "qwe123456aaa", | QualificationCode = "qwe123456aaa", | ||||
LicenseIssuing = "qwertx", | LicenseIssuing = "qwertx", | ||||
@@ -108,9 +108,9 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
byte[] bytes = "0119120111111100056B6F696B65717765313233343536616161000000000000000006717765727478201912013132333435363738393031323334353637000000".ToHexBytes(); | byte[] bytes = "0119120111111100056B6F696B65717765313233343536616161000000000000000006717765727478201912013132333435363738393031323334353637000000".ToHexBytes(); | ||||
JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes, JT808Version.JTT2019); | JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes, JT808Version.JTT2019); | ||||
Assert.Equal(JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, jT808_0X0702.IC_Card_Status); | |||||
Assert.Equal(JT808ICCardStatus.ic_card_into, jT808_0X0702.IC_Card_Status); | |||||
Assert.Equal(DateTime.Parse("2019-12-01 11:11:11"), jT808_0X0702.IC_Card_PlugDateTime); | Assert.Equal(DateTime.Parse("2019-12-01 11:11:11"), jT808_0X0702.IC_Card_PlugDateTime); | ||||
Assert.Equal(JT808ICCardReadResult.IC卡读卡成功, jT808_0X0702.IC_Card_ReadResult); | |||||
Assert.Equal(JT808ICCardReadResult.ic_card_reading_succeeded, jT808_0X0702.IC_Card_ReadResult); | |||||
Assert.Equal("koike", jT808_0X0702.DriverUserName); | Assert.Equal("koike", jT808_0X0702.DriverUserName); | ||||
Assert.Equal("qwe123456aaa", jT808_0X0702.QualificationCode); | Assert.Equal("qwe123456aaa", jT808_0X0702.QualificationCode); | ||||
Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing); | Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing); | ||||
@@ -130,9 +130,9 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
JT808_0x0702 jT808_0X0702 = new JT808_0x0702 | JT808_0x0702 jT808_0X0702 = new JT808_0x0702 | ||||
{ | { | ||||
IC_Card_Status = JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, | |||||
IC_Card_Status = JT808ICCardStatus.ic_card_into, | |||||
IC_Card_PlugDateTime = DateTime.Parse("2021-05-28 18:11:11"), | IC_Card_PlugDateTime = DateTime.Parse("2021-05-28 18:11:11"), | ||||
IC_Card_ReadResult = JT808ICCardReadResult.IC卡读卡成功, | |||||
IC_Card_ReadResult = JT808ICCardReadResult.ic_card_reading_succeeded, | |||||
DriverUserName = "koike", | DriverUserName = "koike", | ||||
QualificationCode = "qwe123456aaa", | QualificationCode = "qwe123456aaa", | ||||
LicenseIssuing = "qwertx", | LicenseIssuing = "qwertx", | ||||
@@ -150,9 +150,9 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
byte[] bytes = "0121052818111100056B6F696B65000000000000000071776531323334353661616106717765727478202105280000003132333435363738393031323334353637630000003132333435363738393031323334353637".ToHexBytes(); | byte[] bytes = "0121052818111100056B6F696B65000000000000000071776531323334353661616106717765727478202105280000003132333435363738393031323334353637630000003132333435363738393031323334353637".ToHexBytes(); | ||||
JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes, JT808Version.JTT2019); | JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes, JT808Version.JTT2019); | ||||
Assert.Equal(JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, jT808_0X0702.IC_Card_Status); | |||||
Assert.Equal(JT808ICCardStatus.ic_card_into, jT808_0X0702.IC_Card_Status); | |||||
Assert.Equal(DateTime.Parse("2021-05-28 18:11:11"), jT808_0X0702.IC_Card_PlugDateTime); | Assert.Equal(DateTime.Parse("2021-05-28 18:11:11"), jT808_0X0702.IC_Card_PlugDateTime); | ||||
Assert.Equal(JT808ICCardReadResult.IC卡读卡成功, jT808_0X0702.IC_Card_ReadResult); | |||||
Assert.Equal(JT808ICCardReadResult.ic_card_reading_succeeded, jT808_0X0702.IC_Card_ReadResult); | |||||
Assert.Equal("koike", jT808_0X0702.DriverUserName); | Assert.Equal("koike", jT808_0X0702.DriverUserName); | ||||
Assert.Equal("qwe123456aaa", jT808_0X0702.QualificationCode); | Assert.Equal("qwe123456aaa", jT808_0X0702.QualificationCode); | ||||
Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing); | Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing); | ||||
@@ -27,7 +27,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
JT808_0x0801 jT808_0X0801 = new JT808_0x0801 | JT808_0x0801 jT808_0X0801 = new JT808_0x0801 | ||||
{ | { | ||||
ChannelId = 123, | ChannelId = 123, | ||||
EventItemCoding = JT808EventItemCoding.定时动作.ToByteValue(), | |||||
EventItemCoding = JT808EventItemCoding.regular_action.ToByteValue(), | |||||
MultimediaCodingFormat = JT808MultimediaCodingFormat.JPEG.ToByteValue(), | MultimediaCodingFormat = JT808MultimediaCodingFormat.JPEG.ToByteValue(), | ||||
MultimediaId = 2567, | MultimediaId = 2567, | ||||
MultimediaType = JT808MultimediaType.图像.ToByteValue(), | MultimediaType = JT808MultimediaType.图像.ToByteValue(), | ||||
@@ -54,7 +54,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
byte[] bytes = "00000A070000017B000000010000000200BA7F0E07E4F11C0028003C000018111523261001020304".ToHexBytes(); | byte[] bytes = "00000A070000017B000000010000000200BA7F0E07E4F11C0028003C000018111523261001020304".ToHexBytes(); | ||||
JT808_0x0801 jT808_0X0801 = JT808Serializer.Deserialize<JT808_0x0801>(bytes); | JT808_0x0801 jT808_0X0801 = JT808Serializer.Deserialize<JT808_0x0801>(bytes); | ||||
Assert.Equal(123, jT808_0X0801.ChannelId); | Assert.Equal(123, jT808_0X0801.ChannelId); | ||||
Assert.Equal(JT808EventItemCoding.定时动作.ToByteValue(), jT808_0X0801.EventItemCoding); | |||||
Assert.Equal(JT808EventItemCoding.regular_action.ToByteValue(), jT808_0X0801.EventItemCoding); | |||||
Assert.Equal(JT808MultimediaCodingFormat.JPEG.ToByteValue(), jT808_0X0801.MultimediaCodingFormat); | Assert.Equal(JT808MultimediaCodingFormat.JPEG.ToByteValue(), jT808_0X0801.MultimediaCodingFormat); | ||||
Assert.Equal((uint)2567, jT808_0X0801.MultimediaId); | Assert.Equal((uint)2567, jT808_0X0801.MultimediaId); | ||||
Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0801.MultimediaType); | Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0801.MultimediaType); | ||||
@@ -104,7 +104,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
JT808_0x0801 jT808_0X0801 = new JT808_0x0801 | JT808_0x0801 jT808_0X0801 = new JT808_0x0801 | ||||
{ | { | ||||
ChannelId = 123, | ChannelId = 123, | ||||
EventItemCoding = JT808EventItemCoding.定时动作.ToByteValue(), | |||||
EventItemCoding = JT808EventItemCoding.regular_action.ToByteValue(), | |||||
MultimediaCodingFormat = JT808MultimediaCodingFormat.JPEG.ToByteValue(), | MultimediaCodingFormat = JT808MultimediaCodingFormat.JPEG.ToByteValue(), | ||||
MultimediaId = 2567, | MultimediaId = 2567, | ||||
MultimediaType = JT808MultimediaType.图像.ToByteValue(), | MultimediaType = JT808MultimediaType.图像.ToByteValue(), | ||||
@@ -120,7 +120,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
byte[] bytes = "00000A070000017B01020304".ToHexBytes(); | byte[] bytes = "00000A070000017B01020304".ToHexBytes(); | ||||
JT808_0x0801 jT808_0X0801 = JT808Serializer.Deserialize<JT808_0x0801>(bytes); | JT808_0x0801 jT808_0X0801 = JT808Serializer.Deserialize<JT808_0x0801>(bytes); | ||||
Assert.Equal(123, jT808_0X0801.ChannelId); | Assert.Equal(123, jT808_0X0801.ChannelId); | ||||
Assert.Equal(JT808EventItemCoding.定时动作.ToByteValue(), jT808_0X0801.EventItemCoding); | |||||
Assert.Equal(JT808EventItemCoding.regular_action.ToByteValue(), jT808_0X0801.EventItemCoding); | |||||
Assert.Equal(JT808MultimediaCodingFormat.JPEG.ToByteValue(), jT808_0X0801.MultimediaCodingFormat); | Assert.Equal(JT808MultimediaCodingFormat.JPEG.ToByteValue(), jT808_0X0801.MultimediaCodingFormat); | ||||
Assert.Equal((uint)2567, jT808_0X0801.MultimediaId); | Assert.Equal((uint)2567, jT808_0X0801.MultimediaId); | ||||
Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0801.MultimediaType); | Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0801.MultimediaType); | ||||
@@ -23,7 +23,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty() | jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty() | ||||
{ | { | ||||
ChannelId = 123, | ChannelId = 123, | ||||
EventItemCoding = JT808EventItemCoding.定时动作.ToByteValue(), | |||||
EventItemCoding = JT808EventItemCoding.regular_action.ToByteValue(), | |||||
MultimediaId = 258, | MultimediaId = 258, | ||||
MultimediaType = JT808MultimediaType.图像.ToByteValue(), | MultimediaType = JT808MultimediaType.图像.ToByteValue(), | ||||
Position = new JT808_0x0200() | Position = new JT808_0x0200() | ||||
@@ -42,7 +42,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty() | jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty() | ||||
{ | { | ||||
ChannelId = 124, | ChannelId = 124, | ||||
EventItemCoding = JT808EventItemCoding.平台下发指令.ToByteValue(), | |||||
EventItemCoding = JT808EventItemCoding.platform_delivery_order.ToByteValue(), | |||||
MultimediaId = 259, | MultimediaId = 259, | ||||
MultimediaType = JT808MultimediaType.视频.ToByteValue(), | MultimediaType = JT808MultimediaType.视频.ToByteValue(), | ||||
Position = new JT808_0x0200() | Position = new JT808_0x0200() | ||||
@@ -72,7 +72,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
Assert.Equal(123, jT808_0X0802.MultimediaSearchItems[0].ChannelId); | Assert.Equal(123, jT808_0X0802.MultimediaSearchItems[0].ChannelId); | ||||
Assert.Equal(JT808EventItemCoding.定时动作.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].EventItemCoding); | |||||
Assert.Equal(JT808EventItemCoding.regular_action.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].EventItemCoding); | |||||
Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].MultimediaType); | Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].MultimediaType); | ||||
Assert.Equal((uint)258, jT808_0X0802.MultimediaSearchItems[0].MultimediaId); | Assert.Equal((uint)258, jT808_0X0802.MultimediaSearchItems[0].MultimediaId); | ||||
@@ -86,7 +86,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
Assert.Equal((uint)2, jT808_0X0802.MultimediaSearchItems[0].Position.StatusFlag); | Assert.Equal((uint)2, jT808_0X0802.MultimediaSearchItems[0].Position.StatusFlag); | ||||
Assert.Equal(124, jT808_0X0802.MultimediaSearchItems[1].ChannelId); | Assert.Equal(124, jT808_0X0802.MultimediaSearchItems[1].ChannelId); | ||||
Assert.Equal(JT808EventItemCoding.平台下发指令.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].EventItemCoding); | |||||
Assert.Equal(JT808EventItemCoding.platform_delivery_order.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].EventItemCoding); | |||||
Assert.Equal(JT808MultimediaType.视频.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].MultimediaType); | Assert.Equal(JT808MultimediaType.视频.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].MultimediaType); | ||||
Assert.Equal((uint)259, jT808_0X0802.MultimediaSearchItems[1].MultimediaId); | Assert.Equal((uint)259, jT808_0X0802.MultimediaSearchItems[1].MultimediaId); | ||||
@@ -119,7 +119,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty() | jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty() | ||||
{ | { | ||||
ChannelId = 123, | ChannelId = 123, | ||||
EventItemCoding = JT808EventItemCoding.定时动作.ToByteValue(), | |||||
EventItemCoding = JT808EventItemCoding.regular_action.ToByteValue(), | |||||
MultimediaType = JT808MultimediaType.图像.ToByteValue(), | MultimediaType = JT808MultimediaType.图像.ToByteValue(), | ||||
Position = new JT808_0x0200() | Position = new JT808_0x0200() | ||||
{ | { | ||||
@@ -137,7 +137,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty() | jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty() | ||||
{ | { | ||||
ChannelId = 124, | ChannelId = 124, | ||||
EventItemCoding = JT808EventItemCoding.平台下发指令.ToByteValue(), | |||||
EventItemCoding = JT808EventItemCoding.platform_delivery_order.ToByteValue(), | |||||
MultimediaType = JT808MultimediaType.视频.ToByteValue(), | MultimediaType = JT808MultimediaType.视频.ToByteValue(), | ||||
Position = new JT808_0x0200() | Position = new JT808_0x0200() | ||||
{ | { | ||||
@@ -166,7 +166,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
Assert.Equal(123, jT808_0X0802.MultimediaSearchItems[0].ChannelId); | Assert.Equal(123, jT808_0X0802.MultimediaSearchItems[0].ChannelId); | ||||
Assert.Equal(JT808EventItemCoding.定时动作.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].EventItemCoding); | |||||
Assert.Equal(JT808EventItemCoding.regular_action.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].EventItemCoding); | |||||
Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].MultimediaType); | Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].MultimediaType); | ||||
Assert.Equal((uint)1, jT808_0X0802.MultimediaSearchItems[0].Position.AlarmFlag); | Assert.Equal((uint)1, jT808_0X0802.MultimediaSearchItems[0].Position.AlarmFlag); | ||||
@@ -179,7 +179,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
Assert.Equal((uint)2, jT808_0X0802.MultimediaSearchItems[0].Position.StatusFlag); | Assert.Equal((uint)2, jT808_0X0802.MultimediaSearchItems[0].Position.StatusFlag); | ||||
Assert.Equal(124, jT808_0X0802.MultimediaSearchItems[1].ChannelId); | Assert.Equal(124, jT808_0X0802.MultimediaSearchItems[1].ChannelId); | ||||
Assert.Equal(JT808EventItemCoding.平台下发指令.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].EventItemCoding); | |||||
Assert.Equal(JT808EventItemCoding.platform_delivery_order.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].EventItemCoding); | |||||
Assert.Equal(JT808MultimediaType.视频.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].MultimediaType); | Assert.Equal(JT808MultimediaType.视频.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].MultimediaType); | ||||
Assert.Equal((uint)1, jT808_0X0802.MultimediaSearchItems[1].Position.AlarmFlag); | Assert.Equal((uint)1, jT808_0X0802.MultimediaSearchItems[1].Position.AlarmFlag); | ||||
@@ -15,7 +15,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
JT808_0x8301 jT808_0X8301 = new JT808_0x8301 | JT808_0x8301 jT808_0X8301 = new JT808_0x8301 | ||||
{ | { | ||||
SettingType = JT808EventSettingType.删除终端现有所有事件_该命令后不带后继字节.ToByteValue(), | |||||
SettingType = JT808EventSettingType.delete_terminal_all_existing_events.ToByteValue(), | |||||
EventItems = new List<JT808EventProperty>() | EventItems = new List<JT808EventProperty>() | ||||
}; | }; | ||||
jT808_0X8301.EventItems.Add(new JT808EventProperty | jT808_0X8301.EventItems.Add(new JT808EventProperty | ||||
@@ -38,7 +38,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
byte[] bytes = "000201063132333435360206373839343536".ToHexBytes(); | byte[] bytes = "000201063132333435360206373839343536".ToHexBytes(); | ||||
JT808_0x8301 jT808_0X8301 = JT808Serializer.Deserialize<JT808_0x8301>(bytes); | JT808_0x8301 jT808_0X8301 = JT808Serializer.Deserialize<JT808_0x8301>(bytes); | ||||
Assert.Equal(JT808EventSettingType.删除终端现有所有事件_该命令后不带后继字节.ToByteValue(), jT808_0X8301.SettingType); | |||||
Assert.Equal(JT808EventSettingType.delete_terminal_all_existing_events.ToByteValue(), jT808_0X8301.SettingType); | |||||
Assert.Equal(2, jT808_0X8301.SettingCount); | Assert.Equal(2, jT808_0X8301.SettingCount); | ||||
Assert.Equal(1, jT808_0X8301.EventItems[0].EventId); | Assert.Equal(1, jT808_0X8301.EventItems[0].EventId); | ||||
@@ -15,7 +15,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
JT808_0x8303 jT808_0X8303 = new JT808_0x8303 | JT808_0x8303 jT808_0X8303 = new JT808_0x8303 | ||||
{ | { | ||||
SettingType = JT808InformationSettingType.删除终端全部信息项.ToByteValue(), | |||||
SettingType = JT808InformationSettingType.delete_all_items.ToByteValue(), | |||||
InformationItems = new List<JT808InformationItemProperty>() | InformationItems = new List<JT808InformationItemProperty>() | ||||
}; | }; | ||||
jT808_0X8303.InformationItems.Add(new JT808InformationItemProperty | jT808_0X8303.InformationItems.Add(new JT808InformationItemProperty | ||||
@@ -37,7 +37,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
byte[] bytes = "00020B0009736D616C6C63686931160009736D616C6C63686932".ToHexBytes(); | byte[] bytes = "00020B0009736D616C6C63686931160009736D616C6C63686932".ToHexBytes(); | ||||
JT808_0x8303 jT808_0X8303 = JT808Serializer.Deserialize<JT808_0x8303>(bytes); | JT808_0x8303 jT808_0X8303 = JT808Serializer.Deserialize<JT808_0x8303>(bytes); | ||||
Assert.Equal(JT808InformationSettingType.删除终端全部信息项.ToByteValue(), jT808_0X8303.SettingType); | |||||
Assert.Equal(JT808InformationSettingType.delete_all_items.ToByteValue(), jT808_0X8303.SettingType); | |||||
Assert.Equal(11, jT808_0X8303.InformationItems[0].InformationType); | Assert.Equal(11, jT808_0X8303.InformationItems[0].InformationType); | ||||
Assert.Equal("smallchi1", jT808_0X8303.InformationItems[0].InformationName); | Assert.Equal("smallchi1", jT808_0X8303.InformationItems[0].InformationName); | ||||
@@ -12,7 +12,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
JT808_0x8400 jT808_0X8400 = new JT808_0x8400 | JT808_0x8400 jT808_0X8400 = new JT808_0x8400 | ||||
{ | { | ||||
CallBack = Enums.JT808CallBackType.普通通话, | |||||
CallBack = Enums.JT808CallBackType.normal_call, | |||||
PhoneNumber = "12345679810" | PhoneNumber = "12345679810" | ||||
}; | }; | ||||
var hex = JT808Serializer.Serialize(jT808_0X8400).ToHexString(); | var hex = JT808Serializer.Serialize(jT808_0X8400).ToHexString(); | ||||
@@ -24,7 +24,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
{ | { | ||||
var bytes = "00 31 32 33 34 35 36 37 39 38 31 30".ToHexBytes(); | var bytes = "00 31 32 33 34 35 36 37 39 38 31 30".ToHexBytes(); | ||||
JT808_0x8400 jT808_0X8400 = JT808Serializer.Deserialize<JT808_0x8400>(bytes); | JT808_0x8400 jT808_0X8400 = JT808Serializer.Deserialize<JT808_0x8400>(bytes); | ||||
Assert.Equal(Enums.JT808CallBackType.普通通话, jT808_0X8400.CallBack); | |||||
Assert.Equal(Enums.JT808CallBackType.normal_call, jT808_0X8400.CallBack); | |||||
Assert.Equal("12345679810", jT808_0X8400.PhoneNumber); | Assert.Equal("12345679810", jT808_0X8400.PhoneNumber); | ||||
} | } | ||||
@@ -15,7 +15,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
JT808_0x8802 jT808_0X8802 = new JT808_0x8802 | JT808_0x8802 jT808_0X8802 = new JT808_0x8802 | ||||
{ | { | ||||
ChannelId = 123, | ChannelId = 123, | ||||
EventItemCoding = JT808EventItemCoding.碰撞侧翻报警触发.ToByteValue(), | |||||
EventItemCoding = JT808EventItemCoding.collision_rollover_alarm_triggered.ToByteValue(), | |||||
MultimediaType = JT808MultimediaType.视频.ToByteValue(), | MultimediaType = JT808MultimediaType.视频.ToByteValue(), | ||||
StartTime = DateTime.Parse("2018-11-16 21:00:08"), | StartTime = DateTime.Parse("2018-11-16 21:00:08"), | ||||
EndTime = DateTime.Parse("2018-11-16 22:00:08") | EndTime = DateTime.Parse("2018-11-16 22:00:08") | ||||
@@ -30,7 +30,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
byte[] bytes = "027B03181116210008181116220008".ToHexBytes(); | byte[] bytes = "027B03181116210008181116220008".ToHexBytes(); | ||||
JT808_0x8802 jT808_0X8802 = JT808Serializer.Deserialize<JT808_0x8802>(bytes); | JT808_0x8802 jT808_0X8802 = JT808Serializer.Deserialize<JT808_0x8802>(bytes); | ||||
Assert.Equal(123, jT808_0X8802.ChannelId); | Assert.Equal(123, jT808_0X8802.ChannelId); | ||||
Assert.Equal(JT808EventItemCoding.碰撞侧翻报警触发.ToByteValue(), jT808_0X8802.EventItemCoding); | |||||
Assert.Equal(JT808EventItemCoding.collision_rollover_alarm_triggered.ToByteValue(), jT808_0X8802.EventItemCoding); | |||||
Assert.Equal(JT808MultimediaType.视频.ToByteValue(), jT808_0X8802.MultimediaType); | Assert.Equal(JT808MultimediaType.视频.ToByteValue(), jT808_0X8802.MultimediaType); | ||||
Assert.Equal(DateTime.Parse("2018-11-16 21:00:08"), jT808_0X8802.StartTime); | Assert.Equal(DateTime.Parse("2018-11-16 21:00:08"), jT808_0X8802.StartTime); | ||||
Assert.Equal(DateTime.Parse("2018-11-16 22:00:08"), jT808_0X8802.EndTime); | Assert.Equal(DateTime.Parse("2018-11-16 22:00:08"), jT808_0X8802.EndTime); | ||||
@@ -15,7 +15,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
JT808_0x8803 jT808_0X8803 = new JT808_0x8803 | JT808_0x8803 jT808_0X8803 = new JT808_0x8803 | ||||
{ | { | ||||
ChannelId = 128, | ChannelId = 128, | ||||
EventItemCoding = JT808EventItemCoding.平台下发指令.ToByteValue(), | |||||
EventItemCoding = JT808EventItemCoding.platform_delivery_order.ToByteValue(), | |||||
MultimediaDeleted = JT808MultimediaDeleted.删除.ToByteValue(), | MultimediaDeleted = JT808MultimediaDeleted.删除.ToByteValue(), | ||||
MultimediaType = JT808MultimediaType.图像.ToByteValue(), | MultimediaType = JT808MultimediaType.图像.ToByteValue(), | ||||
StartTime = DateTime.Parse("2018-11-16 22:00:21"), | StartTime = DateTime.Parse("2018-11-16 22:00:21"), | ||||
@@ -31,7 +31,7 @@ namespace JT808.Protocol.Test.MessageBody | |||||
byte[] bytes = "00800018111622002118111623002101".ToHexBytes(); | byte[] bytes = "00800018111622002118111623002101".ToHexBytes(); | ||||
JT808_0x8803 jT808_0X8803 = JT808Serializer.Deserialize<JT808_0x8803>(bytes); | JT808_0x8803 jT808_0X8803 = JT808Serializer.Deserialize<JT808_0x8803>(bytes); | ||||
Assert.Equal(128, jT808_0X8803.ChannelId); | Assert.Equal(128, jT808_0X8803.ChannelId); | ||||
Assert.Equal(JT808EventItemCoding.平台下发指令.ToByteValue(), jT808_0X8803.EventItemCoding); | |||||
Assert.Equal(JT808EventItemCoding.platform_delivery_order.ToByteValue(), jT808_0X8803.EventItemCoding); | |||||
Assert.Equal(JT808MultimediaDeleted.删除.ToByteValue(), jT808_0X8803.MultimediaDeleted); | Assert.Equal(JT808MultimediaDeleted.删除.ToByteValue(), jT808_0X8803.MultimediaDeleted); | ||||
Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X8803.MultimediaType); | Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X8803.MultimediaType); | ||||
Assert.Equal(DateTime.Parse("2018-11-16 22:00:21"), jT808_0X8803.StartTime); | Assert.Equal(DateTime.Parse("2018-11-16 22:00:21"), jT808_0X8803.StartTime); | ||||
@@ -6,166 +6,169 @@ namespace JT808.Protocol.Enums | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 报警标志 | /// 报警标志 | ||||
/// Alarm Flag | |||||
/// </summary> | /// </summary> | ||||
[Flags] | [Flags] | ||||
public enum JT808Alarm : uint | public enum JT808Alarm : uint | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 紧急报警_触动报警开关后触发 | /// 紧急报警_触动报警开关后触发 | ||||
/// 收到应答后清零 | |||||
/// The emergency alarm is triggered after the alarm switch is touched | |||||
/// </summary> | /// </summary> | ||||
紧急报警_触动报警开关后触发 = 1, | |||||
emergency_alarm = 1, | |||||
/// <summary> | /// <summary> | ||||
/// 超速报警 | |||||
/// 标志维持至报警条件解除 | |||||
/// 超速报警 标志维持至报警条件解除 | |||||
/// Overspeed alarm | |||||
/// </summary> | /// </summary> | ||||
超速报警 = 2, | |||||
/// <summary> | |||||
/// 标志维持至报警条件解除 | |||||
/// 疲劳驾驶 | |||||
overspeed_alarm = 2, | |||||
/// <summary> | |||||
/// 疲劳驾驶 标志维持至报警条件解除 | |||||
/// fatigue driving | |||||
/// </summary> | /// </summary> | ||||
疲劳驾驶 = 4, | |||||
fatigue_driving = 4, | |||||
/// <summary> | /// <summary> | ||||
/// 危险预警 | |||||
/// 收到应答后清零 | |||||
/// 危险预警 标志维持至报警条件解除 | |||||
/// danger warning | |||||
/// </summary> | /// </summary> | ||||
危险预警 = 8, | |||||
danger_warning = 8, | |||||
/// <summary> | /// <summary> | ||||
/// GNSS模块发生故障 | |||||
/// 标志维持至报警条件解除 | |||||
/// GNSS模块发生故障 标志维持至报警条件解除 | |||||
/// The GNSS module is faulty | |||||
/// </summary> | /// </summary> | ||||
GNSS模块发生故障 = 16, | |||||
gnss_module_fault = 16, | |||||
/// <summary> | /// <summary> | ||||
/// GNSS天线未接或被剪断 | |||||
/// 标志维持至报警条件解除 | |||||
/// GNSS天线未接或被剪断 标志维持至报警条件解除 | |||||
/// The GNSS antenna is not connected or cut off | |||||
/// </summary> | /// </summary> | ||||
GNSS天线未接或被剪断 = 32, | |||||
gnss_ant_not_connected = 32, | |||||
/// <summary> | /// <summary> | ||||
/// GNSS天线短路 | |||||
/// 标志维持至报警条件解除 | |||||
/// GNSS天线短路 标志维持至报警条件解除 | |||||
/// GNSS antenna short-circuited | |||||
/// </summary> | /// </summary> | ||||
GNSS天线短路 = 64, | |||||
gnss_ant_short = 64, | |||||
/// <summary> | /// <summary> | ||||
/// 终端主电源欠压 | |||||
/// 标志维持至报警条件解除 | |||||
/// 终端主电源欠压 标志维持至报警条件解除 | |||||
/// The main power supply of the terminal is undervoltage | |||||
/// </summary> | /// </summary> | ||||
终端主电源欠压 = 128, | |||||
terminal_main_power_undervoltage = 128, | |||||
/// <summary> | /// <summary> | ||||
/// 终端主电源掉电 | |||||
/// 标志维持至报警条件解除 | |||||
/// 终端主电源掉电 标志维持至报警条件解除 | |||||
/// The main power supply of the terminal fails | |||||
/// </summary> | /// </summary> | ||||
终端主电源掉电 = 256, | |||||
terminal_main_power_down = 256, | |||||
/// <summary> | /// <summary> | ||||
/// 终端LCD或显示器故障 | |||||
/// 标志维持至报警条件解除 | |||||
/// 终端LCD或显示器故障 标志维持至报警条件解除 | |||||
/// The LCD or monitor of the terminal is faulty | |||||
/// </summary> | /// </summary> | ||||
终端LCD或显示器故障 = 512, | |||||
terminal_display_fault = 512, | |||||
/// <summary> | /// <summary> | ||||
/// TTS模块故障 | |||||
/// 标志维持至报警条件解除 | |||||
/// TTS模块故障 标志维持至报警条件解除 | |||||
/// The TTS module is faulty | |||||
/// </summary> | /// </summary> | ||||
TTS模块故障 = 1024, | |||||
tts_module_fault = 1024, | |||||
/// <summary> | /// <summary> | ||||
/// 摄像头故障 | |||||
/// 标志维持至报警条件解除 | |||||
/// 摄像头故障 标志维持至报警条件解除 | |||||
/// Camera fault | |||||
/// </summary> | /// </summary> | ||||
摄像头故障 = 2048, | |||||
camera_fault = 2048, | |||||
/// <summary> | /// <summary> | ||||
/// 道路运输证IC卡模块故障 | |||||
/// 标志维持至报警条件解除 | |||||
/// 道路运输证IC卡模块故障 标志维持至报警条件解除 | |||||
/// The IC card module of the road transport certificate is faulty | |||||
/// </summary> | /// </summary> | ||||
道路运输证IC卡模块故障 = 4096, | |||||
road_transport_cert_ic_card_module_fault = 4096, | |||||
/// <summary> | /// <summary> | ||||
/// 超速预警 | |||||
/// 标志维持至报警条件解除 | |||||
/// 超速预警 标志维持至报警条件解除 | |||||
/// Overspeed warning | |||||
/// </summary> | /// </summary> | ||||
超速预警 = 8192, | |||||
overspeed_warning = 8192, | |||||
/// <summary> | /// <summary> | ||||
/// 疲劳驾驶预警 | |||||
/// 标志维持至报警条件解除 | |||||
/// 疲劳驾驶预警 标志维持至报警条件解除 | |||||
/// Fatigue driving warning | |||||
/// </summary> | /// </summary> | ||||
疲劳驾驶预警 = 16384, | |||||
fatigue_driving_warning = 16384, | |||||
/// <summary> | /// <summary> | ||||
/// 保留1 | /// 保留1 | ||||
/// reserve1 | |||||
/// </summary> | /// </summary> | ||||
保留1 = 32768, | |||||
reserve1 = 32768, | |||||
/// <summary> | /// <summary> | ||||
/// 保留2 | /// 保留2 | ||||
/// reserve2 | |||||
/// </summary> | /// </summary> | ||||
保留2 = 65536, | |||||
reserve2 = 65536, | |||||
/// <summary> | /// <summary> | ||||
/// 保留3 | /// 保留3 | ||||
/// reserve3 | |||||
/// </summary> | /// </summary> | ||||
保留3 = 131072, | |||||
reserve3 = 131072, | |||||
/// <summary> | /// <summary> | ||||
/// 当天累计驾驶超时 | |||||
/// 标志维持至报警条件解除 | |||||
/// 当天累计驾驶超时 标志维持至报警条件解除 | |||||
/// Accumulated driving overtime that day | |||||
/// </summary> | /// </summary> | ||||
当天累计驾驶超时 = 262144, | |||||
day_accumulated_driving_timeout = 262144, | |||||
/// <summary> | /// <summary> | ||||
/// 超时停车 | |||||
/// 标志维持至报警条件解除 | |||||
/// 超时停车 标志维持至报警条件解除 | |||||
/// Timeout parking | |||||
/// </summary> | /// </summary> | ||||
超时停车 = 524288, | |||||
timeout_parking = 524288, | |||||
/// <summary> | /// <summary> | ||||
/// 进出区域 | |||||
/// 收到应答后清零 | |||||
/// 进出区域 收到应答后清零 | |||||
/// In and out of the area | |||||
/// </summary> | /// </summary> | ||||
进出区域 = 1048576, | |||||
in_area = 1048576, | |||||
/// <summary> | /// <summary> | ||||
/// 进出路线 | |||||
/// 收到应答后清零 | |||||
/// 进出路线 收到应答后清零 | |||||
/// </summary> | /// </summary> | ||||
进出路线 = 2097152, | |||||
in_route = 2097152, | |||||
/// <summary> | /// <summary> | ||||
/// 路段行驶时间不足或过长 | |||||
/// 收到应答后清零 | |||||
/// 路段行驶时间不足或过长 收到应答后清零 | |||||
/// Road section driving time is insufficient or too long | |||||
/// </summary> | /// </summary> | ||||
路段行驶时间不足或过长 = 4194304, | |||||
road_driving_time_insufficient = 4194304, | |||||
/// <summary> | /// <summary> | ||||
/// 路线偏离报警 | |||||
/// 标志维持至报警条件解除 | |||||
/// 路线偏离报警 标志维持至报警条件解除 | |||||
/// Route deviation alarm | |||||
/// </summary> | /// </summary> | ||||
路线偏离报警 = 8388608, | |||||
route_deviation_alarm = 8388608, | |||||
/// <summary> | /// <summary> | ||||
/// 车辆VSS故障 | |||||
/// 标志维持至报警条件解除 | |||||
/// 车辆VSS故障 标志维持至报警条件解除 | |||||
/// VSS of the vehicle is faulty | |||||
/// </summary> | /// </summary> | ||||
车辆VSS故障 = 16777216, | |||||
vehicle_vss_fault = 16777216, | |||||
/// <summary> | /// <summary> | ||||
/// 车辆油量异常 | |||||
/// 标志维持至报警条件解除 | |||||
/// 车辆油量异常 标志维持至报警条件解除 | |||||
/// Abnormal vehicle fuel level | |||||
/// </summary> | /// </summary> | ||||
车辆油量异常 = 33554432, | |||||
vehicle_fuel_abnormal = 33554432, | |||||
/// <summary> | /// <summary> | ||||
/// 车辆被盗通过车辆防盗器 | |||||
/// 标志维持至报警条件解除 | |||||
/// 车辆被盗通过车辆防盗器 标志维持至报警条件解除 | |||||
/// The vehicle is stolen | |||||
/// </summary> | /// </summary> | ||||
车辆被盗 = 67108864, | |||||
vehicle_stolen = 67108864, | |||||
/// <summary> | /// <summary> | ||||
/// 车辆非法点火 | /// 车辆非法点火 | ||||
/// Illegal ignition of vehicles | |||||
/// </summary> | /// </summary> | ||||
车辆非法点火 = 134217728, | |||||
vehicle_illegal_ignition = 134217728, | |||||
/// <summary> | /// <summary> | ||||
/// 车辆非法位移 | |||||
/// 收到应答后清零 | |||||
/// 车辆非法位移 收到应答后清零 | |||||
/// Illegal displacement of vehicle | |||||
/// </summary> | /// </summary> | ||||
车辆非法位移 = 268435456, | |||||
vehicle_illegal_displacement = 268435456, | |||||
/// <summary> | /// <summary> | ||||
/// 碰撞预警 | |||||
/// 标志维持至报警条件解除 | |||||
/// 碰撞预警 标志维持至报警条件解除 | |||||
/// collision Warning | |||||
/// </summary> | /// </summary> | ||||
碰撞预警 = 536870912, | |||||
collision_warning = 536870912, | |||||
/// <summary> | /// <summary> | ||||
/// 侧翻预警 | |||||
/// 标志维持至报警条件解除 | |||||
/// 侧翻预警 标志维持至报警条件解除 | |||||
/// rollover warning | |||||
/// </summary> | /// </summary> | ||||
侧翻预警 = 1073741824, | |||||
rollover_warning = 1073741824, | |||||
/// <summary> | /// <summary> | ||||
/// 非法开门报警 | |||||
/// (终端未设置区域时,不判断非法开门) | |||||
/// 收到应答后清零 | |||||
/// 非法开门报警(终端未设置区域时,不判断非法开门) 收到应答后清零 | |||||
/// Illegal door opening alarm | |||||
/// </summary> | /// </summary> | ||||
非法开门报警 = 2147483648 | |||||
illegal_opening_door_alarm = 2147483648 | |||||
} | } | ||||
} | } |
@@ -2,16 +2,19 @@ | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 电话回拨类型 | /// 电话回拨类型 | ||||
/// Callback type | |||||
/// </summary> | /// </summary> | ||||
public enum JT808CallBackType : byte | public enum JT808CallBackType : byte | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 普通通话 | /// 普通通话 | ||||
/// normal call | |||||
/// </summary> | /// </summary> | ||||
普通通话 = 0, | |||||
normal_call = 0, | |||||
/// <summary> | /// <summary> | ||||
/// 监听 | /// 监听 | ||||
/// cue | |||||
/// </summary> | /// </summary> | ||||
监听 = 1 | |||||
cue = 1 | |||||
} | } | ||||
} | } |
@@ -6,6 +6,7 @@ namespace JT808.Protocol.Enums | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 摄像头分辨率 | /// 摄像头分辨率 | ||||
/// Camera resolution | |||||
/// </summary> | /// </summary> | ||||
public enum JT808CameraResolutionType:byte | public enum JT808CameraResolutionType:byte | ||||
{ | { | ||||
@@ -4,69 +4,85 @@ namespace JT808.Protocol.Enums | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 扩展车辆信号状态位 | /// 扩展车辆信号状态位 | ||||
/// Extended vehicle signal status bits | |||||
/// </summary> | /// </summary> | ||||
[Flags] | [Flags] | ||||
public enum JT808CarSignalStatus : uint | public enum JT808CarSignalStatus : uint | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 开启近光信号灯 | /// 开启近光信号灯 | ||||
/// Close light signal | |||||
/// </summary> | /// </summary> | ||||
近光灯信号 = 1, | |||||
close_light_signal = 1, | |||||
/// <summary> | /// <summary> | ||||
/// 远光灯信号 | /// 远光灯信号 | ||||
/// High beam signal | |||||
/// </summary> | /// </summary> | ||||
远光灯信号 = 2, | |||||
high_beam_signal = 2, | |||||
/// <summary> | /// <summary> | ||||
/// 右转向灯信号 | /// 右转向灯信号 | ||||
/// Right turn signal | |||||
/// </summary> | /// </summary> | ||||
右转向灯信号 = 4, | |||||
right_turn_signal = 4, | |||||
/// <summary> | /// <summary> | ||||
/// 左转向灯信号 | /// 左转向灯信号 | ||||
/// Left turn signal | |||||
/// </summary> | /// </summary> | ||||
左转向灯信号 = 8, | |||||
left_turn_signal = 8, | |||||
/// <summary> | /// <summary> | ||||
/// 制动信号 | /// 制动信号 | ||||
/// brake signal | |||||
/// </summary> | /// </summary> | ||||
制动信号 = 16, | |||||
brake_signal = 16, | |||||
/// <summary> | /// <summary> | ||||
/// 倒档信号 | /// 倒档信号 | ||||
/// Reverse signals | |||||
/// </summary> | /// </summary> | ||||
倒档信号 = 32, | |||||
reverse_signals = 32, | |||||
/// <summary> | /// <summary> | ||||
/// 雾灯信号 | /// 雾灯信号 | ||||
/// The fog light signal | |||||
/// </summary> | /// </summary> | ||||
雾灯信号 = 64, | |||||
fog_light_signal = 64, | |||||
/// <summary> | /// <summary> | ||||
/// 示廓灯 | /// 示廓灯 | ||||
/// Clearance Lamp | |||||
/// </summary> | /// </summary> | ||||
示廓灯 = 128, | |||||
clearance_lamp = 128, | |||||
/// <summary> | /// <summary> | ||||
/// 喇叭信号 | /// 喇叭信号 | ||||
/// horn signal | |||||
/// </summary> | /// </summary> | ||||
喇叭信号 = 256, | |||||
horn_signal = 256, | |||||
/// <summary> | /// <summary> | ||||
/// 空调状态 | /// 空调状态 | ||||
/// Air condition status | |||||
/// </summary> | /// </summary> | ||||
空调状态 = 512, | |||||
air_condition_status = 512, | |||||
/// <summary> | /// <summary> | ||||
/// 空挡信号 | /// 空挡信号 | ||||
/// Neutral signal | |||||
/// </summary> | /// </summary> | ||||
空挡信号 = 1024, | |||||
neutral_signal = 1024, | |||||
/// <summary> | /// <summary> | ||||
/// 缓速器工作 | /// 缓速器工作 | ||||
/// Retarder working | |||||
/// </summary> | /// </summary> | ||||
缓速器工作 = 2048, | |||||
retarder_working = 2048, | |||||
/// <summary> | /// <summary> | ||||
/// ABS工作 | /// ABS工作 | ||||
/// abs_working | |||||
/// </summary> | /// </summary> | ||||
ABS工作 = 4096, | |||||
abs_working = 4096, | |||||
/// <summary> | /// <summary> | ||||
/// 加热器工作 | /// 加热器工作 | ||||
/// Heater operation | |||||
/// </summary> | /// </summary> | ||||
加热器工作 = 8192, | |||||
heater_operation = 8192, | |||||
/// <summary> | /// <summary> | ||||
/// 离合器状态 | /// 离合器状态 | ||||
/// Clutch condition | |||||
/// </summary> | /// </summary> | ||||
离合器状态 = 16384, | |||||
clutch_condition = 16384, | |||||
} | } | ||||
} | } |
@@ -2,16 +2,17 @@ | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 方向类型 | /// 方向类型 | ||||
/// Direction Type | |||||
/// </summary> | /// </summary> | ||||
public enum JT808DirectionType : byte | public enum JT808DirectionType : byte | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 进 | /// 进 | ||||
/// </summary> | /// </summary> | ||||
进 = 0, | |||||
direction_in = 0, | |||||
/// <summary> | /// <summary> | ||||
/// 出 | /// 出 | ||||
/// </summary> | /// </summary> | ||||
出 = 1 | |||||
direction_out = 1 | |||||
} | } | ||||
} | } |
@@ -2,16 +2,19 @@ | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 路线行驶返回结果 | /// 路线行驶返回结果 | ||||
/// Route driving returns results | |||||
/// </summary> | /// </summary> | ||||
public enum JT808DrivenRouteType | public enum JT808DrivenRouteType | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 不足 | /// 不足 | ||||
/// insufficient | |||||
/// </summary> | /// </summary> | ||||
不足 = 0, | |||||
insufficient = 0, | |||||
/// <summary> | /// <summary> | ||||
/// 过长 | /// 过长 | ||||
/// overlength | |||||
/// </summary> | /// </summary> | ||||
过长 = 1 | |||||
overlength = 1 | |||||
} | } | ||||
} | } |
@@ -2,15 +2,18 @@ | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// JT808加密选项 | /// JT808加密选项 | ||||
/// Encryption Options | |||||
/// </summary> | /// </summary> | ||||
public enum JT808EncryptMethod | public enum JT808EncryptMethod | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 未加密 | /// 未加密 | ||||
/// None | |||||
/// </summary> | /// </summary> | ||||
None, | None, | ||||
/// <summary> | /// <summary> | ||||
/// RSA加密 | /// RSA加密 | ||||
/// RSA encrypt | |||||
/// </summary> | /// </summary> | ||||
RSA | RSA | ||||
} | } | ||||
@@ -2,6 +2,7 @@ | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 异常错误码 | /// 异常错误码 | ||||
/// Exception error code | |||||
/// </summary> | /// </summary> | ||||
public enum JT808ErrorCode | public enum JT808ErrorCode | ||||
{ | { | ||||
@@ -34,8 +35,8 @@ | |||||
/// </summary> | /// </summary> | ||||
NotEnoughLength = 1007, | NotEnoughLength = 1007, | ||||
/// <summary> | /// <summary> | ||||
/// 没有全局注册格式化器 | |||||
/// IJT808MessagePackFormatter | |||||
/// 没有全局注册格式化器 IJT808MessagePackFormatter | |||||
/// There is no global register formatter [IJT808MessagePackFormatter] | |||||
/// </summary> | /// </summary> | ||||
NotGlobalRegisterFormatterAssembly = 1008, | NotGlobalRegisterFormatterAssembly = 1008, | ||||
/// <summary> | /// <summary> | ||||
@@ -2,24 +2,29 @@ | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 事件项编码 | /// 事件项编码 | ||||
/// Event item coding | |||||
/// </summary> | /// </summary> | ||||
public enum JT808EventItemCoding : byte | public enum JT808EventItemCoding : byte | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 平台下发指令 | /// 平台下发指令 | ||||
/// Platform delivery order | |||||
/// </summary> | /// </summary> | ||||
平台下发指令 = 0x00, | |||||
platform_delivery_order = 0x00, | |||||
/// <summary> | /// <summary> | ||||
/// 定时动作 | /// 定时动作 | ||||
/// Regular action | |||||
/// </summary> | /// </summary> | ||||
定时动作 = 0x01, | |||||
regular_action = 0x01, | |||||
/// <summary> | /// <summary> | ||||
/// 抢劫报警触发 | /// 抢劫报警触发 | ||||
/// Robbery alarm trigger | |||||
/// </summary> | /// </summary> | ||||
抢劫报警触发 = 0x02, | |||||
robbery_alarm_trigger = 0x02, | |||||
/// <summary> | /// <summary> | ||||
/// 碰撞侧翻报警触发 | /// 碰撞侧翻报警触发 | ||||
/// Collision rollover alarm triggered | |||||
/// </summary> | /// </summary> | ||||
碰撞侧翻报警触发 = 0x03 | |||||
collision_rollover_alarm_triggered = 0x03 | |||||
} | } | ||||
} | } |
@@ -2,28 +2,34 @@ | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 事件设置类型 | /// 事件设置类型 | ||||
/// Event setting Type | |||||
/// </summary> | /// </summary> | ||||
public enum JT808EventSettingType : byte | public enum JT808EventSettingType : byte | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 删除终端现有所有事件_该命令后不带后继字节 | /// 删除终端现有所有事件_该命令后不带后继字节 | ||||
/// Delete all existing events on the terminal This command does not contain subsequent bytes | |||||
/// </summary> | /// </summary> | ||||
删除终端现有所有事件_该命令后不带后继字节 = 0x00, | |||||
delete_terminal_all_existing_events = 0x00, | |||||
/// <summary> | /// <summary> | ||||
/// 更新事件 | /// 更新事件 | ||||
/// Update events | |||||
/// </summary> | /// </summary> | ||||
更新事件 = 0x01, | |||||
update_events = 0x01, | |||||
/// <summary> | /// <summary> | ||||
/// 追加事件 | /// 追加事件 | ||||
/// Append events | |||||
/// </summary> | /// </summary> | ||||
追加事件 = 0x02, | |||||
append_events = 0x02, | |||||
/// <summary> | /// <summary> | ||||
/// 修改事件 | /// 修改事件 | ||||
/// Modify event | |||||
/// </summary> | /// </summary> | ||||
修改事件 = 0x03, | |||||
modify_events = 0x03, | |||||
/// <summary> | /// <summary> | ||||
/// 删除特定几项事件,之后事件项中无需带事件内容 | /// 删除特定几项事件,之后事件项中无需带事件内容 | ||||
/// Delete specific events | |||||
/// </summary> | /// </summary> | ||||
删除特定几项事件_之后事件项中无需带事件内容 = 0x04 | |||||
delete_specific_events = 0x04 | |||||
} | } | ||||
} | } |
@@ -2,28 +2,34 @@ | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// IC 卡读取结果 | /// IC 卡读取结果 | ||||
/// IC card read result | |||||
/// </summary> | /// </summary> | ||||
public enum JT808ICCardReadResult : byte | public enum JT808ICCardReadResult : byte | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// IC卡读卡成功 | /// IC卡读卡成功 | ||||
/// IC card Reading succeeded. | |||||
/// </summary> | /// </summary> | ||||
IC卡读卡成功 = 0x00, | |||||
ic_card_reading_succeeded = 0x00, | |||||
/// <summary> | /// <summary> | ||||
/// 读卡失败_原因为卡片密钥认证未通过 | /// 读卡失败_原因为卡片密钥认证未通过 | ||||
/// Read the card failure:The cause is that the card key authentication fails | |||||
/// </summary> | /// </summary> | ||||
读卡失败_原因为卡片密钥认证未通过 = 0x01, | |||||
read_card_failure_auth = 0x01, | |||||
/// <summary> | /// <summary> | ||||
/// 读卡失败_原因为卡片已被锁定 | /// 读卡失败_原因为卡片已被锁定 | ||||
/// Read the card failure:The reason is that the card is locked | |||||
/// </summary> | /// </summary> | ||||
读卡失败_原因为卡片已被锁定 = 0x02, | |||||
read_card_failure_locked = 0x02, | |||||
/// <summary> | /// <summary> | ||||
/// 读卡失败_原因为卡片被拔出 | /// 读卡失败_原因为卡片被拔出 | ||||
/// Read the card failure:The cause is that the card is removed | |||||
/// </summary> | /// </summary> | ||||
读卡失败_原因为卡片被拔出 = 0x03, | |||||
read_card_failure_removed = 0x03, | |||||
/// <summary> | /// <summary> | ||||
/// 读卡失败_原因为数据校验错误 | /// 读卡失败_原因为数据校验错误 | ||||
/// Read the card failure:The cause is a data verification error | |||||
/// </summary> | /// </summary> | ||||
读卡失败_原因为数据校验错误 = 0x04, | |||||
read_card_failure_data_verify_error = 0x04, | |||||
} | } | ||||
} | } |
@@ -2,16 +2,19 @@ | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 插拔状态 | /// 插拔状态 | ||||
/// Plug state | |||||
/// </summary> | /// </summary> | ||||
public enum JT808ICCardStatus : byte | public enum JT808ICCardStatus : byte | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 从业资格证IC卡插入_驾驶员上班 | /// 从业资格证IC卡插入_驾驶员上班 | ||||
/// License IC card inserted_Driver on duty | |||||
/// </summary> | /// </summary> | ||||
从业资格证IC卡插入_驾驶员上班 = 0x01, | |||||
ic_card_into = 0x01, | |||||
/// <summary> | /// <summary> | ||||
/// 从业资格证IC卡拔出_驾驶员下班 | /// 从业资格证IC卡拔出_驾驶员下班 | ||||
/// License IC card pulled out_driver off duty | |||||
/// </summary> | /// </summary> | ||||
从业资格证IC卡拔出_驾驶员下班 = 0x02 | |||||
ic_card_pull_out = 0x02 | |||||
} | } | ||||
} | } |
@@ -2,24 +2,29 @@ | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 信息设置类型 | /// 信息设置类型 | ||||
/// Information setting type | |||||
/// </summary> | /// </summary> | ||||
public enum JT808InformationSettingType : byte | public enum JT808InformationSettingType : byte | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 删除终端全部信息项 | /// 删除终端全部信息项 | ||||
/// Delete all terminal information items | |||||
/// </summary> | /// </summary> | ||||
删除终端全部信息项 = 0x00, | |||||
delete_all_items = 0x00, | |||||
/// <summary> | /// <summary> | ||||
/// 更新菜单 | /// 更新菜单 | ||||
/// Update menu | |||||
/// </summary> | /// </summary> | ||||
更新菜单 = 0x01, | |||||
update_menu = 0x01, | |||||
/// <summary> | /// <summary> | ||||
/// 追加菜单 | /// 追加菜单 | ||||
/// Append menu | |||||
/// </summary> | /// </summary> | ||||
追加菜单 = 0x02, | |||||
append_menu = 0x02, | |||||
/// <summary> | /// <summary> | ||||
/// 修改菜单 | /// 修改菜单 | ||||
/// Modify the menu | |||||
/// </summary> | /// </summary> | ||||
修改菜单 = 0x03 | |||||
modify_menu = 0x03 | |||||
} | } | ||||
} | } |
@@ -5,6 +5,7 @@ namespace JT808.Protocol.Exceptions | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// JT808异常处理类 | /// JT808异常处理类 | ||||
/// Exception handling class | |||||
/// </summary> | /// </summary> | ||||
[Serializable] | [Serializable] | ||||
public class JT808Exception : Exception | public class JT808Exception : Exception | ||||
@@ -47,6 +48,7 @@ namespace JT808.Protocol.Exceptions | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// JT808统一错误码 | /// JT808统一错误码 | ||||
/// Unified error code | |||||
/// </summary> | /// </summary> | ||||
public JT808ErrorCode ErrorCode { get; } | public JT808ErrorCode ErrorCode { get; } | ||||
} | } | ||||
@@ -8,6 +8,7 @@ namespace JT808.Protocol.Formatters | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 序列化工厂 | /// 序列化工厂 | ||||
/// Serialization factory | |||||
/// </summary> | /// </summary> | ||||
public interface IJT808FormatterFactory: IJT808ExternalRegister | public interface IJT808FormatterFactory: IJT808ExternalRegister | ||||
{ | { | ||||
@@ -3,8 +3,14 @@ | |||||
<PropertyGroup> | <PropertyGroup> | ||||
<PackageId>JT808</PackageId> | <PackageId>JT808</PackageId> | ||||
<Product>JT808</Product> | <Product>JT808</Product> | ||||
<Description>JT808协议、GB808协议、道路运输车辆卫星定位系统-北斗兼容车载终端通讯协议(支持2011、2013、2019版本)</Description> | |||||
<PackageReleaseNotes>JT808协议、GB808协议、道路运输车辆卫星定位系统-北斗兼容车载终端通讯协议(支持2011、2013、2019版本)</PackageReleaseNotes> | |||||
<Description> | |||||
JT808 protocol, GB808 protocol, Road Transport Vehicle Satellite positioning system - Beidou Compatible Vehicle Terminal communication protocol (support 2011, 2013, 2019 version) | |||||
JT808协议、GB808协议、道路运输车辆卫星定位系统-北斗兼容车载终端通讯协议(支持2011、2013、2019版本) | |||||
</Description> | |||||
<PackageReleaseNotes> | |||||
JT808 protocol, GB808 protocol, Road Transport Vehicle Satellite positioning system - Beidou Compatible Vehicle Terminal communication protocol (support 2011, 2013, 2019 version) | |||||
JT808协议、GB808协议、道路运输车辆卫星定位系统-北斗兼容车载终端通讯协议(支持2011、2013、2019版本) | |||||
</PackageReleaseNotes> | |||||
<DocumentationFile>JT808.Protocol.xml</DocumentationFile> | <DocumentationFile>JT808.Protocol.xml</DocumentationFile> | ||||
<PackageReadmeFile>README.md</PackageReadmeFile> | <PackageReadmeFile>README.md</PackageReadmeFile> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
@@ -62,215 +62,222 @@ | |||||
<member name="T:JT808.Protocol.Enums.JT808Alarm"> | <member name="T:JT808.Protocol.Enums.JT808Alarm"> | ||||
<summary> | <summary> | ||||
报警标志 | 报警标志 | ||||
Alarm Flag | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.紧急报警_触动报警开关后触发"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.emergency_alarm"> | |||||
<summary> | <summary> | ||||
紧急报警_触动报警开关后触发 | 紧急报警_触动报警开关后触发 | ||||
收到应答后清零 | |||||
The emergency alarm is triggered after the alarm switch is touched | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.超速报警"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.overspeed_alarm"> | |||||
<summary> | <summary> | ||||
超速报警 | |||||
标志维持至报警条件解除 | |||||
超速报警 标志维持至报警条件解除 | |||||
Overspeed alarm | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.疲劳驾驶"> | |||||
<summary> | |||||
标志维持至报警条件解除 | |||||
疲劳驾驶 | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.fatigue_driving"> | |||||
<summary> | |||||
疲劳驾驶 标志维持至报警条件解除 | |||||
fatigue driving | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.危险预警"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.danger_warning"> | |||||
<summary> | <summary> | ||||
危险预警 | |||||
收到应答后清零 | |||||
危险预警 标志维持至报警条件解除 | |||||
danger warning | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.GNSS模块发生故障"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.gnss_module_fault"> | |||||
<summary> | <summary> | ||||
GNSS模块发生故障 | |||||
标志维持至报警条件解除 | |||||
GNSS模块发生故障 标志维持至报警条件解除 | |||||
The GNSS module is faulty | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.GNSS天线未接或被剪断"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.gnss_ant_not_connected"> | |||||
<summary> | <summary> | ||||
GNSS天线未接或被剪断 | |||||
标志维持至报警条件解除 | |||||
GNSS天线未接或被剪断 标志维持至报警条件解除 | |||||
The GNSS antenna is not connected or cut off | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.GNSS天线短路"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.gnss_ant_short"> | |||||
<summary> | <summary> | ||||
GNSS天线短路 | |||||
标志维持至报警条件解除 | |||||
GNSS天线短路 标志维持至报警条件解除 | |||||
GNSS antenna short-circuited | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.终端主电源欠压"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.terminal_main_power_undervoltage"> | |||||
<summary> | <summary> | ||||
终端主电源欠压 | |||||
标志维持至报警条件解除 | |||||
终端主电源欠压 标志维持至报警条件解除 | |||||
The main power supply of the terminal is undervoltage | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.终端主电源掉电"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.terminal_main_power_down"> | |||||
<summary> | <summary> | ||||
终端主电源掉电 | |||||
标志维持至报警条件解除 | |||||
终端主电源掉电 标志维持至报警条件解除 | |||||
The main power supply of the terminal fails | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.终端LCD或显示器故障"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.terminal_display_fault"> | |||||
<summary> | <summary> | ||||
终端LCD或显示器故障 | |||||
标志维持至报警条件解除 | |||||
终端LCD或显示器故障 标志维持至报警条件解除 | |||||
The LCD or monitor of the terminal is faulty | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.TTS模块故障"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.tts_module_fault"> | |||||
<summary> | <summary> | ||||
TTS模块故障 | |||||
标志维持至报警条件解除 | |||||
TTS模块故障 标志维持至报警条件解除 | |||||
The TTS module is faulty | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.摄像头故障"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.camera_fault"> | |||||
<summary> | <summary> | ||||
摄像头故障 | |||||
标志维持至报警条件解除 | |||||
摄像头故障 标志维持至报警条件解除 | |||||
Camera fault | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.道路运输证IC卡模块故障"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.road_transport_cert_ic_card_module_fault"> | |||||
<summary> | <summary> | ||||
道路运输证IC卡模块故障 | |||||
标志维持至报警条件解除 | |||||
道路运输证IC卡模块故障 标志维持至报警条件解除 | |||||
The IC card module of the road transport certificate is faulty | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.超速预警"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.overspeed_warning"> | |||||
<summary> | <summary> | ||||
超速预警 | |||||
标志维持至报警条件解除 | |||||
超速预警 标志维持至报警条件解除 | |||||
Overspeed warning | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.疲劳驾驶预警"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.fatigue_driving_warning"> | |||||
<summary> | <summary> | ||||
疲劳驾驶预警 | |||||
标志维持至报警条件解除 | |||||
疲劳驾驶预警 标志维持至报警条件解除 | |||||
Fatigue driving warning | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.保留1"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.reserve1"> | |||||
<summary> | <summary> | ||||
保留1 | 保留1 | ||||
reserve1 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.保留2"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.reserve2"> | |||||
<summary> | <summary> | ||||
保留2 | 保留2 | ||||
reserve2 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.保留3"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.reserve3"> | |||||
<summary> | <summary> | ||||
保留3 | 保留3 | ||||
reserve3 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.当天累计驾驶超时"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.day_accumulated_driving_timeout"> | |||||
<summary> | <summary> | ||||
当天累计驾驶超时 | |||||
标志维持至报警条件解除 | |||||
当天累计驾驶超时 标志维持至报警条件解除 | |||||
Accumulated driving overtime that day | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.超时停车"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.timeout_parking"> | |||||
<summary> | <summary> | ||||
超时停车 | |||||
标志维持至报警条件解除 | |||||
超时停车 标志维持至报警条件解除 | |||||
Timeout parking | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.进出区域"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.in_area"> | |||||
<summary> | <summary> | ||||
进出区域 | |||||
收到应答后清零 | |||||
进出区域 收到应答后清零 | |||||
In and out of the area | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.进出路线"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.in_route"> | |||||
<summary> | <summary> | ||||
进出路线 | |||||
收到应答后清零 | |||||
进出路线 收到应答后清零 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.路段行驶时间不足或过长"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.road_driving_time_insufficient"> | |||||
<summary> | <summary> | ||||
路段行驶时间不足或过长 | |||||
收到应答后清零 | |||||
路段行驶时间不足或过长 收到应答后清零 | |||||
Road section driving time is insufficient or too long | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.路线偏离报警"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.route_deviation_alarm"> | |||||
<summary> | <summary> | ||||
路线偏离报警 | |||||
标志维持至报警条件解除 | |||||
路线偏离报警 标志维持至报警条件解除 | |||||
Route deviation alarm | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.车辆VSS故障"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.vehicle_vss_fault"> | |||||
<summary> | <summary> | ||||
车辆VSS故障 | |||||
标志维持至报警条件解除 | |||||
车辆VSS故障 标志维持至报警条件解除 | |||||
VSS of the vehicle is faulty | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.车辆油量异常"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.vehicle_fuel_abnormal"> | |||||
<summary> | <summary> | ||||
车辆油量异常 | |||||
标志维持至报警条件解除 | |||||
车辆油量异常 标志维持至报警条件解除 | |||||
Abnormal vehicle fuel level | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.车辆被盗"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.vehicle_stolen"> | |||||
<summary> | <summary> | ||||
车辆被盗通过车辆防盗器 | |||||
标志维持至报警条件解除 | |||||
车辆被盗通过车辆防盗器 标志维持至报警条件解除 | |||||
The vehicle is stolen | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.车辆非法点火"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.vehicle_illegal_ignition"> | |||||
<summary> | <summary> | ||||
车辆非法点火 | 车辆非法点火 | ||||
Illegal ignition of vehicles | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.车辆非法位移"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.vehicle_illegal_displacement"> | |||||
<summary> | <summary> | ||||
车辆非法位移 | |||||
收到应答后清零 | |||||
车辆非法位移 收到应答后清零 | |||||
Illegal displacement of vehicle | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.碰撞预警"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.collision_warning"> | |||||
<summary> | <summary> | ||||
碰撞预警 | |||||
标志维持至报警条件解除 | |||||
碰撞预警 标志维持至报警条件解除 | |||||
collision Warning | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.侧翻预警"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.rollover_warning"> | |||||
<summary> | <summary> | ||||
侧翻预警 | |||||
标志维持至报警条件解除 | |||||
侧翻预警 标志维持至报警条件解除 | |||||
rollover warning | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.非法开门报警"> | |||||
<member name="F:JT808.Protocol.Enums.JT808Alarm.illegal_opening_door_alarm"> | |||||
<summary> | <summary> | ||||
非法开门报警 | |||||
(终端未设置区域时,不判断非法开门) | |||||
收到应答后清零 | |||||
非法开门报警(终端未设置区域时,不判断非法开门) 收到应答后清零 | |||||
Illegal door opening alarm | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT808.Protocol.Enums.JT808CallBackType"> | <member name="T:JT808.Protocol.Enums.JT808CallBackType"> | ||||
<summary> | <summary> | ||||
电话回拨类型 | 电话回拨类型 | ||||
Callback type | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CallBackType.普通通话"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CallBackType.normal_call"> | |||||
<summary> | <summary> | ||||
普通通话 | 普通通话 | ||||
normal call | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CallBackType.监听"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CallBackType.cue"> | |||||
<summary> | <summary> | ||||
监听 | 监听 | ||||
cue | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT808.Protocol.Enums.JT808CameraResolutionType"> | <member name="T:JT808.Protocol.Enums.JT808CameraResolutionType"> | ||||
<summary> | <summary> | ||||
摄像头分辨率 | 摄像头分辨率 | ||||
Camera resolution | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CameraResolutionType.x320_240"> | <member name="F:JT808.Protocol.Enums.JT808CameraResolutionType.x320_240"> | ||||
@@ -456,94 +463,111 @@ | |||||
<member name="T:JT808.Protocol.Enums.JT808CarSignalStatus"> | <member name="T:JT808.Protocol.Enums.JT808CarSignalStatus"> | ||||
<summary> | <summary> | ||||
扩展车辆信号状态位 | 扩展车辆信号状态位 | ||||
Extended vehicle signal status bits | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.近光灯信号"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.close_light_signal"> | |||||
<summary> | <summary> | ||||
开启近光信号灯 | 开启近光信号灯 | ||||
Close light signal | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.远光灯信号"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.high_beam_signal"> | |||||
<summary> | <summary> | ||||
远光灯信号 | 远光灯信号 | ||||
High beam signal | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.右转向灯信号"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.right_turn_signal"> | |||||
<summary> | <summary> | ||||
右转向灯信号 | 右转向灯信号 | ||||
Right turn signal | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.左转向灯信号"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.left_turn_signal"> | |||||
<summary> | <summary> | ||||
左转向灯信号 | 左转向灯信号 | ||||
Left turn signal | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.制动信号"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.brake_signal"> | |||||
<summary> | <summary> | ||||
制动信号 | 制动信号 | ||||
brake signal | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.倒档信号"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.reverse_signals"> | |||||
<summary> | <summary> | ||||
倒档信号 | 倒档信号 | ||||
Reverse signals | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.雾灯信号"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.fog_light_signal"> | |||||
<summary> | <summary> | ||||
雾灯信号 | 雾灯信号 | ||||
The fog light signal | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.示廓灯"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.clearance_lamp"> | |||||
<summary> | <summary> | ||||
示廓灯 | 示廓灯 | ||||
Clearance Lamp | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.喇叭信号"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.horn_signal"> | |||||
<summary> | <summary> | ||||
喇叭信号 | 喇叭信号 | ||||
horn signal | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.空调状态"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.air_condition_status"> | |||||
<summary> | <summary> | ||||
空调状态 | 空调状态 | ||||
Air condition status | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.空挡信号"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.neutral_signal"> | |||||
<summary> | <summary> | ||||
空挡信号 | 空挡信号 | ||||
Neutral signal | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.缓速器工作"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.retarder_working"> | |||||
<summary> | <summary> | ||||
缓速器工作 | 缓速器工作 | ||||
Retarder working | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.ABS工作"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.abs_working"> | |||||
<summary> | <summary> | ||||
ABS工作 | ABS工作 | ||||
abs_working | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.加热器工作"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.heater_operation"> | |||||
<summary> | <summary> | ||||
加热器工作 | 加热器工作 | ||||
Heater operation | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.离合器状态"> | |||||
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.clutch_condition"> | |||||
<summary> | <summary> | ||||
离合器状态 | 离合器状态 | ||||
Clutch condition | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT808.Protocol.Enums.JT808DirectionType"> | <member name="T:JT808.Protocol.Enums.JT808DirectionType"> | ||||
<summary> | <summary> | ||||
方向类型 | 方向类型 | ||||
Direction Type | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808DirectionType.进"> | |||||
<member name="F:JT808.Protocol.Enums.JT808DirectionType.direction_in"> | |||||
<summary> | <summary> | ||||
进 | 进 | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808DirectionType.出"> | |||||
<member name="F:JT808.Protocol.Enums.JT808DirectionType.direction_out"> | |||||
<summary> | <summary> | ||||
出 | 出 | ||||
</summary> | </summary> | ||||
@@ -551,36 +575,43 @@ | |||||
<member name="T:JT808.Protocol.Enums.JT808DrivenRouteType"> | <member name="T:JT808.Protocol.Enums.JT808DrivenRouteType"> | ||||
<summary> | <summary> | ||||
路线行驶返回结果 | 路线行驶返回结果 | ||||
Route driving returns results | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808DrivenRouteType.不足"> | |||||
<member name="F:JT808.Protocol.Enums.JT808DrivenRouteType.insufficient"> | |||||
<summary> | <summary> | ||||
不足 | 不足 | ||||
insufficient | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808DrivenRouteType.过长"> | |||||
<member name="F:JT808.Protocol.Enums.JT808DrivenRouteType.overlength"> | |||||
<summary> | <summary> | ||||
过长 | 过长 | ||||
overlength | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT808.Protocol.Enums.JT808EncryptMethod"> | <member name="T:JT808.Protocol.Enums.JT808EncryptMethod"> | ||||
<summary> | <summary> | ||||
JT808加密选项 | JT808加密选项 | ||||
Encryption Options | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808EncryptMethod.None"> | <member name="F:JT808.Protocol.Enums.JT808EncryptMethod.None"> | ||||
<summary> | <summary> | ||||
未加密 | 未加密 | ||||
None | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808EncryptMethod.RSA"> | <member name="F:JT808.Protocol.Enums.JT808EncryptMethod.RSA"> | ||||
<summary> | <summary> | ||||
RSA加密 | RSA加密 | ||||
RSA encrypt | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT808.Protocol.Enums.JT808ErrorCode"> | <member name="T:JT808.Protocol.Enums.JT808ErrorCode"> | ||||
<summary> | <summary> | ||||
异常错误码 | 异常错误码 | ||||
Exception error code | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808ErrorCode.CheckCodeNotEqual"> | <member name="F:JT808.Protocol.Enums.JT808ErrorCode.CheckCodeNotEqual"> | ||||
@@ -620,8 +651,8 @@ | |||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808ErrorCode.NotGlobalRegisterFormatterAssembly"> | <member name="F:JT808.Protocol.Enums.JT808ErrorCode.NotGlobalRegisterFormatterAssembly"> | ||||
<summary> | <summary> | ||||
没有全局注册格式化器 | |||||
IJT808MessagePackFormatter | |||||
没有全局注册格式化器 IJT808MessagePackFormatter | |||||
There is no global register formatter [IJT808MessagePackFormatter] | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808ErrorCode.LatOrLngError"> | <member name="F:JT808.Protocol.Enums.JT808ErrorCode.LatOrLngError"> | ||||
@@ -632,126 +663,151 @@ | |||||
<member name="T:JT808.Protocol.Enums.JT808EventItemCoding"> | <member name="T:JT808.Protocol.Enums.JT808EventItemCoding"> | ||||
<summary> | <summary> | ||||
事件项编码 | 事件项编码 | ||||
Event item coding | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.平台下发指令"> | |||||
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.platform_delivery_order"> | |||||
<summary> | <summary> | ||||
平台下发指令 | 平台下发指令 | ||||
Platform delivery order | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.定时动作"> | |||||
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.regular_action"> | |||||
<summary> | <summary> | ||||
定时动作 | 定时动作 | ||||
Regular action | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.抢劫报警触发"> | |||||
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.robbery_alarm_trigger"> | |||||
<summary> | <summary> | ||||
抢劫报警触发 | 抢劫报警触发 | ||||
Robbery alarm trigger | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.碰撞侧翻报警触发"> | |||||
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.collision_rollover_alarm_triggered"> | |||||
<summary> | <summary> | ||||
碰撞侧翻报警触发 | 碰撞侧翻报警触发 | ||||
Collision rollover alarm triggered | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT808.Protocol.Enums.JT808EventSettingType"> | <member name="T:JT808.Protocol.Enums.JT808EventSettingType"> | ||||
<summary> | <summary> | ||||
事件设置类型 | 事件设置类型 | ||||
Event setting Type | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.删除终端现有所有事件_该命令后不带后继字节"> | |||||
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.delete_terminal_all_existing_events"> | |||||
<summary> | <summary> | ||||
删除终端现有所有事件_该命令后不带后继字节 | 删除终端现有所有事件_该命令后不带后继字节 | ||||
Delete all existing events on the terminal This command does not contain subsequent bytes | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.更新事件"> | |||||
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.update_events"> | |||||
<summary> | <summary> | ||||
更新事件 | 更新事件 | ||||
Update events | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.追加事件"> | |||||
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.append_events"> | |||||
<summary> | <summary> | ||||
追加事件 | 追加事件 | ||||
Append events | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.修改事件"> | |||||
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.modify_events"> | |||||
<summary> | <summary> | ||||
修改事件 | 修改事件 | ||||
Modify event | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.删除特定几项事件_之后事件项中无需带事件内容"> | |||||
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.delete_specific_events"> | |||||
<summary> | <summary> | ||||
删除特定几项事件,之后事件项中无需带事件内容 | 删除特定几项事件,之后事件项中无需带事件内容 | ||||
Delete specific events | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT808.Protocol.Enums.JT808ICCardReadResult"> | <member name="T:JT808.Protocol.Enums.JT808ICCardReadResult"> | ||||
<summary> | <summary> | ||||
IC 卡读取结果 | IC 卡读取结果 | ||||
IC card read result | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.IC卡读卡成功"> | |||||
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.ic_card_reading_succeeded"> | |||||
<summary> | <summary> | ||||
IC卡读卡成功 | IC卡读卡成功 | ||||
IC card Reading succeeded. | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.读卡失败_原因为卡片密钥认证未通过"> | |||||
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.read_card_failure_auth"> | |||||
<summary> | <summary> | ||||
读卡失败_原因为卡片密钥认证未通过 | 读卡失败_原因为卡片密钥认证未通过 | ||||
Read the card failure:The cause is that the card key authentication fails | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.读卡失败_原因为卡片已被锁定"> | |||||
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.read_card_failure_locked"> | |||||
<summary> | <summary> | ||||
读卡失败_原因为卡片已被锁定 | 读卡失败_原因为卡片已被锁定 | ||||
Read the card failure:The reason is that the card is locked | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.读卡失败_原因为卡片被拔出"> | |||||
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.read_card_failure_removed"> | |||||
<summary> | <summary> | ||||
读卡失败_原因为卡片被拔出 | 读卡失败_原因为卡片被拔出 | ||||
Read the card failure:The cause is that the card is removed | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.读卡失败_原因为数据校验错误"> | |||||
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.read_card_failure_data_verify_error"> | |||||
<summary> | <summary> | ||||
读卡失败_原因为数据校验错误 | 读卡失败_原因为数据校验错误 | ||||
Read the card failure:The cause is a data verification error | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT808.Protocol.Enums.JT808ICCardStatus"> | <member name="T:JT808.Protocol.Enums.JT808ICCardStatus"> | ||||
<summary> | <summary> | ||||
插拔状态 | 插拔状态 | ||||
Plug state | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班"> | |||||
<member name="F:JT808.Protocol.Enums.JT808ICCardStatus.ic_card_into"> | |||||
<summary> | <summary> | ||||
从业资格证IC卡插入_驾驶员上班 | 从业资格证IC卡插入_驾驶员上班 | ||||
License IC card inserted_Driver on duty | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808ICCardStatus.从业资格证IC卡拔出_驾驶员下班"> | |||||
<member name="F:JT808.Protocol.Enums.JT808ICCardStatus.ic_card_pull_out"> | |||||
<summary> | <summary> | ||||
从业资格证IC卡拔出_驾驶员下班 | 从业资格证IC卡拔出_驾驶员下班 | ||||
License IC card pulled out_driver off duty | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT808.Protocol.Enums.JT808InformationSettingType"> | <member name="T:JT808.Protocol.Enums.JT808InformationSettingType"> | ||||
<summary> | <summary> | ||||
信息设置类型 | 信息设置类型 | ||||
Information setting type | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.删除终端全部信息项"> | |||||
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.delete_all_items"> | |||||
<summary> | <summary> | ||||
删除终端全部信息项 | 删除终端全部信息项 | ||||
Delete all terminal information items | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.更新菜单"> | |||||
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.update_menu"> | |||||
<summary> | <summary> | ||||
更新菜单 | 更新菜单 | ||||
Update menu | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.追加菜单"> | |||||
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.append_menu"> | |||||
<summary> | <summary> | ||||
追加菜单 | 追加菜单 | ||||
Append menu | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.修改菜单"> | |||||
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.modify_menu"> | |||||
<summary> | <summary> | ||||
修改菜单 | 修改菜单 | ||||
Modify the menu | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT808.Protocol.Enums.JT808IOStatus"> | <member name="T:JT808.Protocol.Enums.JT808IOStatus"> | ||||
@@ -1714,6 +1770,7 @@ | |||||
<member name="T:JT808.Protocol.Exceptions.JT808Exception"> | <member name="T:JT808.Protocol.Exceptions.JT808Exception"> | ||||
<summary> | <summary> | ||||
JT808异常处理类 | JT808异常处理类 | ||||
Exception handling class | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="M:JT808.Protocol.Exceptions.JT808Exception.#ctor(JT808.Protocol.Enums.JT808ErrorCode)"> | <member name="M:JT808.Protocol.Exceptions.JT808Exception.#ctor(JT808.Protocol.Enums.JT808ErrorCode)"> | ||||
@@ -1747,6 +1804,7 @@ | |||||
<member name="P:JT808.Protocol.Exceptions.JT808Exception.ErrorCode"> | <member name="P:JT808.Protocol.Exceptions.JT808Exception.ErrorCode"> | ||||
<summary> | <summary> | ||||
JT808统一错误码 | JT808统一错误码 | ||||
Unified error code | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT808.Protocol.Extensions.JT808AnalyzeExtensions"> | <member name="T:JT808.Protocol.Extensions.JT808AnalyzeExtensions"> | ||||
@@ -3963,6 +4021,7 @@ | |||||
<member name="T:JT808.Protocol.Formatters.IJT808FormatterFactory"> | <member name="T:JT808.Protocol.Formatters.IJT808FormatterFactory"> | ||||
<summary> | <summary> | ||||
序列化工厂 | 序列化工厂 | ||||
Serialization factory | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="P:JT808.Protocol.Formatters.IJT808FormatterFactory.FormatterDict"> | <member name="P:JT808.Protocol.Formatters.IJT808FormatterFactory.FormatterDict"> | ||||
@@ -104,11 +104,11 @@ namespace JT808.Protocol.MessageBody | |||||
writer.WriteNumber($"[{((byte)value.IC_Card_Status).ReadNumber()}]状态-{value.IC_Card_Status.ToString()}", (byte)value.IC_Card_Status); | writer.WriteNumber($"[{((byte)value.IC_Card_Status).ReadNumber()}]状态-{value.IC_Card_Status.ToString()}", (byte)value.IC_Card_Status); | ||||
value.IC_Card_PlugDateTime = reader.ReadDateTime_yyMMddHHmmss(); | value.IC_Card_PlugDateTime = reader.ReadDateTime_yyMMddHHmmss(); | ||||
writer.WriteString($"[{value.IC_Card_PlugDateTime.ToString("yyMMddHHmmss")}]插拔卡时间", value.IC_Card_PlugDateTime.ToString("yyyy-MM-dd HH:mm:ss")); | writer.WriteString($"[{value.IC_Card_PlugDateTime.ToString("yyMMddHHmmss")}]插拔卡时间", value.IC_Card_PlugDateTime.ToString("yyyy-MM-dd HH:mm:ss")); | ||||
if (value.IC_Card_Status == JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班) | |||||
if (value.IC_Card_Status == JT808ICCardStatus.ic_card_into) | |||||
{ | { | ||||
value.IC_Card_ReadResult = (JT808ICCardReadResult)reader.ReadByte(); | value.IC_Card_ReadResult = (JT808ICCardReadResult)reader.ReadByte(); | ||||
writer.WriteNumber($"[{((byte)value.IC_Card_ReadResult).ReadNumber()}]IC卡读取结果-{value.IC_Card_ReadResult.ToString()}", (byte)value.IC_Card_ReadResult); | writer.WriteNumber($"[{((byte)value.IC_Card_ReadResult).ReadNumber()}]IC卡读取结果-{value.IC_Card_ReadResult.ToString()}", (byte)value.IC_Card_ReadResult); | ||||
if (value.IC_Card_ReadResult == JT808ICCardReadResult.IC卡读卡成功) | |||||
if (value.IC_Card_ReadResult == JT808ICCardReadResult.ic_card_reading_succeeded) | |||||
{ | { | ||||
value.DriverUserNameLength = reader.ReadByte(); | value.DriverUserNameLength = reader.ReadByte(); | ||||
writer.WriteNumber($"[{value.DriverUserNameLength.ReadNumber()}]驾驶员姓名长度", value.DriverUserNameLength); | writer.WriteNumber($"[{value.DriverUserNameLength.ReadNumber()}]驾驶员姓名长度", value.DriverUserNameLength); | ||||
@@ -189,10 +189,10 @@ namespace JT808.Protocol.MessageBody | |||||
{ | { | ||||
value.IC_Card_Status = (JT808ICCardStatus)reader.ReadByte(); | value.IC_Card_Status = (JT808ICCardStatus)reader.ReadByte(); | ||||
value.IC_Card_PlugDateTime = reader.ReadDateTime_yyMMddHHmmss(); | value.IC_Card_PlugDateTime = reader.ReadDateTime_yyMMddHHmmss(); | ||||
if (value.IC_Card_Status == JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班) | |||||
if (value.IC_Card_Status == JT808ICCardStatus.ic_card_into) | |||||
{ | { | ||||
value.IC_Card_ReadResult = (JT808ICCardReadResult)reader.ReadByte(); | value.IC_Card_ReadResult = (JT808ICCardReadResult)reader.ReadByte(); | ||||
if (value.IC_Card_ReadResult == JT808ICCardReadResult.IC卡读卡成功) | |||||
if (value.IC_Card_ReadResult == JT808ICCardReadResult.ic_card_reading_succeeded) | |||||
{ | { | ||||
value.DriverUserNameLength = reader.ReadByte(); | value.DriverUserNameLength = reader.ReadByte(); | ||||
value.DriverUserName = reader.ReadString(value.DriverUserNameLength); | value.DriverUserName = reader.ReadString(value.DriverUserNameLength); | ||||
@@ -252,10 +252,10 @@ namespace JT808.Protocol.MessageBody | |||||
else { | else { | ||||
writer.WriteByte((byte)value.IC_Card_Status); | writer.WriteByte((byte)value.IC_Card_Status); | ||||
writer.WriteDateTime_yyMMddHHmmss(value.IC_Card_PlugDateTime); | writer.WriteDateTime_yyMMddHHmmss(value.IC_Card_PlugDateTime); | ||||
if (value.IC_Card_Status == JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班) | |||||
if (value.IC_Card_Status == JT808ICCardStatus.ic_card_into) | |||||
{ | { | ||||
writer.WriteByte((byte)value.IC_Card_ReadResult); | writer.WriteByte((byte)value.IC_Card_ReadResult); | ||||
if (value.IC_Card_ReadResult == JT808ICCardReadResult.IC卡读卡成功) | |||||
if (value.IC_Card_ReadResult == JT808ICCardReadResult.ic_card_reading_succeeded) | |||||
{ | { | ||||
writer.WriteByte((byte)value.DriverUserName.Length); | writer.WriteByte((byte)value.DriverUserName.Length); | ||||
writer.WriteString(value.DriverUserName); | writer.WriteString(value.DriverUserName); | ||||