This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320F28335:如何将时间戳前缀添加到 DSS JavaScript 控制台输出中?

Guru**** 1940910 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/789878/ccs-tms320f28335-how-can-a-time-stamp-prefix-be-added-to-dss-javascript-console-output

器件型号:TMS320F28335

工具/软件:Code Composer Studio

我们的项目在 Windows 下使用 CSS 版本7.4.0。 我们正在 DSS 下运行用于测试自动化的 JavaScript。 我已经尝试了几种推荐用于 JavaScript 的时间戳方法、但没有找到 DSS 支持的方法。 DSS 似乎不支持所需的函数或 console.log。  

是否有人成功地向在 Windows 命令提示符环境中运行 JavaScript 的 DSS 添加了具有毫秒分辨率的时间戳? 如果是、您能否提供您使用的 JavaScript 代码?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Thomas:
    您是否正在寻找一种机制、其中所有控制台输出(包括直接来自调试器的消息)都自动具有时间戳前缀? 不支持该功能。 您可以手动将时间戳添加到自己的消息(来自 print()或 traceWrite()),但不能从调试器中添加消息。 请注意、DSS xml 日志确实具有时间戳信息。

    谢谢
    Ki
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    将时间戳添加到 print()和 traceWrite()的输出将足以满足我们的要求。 我该怎么做?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您只能使用 JavaScript 日期对象:

    https://www.w3schools.com/jsref/jsref_obj_date.asp

    我在脚本中执行如下操作:

    日期=新日期();

    script.traceWrite ("开始时间:"+ date.toTimeString ()+"\n");

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我测试了您的方法、它确实起作用。 我的问题是、需要使用 DSS 脚本执行自动测试、其中必须记录两个事件之间经过的时间。 这样做的巧妙方法是在每个输出文本行之前,在 DSS 控制台前面加上一个形式为[HH:MM:SS:.mmmmm]的时间标签。 换言之,将时间标记机制整合到 traceWrite 和 print 调用中。 如果我要使您的两行示例成为一个函数、我仍然需要在控制台上打印每行文本后找到执行该函数的方法。 我不知道怎么做...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Thomas Cox30 说:
    其中必须记录两个事件之间经过的时间。 这样做的巧妙方法是在每个输出文本行之前、在 DSS 控制台前面加上一个形式为[HH:MM:SS:.mmmh]的时间标签

    是的、这是理想的解决方案。 xml 日志中支持该功能,但控制台输出不支持该功能。

    [引用用户="Thomas Cox30"]。 换言之,将时间标记机制整合到 traceWrite 和 print 调用中。 如果我要使您的两行示例成为一个函数、我仍然需要在控制台上打印每行文本后找到执行该函数的方法。 [/报价]

    是的,您每次在将当前日期/时间打印到控制台之前都要获取该日期/时间

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我最终能够创建一个预先挂起到使用 print()函数的控制台输出的时间标记。  我在下面附上了用于 TIMESTAMP.js 的 JavaScript 源代码。

    // timestamp.js -为 print()函数的输出添加时间戳前缀。

    //时间戳以[13:23:05.380]格式显示。

    VAR printLog =打印;

    Print =函数(){

    var first_parameter =参数[0];
    var OTHER 参数= Array.prototype.slice.call(arguments、1);

    函数 formatTimeTag (date){
    var hour = date.getHours();
    var minutes = date.getMinutes();
    var 秒= date.getSeconds ();
    var 毫秒= date.getMilliseconds ();

    返回"['+
    ((小时< 10)? "0"+小时:小时)+
    ':'+
    ((分钟< 10)? "0"+分钟:分钟)+
    ':'+
    ((秒< 10)? "0"+秒:秒)+
    '。' +
    ("00"+毫秒).slice (-3)+
    ']';

    printLog.appl( print,[formatTimeTag (new Date())+ first_parameter].conomat (Other_parameters));

    };

x 出现错误。请重试或与管理员联系。