diff options
author | Nick Brassel <nick@tzarc.org> | 2022-12-02 21:55:28 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-02 21:55:28 +1100 |
commit | cf3c26533cadf4e6739dbc9117caad01df2fa5e3 (patch) | |
tree | 8bd4f7151edcc67e0bba16f1fcdbf83cbaf172b6 /keyboards/handwired/onekey | |
parent | f98a7e8ffecdf4904879d8d3c0cc3307aa6f9966 (diff) |
Fixup EFL and F4's sector selection. (#19221)
Diffstat (limited to 'keyboards/handwired/onekey')
20 files changed, 221 insertions, 54 deletions
diff --git a/keyboards/handwired/onekey/blackpill_f401/chconf.h b/keyboards/handwired/onekey/blackpill_f401/chconf.h index 04ff4362ae..41ae8d1257 100644 --- a/keyboards/handwired/onekey/blackpill_f401/chconf.h +++ b/keyboards/handwired/onekey/blackpill_f401/chconf.h @@ -13,26 +13,9 @@ * 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/blackpill_f401/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - + #pragma once #define CH_CFG_ST_FREQUENCY 10000 -#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE - -#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE - -#define CH_CFG_FACTORY_SEMAPHORES TRUE - -#define CH_CFG_FACTORY_MAILBOXES TRUE - -#define CH_CFG_FACTORY_OBJ_FIFOS TRUE - -#define CH_CFG_FACTORY_PIPES TRUE - #include_next <chconf.h> diff --git a/keyboards/handwired/onekey/blackpill_f401/config.h b/keyboards/handwired/onekey/blackpill_f401/config.h index 05f3f07763..bb6219f1b3 100644 --- a/keyboards/handwired/onekey/blackpill_f401/config.h +++ b/keyboards/handwired/onekey/blackpill_f401/config.h @@ -1,4 +1,4 @@ -/* Copyright 2019 +/* 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 @@ -25,3 +25,7 @@ #define ADC_PIN A0 #define RGB_CI_PIN A2 + +#define SOLENOID_PIN B12 +#define SOLENOID_PINS { B12, B13, B14, B15 } +#define SOLENOID_PINS_ACTIVE_STATE { high, high, low } diff --git a/keyboards/handwired/onekey/blackpill_f401/halconf.h b/keyboards/handwired/onekey/blackpill_f401/halconf.h index 4982bb5b49..00aca25c36 100644 --- a/keyboards/handwired/onekey/blackpill_f401/halconf.h +++ b/keyboards/handwired/onekey/blackpill_f401/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2020 QMK +/* 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 @@ -14,11 +14,6 @@ * 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/blackpill_f401/halconf.h -r platforms/chibios/common/configs/halconf.h` - */ - #pragma once #define HAL_USE_ADC TRUE diff --git a/keyboards/handwired/onekey/blackpill_f401/mcuconf.h b/keyboards/handwired/onekey/blackpill_f401/mcuconf.h index 1aa0fe4ce7..fcb7d84f96 100644 --- a/keyboards/handwired/onekey/blackpill_f401/mcuconf.h +++ b/keyboards/handwired/onekey/blackpill_f401/mcuconf.h @@ -1,4 +1,4 @@ -/* Copyright 2020 Nick Brassel (tzarc) +/* 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 diff --git a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/chconf.h b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/chconf.h new file mode 100644 index 0000000000..41ae8d1257 --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/chconf.h @@ -0,0 +1,21 @@ +/* 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/>. + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#include_next <chconf.h> diff --git a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h new file mode 100755 index 0000000000..bb6219f1b3 --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h @@ -0,0 +1,31 @@ +/* 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 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 PWMD5 +#define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PAL_MODE 2 + +#define ADC_PIN A0 + +#define RGB_CI_PIN A2 + +#define SOLENOID_PIN B12 +#define SOLENOID_PINS { B12, B13, B14, B15 } +#define SOLENOID_PINS_ACTIVE_STATE { high, high, low } diff --git a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/halconf.h b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/halconf.h new file mode 100644 index 0000000000..00aca25c36 --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/halconf.h @@ -0,0 +1,25 @@ +/* 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 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 + +#define HAL_USE_ADC TRUE + +#define HAL_USE_I2C TRUE + +#define HAL_USE_PWM TRUE + +#include_next <halconf.h> diff --git a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/info.json b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/info.json new file mode 100644 index 0000000000..ada49d3849 --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/info.json @@ -0,0 +1,16 @@ +{ + "keyboard_name": "Onekey Blackpill STM32F401 TinyUF2", + "processor": "STM32F401", + "bootloader": "tinyuf2", + "board": "BLACKPILL_STM32_F401", + "matrix_pins": { + "cols": ["B0"], + "rows": ["A7"] + }, + "backlight": { + "pin": "A0" + }, + "rgblight": { + "pin": "A1" + } +} diff --git a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/mcuconf.h b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/mcuconf.h new file mode 100755 index 0000000000..fcb7d84f96 --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/mcuconf.h @@ -0,0 +1,28 @@ +/* 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 <https://www.gnu.org/licenses/>. + */ + +#pragma once + +#include_next "mcuconf.h" + +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_TIM5 +#define STM32_PWM_USE_TIM5 TRUE diff --git a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/readme.md b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/readme.md new file mode 100755 index 0000000000..e7fcf450ed --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/readme.md @@ -0,0 +1,9 @@ +# F401 Blackpill onekey + +* Supported Hardware: STM32F401CCU6 WeAct v1.3 + +To trigger keypress, short together pins *B0* and *A7*. + +This variant requires the TinyUF2 bootloader to be installed. This can be downloaded from the [tinyuf2 releases page](https://github.com/adafruit/tinyuf2/releases). The F401 blackpill binary works for both F401- and F411-based blackpill devices. + +Double-tap reset to enter bootloader mode. Copy the built uf2 file to the device by dragging the file to the new USB disk. diff --git a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/rules.mk b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/rules.mk new file mode 100755 index 0000000000..1071cf62ee --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/rules.mk @@ -0,0 +1 @@ +KEYBOARD_SHARED_EP = yes diff --git a/keyboards/handwired/onekey/blackpill_f411/chconf.h b/keyboards/handwired/onekey/blackpill_f411/chconf.h index 8b55eaeef0..41ae8d1257 100644 --- a/keyboards/handwired/onekey/blackpill_f411/chconf.h +++ b/keyboards/handwired/onekey/blackpill_f411/chconf.h @@ -13,26 +13,9 @@ * 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/blackpill_f411/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - + #pragma once #define CH_CFG_ST_FREQUENCY 10000 -#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE - -#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE - -#define CH_CFG_FACTORY_SEMAPHORES TRUE - -#define CH_CFG_FACTORY_MAILBOXES TRUE - -#define CH_CFG_FACTORY_OBJ_FIFOS TRUE - -#define CH_CFG_FACTORY_PIPES TRUE - #include_next <chconf.h> diff --git a/keyboards/handwired/onekey/blackpill_f411/config.h b/keyboards/handwired/onekey/blackpill_f411/config.h index c890043b09..bb6219f1b3 100644 --- a/keyboards/handwired/onekey/blackpill_f411/config.h +++ b/keyboards/handwired/onekey/blackpill_f411/config.h @@ -1,4 +1,4 @@ -/* Copyright 2019 +/* 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 diff --git a/keyboards/handwired/onekey/blackpill_f411/halconf.h b/keyboards/handwired/onekey/blackpill_f411/halconf.h index 8225cc7208..00aca25c36 100644 --- a/keyboards/handwired/onekey/blackpill_f411/halconf.h +++ b/keyboards/handwired/onekey/blackpill_f411/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2020 QMK +/* 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 @@ -14,11 +14,6 @@ * 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/blackpill_f411/halconf.h -r platforms/chibios/common/configs/halconf.h` - */ - #pragma once #define HAL_USE_ADC TRUE diff --git a/keyboards/handwired/onekey/blackpill_f411/mcuconf.h b/keyboards/handwired/onekey/blackpill_f411/mcuconf.h index 1aa0fe4ce7..fcb7d84f96 100644 --- a/keyboards/handwired/onekey/blackpill_f411/mcuconf.h +++ b/keyboards/handwired/onekey/blackpill_f411/mcuconf.h @@ -1,4 +1,4 @@ -/* Copyright 2020 Nick Brassel (tzarc) +/* 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 diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/chconf.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/chconf.h index 3d9a393638..41ae8d1257 100644 --- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/chconf.h +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/chconf.h @@ -1,4 +1,4 @@ -/* Copyright 2021 QMK +/* 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 @@ -13,7 +13,7 @@ * 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 #define CH_CFG_ST_FREQUENCY 10000 diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h index 2b60320fc1..bb6219f1b3 100755 --- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h @@ -25,3 +25,7 @@ #define ADC_PIN A0 #define RGB_CI_PIN A2 + +#define SOLENOID_PIN B12 +#define SOLENOID_PINS { B12, B13, B14, B15 } +#define SOLENOID_PINS_ACTIVE_STATE { high, high, low } diff --git a/keyboards/handwired/onekey/keymaps/wear_leveling/config.h b/keyboards/handwired/onekey/keymaps/wear_leveling/config.h new file mode 100644 index 0000000000..642b442da3 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/wear_leveling/config.h @@ -0,0 +1,6 @@ +// Copyright 2018-2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-3.0-or-later +#pragma once + +#define DEBUG_EEPROM_OUTPUT +#define WEAR_LEVELING_DEBUG_OUTPUT diff --git a/keyboards/handwired/onekey/keymaps/wear_leveling/keymap.c b/keyboards/handwired/onekey/keymaps/wear_leveling/keymap.c new file mode 100644 index 0000000000..dc40ca1580 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/wear_leveling/keymap.c @@ -0,0 +1,65 @@ +// Copyright 2018-2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-3.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT_ortho_1x1(QK_BOOT) +}; + +#ifdef DEBUG_EEPROM_OUTPUT + +# ifdef WEAR_LEVELING_ENABLE +# include "wear_leveling.h" +# endif // WEAR_LEVELING_ENABLE + +uint8_t prng(void) { + static uint8_t s = 0xAA, a = 0; + s ^= s << 3; + s ^= s >> 5; + s ^= a++ >> 2; + return s; +} + +void keyboard_post_init_user(void) { + debug_enable = true; + debug_matrix = true; + debug_keyboard = true; +} + +void matrix_scan_user(void) { + static uint32_t last_eeprom_access = 0; + uint32_t now = timer_read32(); + if (now - last_eeprom_access > 5000) { + dprint("reading eeprom\n"); + last_eeprom_access = now; + + union { + uint8_t bytes[4]; + uint32_t raw; + } tmp; + extern uint8_t prng(void); + tmp.bytes[0] = prng(); + tmp.bytes[1] = prng(); + tmp.bytes[2] = prng(); + tmp.bytes[3] = prng(); + + eeconfig_update_user(tmp.raw); + uint32_t value = eeconfig_read_user(); + if (value != tmp.raw) { + dprint("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"); + dprint("!! EEPROM readback mismatch!\n"); + dprint("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"); + } + } + +# ifdef WEAR_LEVELING_ENABLE + static uint32_t last_wear_leveling_init = 0; + if (now - last_wear_leveling_init > 30000) { + dprint("init'ing wear-leveling\n"); + last_wear_leveling_init = now; + wear_leveling_init(); + } +# endif // WEAR_LEVELING_ENABLE +} + +#endif // DEBUG_EEPROM_OUTPUT diff --git a/keyboards/handwired/onekey/keymaps/wear_leveling/rules.mk b/keyboards/handwired/onekey/keymaps/wear_leveling/rules.mk new file mode 100644 index 0000000000..15b7f725b2 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/wear_leveling/rules.mk @@ -0,0 +1 @@ +CONSOLE_ENABLE = yes |