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.

[参考译文] RTOS/TDA3XEVM:在链路启动后、更改在创建链路时设置的参数

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/668217/rtos-tda3xevm-changing-parameters-which-was-set-while-links-created-after-chain-got-started

器件型号:TDA3XEVM

工具/软件:TI-RTOS

您好!

我们在 Tda3x 上的 VisionSDK3.1中运行后视全景用例。 在此用例中、它使用单个通道来控制和控制其他通道的曝光。

我们需要在用例运行时将曝光控制从单通道主控制更改为单通道控制。

是否可以更改此参数,因为它是在(创建时)启动应用程序(启动链)之前设置的。

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

    单通道主通道与单个通道之间的区别是什么?
    我认为电流用例会计算其中一个通道的参数、并适用于所有通道。

    此致、
    Brijesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Brijesh、
    谢谢您的回复、是的、您说的只是正确的。 我们需要更改该场景、例如在白天、曝光参数是单通道主控器、在夜间、我们计划单独更改每个摄像机曝光。

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

    遗憾的是、当前代码中不支持动态更改此方案。 您必须添加它。
    您可以做的可能是、
    您可以在单个通道模式下打开算法、添加控制命令以决定是使用单个通道还是单个通道进行曝光控制、并使用此命令更改此方案。

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

    感谢您的回复、

    您是否可以分享任何其他控制命令、这些命令在相同用例中实现动态更改、作为实现相同的示例。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗯、在 AEWB 中有很多支持动态变化的命令。 其中一个是 algorith_AEWB_LINK_CMD_SET_AE_DYNAL_PARAMS、它允许在运行时设置 AE Dynamic 参数。 您可以将其用作示例。

    此致、
    Brijesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Brijesh、
    我尝试使用控制命令动态更改曝光通道控制、我们面临一些问题、例如控制命令正在发送、但曝光控制没有更改。

    最初、我们使 runAewbOnlyForOneCh = false;然后、随着 Dynamically 尝试更改为 true、

    下面是我们尝试实现的代码部分、也就是说、我们已在 chains_RVP_TDA3X.c 中添加了自定义函数


    void switchAewbChannel (chains_RVP_TDA3XObj *ucObj)

    Int32状态;
    ucObj->Algorithm_IssAewbPrm.baseClassControl.controlCmd = Algorithm_AEWB_LINK_CMD_SET_individue_exposure;
    ucObj->Alg_IssAewbPrm.baseClassControl.size = sizeof (ucObj->Alg_IssAewbPrm);

    状态= System_linkControl (ucObj->Alg_IssAewbLinkID、algorith_link_CMD_config、
    &ucObj->Alg_IssAewbPrm,
    sizeof (ucObj->Alg_IssAewbPrm)、
    false);

    utils_assert (system_link_status_sok = status);



    添加的控制命令为"" algoritorit_AEWW_LINK_CMD_SET_individual _exposure ""。 我们已将--AlgorithmLink_ControlParams baseClassControl --添加到结构"chains_RVP_TDA3XObj"中,以包含控制命令字段。


    接下来、我们将另一端添加为

    案例算法_AEWB_LINK_CMD_SET_Individual _Exposure:

    IndividualPrms =(AlgorithmLink_IssAewbCreateParams *)
    pControlParams;

    if (NULL!= individualPrms)

    pAlgObj->algLinkCreateParams.runAewbOnlyForOneCh = true;


    其他


    pAlgObj->algLinkCreateParams.runAewbOnlyForOneCh = false;
    中断;


    而案例部分未运行、我们无法获取调试打印。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    首先、您能否检查收到的控制命令是否正确? 将一些 VPS_prints 放在本例块的处理中、并查看在发送控制命令时这些 prints 是否出现在控制台上。

    Rgds、
    Brijesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我们进行了调试打印、但它不会出现。 但是,在 System_linkControl()之后,打印件即将开始,所以我们得出结论,控制命令正在发送而不是正在接收。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    是否可以将打印放在 AlgorithmLink_issAewb1Control 中并查看是否正在调用此函数?

    如果未为您的 linkControl 命令调用此函数、则链接 ID 错误或参数错误。

    此致、
    Brijesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Brijesh、
    感谢您的帮助、我们的问题得到了解决。

    我们更改了函数、是

    void switchAewbChannel_individual ()

    Int32状态;
    chains_RVP_TDA3XObj *ucObj =空;
    AlgorithmLink_IssAewbAeControlParams individualParams;
    individualParams.baseClassControl.controlCmd = algorithm_AEWB_LINK_CMD_SET_individual_exposure;
    individualParams.baseClassControl.size = sizeof (individualParams);
    状态= System_linkControl (ucObj->Alg_IssAewbLinkID、algorith_link_CMD_config、&individualParams、sizeof (individualParams)、
    false);
    utils_assert (system_link_status_sok = status);