summaryrefslogtreecommitdiff
path: root/app/src/usb_hid.c
diff options
context:
space:
mode:
authorPete Johanson <peter@peterjohanson.com>2020-10-04 18:18:44 -0400
committerPete Johanson <peter@peterjohanson.com>2020-10-04 21:56:09 -0400
commitbbf5a5905a973d6d23457d2e7bf15bf6bac234c3 (patch)
tree93dcaaf0c3ccde9e0c6d3e8d192bc7e8ed0e32eb /app/src/usb_hid.c
parente6d9134005588adc0d6326c7b8132b7832719990 (diff)
refactor(usb): Report USB status w/o HID output.
Diffstat (limited to 'app/src/usb_hid.c')
-rw-r--r--app/src/usb_hid.c79
1 files changed, 0 insertions, 79 deletions
diff --git a/app/src/usb_hid.c b/app/src/usb_hid.c
deleted file mode 100644
index 64addae..0000000
--- a/app/src/usb_hid.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2020 The ZMK Contributors
- *
- * SPDX-License-Identifier: MIT
- */
-
-#include <device.h>
-#include <init.h>
-
-#include <usb/usb_device.h>
-#include <usb/class/usb_hid.h>
-#include <dt-bindings/zmk/keys.h>
-
-#include <zmk/hid.h>
-#include <zmk/keymap.h>
-
-LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
-
-static enum usb_dc_status_code usb_status = USB_DC_UNKNOWN;
-
-static struct device *hid_dev;
-
-static K_SEM_DEFINE(hid_sem, 1, 1);
-
-static void in_ready_cb(void) { k_sem_give(&hid_sem); }
-
-static const struct hid_ops ops = {
- .int_in_ready = in_ready_cb,
-};
-
-enum usb_dc_status_code zmk_usb_hid_get_status() { return usb_status; }
-
-int zmk_usb_hid_send_report(const u8_t *report, size_t len) {
- switch (usb_status) {
- case USB_DC_SUSPEND:
- return usb_wakeup_request();
- case USB_DC_ERROR:
- case USB_DC_RESET:
- case USB_DC_DISCONNECTED:
- case USB_DC_UNKNOWN:
- return -ENODEV;
- default:
- k_sem_take(&hid_sem, K_MSEC(30));
- int err = hid_int_ep_write(hid_dev, report, len, NULL);
-
- if (err) {
- k_sem_give(&hid_sem);
- }
-
- return err;
- }
-}
-
-void usb_hid_status_cb(enum usb_dc_status_code status, const u8_t *params) { usb_status = status; };
-
-static int zmk_usb_hid_init(struct device *_arg) {
- int usb_enable_ret;
-
- hid_dev = device_get_binding("HID_0");
- if (hid_dev == NULL) {
- LOG_ERR("Unable to locate HID device");
- return -EINVAL;
- }
-
- usb_hid_register_device(hid_dev, zmk_hid_report_desc, sizeof(zmk_hid_report_desc), &ops);
-
- usb_hid_init(hid_dev);
-
- usb_enable_ret = usb_enable(usb_hid_status_cb);
-
- if (usb_enable_ret != 0) {
- LOG_ERR("Unable to enable USB");
- return -EINVAL;
- }
-
- return 0;
-}
-
-SYS_INIT(zmk_usb_hid_init, APPLICATION, CONFIG_ZMK_USB_INIT_PRIORITY);