首页 > 其他分享 >自制CANTool_DBC_Layout仿制_布局读取Signal(三)

自制CANTool_DBC_Layout仿制_布局读取Signal(三)

时间:2024-09-27 18:49:49浏览次数:11  
标签:returnID Layout Signal BO treeViewDirectory CANTool dBCLayoutDAL tB DBC

1、读取DBC中解析格式空格问题报错解决方法
原来解析方式:BO_ 258 EPS_CANFD_StrWhlASts: 8 Test
有的DBC中数据格式:BO_  80 GW_50: 8 GW        (多了一个空格)
解析匹配规则修订为:
string MessageRegex = @"BO_\s+(\d+)\s+(\w+)\s*:\s*(\d+)\s+(\w+)";
2、使用C#自制DBC布局--UI

3、使用C#自制DBC布局--代码
        #region DBC To TreeView
        private void bt_OpenDBCFilepath_Click(object sender, EventArgs e)
        {
            tB_DBCFilepath.Text = dBCLayoutDAL.LoadDbc();

            if (tB_DBCFilepath.Text != null || tB_DBCFilepath.Text != "")
            {
                XmlDocument xmlDocument = dbcXmlExporter.ExportToXml(dBCLayoutDAL.dBCReader.dbc);

                dbcXmlExporter.ImportToTreeView(xmlDocument, this.treeViewDirectory);
            }
        }
        #endregion

        #region DBC Layout
        private void treeViewDirectory_DoubleClick(object sender, EventArgs e)
        {
            // 获取选择的节点
            TreeNode selectedNode = treeViewDirectory.SelectedNode;
            //获取ID
            int returnID = dBCLayoutDAL.TreeView_Find_DBC_ID(selectedNode);
            //获取message
            if (returnID != -1)
            {
                Model.Message messageMacthID = dBCLayoutDAL.dBCReader.GetMatchingMessage((uint)returnID);
                if (messageMacthID.DLC <= 8)
                {
                    dBCLayoutDAL.InitCANLayout(dataGridViewCAN);
                    dBCLayoutDAL.SetCANLayout(messageMacthID, this.dataGridViewCAN);
                }
                else
                {
                    dBCLayoutDAL.InitCANFDLayout(dataGridViewCAN);
                    dBCLayoutDAL.SetCANFDLayout(messageMacthID, this.dataGridViewCAN);
                }
                
            }
        }
        #endregion
4、后记

下一步DBC比对工具

标签:returnID,Layout,Signal,BO,treeViewDirectory,CANTool,dBCLayoutDAL,tB,DBC
From: https://blog.csdn.net/caoxuefei520/article/details/142533278

相关文章

  • Element UI 自定义Layout前端页面布局
    1.layout下新建front文件夹index.vue中内容<template><divclass="frontLayout"><el-container><el-header><divclass="navBar"><divclass="navBarLeft">......
  • ECE-GY 6183 Real-Time Digital Signal Processing
    Real-Time Digital Signal Processing LabECE-GY 6183 / ECE-UY 4163Fall 2024This course is an introductiontothe real-time implementationofdigital signal processing (DSP) algorithms, with an emphasis on audio signal processing an......
  • ASP.NET Core SignalR :学习消息通讯,实现一个消息通知
    ASP.NETCoreSignalR:学习消息通讯,实现一个消息通知  什么是SignalR    目前我用业余时间正在做一个博客系统,其中有个功能就是评论通知,就是假如A用户评论B用户的时候,如果B用户首页处于打开状态,那么就会提示B用户有未读消息。暂时用SignalR来实现这个功能。我也是......
  • 【MAUI】FlexLayout
    文章目录概述属性方向和对齐方式DirectionWrapJustifyContentAlignItemsAlignContent圣杯布局来源概述FlexLayout弹性布局,和前端的Flex弹性布局,几乎一样。FlexLayout是容器,可以定义Direction/主轴方向、Wrap/子元素在主轴方向上是否换行/列、JustityContent/AlignI......
  • SciPy signal.tukey 模块错误
    当我在Pycharm中运行下面的代码时出现错误。当我在终端中运行相同的代码时,它工作正常!有人知道发生了什么事吗?这是一个错误吗?fromscipyimportsignalwindow=signal.tukey(51)谢谢!很难说是什么导致了这个问题,却没有关于你遇到的具体错误信息的更多信息。然而,根......
  • 论文研读——《RF-Diffusion: Radio Signal Generation via Time-Frequency Diffusion
    本文的是有关无线电信号生成的一篇文章。目录论文简介名词补充现有RF数据生成模型论文贡献RF-Diffusion时频扩散时频扩散——正向销毁过程时频扩散——正向销毁过程时频扩散——逆向恢复过程  时频扩散——条件生成分层扩散Transformer分层扩散Transformer——......
  • vue-grid-layout详解
    vue-grid-layout教程vue-grid-layout是一个用于Vue.js的响应式拖放网格布局组件,允许开发者创建可调整大小、可拖放的布局,广泛用于仪表板、管理面板等复杂布局需求。本教程将介绍如何安装、配置和使用vue-grid-layout。目录安装基本使用布局设置拖拽和调整大小高级使用响应式布......
  • 操作系统:线程间通信方式(下)——信号量机制 (Semaphore) 与信号机制 (Signal)
    操作系统:线程间通信方式(下)——信号量机制(Semaphore)与信号机制(Signal)在多线程编程中,线程间的通信与同步至关重要。信号量机制(Semaphore)和信号机制(Signal)是两种常见且重要的线程间通信方式,它们各自解决不同场景下的线程控制问题。本文将详细介绍信号量和信号的基本概......
  • 自制CANTool_DBC_Layout仿制_基本框架练习(一)
    1、工具制作用途    模仿DBC中对于Layout方案的模仿,先完成一些基本功能,数据导入和信号解析2、工具UI1、初始化CAN的布局2、导入CANMessage信号3、导入CANSignal1、初始化CANFD的布局2、导入CANFDMessage信号3、导入CANFDSignal3、工具代码#reg......
  • 两个用于改善图形渲染质量的属性UseLayoutRounding和SnapsToDevicePixels
    UseLayoutRounding:获取或设置一个值,该值指示是否应向此元素的大小和位置布局应用布局舍入。UseLayoutRounding当元素的属性为true时,在传递Arrange过程中Measure计算的所有非整型像素值都会舍入到整个像素值。在像素边界上绘制对象时,当边缘落在设备像素中间时,消除由抗锯齿生成的......