Vector - CAPL - Write窗口常用函数

在CAPL自动化开发中,特别是通过Vector CAPL Browser开发中,最终都是通过仿真节点来进行最终的测试,然而这种测试方式没有自动化执行过程报告,只能通过最后的html报告来查看执行过程,那我们是否有更好的调试方法呢?当然是有的,那就是write窗口,通过该窗口我们不但可以打印执行流程的log,也可以输出任意我们需要的数据,方便快捷的实现自动化调试;下面我们就来介绍与之相关的常见函数。

Write

功能:将文本消息输出到写入窗口。Write基于C函数printf。

编译器无法检查格式字符串。非法的格式条目将导致未定义的结果。使用写入功能输出的消息将显示在单独的行上。

注意:%n格式无效,不能使用

参数介绍:

CAPL Type

Display Description

Format Windows

Format Linux

int

int型显示

%d

%d

long

long型显示

%ld

%d

int64

int64型显示

%I64d or %lld

%ld or %lld

byte/word

无符号显示

%u

%u

dword

无符号显示

%lu

%u

qword

无符号显示

%I64u or %llu

%lu or %llu

byte/word/int

十六进制显示

%x

%x

dword/long

十六进制显示

%lx

%x

qword/int64

十六进制显示

%I64x or %llx

%lx or %llx

byte/word/int

十六进制显示(大写)

%X

%X

dword/long

十六进制显示(大写)

%lX

%X

qword/int64

十六进制显示(大写)

%I64X or %llX

%lX or %llX

byte/word/int

八进制显示

%o

%o

dword/long

八进制显示

%lo

%o

qword/int64

八进制显示

%I64o or %llo

%lo or %llo

float/double

浮点型显示

%g or %f

%g or %f

字符型显示

%c

%c

字符串显示

%s

%s

%字符的显示

%%

%%

dword

32-bit pointer (without implicit pointer format 0xABABABAB)

%p

%08x

32-bit pointer (with implicit pointer format 0xABABABAB)

%#p

%p

qword

64-bit pointer (without implicit pointer format 0xABABABABABABABAB)

%I64p

%016lx

64-bit pointer (with implicit pointer format 0xABABABABABABABAB)

%#I64p

%p

代码示例:

float f=123.456;
on key 'h'
{
   write("Hello World!");
   write("f = %5.3f",f);
   write("format is not supported for the given variable");
   write("f = %7.3f",f);
   write("f = %9.3f",f);
}

on key 'q'
{
   qword q = 0x1234567890ABCDEFLL;
   write("Decimal: %I64u", q);
   write("Hexadecimal: %I64X", q);
}

on key 'd'
{
   dword d = 0x1234;
   write("Decimal: %u", d);
   write("Hexadecimal: %X", d);
}
Vector - CAPL - Write窗口常用函数_第1张图片

WriteClear

功能:清除“写入窗口”中指定页面的内容。目标标识符或消息类型使用以下常量:

//写入接收器

双字WRITE_SYSTEM=0;

双字WRITE_CAPL=1;

使用writeCreate函数返回的目标标识符之一。可以使用“-1”作为参数清除所有选项卡。Overview页面不能单独清除。

sink:要删除的页面的目标标识符。

WriteCreate

功能:在写入窗口中生成具有指定名称的新页面;下次开始测量时,页面将自动删除。

name:创建新页面的名字

返回值:对输出到新页面有效的接收器标识符

Vector - CAPL - Write窗口常用函数_第2张图片

WriteDestory

功能:从写入窗口中删除指定的页面。只能删除借助writeCreate函数创建的页面。

sink:要删除的页面的目标标识符

代码示例:

variables
{
    //接收器标识符
    long mNewPage; 
}

on start
{
    //在写入窗口创建新页面
    mNewPage= writeCreate("New Page");
    
    //配置页面以记录其内容
    writeConfigure(mNewPage, 20, 1, "c:\\temp\\writelog.TXT");
    
    //清除CAPL页面的内容
    writeclear(1);
    
    //显示程序说明
    writeLineEx(mNewPage,2,"This program shows the keyboard sequence in a new created Page ");
    writeLineEx(mNewPage,4,"\nKeyboard sequence: ");
}

on key *
{
    //在“新建页面”中显示当前密钥
    char currentKey;
    currentKey = this;
    writeEx(mNewPage,4,"%c ",currentKey);
}

on stopMeasurement
{
    //关闭新创建的页面
    writeDestroy(mNewPage);
}

WriteEx

功能:将文本写入指定窗口的最后一行或写入写入窗口的页面,而不必创建新行。

说明:将文本写入指定CANoe窗口的最后一行、写入窗口的页面或日志文件中,而无需创建新行。

要写入CANoe Trace Window,请在跟踪窗口的预定义过滤器中激活CAPL系统消息。

sink:将向其进行输出的页面的接收器标识符

-3

CANoe Trace窗口

-2

输出到日志文件(仅以ASC格式,如果CAPL节点插入到日志块前面的测量设置中)保留

-1

保留值

0

输出到write窗口的System页面

1

输出到write窗口的CAPL页面

4

输出到write窗口的Test页面

severity:消息类型的常量。

0

Success

1

Information

2

Warning

3

Error

format:输出类型,参考write参数介绍

writeLineEX

功能:将文本写入指定窗口的新行或写入窗口的页面

说明:将文本写入指定CANoe窗口的最后一行、写入窗口的页面或日志文件中,而无需创建新行。

要写入CANoe Trace Window,请在跟踪窗口的预定义过滤器中激活CAPL系统消息。

其他参数参考WriteEx函数

Vector - CAPL - Write窗口常用函数_第3张图片

writeTextBkgColor

功能:设置“写入窗口”中指定页面的文本背景颜色

说明:设置“写入窗口”中指定页面的文本背景颜色;您可以使用以下常量作为目标标识符:

//写入接收器

双字WRITE_SYSTEM=0;

双字WRITE_CAPL=1;

此外,您可以使用writeCreate函数返回的目标标识符之一;颜色设置也会影响“写入窗口”的“全部”页面。

sink:颜色设置应影响的页面的目标标识符。

red:指定红色的强度。

green:指定绿色的强度。

blue:指定蓝色的强度。

WriteTextBkgColor(0,0,255,0);
WriteLineEx(0,1,"This is red text with green background");

WriteTextColor(0,0,0,0);
WriteTextBkgColor(0,255,255,255);
WriteLineEx(0,1,"This is black text with white background");

writeTextColor

功能:设置“写入窗口”中指定页面的文本颜色

参数参考函数writeTextBkgColor

代码示例:

WriteTextColor(0,255,0,0);
WriteLineEx(0,1,"This is red text");

以上就是write窗口或log输出常用函数,方便大家的代码调试和问题分析,欢迎评论区沟通!!!

你可能感兴趣的:(CAPL入门到入坑,CAPL,Write窗口,Testmodule)