feat: usb device auto disconnect

This commit is contained in:
awalol
2026-04-26 14:33:06 +08:00
parent fe1c1cd6a5
commit 17627eebe4
3 changed files with 7 additions and 2 deletions
+2 -2
View File
@@ -15,7 +15,7 @@
- 开启麦克风静音为禁用静默断连
# 当前问题:
- 声音有点小卡顿
- 声音可能有点小卡顿
# 未来计划
@@ -25,4 +25,4 @@
# 致谢
- [rafaelvaloto/Pico_W-Dualsense](https://github.com/rafaelvaloto/Pico_W-Dualsense) - 灵感来源
- [egormanga/SAxense](https://github.com/egormanga/SAxense) - 震动报文
- [https://controllers.fandom.com/wiki/Sony_DualSense](https://controllers.fandom.com/wiki/Sony_DualSense) 数据报文结构
- [https://controllers.fandom.com/wiki/Sony_DualSense](https://controllers.fandom.com/wiki/Sony_DualSense) - 数据报文结构
+3
View File
@@ -294,6 +294,7 @@ static void hci_packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *p
}
case HCI_EVENT_DISCONNECTION_COMPLETE: {
tud_disconnect();
gap_connectable_control(1);
gap_discoverable_control(1);
const uint8_t reason = hci_event_disconnection_complete_get_reason(packet);
@@ -390,6 +391,8 @@ static void l2cap_packet_handler(uint8_t packet_type, uint16_t channel, uint8_t
};
memcpy(report32 + 2, packet_0x10, sizeof(packet_0x10));
bt_write(report32, sizeof(report32));
tud_connect();
} else {
printf("[L2CAP] Unknown Channel psm: 0x%02X", psm);
}
+2
View File
@@ -94,6 +94,8 @@ int main() {
};
tusb_init(BOARD_TUD_RHPORT, &dev_init);
tud_disconnect();
board_init_after_tusb();
bt_init();