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