BTLE 特征值字节数过多
BTLE characteristic value has too many bytes
我正在尝试从 BTLE 中读取数据 fitness machine service, specifically the Indoor Bike Data characteristic。
我得到的典型读数有字节 44-02-9c-09-5c-00-4f-00-50
。前两个是标志,表示其余字节依次表示:
- 瞬时节奏 (
uint16
)
- 瞬时功率(
sint16
)
- 心率(
uint8
)
麻烦的是,那只占了5个字节,而值中却多了7个字节。貌似5c-00
是节奏,00-4f
是力量,50
是心率,但是
- 我不知道
9c-09
代表什么,但更重要的是,
- 如果要向我发送标志字段表示不存在的数据,我不知道如何可靠地读取此特征。
我需要做什么才能正确解析这些字节?在这种特定情况下,我可能会跳过这两个字节,但这对不同的设备制造商来说并不可靠。
更新:FWIW 我认为将其标记为重复是不正确的。我能够解析字节,问题是结果似乎与健身机规格相矛盾。接受的答案澄清了这一点。
9c-09
值是瞬时速度,如果第一个标志位为 0,则它存在(违反直觉)。参见 Fitness Machine Service spec,第 4.9.1.1 节。
我正在尝试从 BTLE 中读取数据 fitness machine service, specifically the Indoor Bike Data characteristic。
我得到的典型读数有字节 44-02-9c-09-5c-00-4f-00-50
。前两个是标志,表示其余字节依次表示:
- 瞬时节奏 (
uint16
) - 瞬时功率(
sint16
) - 心率(
uint8
)
麻烦的是,那只占了5个字节,而值中却多了7个字节。貌似5c-00
是节奏,00-4f
是力量,50
是心率,但是
- 我不知道
9c-09
代表什么,但更重要的是, - 如果要向我发送标志字段表示不存在的数据,我不知道如何可靠地读取此特征。
我需要做什么才能正确解析这些字节?在这种特定情况下,我可能会跳过这两个字节,但这对不同的设备制造商来说并不可靠。
更新:FWIW 我认为将其标记为重复是不正确的。我能够解析字节,问题是结果似乎与健身机规格相矛盾。接受的答案澄清了这一点。
9c-09
值是瞬时速度,如果第一个标志位为 0,则它存在(违反直觉)。参见 Fitness Machine Service spec,第 4.9.1.1 节。