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/TMS320F28069:JSON 文件错误

Guru**** 2589280 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/613112/ccs-tms320f28069-json-file-error

器件型号:TMS320F28069

工具/软件:Code Composer Studio

您好!

我在 GUI Composer 中有一个 GUI、可将电机速度值输出到文本框。  此文本框使用 app.js 函数将电机值转换为 Q-24格式("ToQ24_RoundTo2Decimals")。  一切都正常、然后我开始收到附加的 JSON 文件错误、现在这些值没有正确转换。  为供您参考、我的项目在 filepath 中的标题为"7_20_2"。  如果该函数以前一直在工作、会有什么原因导致无法定义该函数?

即使我将文本框的预处理函数切换为"ToQ24_RoundTo2Decimals (ToQ24_RoundTo2Decimals)"以外的其他内容、也会出现此错误。

----------------------

这是我的 JSON 文件:

{"widgetBindings":[

"PropertyName":"Value"、
"serverBindName":"gMotorVars.Speed_krpm"、
"widgetId":"textbox_output_speed"、
"选项":{
"数据类型":"字符串"、
"outPreProcessingFunction":"FromQ24"、
"dataFormat":"%.2f"、
"InPreProcessingFunction":"ToQ24_RoundTo2Decimals"

}、

"PropertyName":"Value"、
"serverBindName":"gMotorVars.Tor紧 力矩_lbin"、
"widgetId":"textbox_output_之 力矩"、
"选项":{"数据类型":"字符串"}
}、

"PropertyName":"Value"、
"serverBindName":"gMotorVars.SpeedRef_krpm"、
"widgetId":"widget_14292"、
"选项":{"数据类型":"字符串"}

]}

--------------

谢谢、

合资公司

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    JV、您好、
    能否确认 javascript 文件中的 ToQ24_RoundTo2Decimals 与 app.json 文件中的 ToQ24_RoundTo2Decimals 匹配?

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

    您好!

    我已经发布了我的 app.json、因此我现在将发布我的 Java 脚本文件。  还有其他与我的 GUI 相关的函数、但您可以在顶部附近看到函数名称 "ToQ24_RoundTo2Decimals"与 app.json 文件中的名称匹配。  需要注意的一点是、即使我将绑定更改为其他函数(无论该函数是否作为预处理函数进行逻辑感知)、也会出现相同的错误。

    /*
    *此文件用于 HTML 文件可能需要的自定义 JavaScript 逻辑。
    *默认情况下、GUI Composer 在 GUI Composer 中编写的 HTML 页面中包含此 JavaScript 文件。
    *
    *用户将能够指定存储数据的文件;随时打开和关闭日志记录以及重置文件,以便将下一个记录的数据添加到文件的开头。
    *
    require(["dojo/ready"]、function (ready){
    ready(function(){
    //创建一个空数组来接收所有数据//
    VAR allData[]
    //观察任何更改值,假设它们都已更新//
    dijit.byId ('textbox_output_speed'、'textbox_output_fit').watch ('Value'、function (prop、newValue、oldValue){
    allData = getData();
    logData (allData、false);

    });
    });
    });

    函数 ToQ24_RoundTo2Decimals (oldValue){
    var toQ24 = oldValue/(Math.pow (2、24));
    VAR 结果=新数字(Math.round (toQ24 * 100)/100);
    var s = result.toString();
    返回
    };

    函数 FromQ24 (oldValue){
    VAR 结果= Math.round (oldValue*(Math.pow (2、24)));
    返回(结果)
    };

    VAR FI =未定义;
    VAR logged = false;

    函数 isLoging(){
    返回 dijit.byId ('widget_log_enabled').get ('checked');


    函数 getFileName(){
    返回 dijit.byId ('widget_path').get ('value');


    函数 getOptions(){
    返回{
    客户位置:“自动”

    函数 logData (data、reset){
    if (!reset &&!isLogging())
    返回;
    var 文件= getFileName();
    if (!file)
    返回;
    var callback = function (fileInfo、errorInfo){
    if (errorInfo){
    $TI.helper.showError ("Error Logging."、errorInfo.message);


    var 选项=getOptions();
    if (!reset){
    options.append = true;
    options.addCRAfter = true;

    新建 TI.CSVFile().save( data、Fi、选项、回调);


    函数 getData(){
    VAR 数据=[];
    //从所有输出中读取数据并将其推送到数组//
    data.push (dijit.pyId ('textbox_output_speed').get ('Value'));
    data.push (dijit.pyID ('textbox_output_t扭 矩').get ('Value'));

    返回数据




    函数 setFileName( name){
    dijit.pyId ('widget_path').set ('value'、name);


    函数 updateFileName(){
    VAR 名称='';
    if (Fi && FI.localPath){
    名称= fi.localPath;

    setFileName(name);


    函数 updateFields(){
    updateFileName();


    函数 onBrowse(){
    var data = getData();
    var callback = function (fileInfo、errorInfo){
    if (errorInfo){
    $TI.helper.showError ("另存为..."、errorInfo.message);

    否则{
    fi = fileInfo;
    updateFields ();

    };
    var 选项=getOptions();
    options.addCRAfter = true;
    新建 TI.CSVFile()。browseAndSave( data、Fi、options、callback );


    函数 OnReset(){
    logData (""、true);

    谢谢、

    合资公司

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此问题已离线解决。 对于线程后面的那些线程、根本原因是 javascript 中其他地方的语法错误、这会导致纹波效应并导致误导性错误消息。

    谢谢
    Ki