- 博客(24)
- 收藏
- 关注
原创 Python定义UDS诊断服务(8):SecurityAccess(0x27)
本文档详细介绍了基于ISO14229-1标准的UDS安全访问服务(SecurityAccess)的Python实现。该服务通过"请求种子-发送密钥"的挑战响应机制进行身份验证。文档包含服务定义、类结构设计、核心方法(如种子请求、密钥生成、响应解析等)、协议流程细节(包括安全算法AES-CMAC)以及使用示例。实现支持多种安全级别(01/05/19等),遵循标准通信流程,并提供了完整的请求构建和响应解析功能,同时处理各种否定响应和错误场景。
2025-09-18 16:11:06
935
原创 Python定义UDS诊断服务(7):ReadDataByIdentifier(0x22)
本文档详细介绍了基于ISO14229-1标准的读取数据标识符服务(ReadDataByIdentifier,服务ID 0x22)的Python实现。该服务是UDS协议的核心功能之一,允许通过数据标识符(DID)从ECU读取特定数据。文档包含服务定义、协议规范、类结构设计、核心方法实现(包括请求构建和响应解析)、协议细节说明、使用示例以及高级功能(如DID数据解析、缓存管理和批量处理优化)。此外还提供了完善的错误处理机制和调试工具,支持固定/可变长度DID处理,并包含性能监控功能。该实现严格遵循ISO1422
2025-09-17 13:17:50
1111
原创 Python定义UDS诊断服务(6):ReadDTCInformation(0x19)
本文档详细介绍了基于ISO 14229-1标准的读取诊断故障码服务(0x19)的Python实现。该服务用于从ECU读取DTC及其相关数据,支持6个子功能:报告DTC数量/列表、快照数据、扩展数据等。文档包含类结构设计、核心方法说明、协议细节和使用示例,重点解析了请求构造和响应处理逻辑,并提供了高级用法如状态掩码管理和批量处理工具。实现遵循UDS协议规范,支持否定响应处理和调试功能,适用于完整的诊断流程开发。
2025-09-16 09:34:27
1302
原创 Python定义UDS诊断服务(5):ClearDiagnosticInformation(0x14)
本文档介绍了基于ISO14229-1标准的清除诊断信息服务(Service ID 0x14)的Python实现。该服务用于清除ECU中存储的诊断故障码(DTC)及相关信息,包含服务定义、类结构设计、核心方法实现及使用示例。文档详细说明了请求构建方法(支持整数和字节列表两种DTC组格式)、响应解析逻辑,以及DTC组标识符规范(0xFFFFFF表示清除所有DTC)。此外还提供了批量清除、错误处理、单元测试等高级应用场景的代码示例,帮助开发者实现符合UDS协议标准的诊断功能。实现遵循ISO14229-1:2020
2025-09-15 09:37:02
868
原创 Python定义UDS诊断服务(4):DTC
本文档介绍了一个符合ISO14229-1标准的诊断故障码(DTC)Python实现方案。DTC类采用三层嵌套结构设计,包含状态信息、快照数据和扩展数据等核心属性,支持多种格式的DTC标识符初始化。文档详细说明了DTC状态位的8种定义及其管理方法,包括状态设置、字节转换等功能。同时提供了快照数据和扩展数据的存储方案,以及DTC格式解析、标准格式转换等实用方法。通过示例代码展示了DTC的创建、配置、批量处理以及状态分析等典型应用场景,并给出了内存管理和性能优化的最佳实践。最后包含完整的单元测试用例,确保DTC类
2025-09-15 09:36:00
947
原创 Python定义UDS诊断服务(3):ECUReset(0x11)
本文档详细介绍了基于ISO14229-1标准的ECUReset服务(0x11)的Python实现。该服务用于请求ECU执行硬件或软件重置操作,是UDS协议中的关键控制服务。文档包含服务定义、类结构设计、核心方法(请求构建和响应解析)、协议细节(5种重置类型及否定响应处理)以及使用示例。实现遵循ISO14229-1:2020标准,支持硬件重置(0x01)、电源管理等操作,并包含安全访问验证和错误处理机制。提供了完整的单元测试用例和实际应用场景(如软件更新后重置),强调重置操作对系统状态的影响及安全注意事项。
2025-09-12 09:36:28
617
原创 Python定义UDS诊断服务(2):DiagnosticSessionControl(0x10)
本文档详细介绍了基于ISO14229-1标准的诊断会话控制服务(0x10)的Python实现。该服务用于控制ECU在不同诊断会话模式间切换,是UDS协议的核心功能之一。文档内容包括服务定义、类结构设计、核心方法实现、协议细节及使用示例。重点解析了请求构建(make_request)和响应解析(interpret_response)方法,详细说明了会话类型、定时参数处理及否定响应场景。此外还提供了完整的工作流程示例、错误处理方案和性能优化建议,支持通过继承实现自定义会话类型扩展。该实现严格遵循UDS标准规范,
2025-09-11 11:11:29
1119
原创 Python定义UDS诊断服务(1):通用篇
本文介绍了一个基于Python实现的UDS(统一诊断服务)协议库,完整实现了ISO14229标准定义的诊断服务功能。该库支持请求构建、响应解析和负响应码处理等核心功能,采用客户端-服务器架构。主要模块包括:工具函数模块(提供参数验证和DID数据长度获取)、ResponseCode类(定义所有负响应码)、BaseService抽象基类(实现服务发现和负响应验证机制)以及Request/Response类(分别处理请求构建和响应解析)。该库要求Python3.7+,利用类型注解、数据类等特性,支持灵活的服务扩展
2025-09-10 09:30:00
1259
原创 Vector:XL-Driver-Library使用说明——CANFD Commands
本文介绍了CAN FD通信的关键接口函数:1. xlCanFdSetConfiguration()用于配置CAN FD通道的采样参数,包括仲裁段和数据段的波特率、采样点等设置;2. xlCanReceive()和xlCanTransmitEx()分别实现CAN FD报文的接收和发送功能。文章详细说明了各接口的参数配置方法,并指出CAN FD模块兼容传统CAN通信,可统一用于CAN接口开发。通过这三个核心接口,可实现完整的CAN FD报文收发链路。
2025-09-09 10:00:00
2166
原创 Vector:XL-Driver-Library使用说明——CAN Commands
本文介绍了XL-Driver-Library中CAN通信相关的Commands接口,主要包括通道配置和报文收发功能。在通道配置方面,重点讲解了xlCanSetChannelBitrate()用于设置波特率(通常设为500k)和xlCanSetChannelMode()设置通道模式。在报文收发部分,详细说明了xlReceive()接收报文(支持CAN/LIN/K-Line/DAIO总线)和xlCanTransmit()发送CAN报文(支持多报文同时发送)的使用方法。文章最后指出这些接口共同构成了实现CAN报文
2025-09-08 09:30:00
1153
原创 Vector:XL-Driver-Library使用说明——Common Commands
本文介绍了Vector公司的XL-Driver-Library底层驱动接口库,该库提供对VN系列接口卡等Vector硬件设备的直接控制。主要内容包括:1)系统兼容性,支持Windows 7/8/10操作系统及多种Vector设备;2)设备初始化流程,详细说明xlOpenDriver()、xlGetApplConfig()等关键API函数的使用方法;3)通道配置管理,解释通道掩码计算规则和端口操作;4)特殊功能支持,如时间同步和许可证管理。该库通过DLL调用实现Python等上位机对硬件的直接控制,建议在Ve
2025-09-07 09:00:00
735
原创 Python与XML文件处理详解(2续):xml.dom.minidom模块高阶使用方法
本文详细介绍了Python中xml.dom.minidom模块的高级使用方法,重点包括:1)DOM节点的精确导航、复制和高级管理技巧;2)文档创建与序列化控制,包括命名空间处理、紧凑输出优化;3)实用工具函数集,如处理空白节点、按属性查找元素等;4)模拟ARXML操作的具体案例;5)内存管理和选择性解析等性能优化策略。文章指出,虽然minidom在性能上不如ElementTree,但其完整的DOM API和对复杂XML结构的精细控制能力,使其在处理ARXML等需要精确操作的场景中仍具价值。最后强调了根据项目
2025-09-05 09:59:03
454
原创 Python小工具:Git分支及标签清理
Git分支与标签清理工具是一款基于Python和Tkinter的图形化应用程序,旨在帮助开发者高效管理Git仓库。该工具提供安全删除本地和远程分支/标签的功能,内置保护机制防止误删重要引用。核心功能包括:智能识别可删除引用、批量操作支持、实时状态监控、多线程处理确保界面响应。工具采用模块化设计,支持自定义保护规则,适用于个人开发者和团队协作场景。通过直观的图形界面,用户可以轻松完成仓库维护工作,同时保持操作的安全性和可靠性。
2025-09-05 09:35:38
1109
原创 Python与XML文件处理详解(2):使用xml.dom.minidom模块处理XML
本文摘要: 《Python minidom处理XML与ARXML指南》深入讲解了标准库xml.dom.minidom模块的使用。文章分为四部分:1) 解析DOM模型核心概念及minidom适用场景;2) 详细API教程,包括解析/遍历/修改XML文档;3) 处理复杂XML如ARXML的实践方法;4) 总结minidom优劣势。重点对比了minidom与ElementTree的差异,特别强调minidom在标准兼容性、精确控制方面的优势,同时指出其内存效率低、API冗长等不足。针对ARXML处理,提供了命名空
2025-09-04 13:14:08
1077
原创 Python与XML文件处理详解(1):使用xml.etree.ElementTree处理XML
本文介绍了Python处理XML文件的核心技术。首先概述了XML的基本结构和Python三大XML处理库(ElementTree、DOM、SAX)的特性及适用场景。重点讲解了ElementTree模块的使用方法,包括XML文件的解析与遍历、数据提取与修改、创建新文档等操作。文章还涉及XPath查询、命名空间处理等高级技巧,并提供了完整的代码示例。通过本书内容,读者可以掌握使用Python高效处理XML数据的实用技能,适用于从简单配置文件到复杂数据交换的各种场景。
2025-09-04 10:00:00
930
原创 Python小工具:代码质量自动化检查
Python代码质量自动化检查工具整合了Flake8、Pylint和MyPy三大工具,为开发团队提供全面的代码质量保障。该脚本支持参数化调用,可集成到CI/CD流程中作为质量门禁,具有多工具集成、灵活配置、智能报告生成等特点。通过统一代码规范、早期缺陷预防、量化质量标准等功能,显著提升代码一致性、可维护性和团队协作效率。与人工审查相比,自动化检查具有高度一致性、高效率、全面覆盖等优势,是开发流程标准化的重要基础设施。工具支持严格模式增强检查,可生成详细Markdown报告,帮助团队持续监控代码健康状态,有效
2025-09-03 10:00:00
837
原创 Python小工具:查找Exe文件
本文提供了一个专为 Windows 系统设计的强大 Python 脚本,能够通过多种智能途径快速准确地定位系统中安装的可执行文件(.exe)路径。该工具集成了四种不同的查找策略,确保在复杂的企业环境或个人电脑中都能可靠地找到目标程序。
2025-09-03 10:00:00
457
原创 XML与ARXML文件详解:从通用数据交换到汽车软件的基石
本文系统介绍了XML及其在汽车电子领域的专业应用ARXML。XML作为通用数据标记语言,具有可扩展性、自描述性等特点,广泛用于数据存储和交换。文章详细解析了XML的语法结构及相关技术生态,包括DTD/XSD、XPath、XSLT等。重点探讨了ARXML在AUTOSAR标准中的核心作用,它是汽车软件架构的"工程蓝图",用于描述ECU系统配置、组件接口等信息。通过ARXML,实现了汽车软件开发中的软硬件分离,支持OEM与供应商之间的标准化协作。随着汽车智能化发展,ARXML将在Adaptiv
2025-09-02 16:14:55
116
原创 Python小工具:文件(夹)压缩工具
本文介绍了常见的压缩包类型及其特点,并提供了一个基于Python的文件压缩工具实现。主要压缩格式包括:TAR(仅归档)、GZ(单文件压缩)、TAR.GZ(归档+压缩)、ZIP(跨平台)、TAR.BZ2(高压缩率)、7Z(极致压缩)和RAR(商业格式)。文章详细解析了每种格式的优缺点及适用场景。随后展示了一个带有GUI界面的Python压缩工具,支持多文件/文件夹压缩,可生成上述所有格式的压缩包,并提供了源码实现说明。该工具采用多线程处理压缩任务,包含文件选择、压缩选项设置和进度显示等功能。
2025-09-02 14:14:32
815
原创 Python小工具:压缩包解压缩工具
本文介绍了常见压缩包类型及其特点,并提供了一个基于Python的文件解压工具实现。主要内容包括: 常见压缩格式分析: 归档格式:TAR(不压缩) 压缩格式:GZ(单文件)、ZIP(跨平台)、7Z(高压缩率)、RAR(商业) 组合格式:TAR.GZ(归档+压缩)、TAR.BZ2(高压缩率) Python解压工具功能: 支持7种主流压缩格式 提供GUI界面(文件选择、解压路径设置) 支持递归解压(可设置深度) 多线程处理与实时日志 该工具使用标准库(tarfile/zipfile等)实现核心解压功能,通过tki
2025-09-02 10:30:32
640
原创 AI助手协助实现Flask网页开发
本文介绍了Python轻量级Web框架Flask及其在实际项目开发中的应用。主要内容包括: Flask核心特性:轻量模块化设计、内置开发服务器、RESTful支持和Jinja2模板引擎 AI在Flask开发中的应用:代码生成、错误调试、性能优化和安全加固 实际案例演示:通过用户认证系统展示Flask项目结构,包括app.py主程序、用户注册/登录表单验证和Dashboard界面模板 技术对比:分析了Flask相较于Tkinter在跨平台性、界面丰富度和可扩展性方面的优势 案例展示了完整的Flask项目结构,
2025-09-01 21:07:41
1141
原创 使用Python定义测试用例
本文介绍了用于自动化测试的Python类型封装方案。通过定义五个核心类来构建完整的测试框架:TestResultEnum枚举类管理测试结果状态(通过/失败/警告等),TestStatusEnum枚举类控制测试执行状态,TestStep数据类封装测试步骤信息(动作、预期/实际结果),TestCase数据类组织测试用例(描述、前提条件、步骤列表等),以及待完善的TestReport报告类。该设计采用Python的dataclass和Enum特性,提供了类型安全的测试数据管理,支持通过方法自动计算用例长度和总体测
2025-09-01 15:37:17
342
原创 Python实现车载CAN通信(1):CAN报文封装
本文介绍了两种CAN报文类的实现方法,用于封装CAN通信测试中的核心功能。第一种基于第三方can库的Message类,提供了基本的CAN报文属性封装;第二种自定义CANMessage类,在简化设计的同时增加了协议合规检查、数据格式转换等功能,支持CAN2.0B和CANFD规范。通过面向对象的封装,可以更方便地处理CAN通信测试中的报文操作,提高测试效率和代码可维护性。两种方法各有特点,可根据实际测试需求选择使用。
2025-09-01 14:22:32
624
原创 Python代码编程规范
本文总结了Python编程规范的核心要点,涵盖代码风格、函数设计、类设计、模块与包管理等方面。主要内容包括:1)代码风格规范(行长度≤120字符、4空格缩进、导入顺序等);2)函数设计原则(参数顺序、类型提示、文档字符串等);3)类设计规范(文档字符串、成员变量设计、方法设计等);4)模块与包管理(导入方式、动态导入等)。强调规范的目的是提升代码可读性、可维护性和团队协作效率,同时体现专业工程师素养。特别推荐使用Path库处理文件系统路径操作。
2025-09-01 10:54:15
1612
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅