Vector - CAPL - XCP介绍_02

        前面我们介绍了关于使用vector XCP License后,通过CAPL对XCP协议进行连接、断开和获取当前XCP连接状态的函数,本篇文章不做过多的其他赘述,我们继续介绍CAPL控制XCP相关的其他函数。

目录

xcpActivate

代码示例

 xcpDeactivate 

xcpActivateMeasurementGroup

xcpDeactivateAll

xcpUserCommand & OnXcpUserCommand

代码示例


xcpActivate

功能:激活用于上传或者DAQ相关测量的A2L参数。

namespace:系统变量的命名空间。

variable:对应的系统变量的名称。

sysVar:系统比那里的完全限定名称,包括所在的名称空间,以“::”分隔,并且需要在最前面带有“sysVar::”。

返回值:

        0:成功激活

        -1:系统变量没有找到

        -2:操作不允许

注意:

A、使用系统变量的结构体时,该函数必须对整个结构体内的变量都有效,不能只对结构体内的某个变量有效。

B、xcpActivate函数不可用在on preStart中,只能在xcpConnect或者xcpDisconnenct成功之后。

代码示例

	
on start
{if(0 == XcpActivate(sysvar::XCP::XcpSim::ampl)){write("Parameter ampl activated for measurement");}
}

 xcpDeactivate 

功能:停用用于上传或者DAQ相关测量的A2L参数。

namespace:系统变量的命名空间。

variable:对应的系统变量的名称。

sysVar:系统比那里的完全限定名称,包括所在的名称空间,以“::”分隔,并且需要在最前面带有“sysVar::”。

返回值:

        0:成功停用

        -1:系统变量没有找到

        -2:操作不允许

注意:使用系统变量的结构体时,该函数必须对整个结构体内的变量都有效,不能只对结构体内的某个变量有效。

xcpActivateMeasurementGroup

功能:名更改下次连接XCP设备时使用的测量组。

ecuQualifier:设备名称 – 在 CANoeXCP/CCP 窗口中配置。

groupName:测量组的名称。

返回值:

        0:函数执行成功

        -1:名称为ecuQualifier的设备不存在

        -2:操作不允许,连接已成功建立

        -5:groupName不存在

xcpDeactivateAll

功能:禁用自动读取活动测量组的所有配置参数。

ecuQualifier:设备名称 – 在 CANoeXCP/CCP 窗口中配置。

返回值:

        0:函数执行成功

        -1:名称为ecuQualifier的设备不存在

xcpUserCommand & OnXcpUserCommand

功能:将用户定义的数据发送到XCP slave。

ecuQualifier:设备名称 – 在 CANoeXCP/CCP 窗口中配置。

data:Tester定义的byte类型数据

datasize:data的数据长度

返回值:

        0:函数执行成功

        -1:名称为ecuQualifier的设备不存在

代码示例

variables
{long mMode;long mSegmentNr;byte mUsrCmdResponse = 0;
}void OnXcpConnect(char ecuName[])
{mMode = 255;mSegmentNr = 0;write("Connect callback! ECU: %s", ecuName);XcpGetCalPage(ecuName, mMode, mSegmentNr);
}void OnXcpGetCalPage(char ecu[], long reserved1, long reserved2, long pageNumber)
{Write("OnXcpGetCalPage callback! ECU: %s. Current PageNumber: %d", ecu, pageNumber);if (pageNumber == 0){pageNumber = 1;}else{pageNumber = 0;}XcpSetCalPage(ecu, mMode, mSegmentNr, pageNumber);
}void OnXcpSetCalPage(char ecu[])
{Write("OnXcpSetCalPage callback! ECU: %s", ecu);ProcessUserCmd();
}void ProcessUserCmd()
{byte adata[12] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C };XCPUserCommand("XcpSim", adata, 12);
}void OnXcpUserCommand(char ecu[],byte data[], long dataSize)
{mUsrCmdResponse = data[0];Write("OnXcpUserCommandResponse callback! ECU: %s. Data: %d. Data size: %d", ecu, data[0], dataSize);
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/815949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode617:合并二叉树

题目描述 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重…

8:系统开发基础--8.1:软件工程概述、8.2:软件开发方法 、8.3:软件开发模型、8.4:系统分析

转上一节: http://t.csdnimg.cn/G7lfmhttp://t.csdnimg.cn/G7lfm 课程内容提要: 8:知识点考点详解 8.1:软件工程概述 1.软件的生存周期 2.软件过程改进—CMM Capability Maturity Model能力成熟度模型 3.软件过程改进—CMMI—…

vmware安装win10及ubuntu

安装win10 新建一个文件夹 选择刚才创建的文件夹 选择需要保存文件的位置,还是选择刚才创建的文件夹 选择自定义硬件 选择下载的win10镜像iso文件,导入后,点击完成即可 接下来就是下一步 没有此电脑,可以点击个性化-》主题-》桌面设置…

SecureCRT日志记录的7个经典配置记录与14个环境变量(%Y-%M-%D_%H_%S_session.log %t )

每次更换电脑、主机或者环境都需要配置一遍SecureCRT的参数。感觉就最近十年都已经设置过上百次了。其实设置没什么特别的,只是经过不断地打磨,主打的就是一个经济实用。经常忘记,特此记录。 配置方式 建议直接配置默认session:…

Centos安装MySQL提示公钥尚未安装

一、问题 在Centos7.9使用yum安装MySQL时出现错误,提示:mysql-community-server-5.7.44-1.el7.x86_64.rpm 的公钥尚未安装,如下图所示: 执行命令:systemctl start mysqld也提示错误:Failed to start mysq…

Spark-机器学习(1)什么是机器学习与MLlib算法库的认识

从这一系列开始,我会带着大家一起了解我们的机器学习,了解我们spark机器学习中的MLIib算法库,知道它大概的模型,熟悉并认识它。同时,本篇文章为个人spark免费专栏的系列文章,有兴趣的可以收藏关注一下&…

如何在Windows安装LocalSend并结合内网穿透实现公网跨平台远程文件互传

文章目录 1. 在Windows上安装LocalSend2. 安装Cpolar内网穿透3. 公网访问LocalSend4. 固定LocalSend公网地址 本篇文章介绍在Windows中部署开源免费文件传输工具——LocalSend,并且结合cpolar内网穿透实现公网远程下载传输文件。 localsend是一款基于局域网的文件传…

链表-双指针-虚拟节点-力扣

链表--双指针--虚拟节点 力扣 142 环形链表求循环起点 重点力扣 21 合并两个有序链表力扣 86 分割链表力扣23 合并K个有序链表 -- 优先队列(二叉堆 小顶堆)重点力扣19 找倒数第N个元素 快慢指针 一次遍历 重点力扣876 快慢指针找中间节点力扣 160 相交链…

【C++】模板初阶——泛型编程、函数模板、类模板

1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right) {double temp left;left right;right temp; } void Swap(char& left…

系统思考—时间滞延

“没有足够的时间是所有管理问题的一部分。”——彼得德鲁克 鱼和熊掌可以兼得,但并不能同时获得。在提出系统解决方案时,我们必须认识到并考虑到解决方案的实施通常会有必要的时间滞延。这种延迟有时比我们预想的要长得多,特别是当方案涉及…

2024年大唐杯备考

努力更新中…… 第一章 网络架构和组网部署 1.1 5G的网络整体架构 5G网络中的中传、回传、前传(这里属于承载网的概念) CU和DU之间是中传 BBU和5GC之间是回传 BBU和AAU之间是前传(这个好记) 这里竟然还藏了MEC(…

前端大屏适配几种方案

一、方案一:remfont-size 动态设置HTML根字体大小和body字体大小,会使用到lib-flexible.js插件lib-flexible.js (function flexible(window, document) {var docEl document.documentElementvar dpr window.devicePixelRatio || 1// adjust body font…

Element-UI 自定义-下拉框选择年份

1.实现效果 场景表达&#xff1a; 默认展示当年的年份&#xff0c;默认展示前7年的年份 2.实现思路 创建一个新的Vue组件。 使用<select>元素和v-for指令来渲染年份下拉列表。 使用v-model来绑定选中的年份值。 3.实现代码展示 <template><div><el-…

智能革命:未来人工智能创业的天地

智能革命&#xff1a;未来人工智能创业的天地 一、引言 在这个数字化迅速变革的时代&#xff0c;人工智能(AI)已经从一个边缘科学发展成为推动未来经济和社会发展的关键动力。这一技术领域的飞速进步&#xff0c;不仅影响着科技行业的每一个角落&#xff0c;更是为创业者提供了…

【vs2019】window10环境变量设置

【vs2019】window10环境变量设置 【先赞后看养成习惯】求关注点赞收藏&#x1f60a; 安装VS2019时建议默认安装地址&#xff0c;最好不要改动&#xff0c;不然容易出问题 以下是安装完VS2019后环境变量的设置情况&#xff0c;C:\Program Files (x86)\Microsoft Visual Studi…

5.3 mybatis之autoMappingUnknownColumnBehavior作用

文章目录 1. NONE2. WARNING3. FAILING autoMappingUnknownColumnBehavior是< settings >配置下的属性&#xff0c;该属性是指定发现自动映射目标未知列&#xff08;或未知属性类型&#xff09;的行为。就是说当数据库中的字段找不到映射java对象的属性或者与java对象对应…

【C++成长记】C++入门 | 类和对象(上) |类的作用域、类的实例化、类的对象大小的计算、类成员函数的this指针

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;C❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、类的作用域 二、类的实例化 三、类对象模型 四、this指针 1、this指针的引出 2 this指针的特…

AI python

AI python 软件方面程序上的人工智能&#xff0c;和物理那种能跑机器人没关系

cocos creator 实现spine局部换装

1 使用3.7.4版本 2 js代码 3 c Native层修改源码

为什么你的LDO输出不稳定?

原文来自微信公众号&#xff1a;工程师看海&#xff0c;与我联系&#xff1a;chunhou0820 看海原创视频教程&#xff1a;《运放秘籍》 大家好&#xff0c;我是工程师看海。 前一阵朋友和我说当初用某型号LDO时&#xff0c;发现输出异常&#xff0c;仔细阅读datasheet后&#x…