繁体   English   中英

如何为 BLE 设备设置 RequestPreferredConnectionParameters ThroughputOptimized 属性?

[英]How to set the RequestPreferredConnectionParameters ThroughputOptimized property for a BLE device?

C++,WinRT,VS2017,Win10

我正在连接一个蓝牙 LE 设备,该设备会在发送命令时以电击响应。 然而,我注意到,从命令写入 Tx 特性到实际感觉到电击之间大约有 1 秒的延迟。

起初,我认为写入之间的连接正在断开,延迟可能是需要在写入发生之前建立新的连接。 但是,如果ConnectionStatus()实际上是正确的,则设备保持连接状态。

所以,我看到在BluetoothLEDevice class 中有一个RequestPreferredConnectionParameters()方法。 我已经创建了一个BluetoothLEDevice object (设备),我认为这会出现在 Intellisense 中,但最接近的是device.RequestAccessAsync

RequestPreferredConnectionParameters的文档说有一个ThroughputOptimized属性“

获得一组更积极的连接参数,以牺牲功耗为代价进行优化以提高吞吐量。

听起来它会加快我的连接和写入速度。 但我该怎么做。

有谁知道如何为 BLE 设备设置此属性,或者即使我叫错了树?

答案是我未能深入阅读并阅读BluetoothLEDevice.RequestPreferredConnectionParameters的详细信息。 我现在看到它适用于 WinRT Build 22000、Build 22621。就我而言,我使用的是 NuGet 2017,它具有旧版本的 WinRT。 我假设 NuGet 是更新 WinRT 的方式。

当我尝试更新到更新的 NuGet 2.0.22xx 时,我得到了传统的 2613 编译错误,这些错误可能仅由一两个问题引起,也可能不是。 至少这是我悲惨的经历。

我看到数以千计的错误之一是this co_await expression requires a suitable "await_ready" function ,即使它在winrt::Windows::Foundation::IAsyncAction ZC1DF425268E17A98 中使用。 在尝试追踪这一错误时,我使用了推荐的命名空间并包含了推荐的 header 文件,但所有这些都让我更深入地了解了沼泽。 我也尝试了fire_and_forget返回类型,但错误仍然存在。

现在我要回到 NuGet 2017 年。我现在正试图保持 VS2017,因为我的主应用程序相当大,并且使用了几个都必须重新编译的第三方库。 我的经验是,当移植到新的 VS 时,gremlins 会从木制品中冒出来,需要时间才能将它们全部压扁。 我希望在我有更多空闲时间之前不必这样做。

任何有关在 VS2017 MFC 应用程序中使用 NuGet 2.0.22xxx 的建议将不胜感激。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM