Merge remote-tracking branch 'origin/develop' into xap

This commit is contained in:
zvecr
2024-03-14 10:59:03 +00:00
8 changed files with 96 additions and 110 deletions
-20
View File
@@ -70,17 +70,6 @@ host_driver_t chibios_driver = {keyboard_leds, send_keyboard, send_nkro, send_mo
void virtser_task(void);
#endif
#ifdef RAW_ENABLE
void raw_hid_task(void);
#endif
#ifdef XAP_ENABLE
void xap_task(void);
#endif
#ifdef CONSOLE_ENABLE
void console_task(void);
#endif
#ifdef MIDI_ENABLE
void midi_ep_task(void);
#endif
@@ -213,20 +202,11 @@ void protocol_pre_task(void) {
}
void protocol_post_task(void) {
#ifdef CONSOLE_ENABLE
console_task();
#endif
#ifdef MIDI_ENABLE
midi_ep_task();
#endif
#ifdef VIRTSER_ENABLE
virtser_task();
#endif
#ifdef RAW_ENABLE
raw_hid_task();
#endif
#ifdef XAP_ENABLE
xap_task();
#endif
usb_idle_task();
}
+1 -9
View File
@@ -155,7 +155,7 @@ __attribute__((weak)) void raw_hid_receive(uint8_t *data, uint8_t length) {
*
* FIXME: Needs doc
*/
static void raw_hid_task(void) {
void raw_hid_task(void) {
// Create a temporary buffer to hold the read in data from the host
uint8_t data[RAW_EPSIZE];
bool data_read = false;
@@ -974,14 +974,6 @@ void protocol_post_task(void) {
CDC_Device_USBTask(&cdc_device);
#endif
#ifdef RAW_ENABLE
raw_hid_task();
#endif
#ifdef XAP_ENABLE
xap_task();
#endif
#if !defined(INTERRUPT_CONTROL_ENDPOINT)
USB_USBTask();
#endif
+6 -36
View File
@@ -31,18 +31,6 @@
# include "sleep_led.h"
#endif
#ifdef CONSOLE_ENABLE
void console_task(void);
#endif
#ifdef RAW_ENABLE
void raw_hid_task(void);
#endif
#ifdef XAP_ENABLE
void xap_task(void);
#endif
/* This is from main.c of USBaspLoader */
static void initForUsbConnectivity(void) {
uint8_t i = 0;
@@ -140,7 +128,7 @@ static inline bool should_do_suspend(void) {
return vusb_suspended;
}
void protocol_task(void) {
void protocol_pre_task(void) {
#if !defined(NO_USB_STARTUP_CHECK)
if (should_do_suspend()) {
dprintln("suspending keyboard");
@@ -163,7 +151,9 @@ void protocol_task(void) {
vusb_wakeup();
}
#endif
}
void protocol_keyboard_task(void) {
usbPoll();
// TODO: configuration process is inconsistent. it sometime fails.
@@ -171,28 +161,8 @@ void protocol_task(void) {
if (usbConfiguration && usbInterruptIsReady()) {
keyboard_task();
}
}
#ifdef RAW_ENABLE
usbPoll();
if (usbConfiguration && usbInterruptIsReady4()) {
raw_hid_task();
}
#endif
#ifdef XAP_ENABLE
usbPoll();
if (usbConfiguration && usbInterruptIsReady4()) {
xap_task();
}
#endif
#ifdef CONSOLE_ENABLE
usbPoll();
if (usbConfiguration && usbInterruptIsReady3()) {
console_task();
}
#endif
void protocol_post_task(void) {
// do nothing
}
+15 -1
View File
@@ -171,6 +171,12 @@ __attribute__((weak)) void raw_hid_receive(uint8_t *data, uint8_t length) {
}
void raw_hid_task(void) {
usbPoll();
if (!usbConfiguration || !usbInterruptIsReady4()) {
return;
}
if (raw_output_received_bytes == RAW_BUFFER_SIZE) {
raw_hid_receive(raw_output_buffer, RAW_BUFFER_SIZE);
raw_output_received_bytes = 0;
@@ -239,6 +245,12 @@ void xap_receive_base(const void *data) {
}
void xap_task(void) {
usbPoll();
if (!usbConfiguration || !usbInterruptIsReady4()) {
return;
}
if (xap_output_received_bytes == XAP_BUFFER_SIZE) {
xap_receive_base(xap_output_buffer);
xap_output_received_bytes = 0;
@@ -259,7 +271,9 @@ int8_t sendchar(uint8_t c) {
}
void console_task(void) {
if (!usbConfiguration) {
usbPoll();
if (!usbConfiguration || !usbInterruptIsReady3()) {
return;
}