BT例程HID使用疑问

bt_app_interface_event_handle

  • 判断BT_NOTIFY_COMMON的时候spp只是打印了log, 别的都会进行一些发邮箱给main或者更新一下g_bt_app_env, 请问hid需要吗

  • 判断专属类的时候有的会调用bt_interface_conn_ext这样的函数,hid需要吗

bts2_app_interface.h

  • bts2_app_interface.h里给了bt_interface_open_hid这样的函数, 能指点一下怎么用吗

bt_cm_set_profile_target

  • bt_cm_set_profile_target这个函数在spp和music里参数不一样, 请问这个函数在hid情况下需要调用吗

判断BT_NOTIFY_COMMON的时候spp只是打印了log, 别的都会进行一些发邮箱给main或者更新一下g_bt_app_env, 请问hid需要吗

这个如果main函数里有需要接受BT_APP_READY这个邮件的话就可以参考 music_sink 这个工程下的 bt_app_interface_event_handle函数实现,其余情况的话,用户也可以参照其他的工程在BT_NOTIFY_COMMON这个 type event 下加一些感兴趣的事件通知(包括bt的连接断开、手机配对等,具体可参考bt_notify_common_event_id_t这个结构体里的定义)

g_bt_app_env这个变量,主要是记录一些连接相关的信息,用户可以选择性的更新或者添加内容

判断专属类的时候有的会调用bt_interface_conn_ext这样的函数,hid需要吗

这个接口是用来主动连接对端设备的hid的,客户如果需要这样的功能的话可以参照其他工程的调用创建一个连接对端设备hid的api函数

感谢大佬,马上去试试

  • bts2_app_interface.h里给了bt_interface_open_hid这样的函数, 能指点一下怎么用吗
  • bt_interface_open_hid:用于使能HID profile,只有使能了HID profile才会被对端设备连接以及主动连接对端设备的HID。SDK提供的代码默认在蓝牙初始化后会使能HID profile,如果没有使能的话则需要调用该接口。
  • bt_interface_close_hid:这个接口用于关闭HID profile,对端设备无法再连接,本端设备也不能发起连接,重启设备或者调用bt_interface_open_hid接口可再次使能HID profile
  • !!注意:close和open只能在没连接设备的情况下调用才会生效,如果连接了设备需要取消配对才行
  • bt_interface_set_hid_device:有些HID的功能需要区分对端设备是IOS还是Android,则可以通过这个接口设置
  • bt_interface_add_hid_descriptor:这个用于用户添加hid的描述符,扩展hid功能,SDK默认提供了mouse和consumer的功能
  • bt_cm_set_profile_target这个函数在spp和music里参数不一样, 请问这个函数在hid情况下需要调用吗
  • 如果不调用这个接口的话,对端设备是可以连接A2DP,HFP,AVRCP,HID这几个profile,如果用户需要增加或者删减想要连接的profile,则可以通过调用这个接口来定义想要的功能

感谢大佬,orz