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.
工具与软件:
尊敬的专家:
客户有两种模式、分别称为模式 A 和模式 B
模式 A 和模式 B 与"运动/存在检测模式"和"跟踪检测模式"有些相似。
但模式 A 要求在低功耗模式下运行、模式 B 要求在非低功耗模式之外运行。 (模式 A 中 gMmwMsmcb.lowPowerMode 设置为 LOW_PWR_MODE_ENABLE、模式 B 中 gMmwMsmcb.lowPowerMode 设置为 LOW_PWR_MODE_DISABLE)
但是、客户的要求之一是收到某个事件后、模式 A 立即切换到模式 B。这意味着模式 A 不能先在 powerManagementTask()中进入 LPDS、然后再恢复。
如何在不进入 LPDS 模式的情况下在两种模式之间切换?
谢谢你。
Rick
大家好、Rick、
您是否已看过 SDK 中的 LPDS 示例? 它显示了如何将器件置于 LPDS 或 IDLE3以及如何从不同源唤醒。
谢谢!
克林顿
您好、 克林顿:
感谢您的响应、但我的问题不是如何将器件从 LPDS 或 IDLE3唤醒。
相反、我想问如何在不进入 LPDS 模式的情况下切换模式(切换模式类似于在"运动/存在检测模式"和"跟踪器检测模式"之间切换)。
根据我的理解,进入 LPDS 模式将关闭许多事情,并在唤醒后重新配置设备,例如重新配置 DPC,重新初始化和调用 CLI_MMWaveStart()。 此时将配置新参数、从而实现模式切换。
现在我需要程序在不进入 idle/idle3/LPDS 模式的情况下切换模式。
谢谢!
Rick
大家好、Rick、
我有点困惑。 您提到模式 A 需要低功耗、但它无法进入 LPDS。 您想让它进入 LPDS 之前等待一段时间、然后进入 LPDS 吗? 或者您可能是指其他东西?
谢谢!
克林顿
您好、克林顿:
抱歉混淆了。
要明确地说:
我们如何在不先进入低功耗模式的情况下切换模式? (这意味着程序不应进入 LPDS 模式然后被唤醒。)
或者、您能给我介绍一下模式切换所需的先决条件吗? 必须进入 LPDS 并唤醒?
谢谢!
Rick
大家好、Rick、
您提到模式 A 需要低功耗模式、那么您是否想在事件发生时在切换到模式 B 之前仍处于模式 A 的情况下禁用低功耗模式?
谢谢!
克林顿
HII Clinton,
是的、您理解正确。
切换到模式 B 的条件是重新配置参数、并禁用低功耗模式。
在当前情况下、如果 lowPowerMode 设置为1、程序将在 powerManagementTask 期间执行模式切换并进入 LPDS (休眠几百毫秒、然后唤醒)以实现模式切换。
客户不希望该器件进入睡眠状态、因为他们希望在检测到某些物体时立即切换到模式 B、而不是先睡眠。
切换到模式 B 有三个条件:
1.模式切换(重新配置参数)
2.不需要花时间睡觉
3.禁用低功耗模式
是否可以在不进入睡眠模式的情况下执行模式切换? 并禁用低功耗模式?
谢谢!
Rick
HII Clinton,
完成测试后、在 AWRL6432的 MOTON_AND_PRESS_DETECTION 演示中、该引脚可以在低功耗模式0和低功耗模式1之间切换、但无法在低功耗模式0和低功耗模式2之间切换。
当尝试从低功耗模式2切换到低功耗模式0时、该过程卡在:
// in the rangeprochwa.c DPU_RangeProcHWA_process() /**********************************************/ /* WAIT FOR HWA NUMLOOPS INTERRUPT */ /**********************************************/ /* wait for the all paramSets done interrupt */ SemaphoreP_pend(&rangeProcObj->hwaDoneSemaHandle, SystemP_WAIT_FOREVER);
为什么会发生这种情况? 是否有任何方法启用低功耗模式0和低功耗模式2之间的切换?
谢谢!
Rick