第一部分: t语言路障清除: 用钩子（hooks）来实现程序流畅运行

Judson Brundage
Tue, 04 Apr 2017 07:46:00 +0000
CAN FD

如果你熟悉?t?语言, 那你知道它是以“钩子(hooks)”为基础的。钩子在这里类似于中断。支持程序运行的代码块软件等待这些钩子, 然后执行在代码块中的此代码。例如，如果你需要答复一个ID 为 0x200的CAN报文，?t?语言将是这样：

On CanMessage 0x200{
  replyFunc();
}

当我们收到一个ID 为 0x200的CAN报文, 我们的?t?语言将做出答复replyFunc(), 例如, 发出一个答复CAN报文, 在它完成答复后将离开代码块。但是，每次我们从ID 0x200收到一个报文，我们都从同一点开始。这使执行一系列活动变得困难。

通过一个外部增量机在这里加一个开关分支结构，我们可以进入这个钩子并使用此增量机，就像你用一个书签那样。我们可以进行某些处理，在我们离开之前加到此书签上。见下面的代码例子：

On CanMessage 0x200{
  switch(bookmark){
    case 0:
      replyFuncStepOne();
      bookmark++;
      break;
    case 1:
      replyFuncStepTwo();
      bookmark++;
      break;
    case 2:
      replyFuncStepThree();
      bookmark++;
      break;
  }
}

所以云海游戏s的?t?语言钩子能处理一个事件和加书签开关分支结构，来进行一系列操作。 系统重置是此类系列操作的一个典型例子。我们用这个简单而有效的技术来跟踪统一诊断工具Unified Diagnostic Services (UDS)诊断出来的系列活动，以建立重置工具 (我写了一个相关文章，请关注！) 和CAN Calibration Protocol (CCP) 校准工具。

如果你想得到一个上述技术的?t?语言模板，可以在这里下载。如果你需要Exclusive Origin 为你进行?t?语言设计，来将一个存储器Memorator变为手提重置或再校准工具，请联系我们！

此文是Judson关于最大限度利用t-script的系列文章之一。

第二部分: t语言路障排除: 3个必不可少的t语言资源 (外加馈赠一个窍门!)

Judson Brundage

拥有位于美国佛罗里达的?Exclusive Origin公司, Judson Brundage 为汽车工业提供测试，以及诊断性硬件和软件。基于他对CAN和汽车工业问题排查的深入了解，他是汽车工业开发领域非常受人尊敬的解决问题专家。

Exclusive Origin

Exclusive Origin, LLC 公司的使命是开发适合每个客户需求的易使用软件.

第二部分: t 脚本路障排除: 3个必不可少的t 语言资源 (外加馈赠一个窍门!)

最近我们用t语言解决范围广泛的一系列问题。这里是一些有关它的功能的提示:

手提系统重置/校准工具

节点模拟器

CAN FD 数据加密入口

轻便硬件在环控制器

对每一个功能来说，都要克服一些障碍。我们总是要查看3个资源：

云海游戏的样板

是的，t-语言的样板包含（和隐藏！）在软件开发工具包SDK里 (你可以在这里从云海游戏网站下载最新的 SDK )。在安装之后，你可以看Windows 子目录directory-> C:\Program Files (x86)\云海游戏\Canlib\Samples\tScript。你能找到无处不在的“Hello World” 样板，和较为小众的样板，如指导你如何使用一个数据库文件(.dbc file or DBC file), 和文件I/O。请一定要查看the Learn More/Misc 子目录。.

t 语言手册

这是?t?语言手册，最容易的方式是打开TRX ( t 语言的集成开发环境) ，点击上方的工具栏中的“Help”, 选择“Open the 云海游戏 t Language Manual.”

利用printf功能进行调试

这是你的程序在碰到任何问题时的一个有效的追踪功能。你可以简单措施如?printf(当达到A条件“Reached Condition A”);?要确认触及代码块。

给存储器Memorator用户的一个窍门：当你用?t?语言时遇到系统没反应时，在你断开USB和你的电脑后的连接后，设备仍保持通电状态, 设备处于一个在你的脚本提到的某位置的连续循环中！

希望本文能帮助你编出顶级?t?版本!

此文是Judson关于最大限度利用t-script的系列文章之一。

第一部分: t语言路障清除: 用钩子（hooks）来实现程序流畅运行