summaryrefslogtreecommitdiff
path: root/tmk_core/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/protocol')
-rw-r--r--tmk_core/protocol/chibios/usb_main.c10
-rw-r--r--tmk_core/protocol/lufa/lufa.c11
-rw-r--r--tmk_core/protocol/usb_descriptor.c2
-rw-r--r--tmk_core/protocol/usb_descriptor.h2
-rw-r--r--tmk_core/protocol/webusb_descriptor.h (renamed from tmk_core/protocol/webusb.h)4
5 files changed, 21 insertions, 8 deletions
diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c
index e2440601e3..8a249e19e3 100644
--- a/tmk_core/protocol/chibios/usb_main.c
+++ b/tmk_core/protocol/chibios/usb_main.c
@@ -37,6 +37,9 @@
extern keymap_config_t keymap_config;
#endif
+#ifdef WEBUSB_ENABLE
+#include "webusb.h"
+#endif
/* ---------------------------------------------------------
* Global interface variables and declarations
* ---------------------------------------------------------
@@ -880,7 +883,12 @@ void webusb_task(void) {
do {
size_t size = chnReadTimeout(&drivers.webusb_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE);
if (size > 0) {
- webusb_receive(buffer, size);
+ if(webusb_state.paired == true) {
+ webusb_receive(buffer, size);
+ }
+ else {
+ webusb_error(WEBUSB_STATUS_NOT_PAIRED);
+ }
}
} while (size > 0);
}
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c
index 998db1c6d8..c68c3c2e5b 100644
--- a/tmk_core/protocol/lufa/lufa.c
+++ b/tmk_core/protocol/lufa/lufa.c
@@ -90,6 +90,10 @@ extern keymap_config_t keymap_config;
# include "raw_hid.h"
#endif
+#ifdef WEBUSB_ENABLE
+#include "webusb.h"
+#endif
+
uint8_t keyboard_idle = 0;
/* 0: Boot Protocol, 1: Report Protocol(default) */
uint8_t keyboard_protocol = 1;
@@ -307,7 +311,12 @@ static void webusb_task(void) {
Endpoint_ClearOUT();
if (data_read) {
- webusb_receive(data, sizeof(data));
+ if(webusb_state.paired == true) {
+ webusb_receive(data, sizeof(data));
+ }
+ else {
+ webusb_error(WEBUSB_STATUS_NOT_PAIRED);
+ }
}
}
}
diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c
index dff3d48bad..ac35a28772 100644
--- a/tmk_core/protocol/usb_descriptor.c
+++ b/tmk_core/protocol/usb_descriptor.c
@@ -40,7 +40,7 @@
#include "report.h"
#include "usb_descriptor.h"
#ifdef WEBUSB_ENABLE
-#include "webusb.h"
+#include "webusb_descriptor.h"
#endif
/*
* HID report descriptors
diff --git a/tmk_core/protocol/usb_descriptor.h b/tmk_core/protocol/usb_descriptor.h
index 224068b674..8ee576cc0d 100644
--- a/tmk_core/protocol/usb_descriptor.h
+++ b/tmk_core/protocol/usb_descriptor.h
@@ -49,7 +49,7 @@
# include "hal.h"
#endif
#ifdef WEBUSB_ENABLE
-#include "webusb.h"
+#include "webusb_descriptor.h"
#endif
/*
diff --git a/tmk_core/protocol/webusb.h b/tmk_core/protocol/webusb_descriptor.h
index ff3b8f65b2..a2385b8c05 100644
--- a/tmk_core/protocol/webusb.h
+++ b/tmk_core/protocol/webusb_descriptor.h
@@ -1,9 +1,5 @@
#pragma once
-void webusb_receive(uint8_t *data, uint8_t length);
-
-void webusb_send(uint8_t *data, uint8_t length);
-
#ifndef WORD_TO_BYTES_LE
# define WORD_TO_BYTES_LE(n) n % 256, (n / 256) % 256
#endif