feat(keyboard): 添加蓝牙HID支持和电池状态事件
- 添加BLE相关模块:ble_adv_ctrl_module、ble_adv_uuid16、ble_bas_module、 ble_hid_module - 新增电池状态事件(bat_state_event)用于监控电池电量、充电状态 - 在多个事件中添加HID_TRANSPORT_BLE支持,包括hid_led_event、 set_protocol_event等 - 更新配置文件prj.conf以启用蓝牙功能、HID服务和设置系统 - 修改电池模块以计算并报告电池SOC百分比 - 集成CAF设置加载器以管理蓝牙配对信息
This commit is contained in:
23
src/ble_adv_uuid16.c
Normal file
23
src/ble_adv_uuid16.c
Normal file
@@ -0,0 +1,23 @@
|
||||
#include <zephyr/bluetooth/uuid.h>
|
||||
|
||||
#include <bluetooth/adv_prov.h>
|
||||
|
||||
static int get_data(struct bt_data *sd, const struct bt_le_adv_prov_adv_state *state,
|
||||
struct bt_le_adv_prov_feedback *fb)
|
||||
{
|
||||
static const uint8_t data[] = {
|
||||
BT_UUID_16_ENCODE(BT_UUID_HIDS_VAL),
|
||||
BT_UUID_16_ENCODE(BT_UUID_BAS_VAL),
|
||||
};
|
||||
|
||||
ARG_UNUSED(state);
|
||||
ARG_UNUSED(fb);
|
||||
|
||||
sd->type = BT_DATA_UUID16_ALL;
|
||||
sd->data_len = sizeof(data);
|
||||
sd->data = data;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BT_LE_ADV_PROV_SD_PROVIDER_REGISTER(uuid16_all, get_data);
|
||||
Reference in New Issue
Block a user