From bf67abb046846e95137052b30d6aee458ad7c1f9 Mon Sep 17 00:00:00 2001 From: Sascha Date: Sun, 10 Apr 2022 00:27:02 +0200 Subject: Fixed usb read loops not reading until timeout (#16827) * the size variable was redeclared (hiding the variable of the outside scope) and therefore the while check was always false, so the compiler just removed the do while loop, but it would be better to read all data and only exit the task, after this is done --- tmk_core/protocol/chibios/usb_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tmk_core/protocol/chibios/usb_main.c') diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index d9aa351ecb..bd8af6d194 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -1074,7 +1074,7 @@ void console_task(void) { uint8_t buffer[CONSOLE_EPSIZE]; size_t size = 0; do { - size_t size = chnReadTimeout(&drivers.console_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); + size = chnReadTimeout(&drivers.console_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); if (size > 0) { console_receive(buffer, size); } @@ -1102,7 +1102,7 @@ void raw_hid_task(void) { uint8_t buffer[RAW_EPSIZE]; size_t size = 0; do { - size_t size = chnReadTimeout(&drivers.raw_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); + size = chnReadTimeout(&drivers.raw_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); if (size > 0) { raw_hid_receive(buffer, size); } @@ -1125,7 +1125,7 @@ void midi_ep_task(void) { uint8_t buffer[MIDI_STREAM_EPSIZE]; size_t size = 0; do { - size_t size = chnReadTimeout(&drivers.midi_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); + size = chnReadTimeout(&drivers.midi_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); if (size > 0) { MIDI_EventPacket_t event; recv_midi_packet(&event); -- cgit v1.2.3 From e4942df39760eb70dc62ae609cb68b07c2786f13 Mon Sep 17 00:00:00 2001 From: dexter93 Date: Fri, 22 Apr 2022 10:36:32 +0300 Subject: Chibios USB protocol: allow overriding RAW Capacity (#16339) --- tmk_core/protocol/chibios/usb_main.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'tmk_core/protocol/chibios/usb_main.c') diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index bd8af6d194..c59569a85a 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -339,8 +339,12 @@ static usb_driver_configs_t drivers = { .console_driver = QMK_USB_DRIVER_CONFIG(CONSOLE, 0, true), #endif #ifdef RAW_ENABLE -# define RAW_IN_CAPACITY 4 -# define RAW_OUT_CAPACITY 4 +# ifndef RAW_IN_CAPACITY +# define RAW_IN_CAPACITY 4 +# endif +# ifndef RAW_OUT_CAPACITY +# define RAW_OUT_CAPACITY 4 +# endif # define RAW_IN_MODE USB_EP_MODE_TYPE_INTR # define RAW_OUT_MODE USB_EP_MODE_TYPE_INTR .raw_driver = QMK_USB_DRIVER_CONFIG(RAW, 0, false), -- cgit v1.2.3 From 97f4a75fd7bbdb5f4c170cd9dd4495ba7d64a548 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Fri, 22 Apr 2022 00:48:06 -0700 Subject: [CI] Format code according to conventions (#16914) --- tmk_core/protocol/chibios/usb_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tmk_core/protocol/chibios/usb_main.c') diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index c59569a85a..19e2e858fc 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -340,10 +340,10 @@ static usb_driver_configs_t drivers = { #endif #ifdef RAW_ENABLE # ifndef RAW_IN_CAPACITY -# define RAW_IN_CAPACITY 4 +# define RAW_IN_CAPACITY 4 # endif # ifndef RAW_OUT_CAPACITY -# define RAW_OUT_CAPACITY 4 +# define RAW_OUT_CAPACITY 4 # endif # define RAW_IN_MODE USB_EP_MODE_TYPE_INTR # define RAW_OUT_MODE USB_EP_MODE_TYPE_INTR -- cgit v1.2.3