当前位置: 首页 > article >正文

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

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比对工具


http://www.kler.cn/a/325705.html

相关文章:

  • 闫氏DP分析法应用
  • 什么是循环神经网络
  • Linux之vim模式下全选命令
  • DQN系列算法详解
  • Nginx server_name配置错误导致路由upstream超时问题
  • 华为USG5500防火墙配置NAT
  • 【ShuQiHere】AVL 树(AVL Tree):如何保持二叉搜索树的平衡性?
  • 重构长方法之提取方法
  • 9.26-9.29学习
  • 信息安全数学基础(21)高次同余式的解数及解法
  • 【C++题目】7.双指针_和为 s 的两个数字
  • Python | Leetcode Python题解之第447题回旋镖的数量
  • 【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
  • 【C++——文件操作】
  • Allen Institute for Artificial Intelligence (Ai2) 发布开源多模态语言模型 Molmo
  • Mixture-of-Experts (MoE): 条件计算的诞生与崛起【下篇】
  • 四十四、多云/混合云架构设计(安全与合规策略)
  • watchEffect工作原理
  • docker学习笔记(1.0)
  • 面经4——亚信
  • Visual Studio Code 高级使用技巧:插件推荐、调试技巧与工作流优化
  • 【HTML5】html5开篇基础(5)
  • 怎么屏蔽统计系统统计到的虚假ip
  • 【分布式微服务云原生】探索RPC:远程过程调用的奥秘与技术实现
  • 汽车信息安全 -- 再谈车规MCU的安全启动
  • 【小程序 - 大智慧】Expareser 组件渲染框架