mirror of
https://github.com/qmk/qmk_firmware.git
synced 2026-10-25 02:12:40 +02:00
Merge remote-tracking branch 'origin/develop' into xap
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user