From ed791972e1bf812c432655de31e3cf92f3bcf397 Mon Sep 17 00:00:00 2001 From: Cipulot <40441626+Cipulot@users.noreply.github.com> Date: Mon, 26 Feb 2024 03:05:10 +0100 Subject: Cipulot refactoring (#22368) Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis --- keyboards/cipulot/ec_23u/config.h | 50 +++++-- keyboards/cipulot/ec_23u/ec_switch_matrix.c | 165 ---------------------- keyboards/cipulot/ec_23u/ec_switch_matrix.h | 36 ----- keyboards/cipulot/ec_23u/halconf.h | 2 +- keyboards/cipulot/ec_23u/info.json | 8 +- keyboards/cipulot/ec_23u/keymaps/default/keymap.c | 23 +-- keyboards/cipulot/ec_23u/keymaps/via/config.h | 4 +- keyboards/cipulot/ec_23u/keymaps/via/keymap.c | 23 +-- keyboards/cipulot/ec_23u/keymaps/via/rules.mk | 2 - keyboards/cipulot/ec_23u/keymaps/via/via_apc.c | 156 -------------------- keyboards/cipulot/ec_23u/matrix.c | 44 ------ keyboards/cipulot/ec_23u/mcuconf.h | 2 +- keyboards/cipulot/ec_23u/post_rules.mk | 3 + keyboards/cipulot/ec_23u/readme.md | 7 +- keyboards/cipulot/ec_23u/rules.mk | 4 +- 15 files changed, 56 insertions(+), 473 deletions(-) delete mode 100644 keyboards/cipulot/ec_23u/ec_switch_matrix.c delete mode 100644 keyboards/cipulot/ec_23u/ec_switch_matrix.h delete mode 100644 keyboards/cipulot/ec_23u/keymaps/via/via_apc.c delete mode 100644 keyboards/cipulot/ec_23u/matrix.c create mode 100644 keyboards/cipulot/ec_23u/post_rules.mk (limited to 'keyboards/cipulot/ec_23u') diff --git a/keyboards/cipulot/ec_23u/config.h b/keyboards/cipulot/ec_23u/config.h index 8bb39367b9..da210fe0c6 100644 --- a/keyboards/cipulot/ec_23u/config.h +++ b/keyboards/cipulot/ec_23u/config.h @@ -2,7 +2,7 @@ * * 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 + * 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, @@ -19,29 +19,51 @@ #define MATRIX_ROWS 4 #define MATRIX_COLS 6 -/* Custom matrix pins and port select array */ #define MATRIX_ROW_PINS \ { B13, B12, A7, B0 } -#define MATRIX_COL_CHANNELS \ - { 4, 6, 3, 2, 0, 1 } -#define MUX_SEL_PINS \ + +#define AMUX_COUNT 1 +#define AMUX_MAX_COLS_COUNT 6 + +#define AMUX_EN_PINS \ + { C15 } + +#define AMUX_SEL_PINS \ { C14, C13, B6 } -/* Hardware peripherals pins */ -#define APLEX_EN_PIN C15 +#define AMUX_COL_CHANNELS_SIZES \ + { 6 } + +#define AMUX_0_COL_CHANNELS \ + { 4, 6, 3, 2, 0, 1 } + +#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS + #define DISCHARGE_PIN A3 #define ANALOG_PORT A2 -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -//#define DEBOUNCE 5 +#define DEFAULT_ACTUATION_MODE 0 +#define DEFAULT_MODE_0_ACTUATION_LEVEL 550 +#define DEFAULT_MODE_0_RELEASE_LEVEL 500 +#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL +#define DEFAULT_MODE_1_ACTUATION_OFFSET 70 +#define DEFAULT_MODE_1_RELEASE_OFFSET 70 +#define DEFAULT_EXTREMUM 1023 +#define EXPECTED_NOISE_FLOOR 0 +#define NOISE_FLOOR_THRESHOLD 50 +#define BOTTOMING_CALIBRATION_THRESHOLD 100 +#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30 +#define DEFAULT_BOTTOMING_READING 1023 +#define DEFAULT_CALIBRATION_STARTER true + +#define DISCHARGE_TIME 10 + +// #define DEBUG_MATRIX_SCAN_RATE + +#define EECONFIG_KB_DATA_SIZE 58 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define DEFAULT_ACTUATION_LEVEL 550 -#define DEFAULT_RELEASE_LEVEL 500 - -#define DISCHARGE_TIME 10 diff --git a/keyboards/cipulot/ec_23u/ec_switch_matrix.c b/keyboards/cipulot/ec_23u/ec_switch_matrix.c deleted file mode 100644 index 4059a80e5d..0000000000 --- a/keyboards/cipulot/ec_23u/ec_switch_matrix.c +++ /dev/null @@ -1,165 +0,0 @@ -/* Copyright 2023 Cipulot - * - * 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 . - */ - -#include "ec_switch_matrix.h" -#include "analog.h" -#include "atomic_util.h" -#include "print.h" -#include "wait.h" - -/* Pin and port array */ -const uint32_t row_pins[] = MATRIX_ROW_PINS; -const uint8_t col_channels[] = MATRIX_COL_CHANNELS; -const uint32_t mux_sel_pins[] = MUX_SEL_PINS; - -static ecsm_config_t config; -static uint16_t ecsm_sw_value[MATRIX_ROWS][MATRIX_COLS]; - -static adc_mux adcMux; - -static inline void discharge_capacitor(void) { - writePinLow(DISCHARGE_PIN); -} -static inline void charge_capacitor(uint8_t row) { - writePinHigh(DISCHARGE_PIN); - writePinHigh(row_pins[row]); -} - -static inline void init_mux_sel(void) { - for (int idx = 0; idx < 3; idx++) { - setPinOutput(mux_sel_pins[idx]); - } -} - -static inline void select_mux(uint8_t col) { - uint8_t ch = col_channels[col]; - writePin(mux_sel_pins[0], ch & 1); - writePin(mux_sel_pins[1], ch & 2); - writePin(mux_sel_pins[2], ch & 4); -} - -static inline void init_row(void) { - for (int idx = 0; idx < MATRIX_ROWS; idx++) { - setPinOutput(row_pins[idx]); - writePinLow(row_pins[idx]); - } -} - -/* Initialize the peripherals pins */ -int ecsm_init(ecsm_config_t const* const ecsm_config) { - // Initialize config - config = *ecsm_config; - - palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG); - adcMux = pinToMux(ANALOG_PORT); - - //Dummy call to make sure that adcStart() has been called in the appropriate state - adc_read(adcMux); - - // Initialize discharge pin as discharge mode - writePinLow(DISCHARGE_PIN); - setPinOutputOpenDrain(DISCHARGE_PIN); - - // Initialize drive lines - init_row(); - - // Initialize multiplexer select pin - init_mux_sel(); - - // Enable AMUX - setPinOutput(APLEX_EN_PIN); - writePinLow(APLEX_EN_PIN); - - return 0; -} - -int ecsm_update(ecsm_config_t const* const ecsm_config) { - // Save config - config = *ecsm_config; - return 0; -} - -// Read the capacitive sensor value -uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) { - uint16_t sw_value = 0; - - // Select the multiplexer - writePinHigh(APLEX_EN_PIN); - select_mux(col); - writePinLow(APLEX_EN_PIN); - - // Set strobe pins to low state - writePinLow(row_pins[row]); - ATOMIC_BLOCK_FORCEON { - // Set the row pin to high state and have capacitor charge - charge_capacitor(row); - // Read the ADC value - sw_value = adc_read(adcMux); - } - // Discharge peak hold capacitor - discharge_capacitor(); - // Waiting for the ghost capacitor to discharge fully - wait_us(DISCHARGE_TIME); - - return sw_value; -} - -// Update press/release state of key -bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) { - bool current_state = (*current_row >> col) & 1; - - // Press to release - if (current_state && sw_value < config.ecsm_actuation_threshold) { - *current_row &= ~(1 << col); - return true; - } - - // Release to press - if ((!current_state) && sw_value > config.ecsm_release_threshold) { - *current_row |= (1 << col); - return true; - } - - return false; -} - -// Scan key values and update matrix state -bool ecsm_matrix_scan(matrix_row_t current_matrix[]) { - bool updated = false; - - for (int col = 0; col < sizeof(col_channels); col++) { - for (int row = 0; row < MATRIX_ROWS; row++) { - ecsm_sw_value[row][col] = ecsm_readkey_raw(0, row, col); - updated |= ecsm_update_key(¤t_matrix[row], row, col, ecsm_sw_value[row][col]); - } - } - - return updated; -} - -// Debug print key values -void ecsm_print_matrix(void) { - for (int row = 0; row < MATRIX_ROWS; row++) { - for (int col = 0; col < MATRIX_COLS; col++) { - uprintf("%4d", ecsm_sw_value[row][col]); - if (col < (MATRIX_COLS - 1)) { - print(","); - } - } - print("\n"); - } - print("\n"); -} diff --git a/keyboards/cipulot/ec_23u/ec_switch_matrix.h b/keyboards/cipulot/ec_23u/ec_switch_matrix.h deleted file mode 100644 index 9dcb216caa..0000000000 --- a/keyboards/cipulot/ec_23u/ec_switch_matrix.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2023 Cipulot - * - * 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 -#include - -#include "matrix.h" - -typedef struct { - uint16_t ecsm_actuation_threshold; // threshold for key release - uint16_t ecsm_release_threshold; // threshold for key press -} ecsm_config_t; - -ecsm_config_t ecsm_config; - -int ecsm_init(ecsm_config_t const* const ecsm_config); -int ecsm_update(ecsm_config_t const* const ecsm_config); -bool ecsm_matrix_scan(matrix_row_t current_matrix[]); -uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col); -bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value); -void ecsm_print_matrix(void); diff --git a/keyboards/cipulot/ec_23u/halconf.h b/keyboards/cipulot/ec_23u/halconf.h index 5b71acecbb..835d43b6a0 100644 --- a/keyboards/cipulot/ec_23u/halconf.h +++ b/keyboards/cipulot/ec_23u/halconf.h @@ -2,7 +2,7 @@ * * 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 + * 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, diff --git a/keyboards/cipulot/ec_23u/info.json b/keyboards/cipulot/ec_23u/info.json index 7358099759..0f656f8e8c 100644 --- a/keyboards/cipulot/ec_23u/info.json +++ b/keyboards/cipulot/ec_23u/info.json @@ -8,19 +8,13 @@ }, "diode_direction": "COL2ROW", "features": { - "audio": false, - "backlight": false, - "bootmagic": true, - "command": false, + "bootmagic": false, "console": true, "extrakey": true, "mousekey": true, "nkro": true, "rgblight": true }, - "mouse_key": { - "enabled": true - }, "indicators": { "num_lock": "B14" }, diff --git a/keyboards/cipulot/ec_23u/keymaps/default/keymap.c b/keyboards/cipulot/ec_23u/keymaps/default/keymap.c index 93ceadb842..1f54d78a62 100644 --- a/keyboards/cipulot/ec_23u/keymaps/default/keymap.c +++ b/keyboards/cipulot/ec_23u/keymaps/default/keymap.c @@ -2,7 +2,7 @@ * * 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 + * 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, @@ -28,27 +28,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( RGB_TOG, RGB_VAD, RGB_VAI, _______, + _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, QK_BOOT, _______), - - - [2] = LAYOUT_all( - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______), - - [3] = LAYOUT_all( - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______) + _______, _______, QK_BOOT, _______) // clang-format on }; diff --git a/keyboards/cipulot/ec_23u/keymaps/via/config.h b/keyboards/cipulot/ec_23u/keymaps/via/config.h index ebf954d07a..036188669d 100644 --- a/keyboards/cipulot/ec_23u/keymaps/via/config.h +++ b/keyboards/cipulot/ec_23u/keymaps/via/config.h @@ -2,7 +2,7 @@ * * 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 + * 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, @@ -16,5 +16,7 @@ #pragma once +// This is the firmware version for VIA support to avoid conflicts on menu fetching +#define VIA_FIRMWARE_VERSION 1 // This is the size of the EEPROM for the custom VIA-specific data #define EECONFIG_USER_DATA_SIZE 4 diff --git a/keyboards/cipulot/ec_23u/keymaps/via/keymap.c b/keyboards/cipulot/ec_23u/keymaps/via/keymap.c index 93ceadb842..1f54d78a62 100644 --- a/keyboards/cipulot/ec_23u/keymaps/via/keymap.c +++ b/keyboards/cipulot/ec_23u/keymaps/via/keymap.c @@ -2,7 +2,7 @@ * * 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 + * 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, @@ -28,27 +28,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( RGB_TOG, RGB_VAD, RGB_VAI, _______, + _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, QK_BOOT, _______), - - - [2] = LAYOUT_all( - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______), - - [3] = LAYOUT_all( - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______) + _______, _______, QK_BOOT, _______) // clang-format on }; diff --git a/keyboards/cipulot/ec_23u/keymaps/via/rules.mk b/keyboards/cipulot/ec_23u/keymaps/via/rules.mk index 520b11f203..1e5b99807c 100644 --- a/keyboards/cipulot/ec_23u/keymaps/via/rules.mk +++ b/keyboards/cipulot/ec_23u/keymaps/via/rules.mk @@ -1,3 +1 @@ VIA_ENABLE = yes - -SRC += via_apc.c diff --git a/keyboards/cipulot/ec_23u/keymaps/via/via_apc.c b/keyboards/cipulot/ec_23u/keymaps/via/via_apc.c deleted file mode 100644 index 5ea77af44c..0000000000 --- a/keyboards/cipulot/ec_23u/keymaps/via/via_apc.c +++ /dev/null @@ -1,156 +0,0 @@ -/* Copyright 2023 Cipulot - * - * 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 . - */ - -#include "ec_switch_matrix.h" -#include "action.h" -#include "via.h" - -void apc_init_thresholds(void); -void apc_set_threshold(bool is_for_actuation); - -// Declaring an _apc_config_t struct that will store our data -typedef struct _apc_config_t { - uint16_t actuation_threshold; - uint16_t release_threshold; -} apc_config; - -// Check if the size of the reserved persistent memory is the same as the size of struct apc_config -_Static_assert(sizeof(apc_config) == EECONFIG_USER_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data"); - -// Declaring a new variable apc of type apc_config -apc_config apc; - -// Declaring enums for VIA config menu -enum via_apc_enums { - // clang-format off - id_apc_actuation_threshold = 1, - id_apc_release_threshold = 2 - // clang-format on -}; - -// Initializing persistent memory configuration: default values are declared and stored in PMEM -void eeconfig_init_user(void) { - // Default values - apc.actuation_threshold = DEFAULT_ACTUATION_LEVEL; - apc.release_threshold = DEFAULT_RELEASE_LEVEL; - // Write default value to EEPROM now - eeconfig_update_user_datablock(&apc); -} - -// On Keyboard startup -void keyboard_post_init_user(void) { - // Read custom menu variables from memory - eeconfig_read_user_datablock(&apc); - apc_init_thresholds(); -} - -// Handle the data received by the keyboard from the VIA menus -void apc_config_set_value(uint8_t *data) { - // data = [ value_id, value_data ] - uint8_t *value_id = &(data[0]); - uint8_t *value_data = &(data[1]); - - switch (*value_id) { - case id_apc_actuation_threshold: { - apc.actuation_threshold = value_data[1] | (value_data[0] << 8); - apc_set_threshold(true); - break; - } - case id_apc_release_threshold: { - apc.release_threshold = value_data[1] | (value_data[0] << 8); - apc_set_threshold(false); - break; - } - } -} - -// Handle the data sent by the keyboard to the VIA menus -void apc_config_get_value(uint8_t *data) { - // data = [ value_id, value_data ] - uint8_t *value_id = &(data[0]); - uint8_t *value_data = &(data[1]); - - switch (*value_id) { - case id_apc_actuation_threshold: { - value_data[0] = apc.actuation_threshold >> 8; - value_data[1] = apc.actuation_threshold & 0xFF; - break; - } - case id_apc_release_threshold: { - value_data[0] = apc.release_threshold >> 8; - value_data[1] = apc.release_threshold & 0xFF; - break; - } - } -} - -// Save the data to persistent memory after changes are made -void apc_config_save(void) { - eeconfig_update_user_datablock(&apc); -} - -void via_custom_value_command_kb(uint8_t *data, uint8_t length) { - // data = [ command_id, channel_id, value_id, value_data ] - uint8_t *command_id = &(data[0]); - uint8_t *channel_id = &(data[1]); - uint8_t *value_id_and_data = &(data[2]); - - if (*channel_id == id_custom_channel) { - switch (*command_id) { - case id_custom_set_value: { - apc_config_set_value(value_id_and_data); - break; - } - case id_custom_get_value: { - apc_config_get_value(value_id_and_data); - break; - } - case id_custom_save: { - apc_config_save(); - break; - } - default: { - // Unhandled message. - *command_id = id_unhandled; - break; - } - } - return; - } - - *command_id = id_unhandled; -} - -// Initialize the thresholds -void apc_init_thresholds(void) { - ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold; - ecsm_config.ecsm_release_threshold = apc.release_threshold; - - // Update the ecsm_config - ecsm_update(&ecsm_config); -} - -// Set the thresholds -void apc_set_threshold(bool is_for_actuation) { - if (is_for_actuation) { - ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold; - - } else { - ecsm_config.ecsm_release_threshold = apc.release_threshold; - } - // Update the ecsm_config - ecsm_update(&ecsm_config); -} diff --git a/keyboards/cipulot/ec_23u/matrix.c b/keyboards/cipulot/ec_23u/matrix.c deleted file mode 100644 index 1850acf264..0000000000 --- a/keyboards/cipulot/ec_23u/matrix.c +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright 2023 Cipulot - * - * 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 . - */ - -#include "ec_switch_matrix.h" -#include "matrix.h" - -/* matrix state(1:on, 0:off) */ -extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values - -void matrix_init_custom(void) { - // Default values, overwritten by VIA if enabled later - ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL; - ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL; - - ecsm_init(&ecsm_config); -} - -bool matrix_scan_custom(matrix_row_t current_matrix[]) { - bool updated = ecsm_matrix_scan(current_matrix); - -// RAW matrix values on console -#ifdef CONSOLE_ENABLE - static int cnt = 0; - if (cnt++ == 350) { - cnt = 0; - ecsm_print_matrix(); - } -#endif - return updated; -} diff --git a/keyboards/cipulot/ec_23u/mcuconf.h b/keyboards/cipulot/ec_23u/mcuconf.h index d91f576bd4..fa3c955e0d 100644 --- a/keyboards/cipulot/ec_23u/mcuconf.h +++ b/keyboards/cipulot/ec_23u/mcuconf.h @@ -2,7 +2,7 @@ * * 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 + * 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, diff --git a/keyboards/cipulot/ec_23u/post_rules.mk b/keyboards/cipulot/ec_23u/post_rules.mk new file mode 100644 index 0000000000..d726a112a8 --- /dev/null +++ b/keyboards/cipulot/ec_23u/post_rules.mk @@ -0,0 +1,3 @@ +ifeq ($(strip $(VIA_ENABLE)), yes) + SRC += keyboards/cipulot/common/via_ec.c +endif diff --git a/keyboards/cipulot/ec_23u/readme.md b/keyboards/cipulot/ec_23u/readme.md index d4832edff5..28535c3787 100644 --- a/keyboards/cipulot/ec_23u/readme.md +++ b/keyboards/cipulot/ec_23u/readme.md @@ -20,8 +20,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader -Enter the bootloader in 3 ways: +Enter the bootloader in 2 ways: -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical Boot0 pins**: Short the Boot0 pins on the back of the PCB while plugging in the keyboard -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Physical reset**: Long short the exposed pads on the top of the PCB +* **Keycode in layout**: Press the key mapped to QK_BOOT if it is available diff --git a/keyboards/cipulot/ec_23u/rules.mk b/keyboards/cipulot/ec_23u/rules.mk index fc2dcf32ab..ab6c37cad4 100644 --- a/keyboards/cipulot/ec_23u/rules.mk +++ b/keyboards/cipulot/ec_23u/rules.mk @@ -1,4 +1,4 @@ CUSTOM_MATRIX = lite -SRC += matrix.c ec_switch_matrix.c - ANALOG_DRIVER_REQUIRED = yes +SRC += keyboards/cipulot/common/matrix.c keyboards/cipulot/common/ec_board.c keyboards/cipulot/common/ec_switch_matrix.c +OPT = 2 -- cgit v1.2.3