diff --git a/src/Info.props b/src/Info.props index 0cc82ab..cdbe017 100644 --- a/src/Info.props +++ b/src/Info.props @@ -8,7 +8,7 @@ https://github.com/SmallChi/JT808 https://github.com/SmallChi/JT808/blob/master/LICENSE https://github.com/SmallChi/JT808/blob/master/LICENSE - 2.4.1-preview1 + 2.4.1 LICENSE true latest diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.csproj b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.csproj index e75e3f3..222e512 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.csproj +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.csproj @@ -3,8 +3,8 @@ JT808.Protocol.Extensions.JT1078 JT808.Protocol.Extensions.JT1078 - 基于JT808协议、GB808协议扩展的视频消息协议 - 基于JT808协议、GB808协议扩展的视频消息协议 + 基于JT808协议、GB808协议扩展的JT1078视频消息协议 + 基于JT808协议、GB808协议扩展的JT1078视频消息协议 JT808.Protocol.Extensions.JT1078.xml diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml index bf071bf..a001b22 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml @@ -1831,6 +1831,16 @@ 文件上传指令 + + + 文件上传指令 + + + + + 0x9206 + + 服务器IP地址服务 diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs index 3d8f05a..583cba9 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/MessageBody/JT808_0x9206.cs @@ -13,10 +13,14 @@ namespace JT808.Protocol.Extensions.JT1078.MessageBody /// public class JT808_0x9206 : JT808Bodies, IJT808MessagePackFormatter, IJT808Analyze { -#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释 + /// + /// 文件上传指令 + /// public override string Description => "文件上传指令"; + /// + /// 0x9206 + /// public override ushort MsgId => 0x9206; -#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释 /// /// 服务器IP地址服务 /// diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml index bc5393b..7fa816f 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml @@ -1743,7 +1743,11 @@ 红外墨镜阻断失效报警拍照间隔 - + + + 双脱把报警分级车速阈值 + + 双脱把报警前后视频录制时间 @@ -1759,7 +1763,11 @@ 双脱把报警拍照间隔 - + + + 玩手机报警分级车速阈值 + + 玩手机报警前后视频录制时间 diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF365.cs b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF365.cs index 850d138..02d912a 100644 --- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF365.cs +++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x8103_0xF365.cs @@ -199,6 +199,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody ///红外墨镜阻断失效报警拍照间隔 /// public byte PictureIntervalInfraredSunglassesBlockingFailure { get; set; } + /// /// 双脱把报警分级车速阈值 /// public byte ClassifiedSpeedThresholdDoubleHanderOff { get; set; } @@ -214,6 +215,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody ///双脱把报警拍照间隔 /// public byte PictureIntervalDoubleHanderOff { get; set; } + /// ///玩手机报警分级车速阈值 /// public byte ClassifiedSpeedThresholdPlayMobile { get; set; } diff --git a/src/JT808.Protocol.Test/Simples/Demo14.cs b/src/JT808.Protocol.Test/Simples/Demo14.cs index 85a6670..1a9786e 100644 --- a/src/JT808.Protocol.Test/Simples/Demo14.cs +++ b/src/JT808.Protocol.Test/Simples/Demo14.cs @@ -27,17 +27,17 @@ namespace JT808.Protocol.Test.Simples public Demo14() { IServiceCollection serviceDescriptors = new ServiceCollection(); - serviceDescriptors.AddJT808Configure(); + serviceDescriptors.AddJT808Configure(new DefaultGlobalConfig("replace")); //通常在startup中使用app的Use进行扩展 IServiceProvider serviceProvider = serviceDescriptors.BuildServiceProvider(); Use(serviceProvider); } - public void Use(IServiceProvider serviceProvider) + void Use(IServiceProvider serviceProvider) { - IJT808Config jT808Config = serviceProvider.GetRequiredService(); + IJT808Config jT808Config = serviceProvider.GetRequiredService(); //替换原有消息存在的BUG - jT808Config.MsgIdFactory.Map[0x0001]=new JT808_0x0001_Replace(); + jT808Config.ReplaceMsgId(); JT808Serializer = jT808Config.GetSerializer(); } diff --git a/src/JT808.Protocol/Interfaces/GlobalConfigBase.cs b/src/JT808.Protocol/Interfaces/GlobalConfigBase.cs index df96131..2f04e4c 100644 --- a/src/JT808.Protocol/Interfaces/GlobalConfigBase.cs +++ b/src/JT808.Protocol/Interfaces/GlobalConfigBase.cs @@ -126,7 +126,6 @@ namespace JT808.Protocol.Interfaces /// 终端控制自定义参数命令工厂 /// public virtual IJT808_0x8105_Cusotm_Factory JT808_0x8105_Cusotm_Factory { get; set; } - /// /// 外部扩展程序集注册 /// @@ -154,5 +153,19 @@ namespace JT808.Protocol.Interfaces } return this; } + /// + /// 替换原有消息 + /// + /// + /// + public void ReplaceMsgId() + where TSourceJT808Bodies : JT808Bodies + where TTargetJT808Bodies : JT808Bodies, new() + { + TTargetJT808Bodies bodies = new TTargetJT808Bodies(); + MsgIdFactory.Map[bodies.MsgId] = bodies; + FormatterFactory.FormatterDict.Remove(typeof(TSourceJT808Bodies).GUID); + FormatterFactory.FormatterDict.Add(typeof(TTargetJT808Bodies).GUID, bodies); + } } } diff --git a/src/JT808.Protocol/Interfaces/IJT808Config.cs b/src/JT808.Protocol/Interfaces/IJT808Config.cs index b6ee7f5..858151c 100644 --- a/src/JT808.Protocol/Interfaces/IJT808Config.cs +++ b/src/JT808.Protocol/Interfaces/IJT808Config.cs @@ -111,5 +111,12 @@ namespace JT808.Protocol /// /// IJT808Config Register(params Assembly[] externalAssemblies); + /// + /// 替换原有消息 + /// + void ReplaceMsgId() + where TSourceJT808Bodies : JT808Bodies + where TTargetJT808Bodies : JT808Bodies,new(); + } } diff --git a/src/JT808.Protocol/JT808.Protocol.xml b/src/JT808.Protocol/JT808.Protocol.xml index 56f5164..ba6685a 100644 --- a/src/JT808.Protocol/JT808.Protocol.xml +++ b/src/JT808.Protocol/JT808.Protocol.xml @@ -4032,6 +4032,13 @@ + + + 替换原有消息 + + + + JT808分析器 @@ -4500,6 +4507,11 @@ + + + 替换原有消息 + + 默认JT808构造器