From cf3c26533cadf4e6739dbc9117caad01df2fa5e3 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Fri, 2 Dec 2022 21:55:28 +1100 Subject: Fixup EFL and F4's sector selection. (#19221) --- keyboards/handwired/onekey/blackpill_f401/chconf.h | 19 +------ keyboards/handwired/onekey/blackpill_f401/config.h | 6 +- .../handwired/onekey/blackpill_f401/halconf.h | 7 +-- .../handwired/onekey/blackpill_f401/mcuconf.h | 2 +- .../onekey/blackpill_f401_tinyuf2/chconf.h | 21 +++++++ .../onekey/blackpill_f401_tinyuf2/config.h | 31 +++++++++++ .../onekey/blackpill_f401_tinyuf2/halconf.h | 25 +++++++++ .../onekey/blackpill_f401_tinyuf2/info.json | 16 ++++++ .../onekey/blackpill_f401_tinyuf2/mcuconf.h | 28 ++++++++++ .../onekey/blackpill_f401_tinyuf2/readme.md | 9 +++ .../onekey/blackpill_f401_tinyuf2/rules.mk | 1 + keyboards/handwired/onekey/blackpill_f411/chconf.h | 19 +------ keyboards/handwired/onekey/blackpill_f411/config.h | 2 +- .../handwired/onekey/blackpill_f411/halconf.h | 7 +-- .../handwired/onekey/blackpill_f411/mcuconf.h | 2 +- .../onekey/blackpill_f411_tinyuf2/chconf.h | 4 +- .../onekey/blackpill_f411_tinyuf2/config.h | 4 ++ .../onekey/keymaps/wear_leveling/config.h | 6 ++ .../onekey/keymaps/wear_leveling/keymap.c | 65 ++++++++++++++++++++++ .../onekey/keymaps/wear_leveling/rules.mk | 1 + 20 files changed, 221 insertions(+), 54 deletions(-) create mode 100644 keyboards/handwired/onekey/blackpill_f401_tinyuf2/chconf.h create mode 100755 keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h create mode 100644 keyboards/handwired/onekey/blackpill_f401_tinyuf2/halconf.h create mode 100644 keyboards/handwired/onekey/blackpill_f401_tinyuf2/info.json create mode 100755 keyboards/handwired/onekey/blackpill_f401_tinyuf2/mcuconf.h create mode 100755 keyboards/handwired/onekey/blackpill_f401_tinyuf2/readme.md create mode 100755 keyboards/handwired/onekey/blackpill_f401_tinyuf2/rules.mk create mode 100644 keyboards/handwired/onekey/keymaps/wear_leveling/config.h create mode 100644 keyboards/handwired/onekey/keymaps/wear_leveling/keymap.c create mode 100644 keyboards/handwired/onekey/keymaps/wear_leveling/rules.mk (limited to 'keyboards/handwired') 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 . */ - -/* - * 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 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 . */ -/* - * 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 . + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#include_next 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 . + */ + +#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 . + */ + +#pragma once + +#define HAL_USE_ADC TRUE + +#define HAL_USE_I2C TRUE + +#define HAL_USE_PWM TRUE + +#include_next 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 . + */ + +#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 . */ - -/* - * 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 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 . */ -/* - * 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 . */ - + #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 -- cgit v1.2.3