summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorhathach <[email protected]>2022-12-21 12:25:13 +0700
committerhathach <[email protected]>2022-12-21 12:25:13 +0700
commitbadb30a6c3d0748b52d7c9db5a48b7bef21b4c1a (patch)
tree7060e73087760ca7e009db9603ef73f80a7398d8 /examples
parent22b62f871263ae170965a037e4f677a8a8e49709 (diff)
correct cdc host app
Diffstat (limited to 'examples')
-rw-r--r--examples/host/cdc_msc_hid/src/cdc_app.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/examples/host/cdc_msc_hid/src/cdc_app.c b/examples/host/cdc_msc_hid/src/cdc_app.c
index 123cb33f0..db652efde 100644
--- a/examples/host/cdc_msc_hid/src/cdc_app.c
+++ b/examples/host/cdc_msc_hid/src/cdc_app.c
@@ -52,26 +52,31 @@ size_t get_console_inputs(uint8_t* buf, size_t bufsize)
void cdc_app_task(void)
{
uint8_t buf[64+1]; // +1 for extra null character
- memset(buf, 0, sizeof(buf));
+ uint32_t const bufsize = sizeof(buf)-1;
- size_t count = get_console_inputs(buf, sizeof(buf)-1);
+ uint32_t console_count = get_console_inputs(buf, bufsize);
+ buf[console_count] = 0;
// loop over all mounted interfaces
- for(size_t idx=0; idx<CFG_TUH_CDC; idx++)
+ for(uint8_t idx=0; idx<CFG_TUH_CDC; idx++)
{
if ( tuh_cdc_mounted(idx) )
{
// console --> cdc interfaces
- if (count)
+ if (console_count)
{
- tuh_cdc_write(idx, buf, count);
+ tuh_cdc_write(idx, buf, console_count);
tuh_cdc_write_flush(idx);
}
// cdc interfaces -> console
if ( tuh_cdc_read_available(idx) )
{
- printf((char*) buf);
+ uint8_t buf_cdc[64+1];
+ uint32_t cdc_count = tuh_cdc_read(idx, buf_cdc, sizeof(buf_cdc)-1);
+ buf_cdc[cdc_count] = 0;
+
+ printf((char*) buf_cdc);
}
}
}