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.

[参考译文] CC3220S:从串行闪存/tmp/phy.cal 中删除校准文件

Guru**** 2540720 points
Other Parts Discussed in Thread: CC3220S

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/808084/cc3220s-delete-calibration-file-from-serial-flash-tmp-phy-cal

器件型号:CC3220S

您好!

由于功率限制、我在 CC3220S 中使用"触发校准模式"。

根据我的应用、我希望定期进行校准、就像在24小时内进行一次校准。

因此、我想从串行闪存中删除校准文件并重新启动器件、以便器件在 tmp 中看不到 phy.cal 时进行校准。

我尝试使用函数调用 sl_FSDel ()删除校准自拍、主令牌为"0"。 函数返回错误-10248。 这意味着无权删除此文件。

您能否告诉我如何删除此文件或如何触发校准(除了更改 TX 功率)?

谢谢

Nikhil  

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

    您好、Nikhil、

    如果要触发 PHY 重校准,使用 sl_WlanSet() API 更改 TX 功率是唯一合理的方法。 您将需要使用该 API 暂时将 TX 功率回退更改为-4以下、执行 sl_stop ()/start ()循环以在较低功率下恢复、然后使用 API 返回到正常功率并重新启动以在正常功率级别恢复。 代码将如下所示:

    int16_t ret;
    uint8_t low_TX_pwr = 10;/*<-低电平,强制重新校准*/
    int32_t CURR_TX_Pwr;
    
    uint16_t conf_id = sl_WLAN_CFG_General_Param_ID;
    uint16_t 可选 = SL_WLAN_General_Param_OPT_STA_TX_POWER;
    uint16_t conf_len = sizeof (CURR_TX_Pwr);
    
    RET = sl_WlanGet (conf_id、&opt、&conf_len、(_u8 *)&CURR_TX_Pwr);
    
    UART_PRINT ("\n\n\r\n [触发器校准]:当前 TX 功率:%d\n\r\n、CURR_TX_Pwr);
    
    UART_PRINT ("\n\n\r\n [Trigger Cal]:触发校准:启动。\n\n");
    
    ///--------------------------------------------------------- //
    //更改 TX 功率以重新校准(低功率值) //
    ///--------------------------------------------------------- //
    
    RET = SL_WlanSet (SL_WLAN_CFG_General_Param_ID、SL_WLAN_General_Param_OPT_STA_TX_POWER、1、(_u8 *)&LOW_TX_Pwr);
    ASSERT_ON_ERROR (RET、WLAN_ERROR);
    
    RET = sl_Stop (sl_stop_timeout);
    ASSERT_ON_ERROR (RET、DEVICE_ERROR);
    
    RET = SL_Start (0、0、0);
    ASSERT_ON_ERROR (RET、DEVICE_ERROR);
    
    ///--------------------------------------------------------- //
    //此处,使用原始 TX 功率强制重新校准。 //
    ///--------------------------------------------------------- //
    UART_PRINT ("\n\r\n[Trigger Cal]:查找:(PHY 已执行重校准/PHY 重校准数据已成功保存到文件系统中。) \n\n");
    
    RET = SL_WlanSet (SL_WLAN_CFG_General_Param_ID、SL_WLAN_General_Param_opt_STA_TX_POWER、1、(_u8 *)&CURR_TX_Pwr);
    
    ASSERT_ON_ERROR (RET、WLAN_ERROR);
    
    RET = sl_Stop (sl_stop_timeout);
    ASSERT_ON_ERROR (RET、DEVICE_ERROR);
    
    RET = SL_Start (0、0、0);
    ASSERT_ON_ERROR (RET、DEVICE_ERROR);
    

    使用硬件恢复出厂功能也可以清除 phy.cal 文件、但它也会将串行闪存的所有内容完全重置为出厂状态。 有关不同校准模式的更多信息、请参阅 网络编程人员指南的第4.9节

    请告诉我您是否需要进一步澄清或对此主题有更多问题。

    此致、

    Michael