diff options
| author | hathach <[email protected]> | 2026-03-06 19:24:27 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2026-03-06 19:24:27 +0700 |
| commit | 8878e02c3040ee0b30f9b26c20f45a36260d854a (patch) | |
| tree | 2a86d1abba22be6b7c68683940b0388429f8519c /examples | |
| parent | 8f24ab0950d1f19d3c23ac29441f0a4ce6e9ce9b (diff) | |
fix hil test
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/device/printer_to_cdc/src/main.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/examples/device/printer_to_cdc/src/main.c b/examples/device/printer_to_cdc/src/main.c index aba79025c..ffaf709b4 100644 --- a/examples/device/printer_to_cdc/src/main.c +++ b/examples/device/printer_to_cdc/src/main.c @@ -50,12 +50,13 @@ // Forward data from Printer RX to CDC TX static void printer_to_cdc_task(void) { - if (tud_printer_read_available() == 0 || !tud_cdc_write_available()) { + uint32_t avail = tud_printer_read_available(); + if (avail == 0 || !tud_cdc_write_available()) { return; } uint8_t buf[64]; - uint32_t count = tud_printer_read(buf, sizeof(buf)); + uint32_t count = tud_printer_read(buf, TU_MIN(sizeof(buf), tud_cdc_write_available())); if (count > 0) { tud_cdc_write(buf, count); tud_cdc_write_flush(); @@ -64,12 +65,13 @@ static void printer_to_cdc_task(void) { // Forward data from CDC RX to Printer TX static void cdc_to_printer_task(void) { - if (tud_cdc_available() == 0 || !tud_printer_write_available()) { + uint32_t avail = tud_printer_write_available(); + if (tud_cdc_available() == 0 || avail == 0) { return; } uint8_t buf[64]; - uint32_t count = tud_cdc_read(buf, sizeof(buf)); + uint32_t count = tud_cdc_read(buf, TU_MIN(sizeof(buf), avail)); if (count > 0) { tud_printer_write(buf, count); tud_printer_write_flush(); |
