了解 PHY_LE_1M 与 PHY_LE_1M_MASK in Android
Understanding PHY_LE_1M vs PHY_LE_1M_MASK in Android
我有一个适用于 BLE v4.1 的低功耗蓝牙设备(智能手表),我正在为它开发一个 Android 应用程序。
我对 BLE PHY 有基本的了解,但找不到任何与 PHY LE 1M 和 PHY LE 1M MASK 相关的信息。 Android 应用程序中有一个关于 PHY_LE_1M and PHY_LE_1M_MASK 的简短说明,但未能很好地理解它。
能否分享一些与此相关的详细信息?我想在连接方法 here.
中使用它
此外,如果未指定,Android 中的默认选择是什么,我是否必须指定相同的选项?主要担心是因为我目前发现的 BLE v4.1 中的设备和手机中常用的 BLE 是 v4.2 和 v5.0。
最简单的方法可能是传递 0 作为 phy
参数(与传递 PHY_OPTION_NO_PREFERRED
相同,其计算结果也是 0)。
如果要指定显式传输模式,请使用PHY_LE_1M_MASK
,因为它是BLE 4唯一支持的。其他的已经在BLE 5中引入了。
以_MASK
结尾的常量似乎用于connectGatt
,而没有_MASK
的常量用于onPhyUpdate
。
我不知道默认传输模式/PHY 是什么。可能是 LE 1M,也可能会在获得有关 BLE 设备的更多信息后确定。
我有一个适用于 BLE v4.1 的低功耗蓝牙设备(智能手表),我正在为它开发一个 Android 应用程序。
我对 BLE PHY 有基本的了解,但找不到任何与 PHY LE 1M 和 PHY LE 1M MASK 相关的信息。 Android 应用程序中有一个关于 PHY_LE_1M and PHY_LE_1M_MASK 的简短说明,但未能很好地理解它。
能否分享一些与此相关的详细信息?我想在连接方法 here.
中使用它此外,如果未指定,Android 中的默认选择是什么,我是否必须指定相同的选项?主要担心是因为我目前发现的 BLE v4.1 中的设备和手机中常用的 BLE 是 v4.2 和 v5.0。
最简单的方法可能是传递 0 作为 phy
参数(与传递 PHY_OPTION_NO_PREFERRED
相同,其计算结果也是 0)。
如果要指定显式传输模式,请使用PHY_LE_1M_MASK
,因为它是BLE 4唯一支持的。其他的已经在BLE 5中引入了。
以_MASK
结尾的常量似乎用于connectGatt
,而没有_MASK
的常量用于onPhyUpdate
。
我不知道默认传输模式/PHY 是什么。可能是 LE 1M,也可能会在获得有关 BLE 设备的更多信息后确定。