diff options
author | Joel Challis <git@zvecr.com> | 2021-02-28 15:52:58 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-28 15:52:58 +0000 |
commit | 5ba4391cf29ce624f17593417212b3dbca1609ad (patch) | |
tree | 61580567d52c26c482e57083eb85a19991a7d601 /tmk_core/common | |
parent | 415a8bc249d5c366487f69b3547198d17044a5de (diff) | |
download | qmk_firmware-5ba4391cf29ce624f17593417212b3dbca1609ad.tar.gz qmk_firmware-5ba4391cf29ce624f17593417212b3dbca1609ad.zip |
Refactor of USB code within split_common (#11890)
* Initial refactor of usb code within split_common
* Add headers
* Correct disable condition
* Format
* Align func name
Diffstat (limited to 'tmk_core/common')
-rw-r--r-- | tmk_core/common/chibios/chibios_config.h | 2 | ||||
-rw-r--r-- | tmk_core/common/usb_util.c | 29 | ||||
-rw-r--r-- | tmk_core/common/usb_util.h | 22 |
3 files changed, 53 insertions, 0 deletions
diff --git a/tmk_core/common/chibios/chibios_config.h b/tmk_core/common/chibios/chibios_config.h index b4d96465d1..bebf026de7 100644 --- a/tmk_core/common/chibios/chibios_config.h +++ b/tmk_core/common/chibios/chibios_config.h @@ -15,6 +15,8 @@ */ #pragma once +#define SPLIT_USB_DETECT // Force this on for now + #if defined(STM32F1XX) # define USE_GPIOV1 #endif diff --git a/tmk_core/common/usb_util.c b/tmk_core/common/usb_util.c new file mode 100644 index 0000000000..e4c50fcb10 --- /dev/null +++ b/tmk_core/common/usb_util.c @@ -0,0 +1,29 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +#include "usb_util.h" +#include "wait.h" + +__attribute__((weak)) void usb_disable(void) {} +__attribute__((weak)) bool usb_connected_state(void) { return true; } +__attribute__((weak)) bool usb_vbus_state(void) { +#ifdef USB_VBUS_PIN + setPinInput(USB_VBUS_PIN); + wait_us(5); + return readPin(USB_VBUS_PIN); +#else + return true; +#endif +} diff --git a/tmk_core/common/usb_util.h b/tmk_core/common/usb_util.h new file mode 100644 index 0000000000..4ebedb1e71 --- /dev/null +++ b/tmk_core/common/usb_util.h @@ -0,0 +1,22 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +#pragma once + +#include <stdbool.h> + +void usb_disable(void); +bool usb_connected_state(void); +bool usb_vbus_state(void); |