From 46c9ba4aaeff606f63369a34047cd45f4eb07893 Mon Sep 17 00:00:00 2001 From: "SmallChi(Koike)" <564952747@qq.com> Date: Tue, 17 May 2022 23:46:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=84=E4=B8=AA=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1=E5=B1=9E=E6=80=A7=E4=B8=BA=E8=8B=B1=E6=96=87=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E5=B9=B6=E9=99=84=E4=B8=8A=E5=AF=B9=E5=BA=94=E8=8B=B1?= =?UTF-8?q?=E6=96=87=E6=8F=8F=E8=BF=B0(1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Info.props | 2 +- .../JT808SerializerContext.cs | 4 +- .../Extensions/JT808EnumExtensionsTest.cs | 14 +- .../MessageBody/JT808_0x0200Test.cs | 4 +- .../MessageBody/JT808_0x0702Test.cs | 36 +- .../MessageBody/JT808_0x0801Test.cs | 8 +- .../MessageBody/JT808_0x0802Test.cs | 16 +- .../MessageBody/JT808_0x8301Test.cs | 4 +- .../MessageBody/JT808_0x8303Test.cs | 4 +- .../MessageBody/JT808_0x8400Test.cs | 4 +- .../MessageBody/JT808_0x8802Test.cs | 4 +- .../MessageBody/JT808_0x8803Test.cs | 4 +- src/JT808.Protocol/Enums/JT808Alarm.cs | 181 +++++----- src/JT808.Protocol/Enums/JT808CallBackType.cs | 7 +- .../Enums/JT808CameraResolutionType.cs | 1 + .../Enums/JT808CarSignalStatus.cs | 46 ++- .../Enums/JT808DirectionType.cs | 5 +- .../Enums/JT808DrivenRouteType.cs | 7 +- .../Enums/JT808EncryptMethod.cs | 3 + src/JT808.Protocol/Enums/JT808ErrorCode.cs | 5 +- .../Enums/JT808EventItemCoding.cs | 13 +- .../Enums/JT808EventSettingType.cs | 16 +- .../Enums/JT808ICCardReadResult.cs | 16 +- src/JT808.Protocol/Enums/JT808ICCardStatus.cs | 7 +- .../Enums/JT808InformationSettingType.cs | 13 +- .../Exceptions/JT808Exception.cs | 2 + .../Formatters/IJT808FormatterFactory.cs | 1 + src/JT808.Protocol/JT808.Protocol.csproj | 10 +- src/JT808.Protocol/JT808.Protocol.xml | 323 +++++++++++------- .../MessageBody/JT808_0x0702.cs | 12 +- 30 files changed, 448 insertions(+), 324 deletions(-) diff --git a/src/Info.props b/src/Info.props index 6578199..d9dd4fc 100644 --- a/src/Info.props +++ b/src/Info.props @@ -8,7 +8,7 @@ https://github.com/SmallChi/JT808 https://github.com/SmallChi/JT808/blob/master/LICENSE https://github.com/SmallChi/JT808/blob/master/LICENSE - 2.4.6 + 2.5.0-preview1 LICENSE true latest diff --git a/src/JT808.Protocol.Benchmark/JT808SerializerContext.cs b/src/JT808.Protocol.Benchmark/JT808SerializerContext.cs index 22423cb..a936939 100644 --- a/src/JT808.Protocol.Benchmark/JT808SerializerContext.cs +++ b/src/JT808.Protocol.Benchmark/JT808SerializerContext.cs @@ -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 }); diff --git a/src/JT808.Protocol.Test/Extensions/JT808EnumExtensionsTest.cs b/src/JT808.Protocol.Test/Extensions/JT808EnumExtensionsTest.cs index 91a1302..be94e96 100644 --- a/src/JT808.Protocol.Test/Extensions/JT808EnumExtensionsTest.cs +++ b/src/JT808.Protocol.Test/Extensions/JT808EnumExtensionsTest.cs @@ -20,13 +20,13 @@ namespace JT808.Protocol.Test.Extensions var list3 = JT808EnumExtensions.GetEnumTypes(24, 32); var list4 = JT808EnumExtensions.GetEnumTypes(31, 32); var list5= JT808EnumExtensions.GetEnumTypes(2147483679, 33); - Assert.Equal(list0, new List() { JT808Alarm.紧急报警_触动报警开关后触发,JT808Alarm.疲劳驾驶 } ); - Assert.Equal(list1, new List() { JT808Alarm.GNSS模块发生故障} ); - Assert.Equal(list2, new List() { JT808Alarm.超速报警, JT808Alarm.GNSS模块发生故障 }); - Assert.Equal(list3, new List() { JT808Alarm.危险预警, JT808Alarm.GNSS模块发生故障 }); - Assert.Equal(list3, new List() { JT808Alarm.危险预警, JT808Alarm.GNSS模块发生故障 }); - Assert.Equal(list4, new List() { JT808Alarm.紧急报警_触动报警开关后触发, JT808Alarm.超速报警,JT808Alarm.疲劳驾驶, JT808Alarm.危险预警, JT808Alarm.GNSS模块发生故障 }); - Assert.Equal(list5, new List() { JT808Alarm.紧急报警_触动报警开关后触发, JT808Alarm.超速报警, JT808Alarm.疲劳驾驶, JT808Alarm.危险预警, JT808Alarm.GNSS模块发生故障, JT808Alarm.非法开门报警 }); + Assert.Equal(list0, new List() { JT808Alarm.emergency_alarm, JT808Alarm.fatigue_driving } ); + Assert.Equal(list1, new List() { JT808Alarm.gnss_module_fault } ); + Assert.Equal(list2, new List() { JT808Alarm.overspeed_alarm, JT808Alarm.gnss_module_fault }); + Assert.Equal(list3, new List() { JT808Alarm.danger_warning, JT808Alarm.gnss_module_fault }); + Assert.Equal(list3, new List() { JT808Alarm.danger_warning, JT808Alarm.gnss_module_fault }); + Assert.Equal(list4, new List() { JT808Alarm.emergency_alarm, JT808Alarm.overspeed_alarm, JT808Alarm.fatigue_driving, JT808Alarm.danger_warning, JT808Alarm.gnss_module_fault }); + Assert.Equal(list5, new List() { JT808Alarm.emergency_alarm, JT808Alarm.overspeed_alarm, JT808Alarm.fatigue_driving, JT808Alarm.danger_warning, JT808Alarm.gnss_module_fault, JT808Alarm.illegal_opening_door_alarm }); } [Fact] diff --git a/src/JT808.Protocol.Test/MessageBody/JT808_0x0200Test.cs b/src/JT808.Protocol.Test/MessageBody/JT808_0x0200Test.cs index 3e571e7..b51bf3d 100644 --- a/src/JT808.Protocol.Test/MessageBody/JT808_0x0200Test.cs +++ b/src/JT808.Protocol.Test/MessageBody/JT808_0x0200Test.cs @@ -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 }); diff --git a/src/JT808.Protocol.Test/MessageBody/JT808_0x0702Test.cs b/src/JT808.Protocol.Test/MessageBody/JT808_0x0702Test.cs index f4cecec..8ba7f37 100644 --- a/src/JT808.Protocol.Test/MessageBody/JT808_0x0702Test.cs +++ b/src/JT808.Protocol.Test/MessageBody/JT808_0x0702Test.cs @@ -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(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(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(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(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(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); diff --git a/src/JT808.Protocol.Test/MessageBody/JT808_0x0801Test.cs b/src/JT808.Protocol.Test/MessageBody/JT808_0x0801Test.cs index d1de8ff..016bdbb 100644 --- a/src/JT808.Protocol.Test/MessageBody/JT808_0x0801Test.cs +++ b/src/JT808.Protocol.Test/MessageBody/JT808_0x0801Test.cs @@ -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(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(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); diff --git a/src/JT808.Protocol.Test/MessageBody/JT808_0x0802Test.cs b/src/JT808.Protocol.Test/MessageBody/JT808_0x0802Test.cs index b4012ef..c10f67e 100644 --- a/src/JT808.Protocol.Test/MessageBody/JT808_0x0802Test.cs +++ b/src/JT808.Protocol.Test/MessageBody/JT808_0x0802Test.cs @@ -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); diff --git a/src/JT808.Protocol.Test/MessageBody/JT808_0x8301Test.cs b/src/JT808.Protocol.Test/MessageBody/JT808_0x8301Test.cs index ab41ffa..6d9f8fc 100644 --- a/src/JT808.Protocol.Test/MessageBody/JT808_0x8301Test.cs +++ b/src/JT808.Protocol.Test/MessageBody/JT808_0x8301Test.cs @@ -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() }; 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(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); diff --git a/src/JT808.Protocol.Test/MessageBody/JT808_0x8303Test.cs b/src/JT808.Protocol.Test/MessageBody/JT808_0x8303Test.cs index 0dd689d..5185eaf 100644 --- a/src/JT808.Protocol.Test/MessageBody/JT808_0x8303Test.cs +++ b/src/JT808.Protocol.Test/MessageBody/JT808_0x8303Test.cs @@ -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() }; 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(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); diff --git a/src/JT808.Protocol.Test/MessageBody/JT808_0x8400Test.cs b/src/JT808.Protocol.Test/MessageBody/JT808_0x8400Test.cs index bfcace4..fc084de 100644 --- a/src/JT808.Protocol.Test/MessageBody/JT808_0x8400Test.cs +++ b/src/JT808.Protocol.Test/MessageBody/JT808_0x8400Test.cs @@ -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(bytes); - Assert.Equal(Enums.JT808CallBackType.普通通话, jT808_0X8400.CallBack); + Assert.Equal(Enums.JT808CallBackType.normal_call, jT808_0X8400.CallBack); Assert.Equal("12345679810", jT808_0X8400.PhoneNumber); } diff --git a/src/JT808.Protocol.Test/MessageBody/JT808_0x8802Test.cs b/src/JT808.Protocol.Test/MessageBody/JT808_0x8802Test.cs index 5ef2f47..4a7af95 100644 --- a/src/JT808.Protocol.Test/MessageBody/JT808_0x8802Test.cs +++ b/src/JT808.Protocol.Test/MessageBody/JT808_0x8802Test.cs @@ -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(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); diff --git a/src/JT808.Protocol.Test/MessageBody/JT808_0x8803Test.cs b/src/JT808.Protocol.Test/MessageBody/JT808_0x8803Test.cs index a3fd42e..08349ba 100644 --- a/src/JT808.Protocol.Test/MessageBody/JT808_0x8803Test.cs +++ b/src/JT808.Protocol.Test/MessageBody/JT808_0x8803Test.cs @@ -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(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); diff --git a/src/JT808.Protocol/Enums/JT808Alarm.cs b/src/JT808.Protocol/Enums/JT808Alarm.cs index 8ebe5ff..034f237 100644 --- a/src/JT808.Protocol/Enums/JT808Alarm.cs +++ b/src/JT808.Protocol/Enums/JT808Alarm.cs @@ -6,166 +6,169 @@ namespace JT808.Protocol.Enums { /// /// 报警标志 + /// Alarm Flag /// [Flags] public enum JT808Alarm : uint { /// /// 紧急报警_触动报警开关后触发 - /// 收到应答后清零 + /// The emergency alarm is triggered after the alarm switch is touched /// - 紧急报警_触动报警开关后触发 = 1, + emergency_alarm = 1, /// - /// 超速报警 - /// 标志维持至报警条件解除 + /// 超速报警 标志维持至报警条件解除 + /// Overspeed alarm /// - 超速报警 = 2, - /// - /// 标志维持至报警条件解除 - /// 疲劳驾驶 + overspeed_alarm = 2, + /// + /// 疲劳驾驶 标志维持至报警条件解除 + /// fatigue driving /// - 疲劳驾驶 = 4, + fatigue_driving = 4, /// - /// 危险预警 - /// 收到应答后清零 + /// 危险预警 标志维持至报警条件解除 + /// danger warning /// - 危险预警 = 8, + danger_warning = 8, /// - /// GNSS模块发生故障 - /// 标志维持至报警条件解除 + /// GNSS模块发生故障 标志维持至报警条件解除 + /// The GNSS module is faulty /// - GNSS模块发生故障 = 16, + gnss_module_fault = 16, /// - /// GNSS天线未接或被剪断 - /// 标志维持至报警条件解除 + /// GNSS天线未接或被剪断 标志维持至报警条件解除 + /// The GNSS antenna is not connected or cut off /// - GNSS天线未接或被剪断 = 32, + gnss_ant_not_connected = 32, /// - /// GNSS天线短路 - /// 标志维持至报警条件解除 + /// GNSS天线短路 标志维持至报警条件解除 + /// GNSS antenna short-circuited /// - GNSS天线短路 = 64, + gnss_ant_short = 64, /// - /// 终端主电源欠压 - /// 标志维持至报警条件解除 + /// 终端主电源欠压 标志维持至报警条件解除 + /// The main power supply of the terminal is undervoltage /// - 终端主电源欠压 = 128, + terminal_main_power_undervoltage = 128, /// - /// 终端主电源掉电 - /// 标志维持至报警条件解除 + /// 终端主电源掉电 标志维持至报警条件解除 + /// The main power supply of the terminal fails /// - 终端主电源掉电 = 256, + terminal_main_power_down = 256, /// - /// 终端LCD或显示器故障 - /// 标志维持至报警条件解除 + /// 终端LCD或显示器故障 标志维持至报警条件解除 + /// The LCD or monitor of the terminal is faulty /// - 终端LCD或显示器故障 = 512, + terminal_display_fault = 512, /// - /// TTS模块故障 - /// 标志维持至报警条件解除 + /// TTS模块故障 标志维持至报警条件解除 + /// The TTS module is faulty /// - TTS模块故障 = 1024, + tts_module_fault = 1024, /// - /// 摄像头故障 - /// 标志维持至报警条件解除 + /// 摄像头故障 标志维持至报警条件解除 + /// Camera fault /// - 摄像头故障 = 2048, + camera_fault = 2048, /// - /// 道路运输证IC卡模块故障 - /// 标志维持至报警条件解除 + /// 道路运输证IC卡模块故障 标志维持至报警条件解除 + /// The IC card module of the road transport certificate is faulty /// - 道路运输证IC卡模块故障 = 4096, + road_transport_cert_ic_card_module_fault = 4096, /// - /// 超速预警 - /// 标志维持至报警条件解除 + /// 超速预警 标志维持至报警条件解除 + /// Overspeed warning /// - 超速预警 = 8192, + overspeed_warning = 8192, /// - /// 疲劳驾驶预警 - /// 标志维持至报警条件解除 + /// 疲劳驾驶预警 标志维持至报警条件解除 + /// Fatigue driving warning /// - 疲劳驾驶预警 = 16384, + fatigue_driving_warning = 16384, /// /// 保留1 + /// reserve1 /// - 保留1 = 32768, + reserve1 = 32768, /// /// 保留2 + /// reserve2 /// - 保留2 = 65536, + reserve2 = 65536, /// /// 保留3 + /// reserve3 /// - 保留3 = 131072, + reserve3 = 131072, /// - /// 当天累计驾驶超时 - /// 标志维持至报警条件解除 + /// 当天累计驾驶超时 标志维持至报警条件解除 + /// Accumulated driving overtime that day /// - 当天累计驾驶超时 = 262144, + day_accumulated_driving_timeout = 262144, /// - /// 超时停车 - /// 标志维持至报警条件解除 + /// 超时停车 标志维持至报警条件解除 + /// Timeout parking /// - 超时停车 = 524288, + timeout_parking = 524288, /// - /// 进出区域 - /// 收到应答后清零 + /// 进出区域 收到应答后清零 + /// In and out of the area /// - 进出区域 = 1048576, + in_area = 1048576, /// - /// 进出路线 - /// 收到应答后清零 + /// 进出路线 收到应答后清零 /// - 进出路线 = 2097152, + in_route = 2097152, /// - /// 路段行驶时间不足或过长 - /// 收到应答后清零 + /// 路段行驶时间不足或过长 收到应答后清零 + /// Road section driving time is insufficient or too long /// - 路段行驶时间不足或过长 = 4194304, + road_driving_time_insufficient = 4194304, /// - /// 路线偏离报警 - /// 标志维持至报警条件解除 + /// 路线偏离报警 标志维持至报警条件解除 + /// Route deviation alarm /// - 路线偏离报警 = 8388608, + route_deviation_alarm = 8388608, /// - /// 车辆VSS故障 - /// 标志维持至报警条件解除 + /// 车辆VSS故障 标志维持至报警条件解除 + /// VSS of the vehicle is faulty /// - 车辆VSS故障 = 16777216, + vehicle_vss_fault = 16777216, /// - /// 车辆油量异常 - /// 标志维持至报警条件解除 + /// 车辆油量异常 标志维持至报警条件解除 + /// Abnormal vehicle fuel level /// - 车辆油量异常 = 33554432, + vehicle_fuel_abnormal = 33554432, /// - /// 车辆被盗通过车辆防盗器 - /// 标志维持至报警条件解除 + /// 车辆被盗通过车辆防盗器 标志维持至报警条件解除 + /// The vehicle is stolen /// - 车辆被盗 = 67108864, + vehicle_stolen = 67108864, /// /// 车辆非法点火 + /// Illegal ignition of vehicles /// - 车辆非法点火 = 134217728, + vehicle_illegal_ignition = 134217728, /// - /// 车辆非法位移 - /// 收到应答后清零 + /// 车辆非法位移 收到应答后清零 + /// Illegal displacement of vehicle /// - 车辆非法位移 = 268435456, + vehicle_illegal_displacement = 268435456, /// - /// 碰撞预警 - /// 标志维持至报警条件解除 + /// 碰撞预警 标志维持至报警条件解除 + /// collision Warning /// - 碰撞预警 = 536870912, + collision_warning = 536870912, /// - /// 侧翻预警 - /// 标志维持至报警条件解除 + /// 侧翻预警 标志维持至报警条件解除 + /// rollover warning /// - 侧翻预警 = 1073741824, + rollover_warning = 1073741824, /// - /// 非法开门报警 - /// (终端未设置区域时,不判断非法开门) - /// 收到应答后清零 + /// 非法开门报警(终端未设置区域时,不判断非法开门) 收到应答后清零 + /// Illegal door opening alarm /// - 非法开门报警 = 2147483648 + illegal_opening_door_alarm = 2147483648 } } diff --git a/src/JT808.Protocol/Enums/JT808CallBackType.cs b/src/JT808.Protocol/Enums/JT808CallBackType.cs index 125c2e8..ac80548 100644 --- a/src/JT808.Protocol/Enums/JT808CallBackType.cs +++ b/src/JT808.Protocol/Enums/JT808CallBackType.cs @@ -2,16 +2,19 @@ { /// /// 电话回拨类型 + /// Callback type /// public enum JT808CallBackType : byte { /// /// 普通通话 + /// normal call /// - 普通通话 = 0, + normal_call = 0, /// /// 监听 + /// cue /// - 监听 = 1 + cue = 1 } } diff --git a/src/JT808.Protocol/Enums/JT808CameraResolutionType.cs b/src/JT808.Protocol/Enums/JT808CameraResolutionType.cs index 115efba..c011048 100644 --- a/src/JT808.Protocol/Enums/JT808CameraResolutionType.cs +++ b/src/JT808.Protocol/Enums/JT808CameraResolutionType.cs @@ -6,6 +6,7 @@ namespace JT808.Protocol.Enums { /// /// 摄像头分辨率 + /// Camera resolution /// public enum JT808CameraResolutionType:byte { diff --git a/src/JT808.Protocol/Enums/JT808CarSignalStatus.cs b/src/JT808.Protocol/Enums/JT808CarSignalStatus.cs index 4c9948b..99ef108 100644 --- a/src/JT808.Protocol/Enums/JT808CarSignalStatus.cs +++ b/src/JT808.Protocol/Enums/JT808CarSignalStatus.cs @@ -4,69 +4,85 @@ namespace JT808.Protocol.Enums { /// /// 扩展车辆信号状态位 + /// Extended vehicle signal status bits /// [Flags] public enum JT808CarSignalStatus : uint { /// /// 开启近光信号灯 + /// Close light signal /// - 近光灯信号 = 1, + close_light_signal = 1, /// /// 远光灯信号 + /// High beam signal /// - 远光灯信号 = 2, + high_beam_signal = 2, /// /// 右转向灯信号 + /// Right turn signal /// - 右转向灯信号 = 4, + right_turn_signal = 4, /// /// 左转向灯信号 + /// Left turn signal /// - 左转向灯信号 = 8, + left_turn_signal = 8, /// /// 制动信号 + /// brake signal /// - 制动信号 = 16, + brake_signal = 16, /// /// 倒档信号 + /// Reverse signals /// - 倒档信号 = 32, + reverse_signals = 32, /// /// 雾灯信号 + /// The fog light signal /// - 雾灯信号 = 64, + fog_light_signal = 64, /// /// 示廓灯 + /// Clearance Lamp /// - 示廓灯 = 128, + clearance_lamp = 128, /// /// 喇叭信号 + /// horn signal /// - 喇叭信号 = 256, + horn_signal = 256, /// /// 空调状态 + /// Air condition status /// - 空调状态 = 512, + air_condition_status = 512, /// /// 空挡信号 + /// Neutral signal /// - 空挡信号 = 1024, + neutral_signal = 1024, /// /// 缓速器工作 + /// Retarder working /// - 缓速器工作 = 2048, + retarder_working = 2048, /// /// ABS工作 + /// abs_working /// - ABS工作 = 4096, + abs_working = 4096, /// /// 加热器工作 + /// Heater operation /// - 加热器工作 = 8192, + heater_operation = 8192, /// /// 离合器状态 + /// Clutch condition /// - 离合器状态 = 16384, + clutch_condition = 16384, } } diff --git a/src/JT808.Protocol/Enums/JT808DirectionType.cs b/src/JT808.Protocol/Enums/JT808DirectionType.cs index 71e6daf..8162fc5 100644 --- a/src/JT808.Protocol/Enums/JT808DirectionType.cs +++ b/src/JT808.Protocol/Enums/JT808DirectionType.cs @@ -2,16 +2,17 @@ { /// /// 方向类型 + /// Direction Type /// public enum JT808DirectionType : byte { /// /// 进 /// - 进 = 0, + direction_in = 0, /// /// 出 /// - 出 = 1 + direction_out = 1 } } diff --git a/src/JT808.Protocol/Enums/JT808DrivenRouteType.cs b/src/JT808.Protocol/Enums/JT808DrivenRouteType.cs index 0ff8c8f..932fc61 100644 --- a/src/JT808.Protocol/Enums/JT808DrivenRouteType.cs +++ b/src/JT808.Protocol/Enums/JT808DrivenRouteType.cs @@ -2,16 +2,19 @@ { /// /// 路线行驶返回结果 + /// Route driving returns results /// public enum JT808DrivenRouteType { /// /// 不足 + /// insufficient /// - 不足 = 0, + insufficient = 0, /// /// 过长 + /// overlength /// - 过长 = 1 + overlength = 1 } } diff --git a/src/JT808.Protocol/Enums/JT808EncryptMethod.cs b/src/JT808.Protocol/Enums/JT808EncryptMethod.cs index b2139ee..b51d54a 100644 --- a/src/JT808.Protocol/Enums/JT808EncryptMethod.cs +++ b/src/JT808.Protocol/Enums/JT808EncryptMethod.cs @@ -2,15 +2,18 @@ { /// /// JT808加密选项 + /// Encryption Options /// public enum JT808EncryptMethod { /// /// 未加密 + /// None /// None, /// /// RSA加密 + /// RSA encrypt /// RSA } diff --git a/src/JT808.Protocol/Enums/JT808ErrorCode.cs b/src/JT808.Protocol/Enums/JT808ErrorCode.cs index 3124fe9..42b8d01 100644 --- a/src/JT808.Protocol/Enums/JT808ErrorCode.cs +++ b/src/JT808.Protocol/Enums/JT808ErrorCode.cs @@ -2,6 +2,7 @@ { /// /// 异常错误码 + /// Exception error code /// public enum JT808ErrorCode { @@ -34,8 +35,8 @@ /// NotEnoughLength = 1007, /// - /// 没有全局注册格式化器 - /// IJT808MessagePackFormatter + /// 没有全局注册格式化器 IJT808MessagePackFormatter + /// There is no global register formatter [IJT808MessagePackFormatter] /// NotGlobalRegisterFormatterAssembly = 1008, /// diff --git a/src/JT808.Protocol/Enums/JT808EventItemCoding.cs b/src/JT808.Protocol/Enums/JT808EventItemCoding.cs index 25aaff8..e72741b 100644 --- a/src/JT808.Protocol/Enums/JT808EventItemCoding.cs +++ b/src/JT808.Protocol/Enums/JT808EventItemCoding.cs @@ -2,24 +2,29 @@ { /// /// 事件项编码 + /// Event item coding /// public enum JT808EventItemCoding : byte { /// /// 平台下发指令 + /// Platform delivery order /// - 平台下发指令 = 0x00, + platform_delivery_order = 0x00, /// /// 定时动作 + /// Regular action /// - 定时动作 = 0x01, + regular_action = 0x01, /// /// 抢劫报警触发 + /// Robbery alarm trigger /// - 抢劫报警触发 = 0x02, + robbery_alarm_trigger = 0x02, /// /// 碰撞侧翻报警触发 + /// Collision rollover alarm triggered /// - 碰撞侧翻报警触发 = 0x03 + collision_rollover_alarm_triggered = 0x03 } } diff --git a/src/JT808.Protocol/Enums/JT808EventSettingType.cs b/src/JT808.Protocol/Enums/JT808EventSettingType.cs index c3317fb..7d74a7e 100644 --- a/src/JT808.Protocol/Enums/JT808EventSettingType.cs +++ b/src/JT808.Protocol/Enums/JT808EventSettingType.cs @@ -2,28 +2,34 @@ { /// /// 事件设置类型 + /// Event setting Type /// public enum JT808EventSettingType : byte { /// /// 删除终端现有所有事件_该命令后不带后继字节 + /// Delete all existing events on the terminal This command does not contain subsequent bytes /// - 删除终端现有所有事件_该命令后不带后继字节 = 0x00, + delete_terminal_all_existing_events = 0x00, /// /// 更新事件 + /// Update events /// - 更新事件 = 0x01, + update_events = 0x01, /// /// 追加事件 + /// Append events /// - 追加事件 = 0x02, + append_events = 0x02, /// /// 修改事件 + /// Modify event /// - 修改事件 = 0x03, + modify_events = 0x03, /// /// 删除特定几项事件,之后事件项中无需带事件内容 + /// Delete specific events /// - 删除特定几项事件_之后事件项中无需带事件内容 = 0x04 + delete_specific_events = 0x04 } } diff --git a/src/JT808.Protocol/Enums/JT808ICCardReadResult.cs b/src/JT808.Protocol/Enums/JT808ICCardReadResult.cs index e097658..a8268a2 100644 --- a/src/JT808.Protocol/Enums/JT808ICCardReadResult.cs +++ b/src/JT808.Protocol/Enums/JT808ICCardReadResult.cs @@ -2,28 +2,34 @@ { /// /// IC 卡读取结果 + /// IC card read result /// public enum JT808ICCardReadResult : byte { /// /// IC卡读卡成功 + /// IC card Reading succeeded. /// - IC卡读卡成功 = 0x00, + ic_card_reading_succeeded = 0x00, /// /// 读卡失败_原因为卡片密钥认证未通过 + /// Read the card failure:The cause is that the card key authentication fails /// - 读卡失败_原因为卡片密钥认证未通过 = 0x01, + read_card_failure_auth = 0x01, /// /// 读卡失败_原因为卡片已被锁定 + /// Read the card failure:The reason is that the card is locked /// - 读卡失败_原因为卡片已被锁定 = 0x02, + read_card_failure_locked = 0x02, /// /// 读卡失败_原因为卡片被拔出 + /// Read the card failure:The cause is that the card is removed /// - 读卡失败_原因为卡片被拔出 = 0x03, + read_card_failure_removed = 0x03, /// /// 读卡失败_原因为数据校验错误 + /// Read the card failure:The cause is a data verification error /// - 读卡失败_原因为数据校验错误 = 0x04, + read_card_failure_data_verify_error = 0x04, } } diff --git a/src/JT808.Protocol/Enums/JT808ICCardStatus.cs b/src/JT808.Protocol/Enums/JT808ICCardStatus.cs index 8d927c3..90209ca 100644 --- a/src/JT808.Protocol/Enums/JT808ICCardStatus.cs +++ b/src/JT808.Protocol/Enums/JT808ICCardStatus.cs @@ -2,16 +2,19 @@ { /// /// 插拔状态 + /// Plug state /// public enum JT808ICCardStatus : byte { /// /// 从业资格证IC卡插入_驾驶员上班 + /// License IC card inserted_Driver on duty /// - 从业资格证IC卡插入_驾驶员上班 = 0x01, + ic_card_into = 0x01, /// /// 从业资格证IC卡拔出_驾驶员下班 + /// License IC card pulled out_driver off duty /// - 从业资格证IC卡拔出_驾驶员下班 = 0x02 + ic_card_pull_out = 0x02 } } diff --git a/src/JT808.Protocol/Enums/JT808InformationSettingType.cs b/src/JT808.Protocol/Enums/JT808InformationSettingType.cs index 8c6c6d4..7f233bf 100644 --- a/src/JT808.Protocol/Enums/JT808InformationSettingType.cs +++ b/src/JT808.Protocol/Enums/JT808InformationSettingType.cs @@ -2,24 +2,29 @@ { /// /// 信息设置类型 + /// Information setting type /// public enum JT808InformationSettingType : byte { /// /// 删除终端全部信息项 + /// Delete all terminal information items /// - 删除终端全部信息项 = 0x00, + delete_all_items = 0x00, /// /// 更新菜单 + /// Update menu /// - 更新菜单 = 0x01, + update_menu = 0x01, /// /// 追加菜单 + /// Append menu /// - 追加菜单 = 0x02, + append_menu = 0x02, /// /// 修改菜单 + /// Modify the menu /// - 修改菜单 = 0x03 + modify_menu = 0x03 } } diff --git a/src/JT808.Protocol/Exceptions/JT808Exception.cs b/src/JT808.Protocol/Exceptions/JT808Exception.cs index d5609d4..1118db0 100644 --- a/src/JT808.Protocol/Exceptions/JT808Exception.cs +++ b/src/JT808.Protocol/Exceptions/JT808Exception.cs @@ -5,6 +5,7 @@ namespace JT808.Protocol.Exceptions { /// /// JT808异常处理类 + /// Exception handling class /// [Serializable] public class JT808Exception : Exception @@ -47,6 +48,7 @@ namespace JT808.Protocol.Exceptions } /// /// JT808统一错误码 + /// Unified error code /// public JT808ErrorCode ErrorCode { get; } } diff --git a/src/JT808.Protocol/Formatters/IJT808FormatterFactory.cs b/src/JT808.Protocol/Formatters/IJT808FormatterFactory.cs index 902d580..394e628 100644 --- a/src/JT808.Protocol/Formatters/IJT808FormatterFactory.cs +++ b/src/JT808.Protocol/Formatters/IJT808FormatterFactory.cs @@ -8,6 +8,7 @@ namespace JT808.Protocol.Formatters { /// /// 序列化工厂 + /// Serialization factory /// public interface IJT808FormatterFactory: IJT808ExternalRegister { diff --git a/src/JT808.Protocol/JT808.Protocol.csproj b/src/JT808.Protocol/JT808.Protocol.csproj index 702ee1b..bffe33a 100644 --- a/src/JT808.Protocol/JT808.Protocol.csproj +++ b/src/JT808.Protocol/JT808.Protocol.csproj @@ -3,8 +3,14 @@ JT808 JT808 - JT808协议、GB808协议、道路运输车辆卫星定位系统-北斗兼容车载终端通讯协议(支持2011、2013、2019版本) - JT808协议、GB808协议、道路运输车辆卫星定位系统-北斗兼容车载终端通讯协议(支持2011、2013、2019版本) + + 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版本) + + + 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版本) + JT808.Protocol.xml README.md diff --git a/src/JT808.Protocol/JT808.Protocol.xml b/src/JT808.Protocol/JT808.Protocol.xml index 2f3ceb6..e361850 100644 --- a/src/JT808.Protocol/JT808.Protocol.xml +++ b/src/JT808.Protocol/JT808.Protocol.xml @@ -62,215 +62,222 @@ 报警标志 + Alarm Flag - + 紧急报警_触动报警开关后触发 - 收到应答后清零 + The emergency alarm is triggered after the alarm switch is touched - + - 超速报警 - 标志维持至报警条件解除 + 超速报警 标志维持至报警条件解除 + Overspeed alarm - - - 标志维持至报警条件解除 - 疲劳驾驶 + + + 疲劳驾驶 标志维持至报警条件解除 + fatigue driving - + - 危险预警 - 收到应答后清零 + 危险预警 标志维持至报警条件解除 + danger warning - + - GNSS模块发生故障 - 标志维持至报警条件解除 + GNSS模块发生故障 标志维持至报警条件解除 + The GNSS module is faulty - + - GNSS天线未接或被剪断 - 标志维持至报警条件解除 + GNSS天线未接或被剪断 标志维持至报警条件解除 + The GNSS antenna is not connected or cut off - + - GNSS天线短路 - 标志维持至报警条件解除 + GNSS天线短路 标志维持至报警条件解除 + GNSS antenna short-circuited - + - 终端主电源欠压 - 标志维持至报警条件解除 + 终端主电源欠压 标志维持至报警条件解除 + The main power supply of the terminal is undervoltage - + - 终端主电源掉电 - 标志维持至报警条件解除 + 终端主电源掉电 标志维持至报警条件解除 + The main power supply of the terminal fails - + - 终端LCD或显示器故障 - 标志维持至报警条件解除 + 终端LCD或显示器故障 标志维持至报警条件解除 + The LCD or monitor of the terminal is faulty - + - TTS模块故障 - 标志维持至报警条件解除 + TTS模块故障 标志维持至报警条件解除 + The TTS module is faulty - + - 摄像头故障 - 标志维持至报警条件解除 + 摄像头故障 标志维持至报警条件解除 + Camera fault - + - 道路运输证IC卡模块故障 - 标志维持至报警条件解除 + 道路运输证IC卡模块故障 标志维持至报警条件解除 + The IC card module of the road transport certificate is faulty - + - 超速预警 - 标志维持至报警条件解除 + 超速预警 标志维持至报警条件解除 + Overspeed warning - + - 疲劳驾驶预警 - 标志维持至报警条件解除 + 疲劳驾驶预警 标志维持至报警条件解除 + Fatigue driving warning - + 保留1 + reserve1 - + 保留2 + reserve2 - + 保留3 + reserve3 - + - 当天累计驾驶超时 - 标志维持至报警条件解除 + 当天累计驾驶超时 标志维持至报警条件解除 + Accumulated driving overtime that day - + - 超时停车 - 标志维持至报警条件解除 + 超时停车 标志维持至报警条件解除 + Timeout parking - + - 进出区域 - 收到应答后清零 + 进出区域 收到应答后清零 + In and out of the area - + - 进出路线 - 收到应答后清零 + 进出路线 收到应答后清零 - + - 路段行驶时间不足或过长 - 收到应答后清零 + 路段行驶时间不足或过长 收到应答后清零 + Road section driving time is insufficient or too long - + - 路线偏离报警 - 标志维持至报警条件解除 + 路线偏离报警 标志维持至报警条件解除 + Route deviation alarm - + - 车辆VSS故障 - 标志维持至报警条件解除 + 车辆VSS故障 标志维持至报警条件解除 + VSS of the vehicle is faulty - + - 车辆油量异常 - 标志维持至报警条件解除 + 车辆油量异常 标志维持至报警条件解除 + Abnormal vehicle fuel level - + - 车辆被盗通过车辆防盗器 - 标志维持至报警条件解除 + 车辆被盗通过车辆防盗器 标志维持至报警条件解除 + The vehicle is stolen - + 车辆非法点火 + Illegal ignition of vehicles - + - 车辆非法位移 - 收到应答后清零 + 车辆非法位移 收到应答后清零 + Illegal displacement of vehicle - + - 碰撞预警 - 标志维持至报警条件解除 + 碰撞预警 标志维持至报警条件解除 + collision Warning - + - 侧翻预警 - 标志维持至报警条件解除 + 侧翻预警 标志维持至报警条件解除 + rollover warning - + - 非法开门报警 - (终端未设置区域时,不判断非法开门) - 收到应答后清零 + 非法开门报警(终端未设置区域时,不判断非法开门) 收到应答后清零 + Illegal door opening alarm 电话回拨类型 + Callback type - + 普通通话 + normal call - + 监听 + cue 摄像头分辨率 + Camera resolution @@ -456,94 +463,111 @@ 扩展车辆信号状态位 + Extended vehicle signal status bits - + 开启近光信号灯 + Close light signal - + 远光灯信号 + High beam signal - + 右转向灯信号 + Right turn signal - + 左转向灯信号 + Left turn signal - + 制动信号 + brake signal - + 倒档信号 + Reverse signals - + 雾灯信号 + The fog light signal - + 示廓灯 + Clearance Lamp - + 喇叭信号 + horn signal - + 空调状态 + Air condition status - + 空挡信号 + Neutral signal - + 缓速器工作 + Retarder working - + ABS工作 + abs_working - + 加热器工作 + Heater operation - + 离合器状态 + Clutch condition 方向类型 + Direction Type - + - + @@ -551,36 +575,43 @@ 路线行驶返回结果 + Route driving returns results - + 不足 + insufficient - + 过长 + overlength JT808加密选项 + Encryption Options 未加密 + None RSA加密 + RSA encrypt 异常错误码 + Exception error code @@ -620,8 +651,8 @@ - 没有全局注册格式化器 - IJT808MessagePackFormatter + 没有全局注册格式化器 IJT808MessagePackFormatter + There is no global register formatter [IJT808MessagePackFormatter] @@ -632,126 +663,151 @@ 事件项编码 + Event item coding - + 平台下发指令 + Platform delivery order - + 定时动作 + Regular action - + 抢劫报警触发 + Robbery alarm trigger - + 碰撞侧翻报警触发 + Collision rollover alarm triggered 事件设置类型 + Event setting Type - + 删除终端现有所有事件_该命令后不带后继字节 + Delete all existing events on the terminal This command does not contain subsequent bytes - + 更新事件 + Update events - + 追加事件 + Append events - + 修改事件 + Modify event - + 删除特定几项事件,之后事件项中无需带事件内容 + Delete specific events IC 卡读取结果 + IC card read result - + IC卡读卡成功 + IC card Reading succeeded. - + 读卡失败_原因为卡片密钥认证未通过 + Read the card failure:The cause is that the card key authentication fails - + 读卡失败_原因为卡片已被锁定 + Read the card failure:The reason is that the card is locked - + 读卡失败_原因为卡片被拔出 + Read the card failure:The cause is that the card is removed - + 读卡失败_原因为数据校验错误 + Read the card failure:The cause is a data verification error 插拔状态 + Plug state - + 从业资格证IC卡插入_驾驶员上班 + License IC card inserted_Driver on duty - + 从业资格证IC卡拔出_驾驶员下班 + License IC card pulled out_driver off duty 信息设置类型 + Information setting type - + 删除终端全部信息项 + Delete all terminal information items - + 更新菜单 + Update menu - + 追加菜单 + Append menu - + 修改菜单 + Modify the menu @@ -1714,6 +1770,7 @@ JT808异常处理类 + Exception handling class @@ -1747,6 +1804,7 @@ JT808统一错误码 + Unified error code @@ -3963,6 +4021,7 @@ 序列化工厂 + Serialization factory diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0702.cs b/src/JT808.Protocol/MessageBody/JT808_0x0702.cs index 72c7620..43bce98 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0702.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x0702.cs @@ -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);