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);}

 


                                                        

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/82188.html

(0)
guozi's avatarguozi
上一篇 2024年5月31日 下午3:02
下一篇 2024年5月31日 下午3:02

相关推荐

  • 便宜的大连网页制作,大连专业网站制作公司

    网页制作行业在大连已经不再是一个陌生的行业。随着互联网的发展,越来越多的企业认识到网站建设的重要性。顺便问一下,什么是网页制作?如何选择适合自己的主页制作公司?创建网页需要哪些技能…

    行业资讯 2024年4月7日
    0
  • 郑州seo野狼,郑州seo优化

    如果您想在互联网上获得更多曝光度和流量,搜索引擎优化是一项重要技术。那么什么是SEO?它是做什么用的?如果您对这些问题感兴趣,请查看以下关于郑州SEO的内容。您将了解郑州SEO行业…

    行业资讯 2024年4月16日
    0
  • 海外服务器租用哪个好

    你是否在寻找一款适合自己的海外服务器?想知道海外服务器租用哪个好?那么,你来对地方了!今天我将为你介绍海外服务器的一些基础知识,以及海外服务器租用的优势和注意事项。还有,最重要的是…

    行业资讯 2024年4月13日
    0
  • 搜狗关键词优化软件

    你是否想要让自己的网站在搜索引擎中获得更好的排名?那么关键词优化是必不可少的一项技术。但是,什么是关键词优化?它又有着怎样的作用和重要性呢?今天,我们将为你介绍搜狗关键词优化软件,…

    行业资讯 2024年3月23日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注