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:
2026-04-10 19:28:20 +08:00
parent b9b7d342f5
commit 39d2962258
21 changed files with 1186 additions and 60 deletions

23
src/ble_adv_uuid16.c Normal file
View 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);