feat: usb device auto disconnect
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
- 开启麦克风静音为禁用静默断连
|
- 开启麦克风静音为禁用静默断连
|
||||||
|
|
||||||
# 当前问题:
|
# 当前问题:
|
||||||
- 声音有点小卡顿
|
- 声音可能有点小卡顿
|
||||||
|
|
||||||
# 未来计划
|
# 未来计划
|
||||||
|
|
||||||
@@ -25,4 +25,4 @@
|
|||||||
# 致谢
|
# 致谢
|
||||||
- [rafaelvaloto/Pico_W-Dualsense](https://github.com/rafaelvaloto/Pico_W-Dualsense) - 灵感来源
|
- [rafaelvaloto/Pico_W-Dualsense](https://github.com/rafaelvaloto/Pico_W-Dualsense) - 灵感来源
|
||||||
- [egormanga/SAxense](https://github.com/egormanga/SAxense) - 震动报文
|
- [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) - 数据报文结构
|
||||||
|
|||||||
@@ -294,6 +294,7 @@ static void hci_packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *p
|
|||||||
}
|
}
|
||||||
|
|
||||||
case HCI_EVENT_DISCONNECTION_COMPLETE: {
|
case HCI_EVENT_DISCONNECTION_COMPLETE: {
|
||||||
|
tud_disconnect();
|
||||||
gap_connectable_control(1);
|
gap_connectable_control(1);
|
||||||
gap_discoverable_control(1);
|
gap_discoverable_control(1);
|
||||||
const uint8_t reason = hci_event_disconnection_complete_get_reason(packet);
|
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));
|
memcpy(report32 + 2, packet_0x10, sizeof(packet_0x10));
|
||||||
bt_write(report32, sizeof(report32));
|
bt_write(report32, sizeof(report32));
|
||||||
|
|
||||||
|
tud_connect();
|
||||||
} else {
|
} else {
|
||||||
printf("[L2CAP] Unknown Channel psm: 0x%02X", psm);
|
printf("[L2CAP] Unknown Channel psm: 0x%02X", psm);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,6 +94,8 @@ int main() {
|
|||||||
};
|
};
|
||||||
tusb_init(BOARD_TUD_RHPORT, &dev_init);
|
tusb_init(BOARD_TUD_RHPORT, &dev_init);
|
||||||
|
|
||||||
|
tud_disconnect();
|
||||||
|
|
||||||
board_init_after_tusb();
|
board_init_after_tusb();
|
||||||
|
|
||||||
bt_init();
|
bt_init();
|
||||||
|
|||||||
Reference in New Issue
Block a user