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.

[参考译文] CC2745R10-Q1:未更新信道探测过程计数

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1650871/cc2745r10-q1-channel-sounding-procedure-count-is-not-getting-updated

器件型号: CC2745R10-Q1

您好论坛、  

我指的是 TI 共享的修改后汽车节点示例(主题)。 共享示例是连续执行 CS 过程、我尝试将该行为修改为按需应用程序、因此我尝试将 maxProcedureCount 设置为 10、希望其 CS 过程在 10 次执行后停止、但实际不会停止。 我记录了 curProcCounter 的值、发现它未更新、并保留为 0xFFFF。
请您在此处帮助:

  1. 了解为何 curProcCounter 值不更新?
  2. 实现 CS 过程按需执行的可行方法。

image.png

SDK 版本:9.14.02.16

此致

Vaibhav

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

    你好、 Vaibhav、


    1.关于 currProcedureCounter, 这个变量是由堆栈分配的值,不像普通计数器那样工作。 例如、当接收到子事件时、过程计数器值将由堆栈(例如 0x0045)分配给某个器件。 它不是正常值、如 1、2、3、4、5 等、因此不能与最大过程计数值一同使用。

    2.关于 curProcCounter 的值、此值显示 0xFFFF 的原因是、当您尝试在 CarNode_handleDistanceResults 中使用此值时 CAR_NODE_PROC_COUNTER_IDLE 、currProcedureCounter 已重置为您所看到的值(具体而言)。

     3.为了让项目只执行所需的程序数,我建议 在项目中使用值 gProcedureRepeatCount。 此值仅在接收到距离结果并正常递增时才递增。 另外、请确保 代码中正确使用了 CarNode_invokeProcedureEnableCmd ()、因为这将启动另一个过程。


    此致、
    Josh Alderson

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

    您好、Josh、

    感谢您的澄清。 您能告诉我 gProcedureRepeatCount 的位置吗?

    我注意到 CarNode_invokeProcedureEnableCmd () 最初只调用一次。 我想了解是什么让 CS 过程在结果生成后保持运行。 我在 app_car_node.c 中监视了 CS_ProcedureEnable() 的所有实例、并确认它只执行一次。 我的理解是,在应用程序再次显式调用 CS_ProcedureEnable () 之前,不应启动新的 CS 过程。

    此致、

    Vaibhav

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

    尊敬的 Vaibhav:

    抱歉对于混淆、似乎我正在处理的代码与您的代码不同。

    关于 gProcedureRepeatCount:
    在我的代码中、gProcedureRepeatCount 是 app_car_node.c 中的全局变量 所有变量的作用都是在 
    CarNode_handleDistanceResults 中递增、如果过程或启动新过程出现错误、则重置。

    例如、

    如果 gProcedureRepeatCount 不在您的项目中、您应该能够使用基本计数器重新创建它。

    关于起动程序、

    在 CS_setProcedureParamsCmdParams_t 结构中、确保 minProcedureInterval 和 maxProcedureInterval 设置为非零值。
    如果 在不将间隔更改为非零值的情况下增加 maxProcedureCount、系统将不会中断过程并将其视为一个过程。

    如果尚未将间隔值更改为非零值、请告知我是否有效。

    此致、
    Josh

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

    您好、Josh、

    在 CS_setProcedureParamsCmdParams_t 结构 minProcedureInterval 和 maxProcedureInterval 已设置为非零值。 告诉我需要调整任何其他参数。

    此致、

    Vaibhav

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

    您好、Josh、

    我可以通过指定 maxProcedureCount 使其一直运行到有限迭代。

    此致、
    Vaibhav