Просмотр исходного кода

修改各个对象属性为英文属性并附上对应英文描述(1)

tags/v2.5.0
SmallChi(Koike) 3 лет назад
Родитель
Сommit
46c9ba4aae
30 измененных файлов: 448 добавлений и 324 удалений
  1. +1
    -1
      src/Info.props
  2. +2
    -2
      src/JT808.Protocol.Benchmark/JT808SerializerContext.cs
  3. +7
    -7
      src/JT808.Protocol.Test/Extensions/JT808EnumExtensionsTest.cs
  4. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x0200Test.cs
  5. +18
    -18
      src/JT808.Protocol.Test/MessageBody/JT808_0x0702Test.cs
  6. +4
    -4
      src/JT808.Protocol.Test/MessageBody/JT808_0x0801Test.cs
  7. +8
    -8
      src/JT808.Protocol.Test/MessageBody/JT808_0x0802Test.cs
  8. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x8301Test.cs
  9. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x8303Test.cs
  10. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x8400Test.cs
  11. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x8802Test.cs
  12. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x8803Test.cs
  13. +92
    -89
      src/JT808.Protocol/Enums/JT808Alarm.cs
  14. +5
    -2
      src/JT808.Protocol/Enums/JT808CallBackType.cs
  15. +1
    -0
      src/JT808.Protocol/Enums/JT808CameraResolutionType.cs
  16. +31
    -15
      src/JT808.Protocol/Enums/JT808CarSignalStatus.cs
  17. +3
    -2
      src/JT808.Protocol/Enums/JT808DirectionType.cs
  18. +5
    -2
      src/JT808.Protocol/Enums/JT808DrivenRouteType.cs
  19. +3
    -0
      src/JT808.Protocol/Enums/JT808EncryptMethod.cs
  20. +3
    -2
      src/JT808.Protocol/Enums/JT808ErrorCode.cs
  21. +9
    -4
      src/JT808.Protocol/Enums/JT808EventItemCoding.cs
  22. +11
    -5
      src/JT808.Protocol/Enums/JT808EventSettingType.cs
  23. +11
    -5
      src/JT808.Protocol/Enums/JT808ICCardReadResult.cs
  24. +5
    -2
      src/JT808.Protocol/Enums/JT808ICCardStatus.cs
  25. +9
    -4
      src/JT808.Protocol/Enums/JT808InformationSettingType.cs
  26. +2
    -0
      src/JT808.Protocol/Exceptions/JT808Exception.cs
  27. +1
    -0
      src/JT808.Protocol/Formatters/IJT808FormatterFactory.cs
  28. +8
    -2
      src/JT808.Protocol/JT808.Protocol.csproj
  29. +191
    -132
      src/JT808.Protocol/JT808.Protocol.xml
  30. +6
    -6
      src/JT808.Protocol/MessageBody/JT808_0x0702.cs

+ 1
- 1
src/Info.props Просмотреть файл

@@ -8,7 +8,7 @@
<PackageProjectUrl>https://github.com/SmallChi/JT808</PackageProjectUrl> <PackageProjectUrl>https://github.com/SmallChi/JT808</PackageProjectUrl>
<licenseUrl>https://github.com/SmallChi/JT808/blob/master/LICENSE</licenseUrl> <licenseUrl>https://github.com/SmallChi/JT808/blob/master/LICENSE</licenseUrl>
<license>https://github.com/SmallChi/JT808/blob/master/LICENSE</license> <license>https://github.com/SmallChi/JT808/blob/master/LICENSE</license>
<Version>2.4.6</Version>
<Version>2.5.0-preview1</Version>
<PackageLicenseFile>LICENSE</PackageLicenseFile> <PackageLicenseFile>LICENSE</PackageLicenseFile>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<AnalysisLevel>latest</AnalysisLevel> <AnalysisLevel>latest</AnalysisLevel>


+ 2
- 2
src/JT808.Protocol.Benchmark/JT808SerializerContext.cs Просмотреть файл

@@ -83,11 +83,11 @@ namespace JT808.Protocol.Benchmark
{ {
AreaId = 1, AreaId = 1,
JT808PositionType = Enums.JT808PositionType.圆形区域, JT808PositionType = Enums.JT808PositionType.圆形区域,
Direction= Enums.JT808DirectionType.
Direction= Enums.JT808DirectionType.direction_out
}); });
jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808Constants.JT808_0x0200_0x13, new JT808_0x0200_0x13 jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808Constants.JT808_0x0200_0x13, new JT808_0x0200_0x13
{ {
DrivenRoute= Enums.JT808DrivenRouteType.过长,
DrivenRoute= Enums.JT808DrivenRouteType.overlength,
DrivenRouteId=2, DrivenRouteId=2,
Time=34 Time=34
}); });


+ 7
- 7
src/JT808.Protocol.Test/Extensions/JT808EnumExtensionsTest.cs Просмотреть файл

@@ -20,13 +20,13 @@ namespace JT808.Protocol.Test.Extensions
var list3 = JT808EnumExtensions.GetEnumTypes<JT808.Protocol.Enums.JT808Alarm>(24, 32); var list3 = JT808EnumExtensions.GetEnumTypes<JT808.Protocol.Enums.JT808Alarm>(24, 32);
var list4 = JT808EnumExtensions.GetEnumTypes<JT808.Protocol.Enums.JT808Alarm>(31, 32); var list4 = JT808EnumExtensions.GetEnumTypes<JT808.Protocol.Enums.JT808Alarm>(31, 32);
var list5= JT808EnumExtensions.GetEnumTypes<JT808.Protocol.Enums.JT808Alarm>(2147483679, 33); var list5= JT808EnumExtensions.GetEnumTypes<JT808.Protocol.Enums.JT808Alarm>(2147483679, 33);
Assert.Equal(list0, new List<JT808Alarm>() { JT808Alarm.紧急报警_触动报警开关后触发,JT808Alarm.疲劳驾驶 } );
Assert.Equal(list1, new List<JT808Alarm>() { JT808Alarm.GNSS模块发生故障} );
Assert.Equal(list2, new List<JT808Alarm>() { JT808Alarm.超速报警, JT808Alarm.GNSS模块发生故障 });
Assert.Equal(list3, new List<JT808Alarm>() { JT808Alarm.危险预警, JT808Alarm.GNSS模块发生故障 });
Assert.Equal(list3, new List<JT808Alarm>() { JT808Alarm.危险预警, JT808Alarm.GNSS模块发生故障 });
Assert.Equal(list4, new List<JT808Alarm>() { JT808Alarm.紧急报警_触动报警开关后触发, JT808Alarm.超速报警,JT808Alarm.疲劳驾驶, JT808Alarm.危险预警, JT808Alarm.GNSS模块发生故障 });
Assert.Equal(list5, new List<JT808Alarm>() { JT808Alarm.紧急报警_触动报警开关后触发, JT808Alarm.超速报警, JT808Alarm.疲劳驾驶, JT808Alarm.危险预警, JT808Alarm.GNSS模块发生故障, JT808Alarm.非法开门报警 });
Assert.Equal(list0, new List<JT808Alarm>() { JT808Alarm.emergency_alarm, JT808Alarm.fatigue_driving } );
Assert.Equal(list1, new List<JT808Alarm>() { JT808Alarm.gnss_module_fault } );
Assert.Equal(list2, new List<JT808Alarm>() { JT808Alarm.overspeed_alarm, JT808Alarm.gnss_module_fault });
Assert.Equal(list3, new List<JT808Alarm>() { JT808Alarm.danger_warning, JT808Alarm.gnss_module_fault });
Assert.Equal(list3, new List<JT808Alarm>() { JT808Alarm.danger_warning, JT808Alarm.gnss_module_fault });
Assert.Equal(list4, new List<JT808Alarm>() { JT808Alarm.emergency_alarm, JT808Alarm.overspeed_alarm, JT808Alarm.fatigue_driving, JT808Alarm.danger_warning, JT808Alarm.gnss_module_fault });
Assert.Equal(list5, new List<JT808Alarm>() { JT808Alarm.emergency_alarm, JT808Alarm.overspeed_alarm, JT808Alarm.fatigue_driving, JT808Alarm.danger_warning, JT808Alarm.gnss_module_fault, JT808Alarm.illegal_opening_door_alarm });
} }


[Fact] [Fact]


+ 2
- 2
src/JT808.Protocol.Test/MessageBody/JT808_0x0200Test.cs Просмотреть файл

@@ -538,11 +538,11 @@ namespace JT808.Protocol.Test.MessageBody
{ {
AreaId = 1, AreaId = 1,
JT808PositionType = Enums.JT808PositionType.圆形区域, JT808PositionType = Enums.JT808PositionType.圆形区域,
Direction = Enums.JT808DirectionType.
Direction = Enums.JT808DirectionType.direction_out
}); });
jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808Constants.JT808_0x0200_0x13, new JT808_0x0200_0x13 jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808Constants.JT808_0x0200_0x13, new JT808_0x0200_0x13
{ {
DrivenRoute = Enums.JT808DrivenRouteType.过长,
DrivenRoute = Enums.JT808DrivenRouteType.overlength,
DrivenRouteId = 2, DrivenRouteId = 2,
Time = 34 Time = 34
}); });


+ 18
- 18
src/JT808.Protocol.Test/MessageBody/JT808_0x0702Test.cs Просмотреть файл

@@ -14,7 +14,7 @@ namespace JT808.Protocol.Test.MessageBody
{ {
JT808_0x0702 jT808_0X0702 = new JT808_0x0702 JT808_0x0702 jT808_0X0702 = new JT808_0x0702
{ {
IC_Card_Status = JT808ICCardStatus.从业资格证IC卡拔出_驾驶员下班,
IC_Card_Status = JT808ICCardStatus.ic_card_pull_out,
IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16") IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16")
}; };
var hex = JT808Serializer.Serialize(jT808_0X0702).ToHexString(); var hex = JT808Serializer.Serialize(jT808_0X0702).ToHexString();
@@ -26,7 +26,7 @@ namespace JT808.Protocol.Test.MessageBody
{ {
byte[] bytes = "02 18 08 16 09 16 16".ToHexBytes(); byte[] bytes = "02 18 08 16 09 16 16".ToHexBytes();
JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes); JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes);
Assert.Equal(JT808ICCardStatus.从业资格证IC卡拔出_驾驶员下班, jT808_0X0702.IC_Card_Status);
Assert.Equal(JT808ICCardStatus.ic_card_pull_out, jT808_0X0702.IC_Card_Status);
Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime); Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime);
} }


@@ -35,9 +35,9 @@ namespace JT808.Protocol.Test.MessageBody
{ {
JT808_0x0702 jT808_0X0702 = new JT808_0x0702 JT808_0x0702 jT808_0X0702 = new JT808_0x0702
{ {
IC_Card_Status = JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班,
IC_Card_Status = JT808ICCardStatus.ic_card_into,
IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16"), IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16"),
IC_Card_ReadResult = JT808ICCardReadResult.读卡失败_原因为卡片密钥认证未通过
IC_Card_ReadResult = JT808ICCardReadResult.read_card_failure_auth
}; };
var hex = JT808Serializer.Serialize(jT808_0X0702).ToHexString(); var hex = JT808Serializer.Serialize(jT808_0X0702).ToHexString();
Assert.Equal("01 18 08 16 09 16 16 01".Replace(" ", ""), hex); Assert.Equal("01 18 08 16 09 16 16 01".Replace(" ", ""), hex);
@@ -48,9 +48,9 @@ namespace JT808.Protocol.Test.MessageBody
{ {
byte[] bytes = "01 18 08 16 09 16 16 01".ToHexBytes(); byte[] bytes = "01 18 08 16 09 16 16 01".ToHexBytes();
JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes); JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes);
Assert.Equal(JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, jT808_0X0702.IC_Card_Status);
Assert.Equal(JT808ICCardStatus.ic_card_into, jT808_0X0702.IC_Card_Status);
Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime); Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime);
Assert.Equal(JT808ICCardReadResult.读卡失败_原因为卡片密钥认证未通过, jT808_0X0702.IC_Card_ReadResult);
Assert.Equal(JT808ICCardReadResult.read_card_failure_auth, jT808_0X0702.IC_Card_ReadResult);
} }


[Fact] [Fact]
@@ -58,9 +58,9 @@ namespace JT808.Protocol.Test.MessageBody
{ {
JT808_0x0702 jT808_0X0702 = new JT808_0x0702 JT808_0x0702 jT808_0X0702 = new JT808_0x0702
{ {
IC_Card_Status = JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班,
IC_Card_Status = JT808ICCardStatus.ic_card_into,
IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16"), IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16"),
IC_Card_ReadResult = JT808ICCardReadResult.IC卡读卡成功,
IC_Card_ReadResult = JT808ICCardReadResult.ic_card_reading_succeeded,
DriverUserName = "koike", DriverUserName = "koike",
QualificationCode = "qwe123456aaa", QualificationCode = "qwe123456aaa",
LicenseIssuing = "qwertx", LicenseIssuing = "qwertx",
@@ -75,9 +75,9 @@ namespace JT808.Protocol.Test.MessageBody
{ {
byte[] bytes = "0118081609161600056B6F696B6571776531323334353661616100000000000000000671776572747820180816".ToHexBytes(); byte[] bytes = "0118081609161600056B6F696B6571776531323334353661616100000000000000000671776572747820180816".ToHexBytes();
JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes); JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes);
Assert.Equal(JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, jT808_0X0702.IC_Card_Status);
Assert.Equal(JT808ICCardStatus.ic_card_into, jT808_0X0702.IC_Card_Status);
Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime); Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime);
Assert.Equal(JT808ICCardReadResult.IC卡读卡成功, jT808_0X0702.IC_Card_ReadResult);
Assert.Equal(JT808ICCardReadResult.ic_card_reading_succeeded, jT808_0X0702.IC_Card_ReadResult);
Assert.Equal("koike", jT808_0X0702.DriverUserName); Assert.Equal("koike", jT808_0X0702.DriverUserName);
Assert.Equal("qwe123456aaa", jT808_0X0702.QualificationCode); Assert.Equal("qwe123456aaa", jT808_0X0702.QualificationCode);
Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing); Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing);
@@ -89,9 +89,9 @@ namespace JT808.Protocol.Test.MessageBody
{ {
JT808_0x0702 jT808_0X0702 = new JT808_0x0702 JT808_0x0702 jT808_0X0702 = new JT808_0x0702
{ {
IC_Card_Status = JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班,
IC_Card_Status = JT808ICCardStatus.ic_card_into,
IC_Card_PlugDateTime = DateTime.Parse("2019-12-01 11:11:11"), IC_Card_PlugDateTime = DateTime.Parse("2019-12-01 11:11:11"),
IC_Card_ReadResult = JT808ICCardReadResult.IC卡读卡成功,
IC_Card_ReadResult = JT808ICCardReadResult.ic_card_reading_succeeded,
DriverUserName = "koike", DriverUserName = "koike",
QualificationCode = "qwe123456aaa", QualificationCode = "qwe123456aaa",
LicenseIssuing = "qwertx", LicenseIssuing = "qwertx",
@@ -108,9 +108,9 @@ namespace JT808.Protocol.Test.MessageBody
{ {
byte[] bytes = "0119120111111100056B6F696B65717765313233343536616161000000000000000006717765727478201912013132333435363738393031323334353637000000".ToHexBytes(); byte[] bytes = "0119120111111100056B6F696B65717765313233343536616161000000000000000006717765727478201912013132333435363738393031323334353637000000".ToHexBytes();
JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes, JT808Version.JTT2019); JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes, JT808Version.JTT2019);
Assert.Equal(JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, jT808_0X0702.IC_Card_Status);
Assert.Equal(JT808ICCardStatus.ic_card_into, jT808_0X0702.IC_Card_Status);
Assert.Equal(DateTime.Parse("2019-12-01 11:11:11"), jT808_0X0702.IC_Card_PlugDateTime); Assert.Equal(DateTime.Parse("2019-12-01 11:11:11"), jT808_0X0702.IC_Card_PlugDateTime);
Assert.Equal(JT808ICCardReadResult.IC卡读卡成功, jT808_0X0702.IC_Card_ReadResult);
Assert.Equal(JT808ICCardReadResult.ic_card_reading_succeeded, jT808_0X0702.IC_Card_ReadResult);
Assert.Equal("koike", jT808_0X0702.DriverUserName); Assert.Equal("koike", jT808_0X0702.DriverUserName);
Assert.Equal("qwe123456aaa", jT808_0X0702.QualificationCode); Assert.Equal("qwe123456aaa", jT808_0X0702.QualificationCode);
Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing); Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing);
@@ -130,9 +130,9 @@ namespace JT808.Protocol.Test.MessageBody
{ {
JT808_0x0702 jT808_0X0702 = new JT808_0x0702 JT808_0x0702 jT808_0X0702 = new JT808_0x0702
{ {
IC_Card_Status = JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班,
IC_Card_Status = JT808ICCardStatus.ic_card_into,
IC_Card_PlugDateTime = DateTime.Parse("2021-05-28 18:11:11"), IC_Card_PlugDateTime = DateTime.Parse("2021-05-28 18:11:11"),
IC_Card_ReadResult = JT808ICCardReadResult.IC卡读卡成功,
IC_Card_ReadResult = JT808ICCardReadResult.ic_card_reading_succeeded,
DriverUserName = "koike", DriverUserName = "koike",
QualificationCode = "qwe123456aaa", QualificationCode = "qwe123456aaa",
LicenseIssuing = "qwertx", LicenseIssuing = "qwertx",
@@ -150,9 +150,9 @@ namespace JT808.Protocol.Test.MessageBody
{ {
byte[] bytes = "0121052818111100056B6F696B65000000000000000071776531323334353661616106717765727478202105280000003132333435363738393031323334353637630000003132333435363738393031323334353637".ToHexBytes(); byte[] bytes = "0121052818111100056B6F696B65000000000000000071776531323334353661616106717765727478202105280000003132333435363738393031323334353637630000003132333435363738393031323334353637".ToHexBytes();
JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes, JT808Version.JTT2019); JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes, JT808Version.JTT2019);
Assert.Equal(JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, jT808_0X0702.IC_Card_Status);
Assert.Equal(JT808ICCardStatus.ic_card_into, jT808_0X0702.IC_Card_Status);
Assert.Equal(DateTime.Parse("2021-05-28 18:11:11"), jT808_0X0702.IC_Card_PlugDateTime); Assert.Equal(DateTime.Parse("2021-05-28 18:11:11"), jT808_0X0702.IC_Card_PlugDateTime);
Assert.Equal(JT808ICCardReadResult.IC卡读卡成功, jT808_0X0702.IC_Card_ReadResult);
Assert.Equal(JT808ICCardReadResult.ic_card_reading_succeeded, jT808_0X0702.IC_Card_ReadResult);
Assert.Equal("koike", jT808_0X0702.DriverUserName); Assert.Equal("koike", jT808_0X0702.DriverUserName);
Assert.Equal("qwe123456aaa", jT808_0X0702.QualificationCode); Assert.Equal("qwe123456aaa", jT808_0X0702.QualificationCode);
Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing); Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing);


+ 4
- 4
src/JT808.Protocol.Test/MessageBody/JT808_0x0801Test.cs Просмотреть файл

@@ -27,7 +27,7 @@ namespace JT808.Protocol.Test.MessageBody
JT808_0x0801 jT808_0X0801 = new JT808_0x0801 JT808_0x0801 jT808_0X0801 = new JT808_0x0801
{ {
ChannelId = 123, ChannelId = 123,
EventItemCoding = JT808EventItemCoding.定时动作.ToByteValue(),
EventItemCoding = JT808EventItemCoding.regular_action.ToByteValue(),
MultimediaCodingFormat = JT808MultimediaCodingFormat.JPEG.ToByteValue(), MultimediaCodingFormat = JT808MultimediaCodingFormat.JPEG.ToByteValue(),
MultimediaId = 2567, MultimediaId = 2567,
MultimediaType = JT808MultimediaType.图像.ToByteValue(), MultimediaType = JT808MultimediaType.图像.ToByteValue(),
@@ -54,7 +54,7 @@ namespace JT808.Protocol.Test.MessageBody
byte[] bytes = "00000A070000017B000000010000000200BA7F0E07E4F11C0028003C000018111523261001020304".ToHexBytes(); byte[] bytes = "00000A070000017B000000010000000200BA7F0E07E4F11C0028003C000018111523261001020304".ToHexBytes();
JT808_0x0801 jT808_0X0801 = JT808Serializer.Deserialize<JT808_0x0801>(bytes); JT808_0x0801 jT808_0X0801 = JT808Serializer.Deserialize<JT808_0x0801>(bytes);
Assert.Equal(123, jT808_0X0801.ChannelId); Assert.Equal(123, jT808_0X0801.ChannelId);
Assert.Equal(JT808EventItemCoding.定时动作.ToByteValue(), jT808_0X0801.EventItemCoding);
Assert.Equal(JT808EventItemCoding.regular_action.ToByteValue(), jT808_0X0801.EventItemCoding);
Assert.Equal(JT808MultimediaCodingFormat.JPEG.ToByteValue(), jT808_0X0801.MultimediaCodingFormat); Assert.Equal(JT808MultimediaCodingFormat.JPEG.ToByteValue(), jT808_0X0801.MultimediaCodingFormat);
Assert.Equal((uint)2567, jT808_0X0801.MultimediaId); Assert.Equal((uint)2567, jT808_0X0801.MultimediaId);
Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0801.MultimediaType); Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0801.MultimediaType);
@@ -104,7 +104,7 @@ namespace JT808.Protocol.Test.MessageBody
JT808_0x0801 jT808_0X0801 = new JT808_0x0801 JT808_0x0801 jT808_0X0801 = new JT808_0x0801
{ {
ChannelId = 123, ChannelId = 123,
EventItemCoding = JT808EventItemCoding.定时动作.ToByteValue(),
EventItemCoding = JT808EventItemCoding.regular_action.ToByteValue(),
MultimediaCodingFormat = JT808MultimediaCodingFormat.JPEG.ToByteValue(), MultimediaCodingFormat = JT808MultimediaCodingFormat.JPEG.ToByteValue(),
MultimediaId = 2567, MultimediaId = 2567,
MultimediaType = JT808MultimediaType.图像.ToByteValue(), MultimediaType = JT808MultimediaType.图像.ToByteValue(),
@@ -120,7 +120,7 @@ namespace JT808.Protocol.Test.MessageBody
byte[] bytes = "00000A070000017B01020304".ToHexBytes(); byte[] bytes = "00000A070000017B01020304".ToHexBytes();
JT808_0x0801 jT808_0X0801 = JT808Serializer.Deserialize<JT808_0x0801>(bytes); JT808_0x0801 jT808_0X0801 = JT808Serializer.Deserialize<JT808_0x0801>(bytes);
Assert.Equal(123, jT808_0X0801.ChannelId); Assert.Equal(123, jT808_0X0801.ChannelId);
Assert.Equal(JT808EventItemCoding.定时动作.ToByteValue(), jT808_0X0801.EventItemCoding);
Assert.Equal(JT808EventItemCoding.regular_action.ToByteValue(), jT808_0X0801.EventItemCoding);
Assert.Equal(JT808MultimediaCodingFormat.JPEG.ToByteValue(), jT808_0X0801.MultimediaCodingFormat); Assert.Equal(JT808MultimediaCodingFormat.JPEG.ToByteValue(), jT808_0X0801.MultimediaCodingFormat);
Assert.Equal((uint)2567, jT808_0X0801.MultimediaId); Assert.Equal((uint)2567, jT808_0X0801.MultimediaId);
Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0801.MultimediaType); Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0801.MultimediaType);


+ 8
- 8
src/JT808.Protocol.Test/MessageBody/JT808_0x0802Test.cs Просмотреть файл

@@ -23,7 +23,7 @@ namespace JT808.Protocol.Test.MessageBody
jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty() jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty()
{ {
ChannelId = 123, ChannelId = 123,
EventItemCoding = JT808EventItemCoding.定时动作.ToByteValue(),
EventItemCoding = JT808EventItemCoding.regular_action.ToByteValue(),
MultimediaId = 258, MultimediaId = 258,
MultimediaType = JT808MultimediaType.图像.ToByteValue(), MultimediaType = JT808MultimediaType.图像.ToByteValue(),
Position = new JT808_0x0200() Position = new JT808_0x0200()
@@ -42,7 +42,7 @@ namespace JT808.Protocol.Test.MessageBody
jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty() jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty()
{ {
ChannelId = 124, ChannelId = 124,
EventItemCoding = JT808EventItemCoding.平台下发指令.ToByteValue(),
EventItemCoding = JT808EventItemCoding.platform_delivery_order.ToByteValue(),
MultimediaId = 259, MultimediaId = 259,
MultimediaType = JT808MultimediaType.视频.ToByteValue(), MultimediaType = JT808MultimediaType.视频.ToByteValue(),
Position = new JT808_0x0200() Position = new JT808_0x0200()
@@ -72,7 +72,7 @@ namespace JT808.Protocol.Test.MessageBody




Assert.Equal(123, jT808_0X0802.MultimediaSearchItems[0].ChannelId); Assert.Equal(123, jT808_0X0802.MultimediaSearchItems[0].ChannelId);
Assert.Equal(JT808EventItemCoding.定时动作.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].EventItemCoding);
Assert.Equal(JT808EventItemCoding.regular_action.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].EventItemCoding);
Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].MultimediaType); Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].MultimediaType);
Assert.Equal((uint)258, jT808_0X0802.MultimediaSearchItems[0].MultimediaId); Assert.Equal((uint)258, jT808_0X0802.MultimediaSearchItems[0].MultimediaId);


@@ -86,7 +86,7 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal((uint)2, jT808_0X0802.MultimediaSearchItems[0].Position.StatusFlag); Assert.Equal((uint)2, jT808_0X0802.MultimediaSearchItems[0].Position.StatusFlag);


Assert.Equal(124, jT808_0X0802.MultimediaSearchItems[1].ChannelId); Assert.Equal(124, jT808_0X0802.MultimediaSearchItems[1].ChannelId);
Assert.Equal(JT808EventItemCoding.平台下发指令.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].EventItemCoding);
Assert.Equal(JT808EventItemCoding.platform_delivery_order.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].EventItemCoding);
Assert.Equal(JT808MultimediaType.视频.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].MultimediaType); Assert.Equal(JT808MultimediaType.视频.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].MultimediaType);
Assert.Equal((uint)259, jT808_0X0802.MultimediaSearchItems[1].MultimediaId); Assert.Equal((uint)259, jT808_0X0802.MultimediaSearchItems[1].MultimediaId);


@@ -119,7 +119,7 @@ namespace JT808.Protocol.Test.MessageBody
jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty() jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty()
{ {
ChannelId = 123, ChannelId = 123,
EventItemCoding = JT808EventItemCoding.定时动作.ToByteValue(),
EventItemCoding = JT808EventItemCoding.regular_action.ToByteValue(),
MultimediaType = JT808MultimediaType.图像.ToByteValue(), MultimediaType = JT808MultimediaType.图像.ToByteValue(),
Position = new JT808_0x0200() Position = new JT808_0x0200()
{ {
@@ -137,7 +137,7 @@ namespace JT808.Protocol.Test.MessageBody
jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty() jT808_0X0802.MultimediaSearchItems.Add(new JT808MultimediaSearchProperty()
{ {
ChannelId = 124, ChannelId = 124,
EventItemCoding = JT808EventItemCoding.平台下发指令.ToByteValue(),
EventItemCoding = JT808EventItemCoding.platform_delivery_order.ToByteValue(),
MultimediaType = JT808MultimediaType.视频.ToByteValue(), MultimediaType = JT808MultimediaType.视频.ToByteValue(),
Position = new JT808_0x0200() Position = new JT808_0x0200()
{ {
@@ -166,7 +166,7 @@ namespace JT808.Protocol.Test.MessageBody




Assert.Equal(123, jT808_0X0802.MultimediaSearchItems[0].ChannelId); Assert.Equal(123, jT808_0X0802.MultimediaSearchItems[0].ChannelId);
Assert.Equal(JT808EventItemCoding.定时动作.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].EventItemCoding);
Assert.Equal(JT808EventItemCoding.regular_action.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].EventItemCoding);
Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].MultimediaType); Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X0802.MultimediaSearchItems[0].MultimediaType);


Assert.Equal((uint)1, jT808_0X0802.MultimediaSearchItems[0].Position.AlarmFlag); Assert.Equal((uint)1, jT808_0X0802.MultimediaSearchItems[0].Position.AlarmFlag);
@@ -179,7 +179,7 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal((uint)2, jT808_0X0802.MultimediaSearchItems[0].Position.StatusFlag); Assert.Equal((uint)2, jT808_0X0802.MultimediaSearchItems[0].Position.StatusFlag);


Assert.Equal(124, jT808_0X0802.MultimediaSearchItems[1].ChannelId); Assert.Equal(124, jT808_0X0802.MultimediaSearchItems[1].ChannelId);
Assert.Equal(JT808EventItemCoding.平台下发指令.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].EventItemCoding);
Assert.Equal(JT808EventItemCoding.platform_delivery_order.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].EventItemCoding);
Assert.Equal(JT808MultimediaType.视频.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].MultimediaType); Assert.Equal(JT808MultimediaType.视频.ToByteValue(), jT808_0X0802.MultimediaSearchItems[1].MultimediaType);


Assert.Equal((uint)1, jT808_0X0802.MultimediaSearchItems[1].Position.AlarmFlag); Assert.Equal((uint)1, jT808_0X0802.MultimediaSearchItems[1].Position.AlarmFlag);


+ 2
- 2
src/JT808.Protocol.Test/MessageBody/JT808_0x8301Test.cs Просмотреть файл

@@ -15,7 +15,7 @@ namespace JT808.Protocol.Test.MessageBody
{ {
JT808_0x8301 jT808_0X8301 = new JT808_0x8301 JT808_0x8301 jT808_0X8301 = new JT808_0x8301
{ {
SettingType = JT808EventSettingType.删除终端现有所有事件_该命令后不带后继字节.ToByteValue(),
SettingType = JT808EventSettingType.delete_terminal_all_existing_events.ToByteValue(),
EventItems = new List<JT808EventProperty>() EventItems = new List<JT808EventProperty>()
}; };
jT808_0X8301.EventItems.Add(new JT808EventProperty jT808_0X8301.EventItems.Add(new JT808EventProperty
@@ -38,7 +38,7 @@ namespace JT808.Protocol.Test.MessageBody
{ {
byte[] bytes = "000201063132333435360206373839343536".ToHexBytes(); byte[] bytes = "000201063132333435360206373839343536".ToHexBytes();
JT808_0x8301 jT808_0X8301 = JT808Serializer.Deserialize<JT808_0x8301>(bytes); JT808_0x8301 jT808_0X8301 = JT808Serializer.Deserialize<JT808_0x8301>(bytes);
Assert.Equal(JT808EventSettingType.删除终端现有所有事件_该命令后不带后继字节.ToByteValue(), jT808_0X8301.SettingType);
Assert.Equal(JT808EventSettingType.delete_terminal_all_existing_events.ToByteValue(), jT808_0X8301.SettingType);
Assert.Equal(2, jT808_0X8301.SettingCount); Assert.Equal(2, jT808_0X8301.SettingCount);
Assert.Equal(1, jT808_0X8301.EventItems[0].EventId); Assert.Equal(1, jT808_0X8301.EventItems[0].EventId);


+ 2
- 2
src/JT808.Protocol.Test/MessageBody/JT808_0x8303Test.cs Просмотреть файл

@@ -15,7 +15,7 @@ namespace JT808.Protocol.Test.MessageBody
{ {
JT808_0x8303 jT808_0X8303 = new JT808_0x8303 JT808_0x8303 jT808_0X8303 = new JT808_0x8303
{ {
SettingType = JT808InformationSettingType.删除终端全部信息项.ToByteValue(),
SettingType = JT808InformationSettingType.delete_all_items.ToByteValue(),
InformationItems = new List<JT808InformationItemProperty>() InformationItems = new List<JT808InformationItemProperty>()
}; };
jT808_0X8303.InformationItems.Add(new JT808InformationItemProperty jT808_0X8303.InformationItems.Add(new JT808InformationItemProperty
@@ -37,7 +37,7 @@ namespace JT808.Protocol.Test.MessageBody
{ {
byte[] bytes = "00020B0009736D616C6C63686931160009736D616C6C63686932".ToHexBytes(); byte[] bytes = "00020B0009736D616C6C63686931160009736D616C6C63686932".ToHexBytes();
JT808_0x8303 jT808_0X8303 = JT808Serializer.Deserialize<JT808_0x8303>(bytes); JT808_0x8303 jT808_0X8303 = JT808Serializer.Deserialize<JT808_0x8303>(bytes);
Assert.Equal(JT808InformationSettingType.删除终端全部信息项.ToByteValue(), jT808_0X8303.SettingType);
Assert.Equal(JT808InformationSettingType.delete_all_items.ToByteValue(), jT808_0X8303.SettingType);


Assert.Equal(11, jT808_0X8303.InformationItems[0].InformationType); Assert.Equal(11, jT808_0X8303.InformationItems[0].InformationType);
Assert.Equal("smallchi1", jT808_0X8303.InformationItems[0].InformationName); Assert.Equal("smallchi1", jT808_0X8303.InformationItems[0].InformationName);


+ 2
- 2
src/JT808.Protocol.Test/MessageBody/JT808_0x8400Test.cs Просмотреть файл

@@ -12,7 +12,7 @@ namespace JT808.Protocol.Test.MessageBody
{ {
JT808_0x8400 jT808_0X8400 = new JT808_0x8400 JT808_0x8400 jT808_0X8400 = new JT808_0x8400
{ {
CallBack = Enums.JT808CallBackType.普通通话,
CallBack = Enums.JT808CallBackType.normal_call,
PhoneNumber = "12345679810" PhoneNumber = "12345679810"
}; };
var hex = JT808Serializer.Serialize(jT808_0X8400).ToHexString(); var hex = JT808Serializer.Serialize(jT808_0X8400).ToHexString();
@@ -24,7 +24,7 @@ namespace JT808.Protocol.Test.MessageBody
{ {
var bytes = "00 31 32 33 34 35 36 37 39 38 31 30".ToHexBytes(); var bytes = "00 31 32 33 34 35 36 37 39 38 31 30".ToHexBytes();
JT808_0x8400 jT808_0X8400 = JT808Serializer.Deserialize<JT808_0x8400>(bytes); JT808_0x8400 jT808_0X8400 = JT808Serializer.Deserialize<JT808_0x8400>(bytes);
Assert.Equal(Enums.JT808CallBackType.普通通话, jT808_0X8400.CallBack);
Assert.Equal(Enums.JT808CallBackType.normal_call, jT808_0X8400.CallBack);
Assert.Equal("12345679810", jT808_0X8400.PhoneNumber); Assert.Equal("12345679810", jT808_0X8400.PhoneNumber);
} }




+ 2
- 2
src/JT808.Protocol.Test/MessageBody/JT808_0x8802Test.cs Просмотреть файл

@@ -15,7 +15,7 @@ namespace JT808.Protocol.Test.MessageBody
JT808_0x8802 jT808_0X8802 = new JT808_0x8802 JT808_0x8802 jT808_0X8802 = new JT808_0x8802
{ {
ChannelId = 123, ChannelId = 123,
EventItemCoding = JT808EventItemCoding.碰撞侧翻报警触发.ToByteValue(),
EventItemCoding = JT808EventItemCoding.collision_rollover_alarm_triggered.ToByteValue(),
MultimediaType = JT808MultimediaType.视频.ToByteValue(), MultimediaType = JT808MultimediaType.视频.ToByteValue(),
StartTime = DateTime.Parse("2018-11-16 21:00:08"), StartTime = DateTime.Parse("2018-11-16 21:00:08"),
EndTime = DateTime.Parse("2018-11-16 22:00:08") EndTime = DateTime.Parse("2018-11-16 22:00:08")
@@ -30,7 +30,7 @@ namespace JT808.Protocol.Test.MessageBody
byte[] bytes = "027B03181116210008181116220008".ToHexBytes(); byte[] bytes = "027B03181116210008181116220008".ToHexBytes();
JT808_0x8802 jT808_0X8802 = JT808Serializer.Deserialize<JT808_0x8802>(bytes); JT808_0x8802 jT808_0X8802 = JT808Serializer.Deserialize<JT808_0x8802>(bytes);
Assert.Equal(123, jT808_0X8802.ChannelId); Assert.Equal(123, jT808_0X8802.ChannelId);
Assert.Equal(JT808EventItemCoding.碰撞侧翻报警触发.ToByteValue(), jT808_0X8802.EventItemCoding);
Assert.Equal(JT808EventItemCoding.collision_rollover_alarm_triggered.ToByteValue(), jT808_0X8802.EventItemCoding);
Assert.Equal(JT808MultimediaType.视频.ToByteValue(), jT808_0X8802.MultimediaType); Assert.Equal(JT808MultimediaType.视频.ToByteValue(), jT808_0X8802.MultimediaType);
Assert.Equal(DateTime.Parse("2018-11-16 21:00:08"), jT808_0X8802.StartTime); Assert.Equal(DateTime.Parse("2018-11-16 21:00:08"), jT808_0X8802.StartTime);
Assert.Equal(DateTime.Parse("2018-11-16 22:00:08"), jT808_0X8802.EndTime); Assert.Equal(DateTime.Parse("2018-11-16 22:00:08"), jT808_0X8802.EndTime);


+ 2
- 2
src/JT808.Protocol.Test/MessageBody/JT808_0x8803Test.cs Просмотреть файл

@@ -15,7 +15,7 @@ namespace JT808.Protocol.Test.MessageBody
JT808_0x8803 jT808_0X8803 = new JT808_0x8803 JT808_0x8803 jT808_0X8803 = new JT808_0x8803
{ {
ChannelId = 128, ChannelId = 128,
EventItemCoding = JT808EventItemCoding.平台下发指令.ToByteValue(),
EventItemCoding = JT808EventItemCoding.platform_delivery_order.ToByteValue(),
MultimediaDeleted = JT808MultimediaDeleted.删除.ToByteValue(), MultimediaDeleted = JT808MultimediaDeleted.删除.ToByteValue(),
MultimediaType = JT808MultimediaType.图像.ToByteValue(), MultimediaType = JT808MultimediaType.图像.ToByteValue(),
StartTime = DateTime.Parse("2018-11-16 22:00:21"), StartTime = DateTime.Parse("2018-11-16 22:00:21"),
@@ -31,7 +31,7 @@ namespace JT808.Protocol.Test.MessageBody
byte[] bytes = "00800018111622002118111623002101".ToHexBytes(); byte[] bytes = "00800018111622002118111623002101".ToHexBytes();
JT808_0x8803 jT808_0X8803 = JT808Serializer.Deserialize<JT808_0x8803>(bytes); JT808_0x8803 jT808_0X8803 = JT808Serializer.Deserialize<JT808_0x8803>(bytes);
Assert.Equal(128, jT808_0X8803.ChannelId); Assert.Equal(128, jT808_0X8803.ChannelId);
Assert.Equal(JT808EventItemCoding.平台下发指令.ToByteValue(), jT808_0X8803.EventItemCoding);
Assert.Equal(JT808EventItemCoding.platform_delivery_order.ToByteValue(), jT808_0X8803.EventItemCoding);
Assert.Equal(JT808MultimediaDeleted.删除.ToByteValue(), jT808_0X8803.MultimediaDeleted); Assert.Equal(JT808MultimediaDeleted.删除.ToByteValue(), jT808_0X8803.MultimediaDeleted);
Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X8803.MultimediaType); Assert.Equal(JT808MultimediaType.图像.ToByteValue(), jT808_0X8803.MultimediaType);
Assert.Equal(DateTime.Parse("2018-11-16 22:00:21"), jT808_0X8803.StartTime); Assert.Equal(DateTime.Parse("2018-11-16 22:00:21"), jT808_0X8803.StartTime);


+ 92
- 89
src/JT808.Protocol/Enums/JT808Alarm.cs Просмотреть файл

@@ -6,166 +6,169 @@ namespace JT808.Protocol.Enums
{ {
/// <summary> /// <summary>
/// 报警标志 /// 报警标志
/// Alarm Flag
/// </summary> /// </summary>
[Flags] [Flags]
public enum JT808Alarm : uint public enum JT808Alarm : uint
{ {
/// <summary> /// <summary>
/// 紧急报警_触动报警开关后触发 /// 紧急报警_触动报警开关后触发
/// 收到应答后清零
/// The emergency alarm is triggered after the alarm switch is touched
/// </summary> /// </summary>
紧急报警_触动报警开关后触发 = 1,
emergency_alarm = 1,
/// <summary> /// <summary>
/// 超速报警
/// 标志维持至报警条件解除
/// 超速报警 标志维持至报警条件解除
/// Overspeed alarm
/// </summary> /// </summary>
超速报警 = 2,
/// <summary>
/// 标志维持至报警条件解除
/// 疲劳驾驶
overspeed_alarm = 2,
/// <summary>
/// 疲劳驾驶 标志维持至报警条件解除
/// fatigue driving
/// </summary> /// </summary>
疲劳驾驶 = 4,
fatigue_driving = 4,
/// <summary> /// <summary>
/// 危险预警
/// 收到应答后清零
/// 危险预警 标志维持至报警条件解除
/// danger warning
/// </summary> /// </summary>
危险预警 = 8,
danger_warning = 8,
/// <summary> /// <summary>
/// GNSS模块发生故障
/// 标志维持至报警条件解除
/// GNSS模块发生故障 标志维持至报警条件解除
/// The GNSS module is faulty
/// </summary> /// </summary>
GNSS模块发生故障 = 16,
gnss_module_fault = 16,
/// <summary> /// <summary>
/// GNSS天线未接或被剪断
/// 标志维持至报警条件解除
/// GNSS天线未接或被剪断 标志维持至报警条件解除
/// The GNSS antenna is not connected or cut off
/// </summary> /// </summary>
GNSS天线未接或被剪断 = 32,
gnss_ant_not_connected = 32,
/// <summary> /// <summary>
/// GNSS天线短路
/// 标志维持至报警条件解除
/// GNSS天线短路 标志维持至报警条件解除
/// GNSS antenna short-circuited
/// </summary> /// </summary>
GNSS天线短路 = 64,
gnss_ant_short = 64,
/// <summary> /// <summary>
/// 终端主电源欠压
/// 标志维持至报警条件解除
/// 终端主电源欠压 标志维持至报警条件解除
/// The main power supply of the terminal is undervoltage
/// </summary> /// </summary>
终端主电源欠压 = 128,
terminal_main_power_undervoltage = 128,
/// <summary> /// <summary>
/// 终端主电源掉电
/// 标志维持至报警条件解除
/// 终端主电源掉电 标志维持至报警条件解除
/// The main power supply of the terminal fails
/// </summary> /// </summary>
终端主电源掉电 = 256,
terminal_main_power_down = 256,
/// <summary> /// <summary>
/// 终端LCD或显示器故障
/// 标志维持至报警条件解除
/// 终端LCD或显示器故障 标志维持至报警条件解除
/// The LCD or monitor of the terminal is faulty
/// </summary> /// </summary>
终端LCD或显示器故障 = 512,
terminal_display_fault = 512,
/// <summary> /// <summary>
/// TTS模块故障
/// 标志维持至报警条件解除
/// TTS模块故障 标志维持至报警条件解除
/// The TTS module is faulty
/// </summary> /// </summary>
TTS模块故障 = 1024,
tts_module_fault = 1024,
/// <summary> /// <summary>
/// 摄像头故障
/// 标志维持至报警条件解除
/// 摄像头故障 标志维持至报警条件解除
/// Camera fault
/// </summary> /// </summary>
摄像头故障 = 2048,
camera_fault = 2048,
/// <summary> /// <summary>
/// 道路运输证IC卡模块故障
/// 标志维持至报警条件解除
/// 道路运输证IC卡模块故障 标志维持至报警条件解除
/// The IC card module of the road transport certificate is faulty
/// </summary> /// </summary>
道路运输证IC卡模块故障 = 4096,
road_transport_cert_ic_card_module_fault = 4096,
/// <summary> /// <summary>
/// 超速预警
/// 标志维持至报警条件解除
/// 超速预警 标志维持至报警条件解除
/// Overspeed warning
/// </summary> /// </summary>
超速预警 = 8192,
overspeed_warning = 8192,
/// <summary> /// <summary>
/// 疲劳驾驶预警
/// 标志维持至报警条件解除
/// 疲劳驾驶预警 标志维持至报警条件解除
/// Fatigue driving warning
/// </summary> /// </summary>
疲劳驾驶预警 = 16384,
fatigue_driving_warning = 16384,
/// <summary> /// <summary>
/// 保留1 /// 保留1
/// reserve1
/// </summary> /// </summary>
保留1 = 32768,
reserve1 = 32768,
/// <summary> /// <summary>
/// 保留2 /// 保留2
/// reserve2
/// </summary> /// </summary>
保留2 = 65536,
reserve2 = 65536,
/// <summary> /// <summary>
/// 保留3 /// 保留3
/// reserve3
/// </summary> /// </summary>
保留3 = 131072,
reserve3 = 131072,
/// <summary> /// <summary>
/// 当天累计驾驶超时
/// 标志维持至报警条件解除
/// 当天累计驾驶超时 标志维持至报警条件解除
/// Accumulated driving overtime that day
/// </summary> /// </summary>
当天累计驾驶超时 = 262144,
day_accumulated_driving_timeout = 262144,
/// <summary> /// <summary>
/// 超时停车
/// 标志维持至报警条件解除
/// 超时停车 标志维持至报警条件解除
/// Timeout parking
/// </summary> /// </summary>
超时停车 = 524288,
timeout_parking = 524288,
/// <summary> /// <summary>
/// 进出区域
/// 收到应答后清零
/// 进出区域 收到应答后清零
/// In and out of the area
/// </summary> /// </summary>
进出区域 = 1048576,
in_area = 1048576,
/// <summary> /// <summary>
/// 进出路线
/// 收到应答后清零
/// 进出路线 收到应答后清零
/// </summary> /// </summary>
进出路线 = 2097152,
in_route = 2097152,
/// <summary> /// <summary>
/// 路段行驶时间不足或过长
/// 收到应答后清零
/// 路段行驶时间不足或过长 收到应答后清零
/// Road section driving time is insufficient or too long
/// </summary> /// </summary>
路段行驶时间不足或过长 = 4194304,
road_driving_time_insufficient = 4194304,
/// <summary> /// <summary>
/// 路线偏离报警
/// 标志维持至报警条件解除
/// 路线偏离报警 标志维持至报警条件解除
/// Route deviation alarm
/// </summary> /// </summary>
路线偏离报警 = 8388608,
route_deviation_alarm = 8388608,
/// <summary> /// <summary>
/// 车辆VSS故障
/// 标志维持至报警条件解除
/// 车辆VSS故障 标志维持至报警条件解除
/// VSS of the vehicle is faulty
/// </summary> /// </summary>
车辆VSS故障 = 16777216,
vehicle_vss_fault = 16777216,
/// <summary> /// <summary>
/// 车辆油量异常
/// 标志维持至报警条件解除
/// 车辆油量异常 标志维持至报警条件解除
/// Abnormal vehicle fuel level
/// </summary> /// </summary>
车辆油量异常 = 33554432,
vehicle_fuel_abnormal = 33554432,
/// <summary> /// <summary>
/// 车辆被盗通过车辆防盗器
/// 标志维持至报警条件解除
/// 车辆被盗通过车辆防盗器 标志维持至报警条件解除
/// The vehicle is stolen
/// </summary> /// </summary>
车辆被盗 = 67108864,
vehicle_stolen = 67108864,
/// <summary> /// <summary>
/// 车辆非法点火 /// 车辆非法点火
/// Illegal ignition of vehicles
/// </summary> /// </summary>
车辆非法点火 = 134217728,
vehicle_illegal_ignition = 134217728,
/// <summary> /// <summary>
/// 车辆非法位移
/// 收到应答后清零
/// 车辆非法位移 收到应答后清零
/// Illegal displacement of vehicle
/// </summary> /// </summary>
车辆非法位移 = 268435456,
vehicle_illegal_displacement = 268435456,
/// <summary> /// <summary>
/// 碰撞预警
/// 标志维持至报警条件解除
/// 碰撞预警 标志维持至报警条件解除
/// collision Warning
/// </summary> /// </summary>
碰撞预警 = 536870912,
collision_warning = 536870912,
/// <summary> /// <summary>
/// 侧翻预警
/// 标志维持至报警条件解除
/// 侧翻预警 标志维持至报警条件解除
/// rollover warning
/// </summary> /// </summary>
侧翻预警 = 1073741824,
rollover_warning = 1073741824,
/// <summary> /// <summary>
/// 非法开门报警
/// (终端未设置区域时,不判断非法开门)
/// 收到应答后清零
/// 非法开门报警(终端未设置区域时,不判断非法开门) 收到应答后清零
/// Illegal door opening alarm
/// </summary> /// </summary>
非法开门报警 = 2147483648
illegal_opening_door_alarm = 2147483648
} }
} }

+ 5
- 2
src/JT808.Protocol/Enums/JT808CallBackType.cs Просмотреть файл

@@ -2,16 +2,19 @@
{ {
/// <summary> /// <summary>
/// 电话回拨类型 /// 电话回拨类型
/// Callback type
/// </summary> /// </summary>
public enum JT808CallBackType : byte public enum JT808CallBackType : byte
{ {
/// <summary> /// <summary>
/// 普通通话 /// 普通通话
/// normal call
/// </summary> /// </summary>
普通通话 = 0,
normal_call = 0,
/// <summary> /// <summary>
/// 监听 /// 监听
/// cue
/// </summary> /// </summary>
监听 = 1
cue = 1
} }
} }

+ 1
- 0
src/JT808.Protocol/Enums/JT808CameraResolutionType.cs Просмотреть файл

@@ -6,6 +6,7 @@ namespace JT808.Protocol.Enums
{ {
/// <summary> /// <summary>
/// 摄像头分辨率 /// 摄像头分辨率
/// Camera resolution
/// </summary> /// </summary>
public enum JT808CameraResolutionType:byte public enum JT808CameraResolutionType:byte
{ {


+ 31
- 15
src/JT808.Protocol/Enums/JT808CarSignalStatus.cs Просмотреть файл

@@ -4,69 +4,85 @@ namespace JT808.Protocol.Enums
{ {
/// <summary> /// <summary>
/// 扩展车辆信号状态位 /// 扩展车辆信号状态位
/// Extended vehicle signal status bits
/// </summary> /// </summary>
[Flags] [Flags]
public enum JT808CarSignalStatus : uint public enum JT808CarSignalStatus : uint
{ {
/// <summary> /// <summary>
/// 开启近光信号灯 /// 开启近光信号灯
/// Close light signal
/// </summary> /// </summary>
近光灯信号 = 1,
close_light_signal = 1,
/// <summary> /// <summary>
/// 远光灯信号 /// 远光灯信号
/// High beam signal
/// </summary> /// </summary>
远光灯信号 = 2,
high_beam_signal = 2,
/// <summary> /// <summary>
/// 右转向灯信号 /// 右转向灯信号
/// Right turn signal
/// </summary> /// </summary>
右转向灯信号 = 4,
right_turn_signal = 4,
/// <summary> /// <summary>
/// 左转向灯信号 /// 左转向灯信号
/// Left turn signal
/// </summary> /// </summary>
左转向灯信号 = 8,
left_turn_signal = 8,
/// <summary> /// <summary>
/// 制动信号 /// 制动信号
/// brake signal
/// </summary> /// </summary>
制动信号 = 16,
brake_signal = 16,
/// <summary> /// <summary>
/// 倒档信号 /// 倒档信号
/// Reverse signals
/// </summary> /// </summary>
倒档信号 = 32,
reverse_signals = 32,
/// <summary> /// <summary>
/// 雾灯信号 /// 雾灯信号
/// The fog light signal
/// </summary> /// </summary>
雾灯信号 = 64,
fog_light_signal = 64,
/// <summary> /// <summary>
/// 示廓灯 /// 示廓灯
/// Clearance Lamp
/// </summary> /// </summary>
示廓灯 = 128,
clearance_lamp = 128,
/// <summary> /// <summary>
/// 喇叭信号 /// 喇叭信号
/// horn signal
/// </summary> /// </summary>
喇叭信号 = 256,
horn_signal = 256,
/// <summary> /// <summary>
/// 空调状态 /// 空调状态
/// Air condition status
/// </summary> /// </summary>
空调状态 = 512,
air_condition_status = 512,
/// <summary> /// <summary>
/// 空挡信号 /// 空挡信号
/// Neutral signal
/// </summary> /// </summary>
空挡信号 = 1024,
neutral_signal = 1024,
/// <summary> /// <summary>
/// 缓速器工作 /// 缓速器工作
/// Retarder working
/// </summary> /// </summary>
缓速器工作 = 2048,
retarder_working = 2048,
/// <summary> /// <summary>
/// ABS工作 /// ABS工作
/// abs_working
/// </summary> /// </summary>
ABS工作 = 4096,
abs_working = 4096,
/// <summary> /// <summary>
/// 加热器工作 /// 加热器工作
/// Heater operation
/// </summary> /// </summary>
加热器工作 = 8192,
heater_operation = 8192,
/// <summary> /// <summary>
/// 离合器状态 /// 离合器状态
/// Clutch condition
/// </summary> /// </summary>
离合器状态 = 16384,
clutch_condition = 16384,
} }
} }

+ 3
- 2
src/JT808.Protocol/Enums/JT808DirectionType.cs Просмотреть файл

@@ -2,16 +2,17 @@
{ {
/// <summary> /// <summary>
/// 方向类型 /// 方向类型
/// Direction Type
/// </summary> /// </summary>
public enum JT808DirectionType : byte public enum JT808DirectionType : byte
{ {
/// <summary> /// <summary>
/// 进 /// 进
/// </summary> /// </summary>
= 0,
direction_in = 0,
/// <summary> /// <summary>
/// 出 /// 出
/// </summary> /// </summary>
= 1
direction_out = 1
} }
} }

+ 5
- 2
src/JT808.Protocol/Enums/JT808DrivenRouteType.cs Просмотреть файл

@@ -2,16 +2,19 @@
{ {
/// <summary> /// <summary>
/// 路线行驶返回结果 /// 路线行驶返回结果
/// Route driving returns results
/// </summary> /// </summary>
public enum JT808DrivenRouteType public enum JT808DrivenRouteType
{ {
/// <summary> /// <summary>
/// 不足 /// 不足
/// insufficient
/// </summary> /// </summary>
不足 = 0,
insufficient = 0,
/// <summary> /// <summary>
/// 过长 /// 过长
/// overlength
/// </summary> /// </summary>
过长 = 1
overlength = 1
} }
} }

+ 3
- 0
src/JT808.Protocol/Enums/JT808EncryptMethod.cs Просмотреть файл

@@ -2,15 +2,18 @@
{ {
/// <summary> /// <summary>
/// JT808加密选项 /// JT808加密选项
/// Encryption Options
/// </summary> /// </summary>
public enum JT808EncryptMethod public enum JT808EncryptMethod
{ {
/// <summary> /// <summary>
/// 未加密 /// 未加密
/// None
/// </summary> /// </summary>
None, None,
/// <summary> /// <summary>
/// RSA加密 /// RSA加密
/// RSA encrypt
/// </summary> /// </summary>
RSA RSA
} }


+ 3
- 2
src/JT808.Protocol/Enums/JT808ErrorCode.cs Просмотреть файл

@@ -2,6 +2,7 @@
{ {
/// <summary> /// <summary>
/// 异常错误码 /// 异常错误码
/// Exception error code
/// </summary> /// </summary>
public enum JT808ErrorCode public enum JT808ErrorCode
{ {
@@ -34,8 +35,8 @@
/// </summary> /// </summary>
NotEnoughLength = 1007, NotEnoughLength = 1007,
/// <summary> /// <summary>
/// 没有全局注册格式化器
/// IJT808MessagePackFormatter
/// 没有全局注册格式化器 IJT808MessagePackFormatter
/// There is no global register formatter [IJT808MessagePackFormatter]
/// </summary> /// </summary>
NotGlobalRegisterFormatterAssembly = 1008, NotGlobalRegisterFormatterAssembly = 1008,
/// <summary> /// <summary>


+ 9
- 4
src/JT808.Protocol/Enums/JT808EventItemCoding.cs Просмотреть файл

@@ -2,24 +2,29 @@
{ {
/// <summary> /// <summary>
/// 事件项编码 /// 事件项编码
/// Event item coding
/// </summary> /// </summary>
public enum JT808EventItemCoding : byte public enum JT808EventItemCoding : byte
{ {
/// <summary> /// <summary>
/// 平台下发指令 /// 平台下发指令
/// Platform delivery order
/// </summary> /// </summary>
平台下发指令 = 0x00,
platform_delivery_order = 0x00,
/// <summary> /// <summary>
/// 定时动作 /// 定时动作
/// Regular action
/// </summary> /// </summary>
定时动作 = 0x01,
regular_action = 0x01,
/// <summary> /// <summary>
/// 抢劫报警触发 /// 抢劫报警触发
/// Robbery alarm trigger
/// </summary> /// </summary>
抢劫报警触发 = 0x02,
robbery_alarm_trigger = 0x02,
/// <summary> /// <summary>
/// 碰撞侧翻报警触发 /// 碰撞侧翻报警触发
/// Collision rollover alarm triggered
/// </summary> /// </summary>
碰撞侧翻报警触发 = 0x03
collision_rollover_alarm_triggered = 0x03
} }
} }

+ 11
- 5
src/JT808.Protocol/Enums/JT808EventSettingType.cs Просмотреть файл

@@ -2,28 +2,34 @@
{ {
/// <summary> /// <summary>
/// 事件设置类型 /// 事件设置类型
/// Event setting Type
/// </summary> /// </summary>
public enum JT808EventSettingType : byte public enum JT808EventSettingType : byte
{ {
/// <summary> /// <summary>
/// 删除终端现有所有事件_该命令后不带后继字节 /// 删除终端现有所有事件_该命令后不带后继字节
/// Delete all existing events on the terminal This command does not contain subsequent bytes
/// </summary> /// </summary>
删除终端现有所有事件_该命令后不带后继字节 = 0x00,
delete_terminal_all_existing_events = 0x00,
/// <summary> /// <summary>
/// 更新事件 /// 更新事件
/// Update events
/// </summary> /// </summary>
更新事件 = 0x01,
update_events = 0x01,
/// <summary> /// <summary>
/// 追加事件 /// 追加事件
/// Append events
/// </summary> /// </summary>
追加事件 = 0x02,
append_events = 0x02,
/// <summary> /// <summary>
/// 修改事件 /// 修改事件
/// Modify event
/// </summary> /// </summary>
修改事件 = 0x03,
modify_events = 0x03,
/// <summary> /// <summary>
/// 删除特定几项事件,之后事件项中无需带事件内容 /// 删除特定几项事件,之后事件项中无需带事件内容
/// Delete specific events
/// </summary> /// </summary>
删除特定几项事件_之后事件项中无需带事件内容 = 0x04
delete_specific_events = 0x04
} }
} }

+ 11
- 5
src/JT808.Protocol/Enums/JT808ICCardReadResult.cs Просмотреть файл

@@ -2,28 +2,34 @@
{ {
/// <summary> /// <summary>
/// IC 卡读取结果 /// IC 卡读取结果
/// IC card read result
/// </summary> /// </summary>
public enum JT808ICCardReadResult : byte public enum JT808ICCardReadResult : byte
{ {
/// <summary> /// <summary>
/// IC卡读卡成功 /// IC卡读卡成功
/// IC card Reading succeeded.
/// </summary> /// </summary>
IC卡读卡成功 = 0x00,
ic_card_reading_succeeded = 0x00,
/// <summary> /// <summary>
/// 读卡失败_原因为卡片密钥认证未通过 /// 读卡失败_原因为卡片密钥认证未通过
/// Read the card failure:The cause is that the card key authentication fails
/// </summary> /// </summary>
读卡失败_原因为卡片密钥认证未通过 = 0x01,
read_card_failure_auth = 0x01,
/// <summary> /// <summary>
/// 读卡失败_原因为卡片已被锁定 /// 读卡失败_原因为卡片已被锁定
/// Read the card failure:The reason is that the card is locked
/// </summary> /// </summary>
读卡失败_原因为卡片已被锁定 = 0x02,
read_card_failure_locked = 0x02,
/// <summary> /// <summary>
/// 读卡失败_原因为卡片被拔出 /// 读卡失败_原因为卡片被拔出
/// Read the card failure:The cause is that the card is removed
/// </summary> /// </summary>
读卡失败_原因为卡片被拔出 = 0x03,
read_card_failure_removed = 0x03,
/// <summary> /// <summary>
/// 读卡失败_原因为数据校验错误 /// 读卡失败_原因为数据校验错误
/// Read the card failure:The cause is a data verification error
/// </summary> /// </summary>
读卡失败_原因为数据校验错误 = 0x04,
read_card_failure_data_verify_error = 0x04,
} }
} }

+ 5
- 2
src/JT808.Protocol/Enums/JT808ICCardStatus.cs Просмотреть файл

@@ -2,16 +2,19 @@
{ {
/// <summary> /// <summary>
/// 插拔状态 /// 插拔状态
/// Plug state
/// </summary> /// </summary>
public enum JT808ICCardStatus : byte public enum JT808ICCardStatus : byte
{ {
/// <summary> /// <summary>
/// 从业资格证IC卡插入_驾驶员上班 /// 从业资格证IC卡插入_驾驶员上班
/// License IC card inserted_Driver on duty
/// </summary> /// </summary>
从业资格证IC卡插入_驾驶员上班 = 0x01,
ic_card_into = 0x01,
/// <summary> /// <summary>
/// 从业资格证IC卡拔出_驾驶员下班 /// 从业资格证IC卡拔出_驾驶员下班
/// License IC card pulled out_driver off duty
/// </summary> /// </summary>
从业资格证IC卡拔出_驾驶员下班 = 0x02
ic_card_pull_out = 0x02
} }
} }

+ 9
- 4
src/JT808.Protocol/Enums/JT808InformationSettingType.cs Просмотреть файл

@@ -2,24 +2,29 @@
{ {
/// <summary> /// <summary>
/// 信息设置类型 /// 信息设置类型
/// Information setting type
/// </summary> /// </summary>
public enum JT808InformationSettingType : byte public enum JT808InformationSettingType : byte
{ {
/// <summary> /// <summary>
/// 删除终端全部信息项 /// 删除终端全部信息项
/// Delete all terminal information items
/// </summary> /// </summary>
删除终端全部信息项 = 0x00,
delete_all_items = 0x00,
/// <summary> /// <summary>
/// 更新菜单 /// 更新菜单
/// Update menu
/// </summary> /// </summary>
更新菜单 = 0x01,
update_menu = 0x01,
/// <summary> /// <summary>
/// 追加菜单 /// 追加菜单
/// Append menu
/// </summary> /// </summary>
追加菜单 = 0x02,
append_menu = 0x02,
/// <summary> /// <summary>
/// 修改菜单 /// 修改菜单
/// Modify the menu
/// </summary> /// </summary>
修改菜单 = 0x03
modify_menu = 0x03
} }
} }

+ 2
- 0
src/JT808.Protocol/Exceptions/JT808Exception.cs Просмотреть файл

@@ -5,6 +5,7 @@ namespace JT808.Protocol.Exceptions
{ {
/// <summary> /// <summary>
/// JT808异常处理类 /// JT808异常处理类
/// Exception handling class
/// </summary> /// </summary>
[Serializable] [Serializable]
public class JT808Exception : Exception public class JT808Exception : Exception
@@ -47,6 +48,7 @@ namespace JT808.Protocol.Exceptions
} }
/// <summary> /// <summary>
/// JT808统一错误码 /// JT808统一错误码
/// Unified error code
/// </summary> /// </summary>
public JT808ErrorCode ErrorCode { get; } public JT808ErrorCode ErrorCode { get; }
} }


+ 1
- 0
src/JT808.Protocol/Formatters/IJT808FormatterFactory.cs Просмотреть файл

@@ -8,6 +8,7 @@ namespace JT808.Protocol.Formatters
{ {
/// <summary> /// <summary>
/// 序列化工厂 /// 序列化工厂
/// Serialization factory
/// </summary> /// </summary>
public interface IJT808FormatterFactory: IJT808ExternalRegister public interface IJT808FormatterFactory: IJT808ExternalRegister
{ {


+ 8
- 2
src/JT808.Protocol/JT808.Protocol.csproj Просмотреть файл

@@ -3,8 +3,14 @@
<PropertyGroup> <PropertyGroup>
<PackageId>JT808</PackageId> <PackageId>JT808</PackageId>
<Product>JT808</Product> <Product>JT808</Product>
<Description>JT808协议、GB808协议、道路运输车辆卫星定位系统-北斗兼容车载终端通讯协议(支持2011、2013、2019版本)</Description>
<PackageReleaseNotes>JT808协议、GB808协议、道路运输车辆卫星定位系统-北斗兼容车载终端通讯协议(支持2011、2013、2019版本)</PackageReleaseNotes>
<Description>
JT808 protocol, GB808 protocol, Road Transport Vehicle Satellite positioning system - Beidou Compatible Vehicle Terminal communication protocol (support 2011, 2013, 2019 version)
JT808协议、GB808协议、道路运输车辆卫星定位系统-北斗兼容车载终端通讯协议(支持2011、2013、2019版本)
</Description>
<PackageReleaseNotes>
JT808 protocol, GB808 protocol, Road Transport Vehicle Satellite positioning system - Beidou Compatible Vehicle Terminal communication protocol (support 2011, 2013, 2019 version)
JT808协议、GB808协议、道路运输车辆卫星定位系统-北斗兼容车载终端通讯协议(支持2011、2013、2019版本)
</PackageReleaseNotes>
<DocumentationFile>JT808.Protocol.xml</DocumentationFile> <DocumentationFile>JT808.Protocol.xml</DocumentationFile>
<PackageReadmeFile>README.md</PackageReadmeFile> <PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup> </PropertyGroup>


+ 191
- 132
src/JT808.Protocol/JT808.Protocol.xml Просмотреть файл

@@ -62,215 +62,222 @@
<member name="T:JT808.Protocol.Enums.JT808Alarm"> <member name="T:JT808.Protocol.Enums.JT808Alarm">
<summary> <summary>
报警标志 报警标志
Alarm Flag
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.紧急报警_触动报警开关后触发">
<member name="F:JT808.Protocol.Enums.JT808Alarm.emergency_alarm">
<summary> <summary>
紧急报警_触动报警开关后触发 紧急报警_触动报警开关后触发
收到应答后清零
The emergency alarm is triggered after the alarm switch is touched
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.超速报警">
<member name="F:JT808.Protocol.Enums.JT808Alarm.overspeed_alarm">
<summary> <summary>
超速报警
标志维持至报警条件解除
超速报警 标志维持至报警条件解除
Overspeed alarm
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.疲劳驾驶">
<summary>
标志维持至报警条件解除
疲劳驾驶
<member name="F:JT808.Protocol.Enums.JT808Alarm.fatigue_driving">
<summary>
疲劳驾驶 标志维持至报警条件解除
fatigue driving
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.危险预警">
<member name="F:JT808.Protocol.Enums.JT808Alarm.danger_warning">
<summary> <summary>
危险预警
收到应答后清零
危险预警 标志维持至报警条件解除
danger warning
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.GNSS模块发生故障">
<member name="F:JT808.Protocol.Enums.JT808Alarm.gnss_module_fault">
<summary> <summary>
GNSS模块发生故障
标志维持至报警条件解除
GNSS模块发生故障 标志维持至报警条件解除
The GNSS module is faulty
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.GNSS天线未接或被剪断">
<member name="F:JT808.Protocol.Enums.JT808Alarm.gnss_ant_not_connected">
<summary> <summary>
GNSS天线未接或被剪断
标志维持至报警条件解除
GNSS天线未接或被剪断 标志维持至报警条件解除
The GNSS antenna is not connected or cut off
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.GNSS天线短路">
<member name="F:JT808.Protocol.Enums.JT808Alarm.gnss_ant_short">
<summary> <summary>
GNSS天线短路
标志维持至报警条件解除
GNSS天线短路 标志维持至报警条件解除
GNSS antenna short-circuited
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.终端主电源欠压">
<member name="F:JT808.Protocol.Enums.JT808Alarm.terminal_main_power_undervoltage">
<summary> <summary>
终端主电源欠压
标志维持至报警条件解除
终端主电源欠压 标志维持至报警条件解除
The main power supply of the terminal is undervoltage
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.终端主电源掉电">
<member name="F:JT808.Protocol.Enums.JT808Alarm.terminal_main_power_down">
<summary> <summary>
终端主电源掉电
标志维持至报警条件解除
终端主电源掉电 标志维持至报警条件解除
The main power supply of the terminal fails
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.终端LCD或显示器故障">
<member name="F:JT808.Protocol.Enums.JT808Alarm.terminal_display_fault">
<summary> <summary>
终端LCD或显示器故障
标志维持至报警条件解除
终端LCD或显示器故障 标志维持至报警条件解除
The LCD or monitor of the terminal is faulty
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.TTS模块故障">
<member name="F:JT808.Protocol.Enums.JT808Alarm.tts_module_fault">
<summary> <summary>
TTS模块故障
标志维持至报警条件解除
TTS模块故障 标志维持至报警条件解除
The TTS module is faulty
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.摄像头故障">
<member name="F:JT808.Protocol.Enums.JT808Alarm.camera_fault">
<summary> <summary>
摄像头故障
标志维持至报警条件解除
摄像头故障 标志维持至报警条件解除
Camera fault
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.道路运输证IC卡模块故障">
<member name="F:JT808.Protocol.Enums.JT808Alarm.road_transport_cert_ic_card_module_fault">
<summary> <summary>
道路运输证IC卡模块故障
标志维持至报警条件解除
道路运输证IC卡模块故障 标志维持至报警条件解除
The IC card module of the road transport certificate is faulty
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.超速预警">
<member name="F:JT808.Protocol.Enums.JT808Alarm.overspeed_warning">
<summary> <summary>
超速预警
标志维持至报警条件解除
超速预警 标志维持至报警条件解除
Overspeed warning
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.疲劳驾驶预警">
<member name="F:JT808.Protocol.Enums.JT808Alarm.fatigue_driving_warning">
<summary> <summary>
疲劳驾驶预警
标志维持至报警条件解除
疲劳驾驶预警 标志维持至报警条件解除
Fatigue driving warning
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.保留1">
<member name="F:JT808.Protocol.Enums.JT808Alarm.reserve1">
<summary> <summary>
保留1 保留1
reserve1
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.保留2">
<member name="F:JT808.Protocol.Enums.JT808Alarm.reserve2">
<summary> <summary>
保留2 保留2
reserve2
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.保留3">
<member name="F:JT808.Protocol.Enums.JT808Alarm.reserve3">
<summary> <summary>
保留3 保留3
reserve3
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.当天累计驾驶超时">
<member name="F:JT808.Protocol.Enums.JT808Alarm.day_accumulated_driving_timeout">
<summary> <summary>
当天累计驾驶超时
标志维持至报警条件解除
当天累计驾驶超时 标志维持至报警条件解除
Accumulated driving overtime that day
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.超时停车">
<member name="F:JT808.Protocol.Enums.JT808Alarm.timeout_parking">
<summary> <summary>
超时停车
标志维持至报警条件解除
超时停车 标志维持至报警条件解除
Timeout parking
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.进出区域">
<member name="F:JT808.Protocol.Enums.JT808Alarm.in_area">
<summary> <summary>
进出区域
收到应答后清零
进出区域 收到应答后清零
In and out of the area
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.进出路线">
<member name="F:JT808.Protocol.Enums.JT808Alarm.in_route">
<summary> <summary>
进出路线
收到应答后清零
进出路线 收到应答后清零
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.路段行驶时间不足或过长">
<member name="F:JT808.Protocol.Enums.JT808Alarm.road_driving_time_insufficient">
<summary> <summary>
路段行驶时间不足或过长
收到应答后清零
路段行驶时间不足或过长 收到应答后清零
Road section driving time is insufficient or too long
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.路线偏离报警">
<member name="F:JT808.Protocol.Enums.JT808Alarm.route_deviation_alarm">
<summary> <summary>
路线偏离报警
标志维持至报警条件解除
路线偏离报警 标志维持至报警条件解除
Route deviation alarm
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.车辆VSS故障">
<member name="F:JT808.Protocol.Enums.JT808Alarm.vehicle_vss_fault">
<summary> <summary>
车辆VSS故障
标志维持至报警条件解除
车辆VSS故障 标志维持至报警条件解除
VSS of the vehicle is faulty
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.车辆油量异常">
<member name="F:JT808.Protocol.Enums.JT808Alarm.vehicle_fuel_abnormal">
<summary> <summary>
车辆油量异常
标志维持至报警条件解除
车辆油量异常 标志维持至报警条件解除
Abnormal vehicle fuel level
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.车辆被盗">
<member name="F:JT808.Protocol.Enums.JT808Alarm.vehicle_stolen">
<summary> <summary>
车辆被盗通过车辆防盗器
标志维持至报警条件解除
车辆被盗通过车辆防盗器 标志维持至报警条件解除
The vehicle is stolen
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.车辆非法点火">
<member name="F:JT808.Protocol.Enums.JT808Alarm.vehicle_illegal_ignition">
<summary> <summary>
车辆非法点火 车辆非法点火
Illegal ignition of vehicles
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.车辆非法位移">
<member name="F:JT808.Protocol.Enums.JT808Alarm.vehicle_illegal_displacement">
<summary> <summary>
车辆非法位移
收到应答后清零
车辆非法位移 收到应答后清零
Illegal displacement of vehicle
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.碰撞预警">
<member name="F:JT808.Protocol.Enums.JT808Alarm.collision_warning">
<summary> <summary>
碰撞预警
标志维持至报警条件解除
碰撞预警 标志维持至报警条件解除
collision Warning
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.侧翻预警">
<member name="F:JT808.Protocol.Enums.JT808Alarm.rollover_warning">
<summary> <summary>
侧翻预警
标志维持至报警条件解除
侧翻预警 标志维持至报警条件解除
rollover warning
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808Alarm.非法开门报警">
<member name="F:JT808.Protocol.Enums.JT808Alarm.illegal_opening_door_alarm">
<summary> <summary>
非法开门报警
(终端未设置区域时,不判断非法开门)
收到应答后清零
非法开门报警(终端未设置区域时,不判断非法开门) 收到应答后清零
Illegal door opening alarm
</summary> </summary>
</member> </member>
<member name="T:JT808.Protocol.Enums.JT808CallBackType"> <member name="T:JT808.Protocol.Enums.JT808CallBackType">
<summary> <summary>
电话回拨类型 电话回拨类型
Callback type
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CallBackType.普通通话">
<member name="F:JT808.Protocol.Enums.JT808CallBackType.normal_call">
<summary> <summary>
普通通话 普通通话
normal call
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CallBackType.监听">
<member name="F:JT808.Protocol.Enums.JT808CallBackType.cue">
<summary> <summary>
监听 监听
cue
</summary> </summary>
</member> </member>
<member name="T:JT808.Protocol.Enums.JT808CameraResolutionType"> <member name="T:JT808.Protocol.Enums.JT808CameraResolutionType">
<summary> <summary>
摄像头分辨率 摄像头分辨率
Camera resolution
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CameraResolutionType.x320_240"> <member name="F:JT808.Protocol.Enums.JT808CameraResolutionType.x320_240">
@@ -456,94 +463,111 @@
<member name="T:JT808.Protocol.Enums.JT808CarSignalStatus"> <member name="T:JT808.Protocol.Enums.JT808CarSignalStatus">
<summary> <summary>
扩展车辆信号状态位 扩展车辆信号状态位
Extended vehicle signal status bits
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.近光灯信号">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.close_light_signal">
<summary> <summary>
开启近光信号灯 开启近光信号灯
Close light signal
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.远光灯信号">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.high_beam_signal">
<summary> <summary>
远光灯信号 远光灯信号
High beam signal
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.右转向灯信号">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.right_turn_signal">
<summary> <summary>
右转向灯信号 右转向灯信号
Right turn signal
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.左转向灯信号">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.left_turn_signal">
<summary> <summary>
左转向灯信号 左转向灯信号
Left turn signal
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.制动信号">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.brake_signal">
<summary> <summary>
制动信号 制动信号
brake signal
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.倒档信号">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.reverse_signals">
<summary> <summary>
倒档信号 倒档信号
Reverse signals
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.雾灯信号">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.fog_light_signal">
<summary> <summary>
雾灯信号 雾灯信号
The fog light signal
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.示廓灯">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.clearance_lamp">
<summary> <summary>
示廓灯 示廓灯
Clearance Lamp
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.喇叭信号">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.horn_signal">
<summary> <summary>
喇叭信号 喇叭信号
horn signal
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.空调状态">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.air_condition_status">
<summary> <summary>
空调状态 空调状态
Air condition status
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.空挡信号">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.neutral_signal">
<summary> <summary>
空挡信号 空挡信号
Neutral signal
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.缓速器工作">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.retarder_working">
<summary> <summary>
缓速器工作 缓速器工作
Retarder working
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.ABS工作">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.abs_working">
<summary> <summary>
ABS工作 ABS工作
abs_working
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.加热器工作">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.heater_operation">
<summary> <summary>
加热器工作 加热器工作
Heater operation
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.离合器状态">
<member name="F:JT808.Protocol.Enums.JT808CarSignalStatus.clutch_condition">
<summary> <summary>
离合器状态 离合器状态
Clutch condition
</summary> </summary>
</member> </member>
<member name="T:JT808.Protocol.Enums.JT808DirectionType"> <member name="T:JT808.Protocol.Enums.JT808DirectionType">
<summary> <summary>
方向类型 方向类型
Direction Type
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808DirectionType.">
<member name="F:JT808.Protocol.Enums.JT808DirectionType.direction_in">
<summary> <summary>
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808DirectionType.">
<member name="F:JT808.Protocol.Enums.JT808DirectionType.direction_out">
<summary> <summary>
</summary> </summary>
@@ -551,36 +575,43 @@
<member name="T:JT808.Protocol.Enums.JT808DrivenRouteType"> <member name="T:JT808.Protocol.Enums.JT808DrivenRouteType">
<summary> <summary>
路线行驶返回结果 路线行驶返回结果
Route driving returns results
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808DrivenRouteType.不足">
<member name="F:JT808.Protocol.Enums.JT808DrivenRouteType.insufficient">
<summary> <summary>
不足 不足
insufficient
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808DrivenRouteType.过长">
<member name="F:JT808.Protocol.Enums.JT808DrivenRouteType.overlength">
<summary> <summary>
过长 过长
overlength
</summary> </summary>
</member> </member>
<member name="T:JT808.Protocol.Enums.JT808EncryptMethod"> <member name="T:JT808.Protocol.Enums.JT808EncryptMethod">
<summary> <summary>
JT808加密选项 JT808加密选项
Encryption Options
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808EncryptMethod.None"> <member name="F:JT808.Protocol.Enums.JT808EncryptMethod.None">
<summary> <summary>
未加密 未加密
None
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808EncryptMethod.RSA"> <member name="F:JT808.Protocol.Enums.JT808EncryptMethod.RSA">
<summary> <summary>
RSA加密 RSA加密
RSA encrypt
</summary> </summary>
</member> </member>
<member name="T:JT808.Protocol.Enums.JT808ErrorCode"> <member name="T:JT808.Protocol.Enums.JT808ErrorCode">
<summary> <summary>
异常错误码 异常错误码
Exception error code
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808ErrorCode.CheckCodeNotEqual"> <member name="F:JT808.Protocol.Enums.JT808ErrorCode.CheckCodeNotEqual">
@@ -620,8 +651,8 @@
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808ErrorCode.NotGlobalRegisterFormatterAssembly"> <member name="F:JT808.Protocol.Enums.JT808ErrorCode.NotGlobalRegisterFormatterAssembly">
<summary> <summary>
没有全局注册格式化器
IJT808MessagePackFormatter
没有全局注册格式化器 IJT808MessagePackFormatter
There is no global register formatter [IJT808MessagePackFormatter]
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808ErrorCode.LatOrLngError"> <member name="F:JT808.Protocol.Enums.JT808ErrorCode.LatOrLngError">
@@ -632,126 +663,151 @@
<member name="T:JT808.Protocol.Enums.JT808EventItemCoding"> <member name="T:JT808.Protocol.Enums.JT808EventItemCoding">
<summary> <summary>
事件项编码 事件项编码
Event item coding
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.平台下发指令">
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.platform_delivery_order">
<summary> <summary>
平台下发指令 平台下发指令
Platform delivery order
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.定时动作">
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.regular_action">
<summary> <summary>
定时动作 定时动作
Regular action
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.抢劫报警触发">
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.robbery_alarm_trigger">
<summary> <summary>
抢劫报警触发 抢劫报警触发
Robbery alarm trigger
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.碰撞侧翻报警触发">
<member name="F:JT808.Protocol.Enums.JT808EventItemCoding.collision_rollover_alarm_triggered">
<summary> <summary>
碰撞侧翻报警触发 碰撞侧翻报警触发
Collision rollover alarm triggered
</summary> </summary>
</member> </member>
<member name="T:JT808.Protocol.Enums.JT808EventSettingType"> <member name="T:JT808.Protocol.Enums.JT808EventSettingType">
<summary> <summary>
事件设置类型 事件设置类型
Event setting Type
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.删除终端现有所有事件_该命令后不带后继字节">
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.delete_terminal_all_existing_events">
<summary> <summary>
删除终端现有所有事件_该命令后不带后继字节 删除终端现有所有事件_该命令后不带后继字节
Delete all existing events on the terminal This command does not contain subsequent bytes
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.更新事件">
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.update_events">
<summary> <summary>
更新事件 更新事件
Update events
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.追加事件">
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.append_events">
<summary> <summary>
追加事件 追加事件
Append events
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.修改事件">
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.modify_events">
<summary> <summary>
修改事件 修改事件
Modify event
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.删除特定几项事件_之后事件项中无需带事件内容">
<member name="F:JT808.Protocol.Enums.JT808EventSettingType.delete_specific_events">
<summary> <summary>
删除特定几项事件,之后事件项中无需带事件内容 删除特定几项事件,之后事件项中无需带事件内容
Delete specific events
</summary> </summary>
</member> </member>
<member name="T:JT808.Protocol.Enums.JT808ICCardReadResult"> <member name="T:JT808.Protocol.Enums.JT808ICCardReadResult">
<summary> <summary>
IC 卡读取结果 IC 卡读取结果
IC card read result
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.IC卡读卡成功">
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.ic_card_reading_succeeded">
<summary> <summary>
IC卡读卡成功 IC卡读卡成功
IC card Reading succeeded.
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.读卡失败_原因为卡片密钥认证未通过">
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.read_card_failure_auth">
<summary> <summary>
读卡失败_原因为卡片密钥认证未通过 读卡失败_原因为卡片密钥认证未通过
Read the card failure:The cause is that the card key authentication fails
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.读卡失败_原因为卡片已被锁定">
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.read_card_failure_locked">
<summary> <summary>
读卡失败_原因为卡片已被锁定 读卡失败_原因为卡片已被锁定
Read the card failure:The reason is that the card is locked
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.读卡失败_原因为卡片被拔出">
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.read_card_failure_removed">
<summary> <summary>
读卡失败_原因为卡片被拔出 读卡失败_原因为卡片被拔出
Read the card failure:The cause is that the card is removed
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.读卡失败_原因为数据校验错误">
<member name="F:JT808.Protocol.Enums.JT808ICCardReadResult.read_card_failure_data_verify_error">
<summary> <summary>
读卡失败_原因为数据校验错误 读卡失败_原因为数据校验错误
Read the card failure:The cause is a data verification error
</summary> </summary>
</member> </member>
<member name="T:JT808.Protocol.Enums.JT808ICCardStatus"> <member name="T:JT808.Protocol.Enums.JT808ICCardStatus">
<summary> <summary>
插拔状态 插拔状态
Plug state
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班">
<member name="F:JT808.Protocol.Enums.JT808ICCardStatus.ic_card_into">
<summary> <summary>
从业资格证IC卡插入_驾驶员上班 从业资格证IC卡插入_驾驶员上班
License IC card inserted_Driver on duty
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808ICCardStatus.从业资格证IC卡拔出_驾驶员下班">
<member name="F:JT808.Protocol.Enums.JT808ICCardStatus.ic_card_pull_out">
<summary> <summary>
从业资格证IC卡拔出_驾驶员下班 从业资格证IC卡拔出_驾驶员下班
License IC card pulled out_driver off duty
</summary> </summary>
</member> </member>
<member name="T:JT808.Protocol.Enums.JT808InformationSettingType"> <member name="T:JT808.Protocol.Enums.JT808InformationSettingType">
<summary> <summary>
信息设置类型 信息设置类型
Information setting type
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.删除终端全部信息项">
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.delete_all_items">
<summary> <summary>
删除终端全部信息项 删除终端全部信息项
Delete all terminal information items
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.更新菜单">
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.update_menu">
<summary> <summary>
更新菜单 更新菜单
Update menu
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.追加菜单">
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.append_menu">
<summary> <summary>
追加菜单 追加菜单
Append menu
</summary> </summary>
</member> </member>
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.修改菜单">
<member name="F:JT808.Protocol.Enums.JT808InformationSettingType.modify_menu">
<summary> <summary>
修改菜单 修改菜单
Modify the menu
</summary> </summary>
</member> </member>
<member name="T:JT808.Protocol.Enums.JT808IOStatus"> <member name="T:JT808.Protocol.Enums.JT808IOStatus">
@@ -1714,6 +1770,7 @@
<member name="T:JT808.Protocol.Exceptions.JT808Exception"> <member name="T:JT808.Protocol.Exceptions.JT808Exception">
<summary> <summary>
JT808异常处理类 JT808异常处理类
Exception handling class
</summary> </summary>
</member> </member>
<member name="M:JT808.Protocol.Exceptions.JT808Exception.#ctor(JT808.Protocol.Enums.JT808ErrorCode)"> <member name="M:JT808.Protocol.Exceptions.JT808Exception.#ctor(JT808.Protocol.Enums.JT808ErrorCode)">
@@ -1747,6 +1804,7 @@
<member name="P:JT808.Protocol.Exceptions.JT808Exception.ErrorCode"> <member name="P:JT808.Protocol.Exceptions.JT808Exception.ErrorCode">
<summary> <summary>
JT808统一错误码 JT808统一错误码
Unified error code
</summary> </summary>
</member> </member>
<member name="T:JT808.Protocol.Extensions.JT808AnalyzeExtensions"> <member name="T:JT808.Protocol.Extensions.JT808AnalyzeExtensions">
@@ -3963,6 +4021,7 @@
<member name="T:JT808.Protocol.Formatters.IJT808FormatterFactory"> <member name="T:JT808.Protocol.Formatters.IJT808FormatterFactory">
<summary> <summary>
序列化工厂 序列化工厂
Serialization factory
</summary> </summary>
</member> </member>
<member name="P:JT808.Protocol.Formatters.IJT808FormatterFactory.FormatterDict"> <member name="P:JT808.Protocol.Formatters.IJT808FormatterFactory.FormatterDict">


+ 6
- 6
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); writer.WriteNumber($"[{((byte)value.IC_Card_Status).ReadNumber()}]状态-{value.IC_Card_Status.ToString()}", (byte)value.IC_Card_Status);
value.IC_Card_PlugDateTime = reader.ReadDateTime_yyMMddHHmmss(); value.IC_Card_PlugDateTime = reader.ReadDateTime_yyMMddHHmmss();
writer.WriteString($"[{value.IC_Card_PlugDateTime.ToString("yyMMddHHmmss")}]插拔卡时间", value.IC_Card_PlugDateTime.ToString("yyyy-MM-dd HH:mm:ss")); writer.WriteString($"[{value.IC_Card_PlugDateTime.ToString("yyMMddHHmmss")}]插拔卡时间", value.IC_Card_PlugDateTime.ToString("yyyy-MM-dd HH:mm:ss"));
if (value.IC_Card_Status == JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班)
if (value.IC_Card_Status == JT808ICCardStatus.ic_card_into)
{ {
value.IC_Card_ReadResult = (JT808ICCardReadResult)reader.ReadByte(); value.IC_Card_ReadResult = (JT808ICCardReadResult)reader.ReadByte();
writer.WriteNumber($"[{((byte)value.IC_Card_ReadResult).ReadNumber()}]IC卡读取结果-{value.IC_Card_ReadResult.ToString()}", (byte)value.IC_Card_ReadResult); writer.WriteNumber($"[{((byte)value.IC_Card_ReadResult).ReadNumber()}]IC卡读取结果-{value.IC_Card_ReadResult.ToString()}", (byte)value.IC_Card_ReadResult);
if (value.IC_Card_ReadResult == JT808ICCardReadResult.IC卡读卡成功)
if (value.IC_Card_ReadResult == JT808ICCardReadResult.ic_card_reading_succeeded)
{ {
value.DriverUserNameLength = reader.ReadByte(); value.DriverUserNameLength = reader.ReadByte();
writer.WriteNumber($"[{value.DriverUserNameLength.ReadNumber()}]驾驶员姓名长度", value.DriverUserNameLength); writer.WriteNumber($"[{value.DriverUserNameLength.ReadNumber()}]驾驶员姓名长度", value.DriverUserNameLength);
@@ -189,10 +189,10 @@ namespace JT808.Protocol.MessageBody
{ {
value.IC_Card_Status = (JT808ICCardStatus)reader.ReadByte(); value.IC_Card_Status = (JT808ICCardStatus)reader.ReadByte();
value.IC_Card_PlugDateTime = reader.ReadDateTime_yyMMddHHmmss(); value.IC_Card_PlugDateTime = reader.ReadDateTime_yyMMddHHmmss();
if (value.IC_Card_Status == JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班)
if (value.IC_Card_Status == JT808ICCardStatus.ic_card_into)
{ {
value.IC_Card_ReadResult = (JT808ICCardReadResult)reader.ReadByte(); value.IC_Card_ReadResult = (JT808ICCardReadResult)reader.ReadByte();
if (value.IC_Card_ReadResult == JT808ICCardReadResult.IC卡读卡成功)
if (value.IC_Card_ReadResult == JT808ICCardReadResult.ic_card_reading_succeeded)
{ {
value.DriverUserNameLength = reader.ReadByte(); value.DriverUserNameLength = reader.ReadByte();
value.DriverUserName = reader.ReadString(value.DriverUserNameLength); value.DriverUserName = reader.ReadString(value.DriverUserNameLength);
@@ -252,10 +252,10 @@ namespace JT808.Protocol.MessageBody
else { else {
writer.WriteByte((byte)value.IC_Card_Status); writer.WriteByte((byte)value.IC_Card_Status);
writer.WriteDateTime_yyMMddHHmmss(value.IC_Card_PlugDateTime); writer.WriteDateTime_yyMMddHHmmss(value.IC_Card_PlugDateTime);
if (value.IC_Card_Status == JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班)
if (value.IC_Card_Status == JT808ICCardStatus.ic_card_into)
{ {
writer.WriteByte((byte)value.IC_Card_ReadResult); writer.WriteByte((byte)value.IC_Card_ReadResult);
if (value.IC_Card_ReadResult == JT808ICCardReadResult.IC卡读卡成功)
if (value.IC_Card_ReadResult == JT808ICCardReadResult.ic_card_reading_succeeded)
{ {
writer.WriteByte((byte)value.DriverUserName.Length); writer.WriteByte((byte)value.DriverUserName.Length);
writer.WriteString(value.DriverUserName); writer.WriteString(value.DriverUserName);


Загрузка…
Отмена
Сохранить