主题中讨论的其他器件:SysConfig、 ENERGYTRACE
大家好、
我正在开发低于1GHz 的 TI15.4堆栈应用、在该应用中、我希望在代码执行期间(在网络启动且所有内容都已通信之后)更改传感器 TX 功率、例如通过轮询请求或 BLE (使用 DMM 时)。 有什么方法可以做到这一点吗? 可以使用什么函数或 API 来实现此目的?
谢谢、
Joao
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.
大家好、
我正在开发低于1GHz 的 TI15.4堆栈应用、在该应用中、我希望在代码执行期间(在网络启动且所有内容都已通信之后)更改传感器 TX 功率、例如通过轮询请求或 BLE (使用 DMM 时)。 有什么方法可以做到这一点吗? 可以使用什么函数或 API 来实现此目的?
谢谢、
Joao
您好、Joao、
您可能知道这一点、但 Tx 功率通常是使用 SysConfig 设置的。 在 SysConfig 中设置值时、可以看到这在 ti_154stack_config.h 中以及 ti_radio_config.c 中具有一些效果 因此、我不认为它应该在运行时进行更改。
据我所知、TI 15.4-Stack 中没有 API 可用于此目的。
https://dev.ti.com/tirex/explore/node?node=AC7TAgy2yC.SqZQyiwn57A__pTTHBmu__LATEST
然而、RFlib 中有一个 API 可被用于改变 Tx 功率。
不过、我并不知道在使用 TI 15.4-Stack 时使用此 API 的含义。 这是您必须探索的东西。
BR、
安德烈斯
安德烈斯、您好!
感谢您的快速回复。
是的、我知道 SysConfig 中的设置、但我正在寻找运行时要使用的内容。
我注意到,在 sensor_init()函数中,有以下调用:
ApiMac_mlmeSetReqUint8 (ApiMac_attribute_phyTransmitPowerSigned、
(uint8_t) CONFIG_Transmit 功率);
它将 TX 功率设置从 ti_radio_config.c 文件加载到 MAC API。
在网络启动后、我尝试使用与 SysConfig 中定义的不同 TX 功率值在所需的时间调用该函数、看起来效果不错。
sensor_init()调用该函数后,调用该函数是否有任何意义?
我已经搜索了 TI15.4 Stack 指南和 API 参考、但没有关于何时可以使用或不可以使用的信息。
此致、
Joao
您好、Joao、
据我所知,ApiMac_mlmeSetReqUint8()只是用于在 MAC PIB 中设置属性的 API。 因此、调用此类 API 不应涉及任何问题。
话虽如此、我不知道仅使用此 API 是否足以实际更改 Tx 功率、或者它只是更新 MAC PIB 属性、而您需要使用 RFlib 执行其他操作。
您是否已验证 Tx 功率是否实际发生了变化? 或者、当您提到它看起来运行正常时、您只是意味着使用 API 不会中断任何东西?
使用传感器/收集器示例进行的简单测试应该足以查看是否发生了 Tx 功率更新。
BR、
安德烈斯
你好,安德烈斯
我使用传感器/收集器演示对其进行了测试、从0dB 的 TX 功率开始、并在按下按钮时添加了该函数、以更改为 13dB 的 Tx 功率(我没有使用14、因为这需要强制 VDDR、这是一个全新的问题) 我在独立模式下通过 EnergyTrace 进行了确认。 所有定期通信(轮询和报告)在发生时的电流峰值都比按下按钮之前高得多。
但我仍会通过监听器进行确认、以确保正确无误。
是否有更好的方法来确认 Tx 功率是否发生了变化?
谢谢、
Joao