Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QCK-75 firmware #21180

Merged
merged 39 commits into from
Sep 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
c5175c4
QCK-75 firmware
PoringH Jun 9, 2023
8409439
Update keyboards/qck75/v1/config.h
PoringH Jun 9, 2023
ed4f219
Update keyboards/qck75/v1/config.h
PoringH Jun 9, 2023
04e6478
json format
PoringH Jun 9, 2023
b3a9eda
Update keyboards/qck75/v1/readme.md
PoringH Jun 9, 2023
cc9bf84
Update keyboards/qck75/v1/rules.mk
PoringH Jun 9, 2023
f25c2d1
Update readme
PoringH Jun 9, 2023
cc9e5cd
Update readme.md
PoringH Jun 9, 2023
d2be428
Update readme.md
PoringH Jun 9, 2023
b1f4699
Update keyboards/qck75/v1/readme.md
PoringH Jun 9, 2023
2dcf01f
Update keyboards/qck75/v1/rules.mk
PoringH Jun 9, 2023
5dcd5f1
Update keyboards/qck75/v1/info.json
PoringH Jun 9, 2023
7e51fbd
Update keyboards/qck75/v1/info.json
PoringH Jun 9, 2023
d654a97
Update readme.md
PoringH Jun 9, 2023
ca02044
Update keyboards/qck75/v1/info.json
PoringH Jun 9, 2023
ea96259
Update keyboards/qck75/v1/readme.md
PoringH Jun 9, 2023
25c8b60
Update keyboards/qck75/v1/info.json
PoringH Jun 9, 2023
5a0fcd1
Update info.json
PoringH Jun 9, 2023
e57c0a9
Update keyboards/qck75/v1/config.h
PoringH Jun 11, 2023
0536267
Update keyboards/qck75/v1/info.json
PoringH Jun 11, 2023
c93c61b
Update keyboards/qck75/v1/rules.mk
PoringH Jun 11, 2023
a7032a0
Moved oled codes to keyboard level & changed some functions
PoringH Jun 11, 2023
a9f3b53
keymap change
PoringH Jun 11, 2023
2a5fa18
Update keyboards/qck75/v1/config.h
PoringH Jun 11, 2023
4d63dd1
Merge branch 'QCK75' of https://github.com/PoringH/qmk_firmware_Porin…
PoringH Jun 11, 2023
8a9d472
Update keyboards/qck75/v1/v1.c
PoringH Jun 12, 2023
ca48210
Update keyboards/qck75/v1/v1.c
PoringH Jun 12, 2023
ceaa9ad
Update keyboards/qck75/v1/v1.c
PoringH Jun 12, 2023
771b9d9
Update keyboards/qck75/v1/v1.c
PoringH Jun 12, 2023
d8c4709
Update keyboards/qck75/v1/v1.c
PoringH Jun 12, 2023
a8d8cf7
Update keyboards/qck75/v1/v1.c
PoringH Jun 12, 2023
00e3d74
Update keyboards/qck75/v1/v1.c
PoringH Jun 12, 2023
f1ccc1a
Formatted v1.c
PoringH Jun 12, 2023
d04bdb1
Update keyboards/qck75/v1/keymaps/via/keymap.c
PoringH Jun 13, 2023
74648e8
Update keyboards/qck75/v1/readme.md
PoringH Aug 18, 2023
a5e45a9
Keymap Optimize
PoringH Aug 31, 2023
ae70881
Update keyboards/qck75/v1/keymaps/default/keymap.c
PoringH Sep 15, 2023
b9df7bc
Update keyboards/qck75/v1/keymaps/via/keymap.c
PoringH Sep 15, 2023
dfffeee
Update keyboards/qck75/v1/keymaps/via/keymap.c
PoringH Sep 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions keyboards/qck75/v1/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Copyright 2023 Andrian (@PoringH)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define I2C1_SCL_PIN B8
#define I2C1_SDA_PIN B9

#define I2C1_SCL_PAL_MODE 1
#define I2C1_SDA_PAL_MODE 1

#define OLED_DISPLAY_128X64

#define OLED_IC OLED_IC_SH1106
#define OLED_COLUMN_OFFSET 2

#define OLED_TIMEOUT 120000
#define OLED_BRIGHTNESS 120

#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 21
9 changes: 9 additions & 0 deletions keyboards/qck75/v1/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// Copyright 2023 Andrian (@PoringH)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define HAL_USE_I2C TRUE

#include_next <halconf.h>

132 changes: 132 additions & 0 deletions keyboards/qck75/v1/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
{
PoringH marked this conversation as resolved.
Show resolved Hide resolved
"manufacturer": "Andrian",
"keyboard_name": "QCK75-XT",
"maintainer": "PoringH",
"bootloader": "stm32-dfu",
"diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "C0", "pin_b": "C1", "resolution": 2}
]
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"oled": true,
"wpm": true
},
"matrix_pins": {
"cols": ["A6", "A7", "C4", "C5", "B0", "B1", "B2", "B11", "A9", "A8", "C9", "C8", "C7", "C6", "B15", "B14", "B13", "B12"],
"rows": ["C3", "A0", "A1", "A2", "B10", "A15"]
},
"processor": "STM32F072",
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
"vid": "0x5047"
},
"layouts": {
"LAYOUT_75_ansi": {
"layout": [
{"matrix": [0, 2], "x": 2.5, "y": 0},
{"matrix": [0, 3], "x": 3.75, "y": 0},
{"matrix": [0, 4], "x": 4.75, "y": 0},
{"matrix": [0, 5], "x": 5.75, "y": 0},
{"matrix": [0, 6], "x": 6.75, "y": 0},
{"matrix": [0, 7], "x": 8, "y": 0},
{"matrix": [0, 8], "x": 9, "y": 0},
{"matrix": [0, 9], "x": 10, "y": 0},
{"matrix": [0, 10], "x": 11, "y": 0},
{"matrix": [0, 11], "x": 12.25, "y": 0},
{"matrix": [0, 12], "x": 13.25, "y": 0},
{"matrix": [0, 13], "x": 14.25, "y": 0},
{"matrix": [0, 14], "x": 15.25, "y": 0},
{"matrix": [0, 16], "x": 16.5, "y": 0},
{"matrix": [0, 17], "x": 18, "y": 0},
{"matrix": [1, 1], "x": 1, "y": 1.25},
{"matrix": [1, 2], "x": 2.5, "y": 1.25},
{"matrix": [1, 3], "x": 3.5, "y": 1.25},
{"matrix": [1, 4], "x": 4.5, "y": 1.25},
{"matrix": [1, 5], "x": 5.5, "y": 1.25},
{"matrix": [1, 6], "x": 6.5, "y": 1.25},
{"matrix": [1, 7], "x": 7.5, "y": 1.25},
{"matrix": [1, 8], "x": 8.5, "y": 1.25},
{"matrix": [1, 9], "x": 9.5, "y": 1.25},
{"matrix": [1, 10], "x": 10.5, "y": 1.25},
{"matrix": [1, 11], "x": 11.5, "y": 1.25},
{"matrix": [1, 12], "x": 12.5, "y": 1.25},
{"matrix": [1, 13], "x": 13.5, "y": 1.25},
{"matrix": [1, 14], "x": 14.5, "y": 1.25},
{"matrix": [1, 15], "x": 15.5, "y": 1.25, "w": 2},
{"matrix": [1, 17], "x": 18, "y": 1.25},
{"matrix": [2, 0], "x": 0, "y": 2.25},
{"matrix": [2, 1], "x": 1, "y": 2.25},
{"matrix": [2, 2], "x": 0, "y": 2.25, "w": 2.5},
{"matrix": [2, 3], "x": 4, "y": 2.25},
{"matrix": [2, 4], "x": 5, "y": 2.25},
{"matrix": [2, 5], "x": 6, "y": 2.25},
{"matrix": [2, 6], "x": 7, "y": 2.25},
{"matrix": [2, 7], "x": 8, "y": 2.25},
{"matrix": [2, 8], "x": 9, "y": 2.25},
{"matrix": [2, 9], "x": 10, "y": 2.25},
{"matrix": [2, 10], "x": 11, "y": 2.25},
{"matrix": [2, 11], "x": 12, "y": 2.25},
{"matrix": [2, 12], "x": 13, "y": 2.25},
{"matrix": [2, 13], "x": 14, "y": 2.25},
{"matrix": [2, 14], "x": 15, "y": 2.25},
{"matrix": [2, 15], "x": 16, "y": 2.25, "w": 1.5},
{"matrix": [2, 17], "x": 18, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3.25},
{"matrix": [3, 1], "x": 1, "y": 3.25},
{"matrix": [3, 2], "x": 2.5, "y": 3.25, "w": 1.75},
{"matrix": [3, 3], "x": 4.25, "y": 3.25},
{"matrix": [3, 4], "x": 5.25, "y": 3.25},
{"matrix": [3, 5], "x": 6.25, "y": 3.25},
{"matrix": [3, 6], "x": 7.25, "y": 3.25},
{"matrix": [3, 7], "x": 8.25, "y": 3.25},
{"matrix": [3, 8], "x": 9.25, "y": 3.25},
{"matrix": [3, 9], "x": 10.25, "y": 3.25},
{"matrix": [3, 10], "x": 11.25, "y": 3.25},
{"matrix": [3, 11], "x": 12.25, "y": 3.25},
{"matrix": [3, 12], "x": 13.25, "y": 3.25},
{"matrix": [3, 13], "x": 14.25, "y": 3.25},
{"matrix": [3, 15], "x": 15.25, "y": 3.25, "w": 2.25},
{"matrix": [3, 17], "x": 18, "y": 3.25},
{"matrix": [4, 0], "x": 0, "y": 4.25},
{"matrix": [4, 1], "x": 1, "y": 4.25},
{"matrix": [4, 2], "x": 2.5, "y": 4.25, "w": 2.25},
{"matrix": [4, 4], "x": 4.75, "y": 4.25},
{"matrix": [4, 5], "x": 5.75, "y": 4.25},
{"matrix": [4, 6], "x": 6.75, "y": 4.25},
{"matrix": [4, 7], "x": 7.75, "y": 4.25},
{"matrix": [4, 8], "x": 8.75, "y": 4.25},
{"matrix": [4, 9], "x": 9.75, "y": 4.25},
{"matrix": [4, 10], "x": 10.75, "y": 4.25},
{"matrix": [4, 11], "x": 11.75, "y": 4.25},
{"matrix": [4, 12], "x": 12.75, "y": 4.25},
{"matrix": [4, 13], "x": 13.75, "y": 4.25},
{"matrix": [4, 14], "x": 14.75, "y": 4.25, "w": 1.75},
{"matrix": [4, 16], "x": 16.75, "y": 4.25},
{"matrix": [4, 17], "x": 18, "y": 4.25},
{"matrix": [5, 0], "x": 0, "y": 5.25},
{"matrix": [5, 1], "x": 1, "y": 5.25},
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
{"matrix": [5, 3], "x": 3.75, "y": 5.25, "w": 1.25},
{"matrix": [5, 4], "x": 5, "y": 5.25, "w": 1.25},
{"matrix": [5, 8], "x": 6.25, "y": 5.25, "w": 6.25},
{"matrix": [5, 12], "x": 12.5, "y": 5.25},
{"matrix": [5, 13], "x": 13.5, "y": 5.25},
{"matrix": [5, 14], "x": 14.5, "y": 5.25},
{"matrix": [5, 15], "x": 15.75, "y": 5.5},
{"matrix": [5, 16], "x": 16.75, "y": 5.5},
{"matrix": [5, 17], "x": 17.75, "y": 5.5}
]
}
}
}
26 changes: 26 additions & 0 deletions keyboards/qck75/v1/keymaps/default/keymap.c
PoringH marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_75_ansi(
KC_ESC, 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_SCRL, KC_DEL,
KC_MPLY, KC_GRV, 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_HOME,
KC_MPRV, KC_MNXT, 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_END,
KC_F17, KC_F18, 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_ENT, KC_PGUP,
KC_F19, KC_F20, KC_LSFT, 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_PGDN,
KC_F21, KC_F22, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NUM, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_75_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
QK_BOOT, NK_TOGG, KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};



32 changes: 32 additions & 0 deletions keyboards/qck75/v1/keymaps/via/keymap.c
PoringH marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_75_ansi(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F13, KC_SCRL, KC_DEL,
KC_MPLY, KC_GRV, 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_HOME,
KC_MPRV, KC_MNXT, 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_END,
KC_F17, KC_F18, 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_ENT, KC_PGUP,
KC_F19, KC_F20, KC_LSFT, 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_PGDN,
KC_F21, KC_F22, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_75_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
QK_BOOT, NK_TOGG, KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};

#if defined(ENCODER_MAP_ENABLE)

const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[1] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT)}
};

#endif
2 changes: 2 additions & 0 deletions keyboards/qck75/v1/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
ENCODER_MAP_ENABLE = yes
15 changes: 15 additions & 0 deletions keyboards/qck75/v1/mcuconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// Copyright 2023 Andrian (@PoringH)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include_next <mcuconf.h>

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE

#undef STM32_I2C_I2C1_RX_DMA_STREAM
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)

#undef STM32_I2C_I2C1_TX_DMA_STREAM
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
28 changes: 28 additions & 0 deletions keyboards/qck75/v1/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# qck75

[qck75](https://i.imgur.com/exdD8Hgh.jpeg)

This keyboard is a keyboard made for self use
75% layout with extra keys for macro with led and knob

* Keyboard Maintainer: [Andrian](https://github.com/PoringH)
* Hardware Supported: This project uses STM32F072R8Tx for the mcu on the pcb
* Hardware Availability: https://github.com/PoringH/QCK75-XT

Make example for this keyboard (after setting up your build environment):

make qck75/v1:default

Flashing example for this keyboard:

make qck75/v1: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 3 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 reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Empty file added keyboards/qck75/v1/rules.mk
Empty file.
Loading