簡體   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