feat(bt): 蓝牙P1 — netmgrd BT_CTL权威收口(hcitool con判连接/paired-devices补名/a2dp详情/connect-disconnect-pair-unpair-scan)+launcher蓝牙子页sub_page_t重做(8分组,数据全走netmgrd)+设置键audio.output_bt/bt.codec;修act冲突+sub悬垂;宿主82PASS+bt_ctl/bt_page全过

This commit is contained in:
AskaEth committed 2026-09-03 20:01:13 +08:00
1 parent 8c677f127f
commit eb07415f7b
8 files changed
+1178 -90

No files matched your search

@@ -821,11 +821,32 @@ int nm_wifi_connect(const char *ssid, const char *psk, char *err, int elen); /*
int nm_wifi_disconnect(char *err, int elen);
int nm_wifi_toggle(int on);
/* BT(IPC 优先:on/off/status/paired;连接/断开/配对/附近扫描 netmgrd 无子命令,仍直连) */
/* BT(IPC 优先:全量子命令权威收口 P1;netmgrd 不可达回退 net.c 直连)。
* P1 收口(BLUETOOTH_FULL_OVERHAUL_PLAN §六/§八):connect/disconnect/pair/unpair/scan 写级
* 迁 netmgrd;connected/devices/a2dp 读级也迁 netmgrd(launcher 只做客户端)。 */
int nm_bt_powered(void);
int nm_bt_onoff(int on);
int nm_bt_status(int *powered, int *paired_n, char *addr, int alen);
int nm_bt_paired(meow_net_t *out, int max);
int nm_bt_connected(meow_net_t *out, int max);
int nm_bt_devices(meow_net_t *out, int max);
/* A2DP 单端点详情(codec/采样率/声道/位深/acquired/role;netmgrd bt a2dp 解析) */
typedef struct {
char mac[24]; /* 端点设备 MAC(与 connected/paired 列表可 join) */
char codec[16]; /* SBC/AAC/aptX/LDAC...;空=未知 */
char rate[16]; /* 采样率(如 "44100");空=未知 */
char chn[8]; /* 声道数 */
char bits[8]; /* 位深 */
int acquired; /* 1=传输已获取(streaming 中) */
char role[8]; /* "src"/"snk"/"-"(设备侧 A2DP 角色) */
} bt_ep_t;
int nm_bt_a2dp(bt_ep_t *eps, int max); /* 返回端点数 */
int nm_bt_connect(const char *mac);
int nm_bt_disconnect(const char *mac);
int nm_bt_pair(const char *mac);
int nm_bt_unpair(const char *mac);
void nm_bt_scan_on(void);
void nm_bt_scan_off(void);
const meow_ui_theme_t *s_ui_theme(void);
void sb_blit_icon(int icon_idx, int x, uint32_t fg, int ink_h);
int scan_apps(struct app apps[MAX_APPS]);