@@ -12,7 +12,7 @@ jobs: | |||||
- name: Setup .NET Core | - name: Setup .NET Core | ||||
uses: actions/setup-dotnet@master | uses: actions/setup-dotnet@master | ||||
with: | with: | ||||
dotnet-version: 5.0.100 | |||||
dotnet-version: 6.0.100 | |||||
- name: dotnet info | - name: dotnet info | ||||
run: dotnet --info | run: dotnet --info | ||||
- name: dotnet restore | - name: dotnet restore | ||||
@@ -301,23 +301,23 @@ public class JT809_2019_Config : JT809GlobalConfigBase | |||||
``` ini | ``` ini | ||||
BenchmarkDotNet=v0.12.1, OS=Windows 10.0.19041.630 (2004/?/20H1) | |||||
BenchmarkDotNet=v0.13.1, OS=Windows 10.0.22000 | |||||
Intel Core i7-8700K CPU 3.70GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores | Intel Core i7-8700K CPU 3.70GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores | ||||
.NET Core SDK=5.0.100 | |||||
[Host] : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT | |||||
Job-VIMLSX : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT | |||||
.NET SDK=6.0.101 | |||||
[Host] : .NET 6.0.1 (6.0.121.56705), X64 RyuJIT | |||||
Job-GLUSZL : .NET 6.0.1 (6.0.121.56705), X64 RyuJIT | |||||
Platform=AnyCpu Server=False Toolchain=.NET Core 5.0 | |||||
Platform=AnyCpu Server=False Toolchain=.NET 6.0 | |||||
``` | ``` | ||||
| Method | N | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated | | |||||
|---------------------------------------- |------- |-------------:|------------:|-------------:|-----------:|------:|------:|-------------:| | |||||
| **JT809_0x9400_0x9401_Package_Deserialize** | **100** | **466.5 μs** | **2.08 μs** | **1.85 μs** | **16.6016** | **-** | **-** | **103.13 KB** | | |||||
| JT809_0x9400_0x9401_Package_Serialize | 100 | 202.8 μs | 3.98 μs | 4.09 μs | 14.6484 | - | - | 90.63 KB | | |||||
| **JT809_0x9400_0x9401_Package_Deserialize** | **10000** | **46,739.4 μs** | **230.36 μs** | **179.85 μs** | **1636.3636** | **-** | **-** | **10312.53 KB** | | |||||
| JT809_0x9400_0x9401_Package_Serialize | 10000 | 19,994.5 μs | 155.11 μs | 129.53 μs | 1468.7500 | - | - | 9062.51 KB | | |||||
| **JT809_0x9400_0x9401_Package_Deserialize** | **100000** | **479,053.9 μs** | **9,378.79 μs** | **11,518.00 μs** | **16000.0000** | **-** | **-** | **103125.28 KB** | | |||||
| JT809_0x9400_0x9401_Package_Serialize | 100000 | 205,928.8 μs | 2,074.26 μs | 1,940.26 μs | 14000.0000 | - | - | 90625.28 KB | | |||||
| Method | N | Mean | Error | StdDev | Gen 0 | Allocated | | |||||
|---------------------------------------- |------- |-------------:|------------:|------------:|-----------:|-----------:| | |||||
| **JT809_0x9400_0x9401_Package_Deserialize** | **100** | **518.6 μs** | **4.07 μs** | **3.40 μs** | **16.6016** | **103 KB** | | |||||
| JT809_0x9400_0x9401_Package_Serialize | 100 | 182.1 μs | 1.60 μs | 1.34 μs | 14.6484 | 91 KB | | |||||
| **JT809_0x9400_0x9401_Package_Deserialize** | **10000** | **50,367.9 μs** | **477.53 μs** | **446.68 μs** | **1600.0000** | **10,313 KB** | | |||||
| JT809_0x9400_0x9401_Package_Serialize | 10000 | 18,303.2 μs | 176.25 μs | 164.87 μs | 1468.7500 | 9,063 KB | | |||||
| **JT809_0x9400_0x9401_Package_Deserialize** | **100000** | **502,960.6 μs** | **2,001.44 μs** | **1,774.22 μs** | **16000.0000** | **103,129 KB** | | |||||
| JT809_0x9400_0x9401_Package_Serialize | 100000 | 182,137.2 μs | 1,709.29 μs | 1,598.87 μs | 14000.0000 | 90,626 KB | | |||||
## JT809协议消息对照表 | ## JT809协议消息对照表 | ||||
@@ -1,14 +1,14 @@ | |||||
<Project> | <Project> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFrameworks>netstandard2.0;netstandard2.1;net5.0;</TargetFrameworks> | |||||
<LangVersion>9.0</LangVersion> | |||||
<TargetFrameworks>netstandard2.0;netstandard2.1;net5.0;net6.0</TargetFrameworks> | |||||
<LangVersion>10.0</LangVersion> | |||||
<Copyright>Copyright 2018.</Copyright> | <Copyright>Copyright 2018.</Copyright> | ||||
<Authors>SmallChi(Koike)</Authors> | <Authors>SmallChi(Koike)</Authors> | ||||
<RepositoryUrl>https://github.com/SmallChi/JT809</RepositoryUrl> | <RepositoryUrl>https://github.com/SmallChi/JT809</RepositoryUrl> | ||||
<PackageProjectUrl>https://github.com/SmallChi/JT809</PackageProjectUrl> | <PackageProjectUrl>https://github.com/SmallChi/JT809</PackageProjectUrl> | ||||
<license>https://github.com/SmallChi/JT809/blob/master/LICENSE</license> | <license>https://github.com/SmallChi/JT809/blob/master/LICENSE</license> | ||||
<licenseUrl>https://github.com/SmallChi/JT809/blob/master/LICENSE</licenseUrl> | <licenseUrl>https://github.com/SmallChi/JT809/blob/master/LICENSE</licenseUrl> | ||||
<Version>2.2.1-preview1</Version> | |||||
<Version>2.2.1-preview2</Version> | |||||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | <PackageLicenseFile>LICENSE</PackageLicenseFile> | ||||
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | ||||
<AnalysisLevel>latest</AnalysisLevel> | <AnalysisLevel>latest</AnalysisLevel> | ||||
@@ -16,8 +16,8 @@ | |||||
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild> | <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild> | ||||
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> | <GeneratePackageOnBuild>false</GeneratePackageOnBuild> | ||||
<PackageReadmeFile>README.md</PackageReadmeFile> | <PackageReadmeFile>README.md</PackageReadmeFile> | ||||
<DebugSymbols>true</DebugSymbols> | |||||
<DebugType>embedded</DebugType> | |||||
<DebugSymbols>true</DebugSymbols> | |||||
<DebugType>embedded</DebugType> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<PropertyGroup Condition="'$(Configuration)' == 'Release'"> | <PropertyGroup Condition="'$(Configuration)' == 'Release'"> | ||||
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild> | <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild> | ||||
@@ -26,6 +26,6 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All"/> | |||||
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/> | |||||
</ItemGroup> | </ItemGroup> | ||||
</Project> | </Project> |
@@ -2,11 +2,11 @@ | |||||
<PropertyGroup> | <PropertyGroup> | ||||
<OutputType>Exe</OutputType> | <OutputType>Exe</OutputType> | ||||
<TargetFramework>net5.0</TargetFramework> | |||||
<TargetFramework>net6.0</TargetFramework> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BenchmarkDotNet" Version="0.12.1" /> | |||||
<PackageReference Include="BenchmarkDotNet" Version="0.13.1" /> | |||||
<PackageReference Include="System.Buffers" Version="4.5.1" /> | <PackageReference Include="System.Buffers" Version="4.5.1" /> | ||||
<PackageReference Include="System.Memory" Version="4.5.4" /> | <PackageReference Include="System.Memory" Version="4.5.4" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -87,7 +87,7 @@ namespace JT809.Protocol.Benchmark | |||||
{ | { | ||||
public JT809SerializerContextConfig() | public JT809SerializerContextConfig() | ||||
{ | { | ||||
AddJob(Job.Default.WithGcServer(false).WithToolchain(CsProjCoreToolchain.NetCoreApp50).WithPlatform(Platform.AnyCpu)); | |||||
AddJob(Job.Default.WithGcServer(false).WithToolchain(CsProjCoreToolchain.NetCoreApp60).WithPlatform(Platform.AnyCpu)); | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -1,7 +1,7 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | <Project Sdk="Microsoft.NET.Sdk"> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFramework>net5.0</TargetFramework> | |||||
<TargetFramework>net6.0</TargetFramework> | |||||
<IsPackable>false</IsPackable> | <IsPackable>false</IsPackable> | ||||
<NoWarn>1701;1702;1591</NoWarn> | <NoWarn>1701;1702;1591</NoWarn> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
@@ -11,9 +11,9 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="JT808" Version="2.4.4" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.2" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" /> | |||||
<PackageReference Include="JT808" Version="2.4.5" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" /> | |||||
<PackageReference Include="xunit" Version="2.4.1" /> | <PackageReference Include="xunit" Version="2.4.1" /> | ||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3"> | <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3"> | ||||
<PrivateAssets>all</PrivateAssets> | <PrivateAssets>all</PrivateAssets> | ||||
@@ -41,8 +41,8 @@ namespace JT809.Protocol.Test.JT809SubMessageBody | |||||
Alarm = 1 | Alarm = 1 | ||||
}, | }, | ||||
LensID = 123, | LensID = 123, | ||||
SizeType = JT809__0x9502_SizeType._320x240, | |||||
Type = JT809__0x9502_ImageType.jpg, | |||||
SizeType = JT809_0x9502_SizeType._320x240, | |||||
Type = JT809_0x9502_ImageType.jpg, | |||||
}; | }; | ||||
var hex = JT809Serializer.Serialize(jT809_0x1500_0x1502).ToHexString(); | var hex = JT809Serializer.Serialize(jT809_0x1500_0x1502).ToHexString(); | ||||
//"01 00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 35 00 2D 00 00 04 D2 00 2D 00 2D 00 00 00 01 00 00 00 01 7B 00 00 00 00 01 01" | //"01 00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 35 00 2D 00 00 04 D2 00 2D 00 2D 00 00 00 01 00 00 00 01 7B 00 00 00 00 01 01" | ||||
@@ -74,8 +74,8 @@ namespace JT809.Protocol.Test.JT809SubMessageBody | |||||
Assert.Equal((uint)1, vehiclePosition.State); | Assert.Equal((uint)1, vehiclePosition.State); | ||||
Assert.Equal((uint)1, vehiclePosition.Alarm); | Assert.Equal((uint)1, vehiclePosition.Alarm); | ||||
Assert.Equal(123, jT809_0x1500_0x1502.LensID); | Assert.Equal(123, jT809_0x1500_0x1502.LensID); | ||||
Assert.Equal(JT809__0x9502_SizeType._320x240, jT809_0x1500_0x1502.SizeType); | |||||
Assert.Equal(JT809__0x9502_ImageType.jpg, jT809_0x1500_0x1502.Type); | |||||
Assert.Equal(JT809_0x9502_SizeType._320x240, jT809_0x1500_0x1502.SizeType); | |||||
Assert.Equal(JT809_0x9502_ImageType.jpg, jT809_0x1500_0x1502.Type); | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -19,7 +19,7 @@ namespace JT809.Protocol.Test.JT809SubMessageBody | |||||
JT809_0x9500_0x9502 jT809_0X9500_0X9502 = new JT809_0x9500_0x9502 | JT809_0x9500_0x9502 jT809_0X9500_0X9502 = new JT809_0x9500_0x9502 | ||||
{ | { | ||||
LensID=0x09, | LensID=0x09, | ||||
SizeType= Enums.JT809__0x9502_SizeType._320x240 | |||||
SizeType= Enums.JT809_0x9502_SizeType._320x240 | |||||
}; | }; | ||||
var hex = JT809Serializer.Serialize(jT809_0X9500_0X9502).ToHexString(); | var hex = JT809Serializer.Serialize(jT809_0X9500_0X9502).ToHexString(); | ||||
Assert.Equal("0901", hex); | Assert.Equal("0901", hex); | ||||
@@ -5,14 +5,18 @@ using System.Text; | |||||
namespace JT809.Protocol.Enums | namespace JT809.Protocol.Enums | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 车辆颜色,按照 JT/T415-2006 中5.4.12 的规定 | |||||
/// 车辆颜色,按照 JT/T 415-2021 中5.4.12 的规定 | |||||
/// </summary> | /// </summary> | ||||
public enum JT809VehicleColorType:byte | |||||
public enum JT809VehicleColorType : byte | |||||
{ | { | ||||
蓝色=0x01, | |||||
黄色=0x02, | |||||
蓝色 = 0x01, | |||||
黄色 = 0x02, | |||||
黑色 = 0x03, | 黑色 = 0x03, | ||||
白色 = 0x04, | 白色 = 0x04, | ||||
其他 =0x09, | |||||
其他 = 0x09, | |||||
农黄色 = 91, | |||||
农绿色 = 92, | |||||
黄绿色 = 93, | |||||
渐变绿 = 94, | |||||
} | } | ||||
} | } |
@@ -4,7 +4,7 @@ using System.Text; | |||||
namespace JT809.Protocol.Enums | namespace JT809.Protocol.Enums | ||||
{ | { | ||||
public enum JT809__0x9502_ImageType | |||||
public enum JT809_0x9502_ImageType | |||||
{ | { | ||||
jpg=0x01, | jpg=0x01, | ||||
gif=0x02, | gif=0x02, |
@@ -4,7 +4,7 @@ using System.Text; | |||||
namespace JT809.Protocol.Enums | namespace JT809.Protocol.Enums | ||||
{ | { | ||||
public enum JT809__0x9502_SizeType | |||||
public enum JT809_0x9502_SizeType | |||||
{ | { | ||||
_320x240=0x01, | _320x240=0x01, | ||||
_640x480=0x02, | _640x480=0x02, |
@@ -31,8 +31,8 @@ | |||||
<None Remove="Enums\**" /> | <None Remove="Enums\**" /> | ||||
<None Remove="Escape\**" /> | <None Remove="Escape\**" /> | ||||
<None Remove="ProtocolPacket\**" /> | <None Remove="ProtocolPacket\**" /> | ||||
<None Include="..\..\README.md" Pack="true" PackagePath=""/> | |||||
<None Include="..\..\LICENSE" Pack="true" PackagePath=""/> | |||||
<None Include="..\..\README.md" Pack="true" PackagePath="" /> | |||||
<None Include="..\..\LICENSE" Pack="true" PackagePath="" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -84,24 +84,37 @@ | |||||
<Compile Include="Enums\JT809_9401_SupervisionLevel.cs" /> | <Compile Include="Enums\JT809_9401_SupervisionLevel.cs" /> | ||||
<Compile Include="Enums\JT809_LinkType.cs" /> | <Compile Include="Enums\JT809_LinkType.cs" /> | ||||
<Compile Include="Enums\JT809_VehiclePositionEncrypt.cs" /> | <Compile Include="Enums\JT809_VehiclePositionEncrypt.cs" /> | ||||
<Compile Include="Enums\JT809__0x9502_ImageType.cs" /> | |||||
<Compile Include="Enums\JT809__0x9502_SizeType.cs" /> | |||||
<Compile Include="Enums\JT809_0x9502_ImageType.cs" /> | |||||
<Compile Include="Enums\JT809_0x9502_SizeType.cs" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' "> | |||||
<PackageReference Include="Microsoft.CSharp" Version="4.6.0" /> | |||||
<PackageReference Include="System.Buffers" Version="4.5.1" /> | |||||
<PackageReference Include="System.Dynamic.Runtime" Version="4.3.0" /> | |||||
<PackageReference Include="System.Memory" Version="4.5.4" /> | |||||
<PackageReference Include="System.Reflection.Extensions" Version="4.3.0" /> | |||||
</ItemGroup> | |||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' "> | |||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> | |||||
<PackageReference Include="System.Buffers" Version="4.5.1" /> | |||||
<PackageReference Include="System.Dynamic.Runtime" Version="4.3.0" /> | |||||
<PackageReference Include="System.Memory" Version="4.5.4" /> | |||||
<PackageReference Include="System.Reflection.Extensions" Version="4.3.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" /> | |||||
<PackageReference Include="System.Text.Json" Version="6.0.0" /> | |||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> | |||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="5.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="5.0.0" /> | |||||
<PackageReference Include="System.Text.Json" Version="5.0.0" /> | |||||
</ItemGroup> | |||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.1' "> | |||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> | |||||
<PackageReference Include="System.Text.Json" Version="6.0.0" /> | |||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" /> | |||||
</ItemGroup> | |||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net5.0' "> | |||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="5.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="5.0.0" /> | |||||
</ItemGroup> | |||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' "> | |||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | <ItemGroup> | ||||
<Compile Update="Extensions\JT809PackageExtensionsTemplate.cs"> | <Compile Update="Extensions\JT809PackageExtensionsTemplate.cs"> | ||||
@@ -4369,7 +4369,7 @@ | |||||
</member> | </member> | ||||
<member name="T:JT809.Protocol.Enums.JT809VehicleColorType"> | <member name="T:JT809.Protocol.Enums.JT809VehicleColorType"> | ||||
<summary> | <summary> | ||||
车辆颜色,按照 JT/T415-2006 中5.4.12 的规定 | |||||
车辆颜色,按照 JT/T 415-2021 中5.4.12 的规定 | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT809.Protocol.Enums.JT809WarnSrc"> | <member name="T:JT809.Protocol.Enums.JT809WarnSrc"> | ||||
@@ -45,11 +45,11 @@ namespace JT809.Protocol.SubMessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 图片大小 | /// 图片大小 | ||||
/// </summary> | /// </summary> | ||||
public JT809__0x9502_SizeType SizeType { get; set; } | |||||
public JT809_0x9502_SizeType SizeType { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 图像格式 | /// 图像格式 | ||||
/// </summary> | /// </summary> | ||||
public JT809__0x9502_ImageType Type { get; set; } | |||||
public JT809_0x9502_ImageType Type { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 图片内容 | /// 图片内容 | ||||
/// </summary> | /// </summary> | ||||
@@ -72,9 +72,9 @@ namespace JT809.Protocol.SubMessageBody | |||||
writer.WriteNumber($"[{value.LensID}]镜头ID", value.LensID); | writer.WriteNumber($"[{value.LensID}]镜头ID", value.LensID); | ||||
value.PhotoLen = reader.ReadUInt32(); | value.PhotoLen = reader.ReadUInt32(); | ||||
writer.WriteNumber($"[{value.PhotoLen}]图片长度", value.PhotoLen); | writer.WriteNumber($"[{value.PhotoLen}]图片长度", value.PhotoLen); | ||||
value.SizeType = (JT809__0x9502_SizeType)reader.ReadByte(); | |||||
value.SizeType = (JT809_0x9502_SizeType)reader.ReadByte(); | |||||
writer.WriteString($"[{value.SizeType.ToByteValue()}]图片大小", value.SizeType.ToString()); | writer.WriteString($"[{value.SizeType.ToByteValue()}]图片大小", value.SizeType.ToString()); | ||||
value.Type = (JT809__0x9502_ImageType)reader.ReadByte(); | |||||
value.Type = (JT809_0x9502_ImageType)reader.ReadByte(); | |||||
writer.WriteString($"[{value.Type.ToByteValue()}]图像格式", value.Type.ToString()); | writer.WriteString($"[{value.Type.ToByteValue()}]图像格式", value.Type.ToString()); | ||||
if (value.PhotoLen > 0) | if (value.PhotoLen > 0) | ||||
{ | { | ||||
@@ -97,8 +97,8 @@ namespace JT809.Protocol.SubMessageBody | |||||
} | } | ||||
value.LensID = reader.ReadByte(); | value.LensID = reader.ReadByte(); | ||||
value.PhotoLen = reader.ReadUInt32(); | value.PhotoLen = reader.ReadUInt32(); | ||||
value.SizeType = (JT809__0x9502_SizeType)reader.ReadByte(); | |||||
value.Type = (JT809__0x9502_ImageType)reader.ReadByte(); | |||||
value.SizeType = (JT809_0x9502_SizeType)reader.ReadByte(); | |||||
value.Type = (JT809_0x9502_ImageType)reader.ReadByte(); | |||||
if (value.PhotoLen > 0) | if (value.PhotoLen > 0) | ||||
{ | { | ||||
value.Photo = reader.ReadArray((int)value.PhotoLen).ToArray(); | value.Photo = reader.ReadArray((int)value.PhotoLen).ToArray(); | ||||
@@ -32,14 +32,14 @@ namespace JT809.Protocol.SubMessageBody | |||||
/// 0x07:704x288[HALF D]; | /// 0x07:704x288[HALF D]; | ||||
/// Ox08:704x576[DI] | /// Ox08:704x576[DI] | ||||
/// </summary> | /// </summary> | ||||
public JT809__0x9502_SizeType SizeType { get; set; } | |||||
public JT809_0x9502_SizeType SizeType { get; set; } | |||||
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) | public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) | ||||
{ | { | ||||
JT809_0x9500_0x9502 value = new JT809_0x9500_0x9502(); | JT809_0x9500_0x9502 value = new JT809_0x9500_0x9502(); | ||||
value.LensID = reader.ReadByte(); | value.LensID = reader.ReadByte(); | ||||
writer.WriteNumber($"[{value.LensID.ReadNumber() }]镜头ID", value.LensID); | writer.WriteNumber($"[{value.LensID.ReadNumber() }]镜头ID", value.LensID); | ||||
value.SizeType = (JT809__0x9502_SizeType)reader.ReadByte(); | |||||
value.SizeType = (JT809_0x9502_SizeType)reader.ReadByte(); | |||||
writer.WriteString($"[{value.SizeType.ToByteValue()}]图片大小", value.SizeType.ToString()); | writer.WriteString($"[{value.SizeType.ToByteValue()}]图片大小", value.SizeType.ToString()); | ||||
} | } | ||||
@@ -47,7 +47,7 @@ namespace JT809.Protocol.SubMessageBody | |||||
{ | { | ||||
JT809_0x9500_0x9502 value = new JT809_0x9500_0x9502(); | JT809_0x9500_0x9502 value = new JT809_0x9500_0x9502(); | ||||
value.LensID = reader.ReadByte(); | value.LensID = reader.ReadByte(); | ||||
value.SizeType = (JT809__0x9502_SizeType)reader.ReadByte(); | |||||
value.SizeType = (JT809_0x9502_SizeType)reader.ReadByte(); | |||||
return value; | return value; | ||||
} | } | ||||
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9500_0x9502 value, IJT809Config config) | public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9500_0x9502 value, IJT809Config config) | ||||