forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
341 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
/* 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 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 | ||
|
||
#define MATRIX_ROWS 5 | ||
#define MATRIX_COLS 15 | ||
|
||
#define MATRIX_ROW_PINS \ | ||
{ B1, B10, B0, A1, A0 } | ||
|
||
#define AMUX_COUNT 2 | ||
#define AMUX_MAX_COLS_COUNT 8 | ||
|
||
#define AMUX_EN_PINS \ | ||
{ B7, B6 } | ||
|
||
#define AMUX_SEL_PINS \ | ||
{ B5, B4, B3 } | ||
|
||
#define AMUX_COL_CHANNELS_SIZES \ | ||
{ 8, 7 } | ||
|
||
#define AMUX_0_COL_CHANNELS \ | ||
{ 3, 0, 1, 2, 4, 6, 7, 5 } | ||
|
||
#define AMUX_1_COL_CHANNELS \ | ||
{ 3, 0, 1, 2, 4, 6, 7 } | ||
|
||
#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS | ||
|
||
#define DISCHARGE_PIN A5 | ||
#define ANALOG_PORT A4 | ||
|
||
#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 159 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
/* 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 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 | ||
|
||
#define HAL_USE_ADC TRUE | ||
|
||
#include_next <halconf.h> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
{ | ||
"manufacturer": "Cipulot", | ||
"keyboard_name": "EC 660C", | ||
"maintainer": "Cipulot", | ||
"bootloader": "stm32-dfu", | ||
"build": { | ||
"lto": true | ||
}, | ||
"diode_direction": "COL2ROW", | ||
"features": { | ||
"bootmagic": false, | ||
"console": true, | ||
"extrakey": true, | ||
"mousekey": true, | ||
"nkro": true | ||
}, | ||
"indicators": { | ||
"caps_lock": "B14", | ||
"scroll_lock": "B15" | ||
}, | ||
"processor": "STM32F401", | ||
"qmk": { | ||
"locking": { | ||
"enabled": true, | ||
"resync": true | ||
} | ||
}, | ||
"usb": { | ||
"device_version": "0.0.1", | ||
"pid": "0x6BA6", | ||
"shared_endpoint": { | ||
"keyboard": true | ||
}, | ||
"vid": "0x6369" | ||
}, | ||
"layouts": { | ||
"LAYOUT": { | ||
"layout": [ | ||
{"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, | ||
{"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, | ||
{"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, | ||
{"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, | ||
{"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, | ||
{"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, | ||
{"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, | ||
{"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, | ||
{"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, | ||
{"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, | ||
{"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, | ||
{"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, | ||
{"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, | ||
{"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0}, | ||
{"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0}, | ||
{"label": "1,14", "matrix": [1, 14], "x": 15.5, "y": 0}, | ||
{"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | ||
{"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, | ||
{"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, | ||
{"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, | ||
{"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, | ||
{"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, | ||
{"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, | ||
{"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, | ||
{"label": "1,8", "matrix": [1, 8], "x": 8.5, "y": 1}, | ||
{"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, | ||
{"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, | ||
{"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, | ||
{"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, | ||
{"label": "1,13", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, | ||
{"label": "2,14", "matrix": [2, 14], "x": 15.5, "y": 1}, | ||
{"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | ||
{"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, | ||
{"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, | ||
{"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, | ||
{"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, | ||
{"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, | ||
{"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, | ||
{"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, | ||
{"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, | ||
{"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, | ||
{"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, | ||
{"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, | ||
{"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2}, | ||
{"label": "2,13", "matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, | ||
{"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, | ||
{"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, | ||
{"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, | ||
{"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, | ||
{"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, | ||
{"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, | ||
{"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, | ||
{"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, | ||
{"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, | ||
{"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, | ||
{"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, | ||
{"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, | ||
{"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.25}, | ||
{"label": "3,13", "matrix": [3, 13], "x": 14.5, "y": 3}, | ||
{"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, | ||
{"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, | ||
{"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, | ||
{"label": "4,6", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6}, | ||
{"label": "4,9", "matrix": [4, 9], "x": 9.75, "y": 4, "w": 1.25}, | ||
{"label": "4,10", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.25}, | ||
{"label": "4,11", "matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.25}, | ||
{"label": "4,12", "matrix": [4, 12], "x": 13.5, "y": 4}, | ||
{"label": "4,13", "matrix": [4, 13], "x": 14.5, "y": 4}, | ||
{"label": "4,14", "matrix": [4, 14], "x": 15.5, "y": 4} | ||
] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
/* 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 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 QMK_KEYBOARD_H | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
// clang-format off | ||
[0] = LAYOUT( | ||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, | ||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, | ||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, | ||
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, | ||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT | ||
), | ||
[1] = LAYOUT( | ||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, | ||
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, | ||
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, _______, _______, _______, | ||
_______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______ | ||
), | ||
[2] = LAYOUT( | ||
QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
) | ||
// clang-format on | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
/* 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 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 QMK_KEYBOARD_H | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
// clang-format off | ||
[0] = LAYOUT( | ||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, | ||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, | ||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, | ||
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, | ||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT | ||
), | ||
[1] = LAYOUT( | ||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, | ||
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, | ||
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, _______, _______, _______, | ||
_______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______ | ||
), | ||
[2] = LAYOUT( | ||
QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
) | ||
// clang-format on | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
VIA_ENABLE = yes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
/* 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 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_next <mcuconf.h> | ||
|
||
#undef STM32_ADC_USE_ADC1 | ||
#define STM32_ADC_USE_ADC1 TRUE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
ifeq ($(strip $(VIA_ENABLE)), yes) | ||
SRC += keyboards/cipulot/common/via_ec.c | ||
endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# EC660C | ||
|
||
![EC660C PCB](https://i.imgur.com/HfTvrkph.jpg) | ||
|
||
Replacement PCB for the Leopold FC660C. | ||
|
||
* Keyboard Maintainer: [cipulot](https://github.com/cipulot) | ||
* Hardware Supported: EC660C PCB | ||
* Hardware Availability: TBD | ||
|
||
Make example for this keyboard (after setting up your build environment): | ||
|
||
make cipulot/ec_660c:default | ||
|
||
Flashing example for this keyboard: | ||
|
||
make cipulot/ec_660c:default:flash | ||
|
||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||
|
||
## Bootloader | ||
|
||
Enter the bootloader in 2 ways: | ||
|
||
* **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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
CUSTOM_MATRIX = lite | ||
ANALOG_DRIVER_REQUIRED = yes | ||
VPATH += keyboards/cipulot/common | ||
SRC += matrix.c ec_board.c ec_switch_matrix.c | ||
OPT = 3 |