diff options
Diffstat (limited to 'keyboards/handwired/onekey')
18 files changed, 211 insertions, 10 deletions
diff --git a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/info.json b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/info.json index ada49d3849..6787be36af 100644 --- a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/info.json +++ b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/info.json @@ -1,8 +1,7 @@ { "keyboard_name": "Onekey Blackpill STM32F401 TinyUF2", - "processor": "STM32F401", + "development_board": "blackpill_f401", "bootloader": "tinyuf2", - "board": "BLACKPILL_STM32_F401", "matrix_pins": { "cols": ["B0"], "rows": ["A7"] diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json index 3acccb7148..25d33a7dde 100644 --- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json @@ -1,8 +1,7 @@ { "keyboard_name": "Onekey Blackpill STM32F411 TinyUF2", - "processor": "STM32F411", + "development_board": "blackpill_f411", "bootloader": "tinyuf2", - "board": "BLACKPILL_STM32_F411", "matrix_pins": { "cols": ["B0"], "rows": ["A7"] diff --git a/keyboards/handwired/onekey/bluepill_uf2boot/config.h b/keyboards/handwired/onekey/bluepill_uf2boot/config.h new file mode 100644 index 0000000000..79fa79595a --- /dev/null +++ b/keyboards/handwired/onekey/bluepill_uf2boot/config.h @@ -0,0 +1,26 @@ +/* Copyright 2019 + * + * 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 2 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 "config_common.h" + +#define BACKLIGHT_PWM_DRIVER PWMD2 +#define BACKLIGHT_PWM_CHANNEL 1 + +#define ADC_PIN A0 + +#define RGB_CI_PIN A2 diff --git a/keyboards/handwired/onekey/bluepill_uf2boot/halconf.h b/keyboards/handwired/onekey/bluepill_uf2boot/halconf.h new file mode 100644 index 0000000000..dbc3e82a79 --- /dev/null +++ b/keyboards/handwired/onekey/bluepill_uf2boot/halconf.h @@ -0,0 +1,28 @@ +/* Copyright 2020 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 2 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/>. + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/onekey/bluepill/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_ADC TRUE + +#define HAL_USE_PWM TRUE + +#include_next <halconf.h> diff --git a/keyboards/handwired/onekey/bluepill_uf2boot/info.json b/keyboards/handwired/onekey/bluepill_uf2boot/info.json new file mode 100644 index 0000000000..1f823ea0d7 --- /dev/null +++ b/keyboards/handwired/onekey/bluepill_uf2boot/info.json @@ -0,0 +1,15 @@ +{ + "keyboard_name": "Onekey Bluepill STM32F103 uf2boot", + "development_board": "bluepill", + "bootloader": "uf2boot", + "matrix_pins": { + "cols": ["B0"], + "rows": ["A7"] + }, + "backlight": { + "pin": "A0" + }, + "rgblight": { + "pin": "A1" + } +} diff --git a/keyboards/handwired/onekey/bluepill_uf2boot/mcuconf.h b/keyboards/handwired/onekey/bluepill_uf2boot/mcuconf.h new file mode 100644 index 0000000000..39834c135b --- /dev/null +++ b/keyboards/handwired/onekey/bluepill_uf2boot/mcuconf.h @@ -0,0 +1,33 @@ +/* Copyright 2020 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 2 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/>. + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/onekey/bluepill/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h` + */ + +#pragma once + +#include_next <mcuconf.h> + +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE + +#undef STM32_PWM_USE_TIM2 +#define STM32_PWM_USE_TIM2 TRUE + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 FALSE diff --git a/keyboards/handwired/onekey/bluepill_uf2boot/readme.md b/keyboards/handwired/onekey/bluepill_uf2boot/readme.md new file mode 100644 index 0000000000..7886ed1888 --- /dev/null +++ b/keyboards/handwired/onekey/bluepill_uf2boot/readme.md @@ -0,0 +1,7 @@ +# Bluepill onekey + +To trigger keypress, short together pins *B0* and *A7*. + +This variant requires the uf2-stm32f103 bootloader to be installed. This can be downloaded from the [uf2-stm32f103 releases page](https://github.com/mmoskal/uf2-stm32f103/releases). + +Double-tap reset to enter bootloader mode. Copy the built uf2 file to the device by dragging the file to the new USB disk.
\ No newline at end of file diff --git a/keyboards/handwired/onekey/bluepill_uf2boot/rules.mk b/keyboards/handwired/onekey/bluepill_uf2boot/rules.mk new file mode 100644 index 0000000000..a92b099328 --- /dev/null +++ b/keyboards/handwired/onekey/bluepill_uf2boot/rules.mk @@ -0,0 +1,2 @@ +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/handwired/onekey/kb2040/config.h b/keyboards/handwired/onekey/kb2040/config.h index c6c6dbe2cf..20a41b1624 100644 --- a/keyboards/handwired/onekey/kb2040/config.h +++ b/keyboards/handwired/onekey/kb2040/config.h @@ -16,7 +16,7 @@ // settings for the oled keyboard demo with Adafruit 0.91" OLED display on the Stemma QT port #define OLED_DISPLAY_128X32 -#define I2C_DRIVER I2CD1 +#define I2C_DRIVER I2CD0 #define I2C1_SDA_PIN GP12 #define I2C1_SCL_PIN GP13 diff --git a/keyboards/handwired/onekey/keymaps/backlight/keymap.c b/keyboards/handwired/onekey/keymaps/backlight/keymap.c index 1fbbc632da..746e4619de 100644 --- a/keyboards/handwired/onekey/keymaps/backlight/keymap.c +++ b/keyboards/handwired/onekey/keymaps/backlight/keymap.c @@ -5,11 +5,11 @@ enum { TD_BL = 0 }; -void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) { +void dance_cln_finished(tap_dance_state_t *state, void *user_data) { // noop } -void dance_cln_reset(qk_tap_dance_state_t *state, void *user_data) { +void dance_cln_reset(tap_dance_state_t *state, void *user_data) { switch (state->count) { case 1: // single tap - step through backlight @@ -30,7 +30,7 @@ void dance_cln_reset(qk_tap_dance_state_t *state, void *user_data) { } } -qk_tap_dance_action_t tap_dance_actions[] = { +tap_dance_action_t tap_dance_actions[] = { [TD_BL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_cln_finished, dance_cln_reset) }; diff --git a/keyboards/handwired/onekey/keymaps/lvgl/config.h b/keyboards/handwired/onekey/keymaps/lvgl/config.h new file mode 100644 index 0000000000..38bb5d0cf3 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/lvgl/config.h @@ -0,0 +1,15 @@ +// Copyright 2022 Jose Pablo Ramirez (@jpe230) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* SPI pins */ +#define SPI_DRIVER SPID0 +#define SPI_SCK_PIN GP18 +#define SPI_MOSI_PIN GP19 +#define SPI_MISO_PIN GP20 + +/* LCD Configuration */ +#define LCD_RST_PIN GP0 +#define LCD_DC_PIN GP1 +#define LCD_CS_PIN GP2 diff --git a/keyboards/handwired/onekey/keymaps/lvgl/halconf.h b/keyboards/handwired/onekey/keymaps/lvgl/halconf.h new file mode 100644 index 0000000000..27646bb3f5 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/lvgl/halconf.h @@ -0,0 +1,12 @@ +// Copyright 2022 Jose Pablo Ramirez (@jpe230) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next <halconf.h> + +#undef HAL_USE_SPI +#define HAL_USE_SPI TRUE + +#undef SPI_USE_WAIT +#define SPI_USE_WAIT TRUE diff --git a/keyboards/handwired/onekey/keymaps/lvgl/keymap.c b/keyboards/handwired/onekey/keymaps/lvgl/keymap.c new file mode 100644 index 0000000000..be1ba48cf9 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/lvgl/keymap.c @@ -0,0 +1,50 @@ +// Copyright 2022 Jose Pablo Ramirez (@jpe230) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +#include "qp.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT_ortho_1x1(JS_BUTTON0) +}; + +painter_device_t lcd; + +void lv_example_arc_2(void); + +void keyboard_post_init_user(void) { + lcd = qp_gc9a01_make_spi_device(240, 240, LCD_CS_PIN, LCD_DC_PIN, LCD_RST_PIN, 4, 0); + qp_init(lcd, QP_ROTATION_0); + qp_rect(lcd, 0, 0, 239, 319, 0, 255, 255, true); + + if (qp_lvgl_attach(lcd)) { + lv_example_arc_2(); + } +} + +static void set_angle(void* obj, int32_t v) { + lv_arc_set_value(obj, v); +} + +/** + * Create an arc which acts as a loader. + */ +void lv_example_arc_2(void) { + /*Create an Arc*/ + lv_obj_t* arc = lv_arc_create(lv_scr_act()); + lv_arc_set_rotation(arc, 270); + lv_arc_set_bg_angles(arc, 0, 360); + lv_obj_remove_style(arc, NULL, LV_PART_KNOB); /*Be sure the knob is not displayed*/ + lv_obj_clear_flag(arc, LV_OBJ_FLAG_CLICKABLE); /*To not allow adjusting by click*/ + lv_obj_center(arc); + + static lv_anim_t a; + lv_anim_init(&a); + lv_anim_set_var(&a, arc); + lv_anim_set_exec_cb(&a, set_angle); + lv_anim_set_time(&a, 1000); + lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE); /*Just for the demo*/ + lv_anim_set_repeat_delay(&a, 500); + lv_anim_set_values(&a, 0, 100); + lv_anim_start(&a); +} diff --git a/keyboards/handwired/onekey/keymaps/lvgl/mcuconf.h b/keyboards/handwired/onekey/keymaps/lvgl/mcuconf.h new file mode 100644 index 0000000000..bff74867ff --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/lvgl/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2022 Jose Pablo Ramirez (@jpe230) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next <mcuconf.h> + +#undef RP_SPI_USE_SPI0 +#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/handwired/onekey/keymaps/lvgl/rules.mk b/keyboards/handwired/onekey/keymaps/lvgl/rules.mk new file mode 100644 index 0000000000..872d12ad6f --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/lvgl/rules.mk @@ -0,0 +1,3 @@ +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_LVGL_INTEGRATION = yes +QUANTUM_PAINTER_DRIVERS = gc9a01_spi diff --git a/keyboards/handwired/onekey/keymaps/oled/keymap.c b/keyboards/handwired/onekey/keymaps/oled/keymap.c index 244dc4facb..120ab80fa5 100644 --- a/keyboards/handwired/onekey/keymaps/oled/keymap.c +++ b/keyboards/handwired/onekey/keymaps/oled/keymap.c @@ -63,7 +63,7 @@ static void stop_scrolling(void) { } } -static void dance_oled_finished(qk_tap_dance_state_t *state, void *user_data) { +static void dance_oled_finished(tap_dance_state_t *state, void *user_data) { switch (state->count) { case 1: if (state->pressed) { @@ -155,7 +155,7 @@ static void dance_oled_finished(qk_tap_dance_state_t *state, void *user_data) { } } -qk_tap_dance_action_t tap_dance_actions[] = {[TD_OLED] = ACTION_TAP_DANCE_FN(dance_oled_finished)}; +tap_dance_action_t tap_dance_actions[] = {[TD_OLED] = ACTION_TAP_DANCE_FN(dance_oled_finished)}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {LAYOUT_ortho_1x1(TD(TD_OLED))}; diff --git a/keyboards/handwired/onekey/rp2040/config.h b/keyboards/handwired/onekey/rp2040/config.h index d3e7b5c076..3168d3550f 100644 --- a/keyboards/handwired/onekey/rp2040/config.h +++ b/keyboards/handwired/onekey/rp2040/config.h @@ -20,3 +20,5 @@ #define AUDIO_PIN GP16 #define AUDIO_PWM_DRIVER PWMD0 #define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_A + +#define ADC_PIN GP26 diff --git a/keyboards/handwired/onekey/rp2040/halconf.h b/keyboards/handwired/onekey/rp2040/halconf.h index 5890122e5e..ec56be2263 100644 --- a/keyboards/handwired/onekey/rp2040/halconf.h +++ b/keyboards/handwired/onekey/rp2040/halconf.h @@ -5,5 +5,6 @@ #define HAL_USE_I2C TRUE #define HAL_USE_PWM TRUE +#define HAL_USE_ADC TRUE #include_next <halconf.h> |