在运行时更改功能

由于可以通过升级提供程序上的固件来启用新功能(例如动态缓冲区大小调整),因此我们希望提供一种在运行时获取提供程序功能的方法。为避免重复查询功能,首先,提供程序应在连接时通过消息流将固件修订版本发送给 Seeker。因此,我们向现有消息组“设备信息”事件添加了新的消息代码。

消息群组名称
设备信息事件 0x03
消息代码名称
固件修订版 0x09

获取固件修订版代码后,Seeker 应将其与缓存的代码进行对比。如果固件修订版已更改,Seeker 将更新缓存的固件修订版,并通过消息流查询功能。

我们还允许提供方直接向 Seeker 推送功能,而无需先发出请求,因为我们认为,未来,更复杂的设备(可能是基于 Android 的设备)将根据同一固件修订版本的标志进行动态配置。

因此,我们在下方添加了新的消息组和消息代码。

消息群组名称
设备功能同步事件 0x06
消息代码名称
请求更新 capability(由 Seeker 发送) 0x01
FHN 跟踪 0x03

收到 0x0601 后,

  • 如果提供商已启用对 FHN 跟踪的支持,则应按如下方式响应:
八位字节 数据类型 说明
0 uint8 设备功能同步事件 0x06
1 uint8 FHN 跟踪 0x03
2 - 3 uint16 其他数据长度 0x0007
4 uint8 FHN 配置状态 如果未预配,则为 0x00;如果由任何账号预配,则为 0x01
5 - 10 uint8[] 设备的当前 BLE MAC 地址 不定