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/TMS320F28027F:使用*。js 文件进行 GUI 数据绑定

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/911799/ccs-tms320f28027f-gui-data-binding-using-js-file

器件型号:TMS320F28027F

工具/软件:Code Composer Studio

你好

我修改了现有的 InstaSpin GUI。 我想 使用 GUI 来改变电机控制 API gMotorVars.Speed_krpm 中的以下变量。

当我在 CCS (调试模式)中更改该值时、GUI 中显示的值会发生变化。 当我更改 GUI 中的值时、CCS 中不会发生任何情况。

我必须在 index.js 文件中犯了一些错误-绑定是如何完成的?

函数 Divide1000_multiplyQ24 (oldValue)

{      
      VAR 除法= oldValue/1000;
      VAR 结果=除法*(Math.pow (2、24));
      返回 Math.floor (结果).toString();

 


 

document.addEventListener ('gC-DataBind 就绪',函数()

 

gc.DataBind 注册表.bind ('widget.ti_widget_numberbox_speedref.value'、
       {
           SpeedRef_krpm:'my_Xds.gMotorVars.SpeedRef_krpm'
       }、
       函数(value){
           return (MyUtil.DivideQ24_multiply1000 (value.SpeedRef_krpm));
       }、
       函数(value){
          //return Math.round (MyUtil.Divide1000_multiplyQ24 (value));
          return Math.round (Divide1000_multiplyQ24 (value));
       }
   );

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

    看起来、显示 gMotorVars.Speed_kRPM 的字段在 Widget 设置中选中了只读框。 即使您将其设为可写、我怀疑它将被新的计算值覆盖。 如果你想改变电机速度、我相信你应该改变 SpeedRef_krpm 字段。 或者、我是否不理解您要做的事情?

    惠特尼

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

    您好、Whitney、
    感谢您的回答、很遗憾、我找不到只读复选框、只有禁用(请参阅屏幕拍摄)。 我所想到的实际上与电机 InstaSPIN 通用 GUI 中完成的操作完全相同。 我希望能够设置电机的速度、但我也希望能够看到 CPU 的当前值。 这样、当我更改 CCS 调试器中的值时、GUI 的值会发生变化、反之亦然。 目前、只有方向调试器 GUI 工作(使用 CCS 进行的更改在 GUI 中正确显示、但不会在 GUI 中正确显示)。

    使用 www.DeepL.com/Translator 翻译(免费版)

    此致

    Thomas

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

    您是否打算发布屏幕截图? 它似乎不起作用。

    惠特尼

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

    您好、Whitney

    这是碳烟

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

    e2e.ti.com/.../FragenTI_5F00_GUIdocx.docx

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

    好的、抱歉-当我看到您使用的是 F28027F 时、我发现您使用的是 GC v1、完全错过了您使用的是 GC v2 GUI 的修改版本。 我看不到您分享的 js 出了什么问题。 我将与 GC 团队的某个人联系、看看他们是否有任何想法。

    惠特尼

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

    尊敬的 Thomas:

    您能否尝试将数字框小部件直接绑定到 gMotorVars.SpeedRef_krpm 变量、而不是使用属性 SpeedRef_krpm 创建对象?

    例如:

    gc.DataBind。register.bind (
      'widget.ti_widget_numberbox_speedref.value'、
      'my_Xds.gMotorVars.SpeedRef_krpm'、
      函数(value){
        return (MyUtil.DivideQ24_multiple1000 (value.SpeedRef_krpm));
      }、
      函数(value){
        return Math.round (Divide1000_multipleQ24 (value));
      }
    );

    此致、
    Patrick

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

    您好、Patrick、
    感谢您的回答。 现在、它以另一种方式工作、即我可以通过 GUI 设置值、但 GUI 中不显示 CCS 程序更改。GUI 在开始后立即报告错误"未找到标识符"、并显示 NaN。 我是否必须为*.GUI 文件中的属性值选择其他任何内容?

    最恰当的考虑

    Thomase2e.ti.com/.../3482.FragenTI_5F00_GUIdocx.docx

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

    尊敬的 Thomas:

    在 getter 函数中、删除 SpeedRef_krpm 前缀。  

      函数(value){
        return (MyUtil.DivideQ24_multiple1000 (value));
      }、

    此致、
    Patrick

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

    尊敬的 Patrick:

    从 CCS 程序到 Ge2e.ti.com/.../6170.FragenTI_5F00_GUIdocx.docxUI 的方向仍然不起作用、请参阅随附的文件。

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

    Thomas、

    添加 JavaScript 文件时、您需要执行以下几项操作:

    • 如果要手动添加文件、则需要将其作为项目的根。 即应用文件夹中的内容。 使用 Designer 的菜单添加文件后、文件会自动放入应用程序文件夹中。
    • 该应用程序需要运行一次才能自动生成 index.html 文件以包含 javascript 文件。 如果您手动添加文件、请确保您已在设计器中运行应用程序一次以将文件包含在 index.html 中
    • 需要在 index.js 文件之前加载 MyUtils.js。 设计人员将在 index.html 中按字母顺序添加文件、因此 MyUtils.js 可能会在 index.js 之后加载。

    您是否还可以在 myUtil={}分配的 Chrome 调试器中设置断点,并确保在 getter 或 setter 使用它之前将其命中? 这将确保正确加载文件。

    Patrick

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

    您好 Patrick

    感谢您的支持、很抱歉让您继续困扰、

    我仍然收到有关 unkonw 函数的消息。 我查看了索引文件、在我看来、它似乎是 ok.e2e.ti.com/.../7360.FragenTI_5F00_GUIdocx.docx

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

    尊敬的 Thomas:

    从您包含的 word doc 中、我看到有关函数"myUtils.DivideQ24_multiple1000不是函数"的错误消息投诉。 该函数被定义为 DivideQ24_multiply1000 (带有'y')、并且 JavaScript 函数可能正在调用 DivideQ24_multiple1000 (带有'e')。

    此致、
    Patrick

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

    尊敬的 Patrick:

    很抱歉、我不明白你的意思是"y"和"e"。 我尝试继续进行调试、但一直停留在那里。

    此致

    Thomas

    e2e.ti.com/.../3872.FragenTI_5F00_GUIdocx.docxe2e.ti.com/.../C2000Ware_5F00_MotorControlSDK_5F00_InstaSPIN_5F00_GUI.zip

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

    尊敬的 Thomas:

    您在调用函数中有一个排印错误。 请参见下图。

    此致、
    Patrick