Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion cores/esp32/USBCDC.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -405,8 +405,11 @@ size_t USBCDC::write(const uint8_t *buffer, size_t size) {
return 0;
}
size_t to_send = size, so_far = 0;
// writeTimeout will prevent that TinyUSB failure locks the while(to_send) loop
uint32_t writeTimeout = millis() + tx_timeout_ms;
while (to_send) {
if (!tud_cdc_n_connected(itf)) {
if (!tud_cdc_n_connected(itf) || (int32_t)(millis() - writeTimeout) >= 0) {
log_e("USB is disconnected or CDC writing has timed out.");
size = so_far;
break;
}
Expand Down
Loading