-
-
Notifications
You must be signed in to change notification settings - Fork 39.8k
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
Add keyboard QK65 R2 #21896
Add keyboard QK65 R2 #21896
Conversation
7fe8b86
to
c96e046
Compare
Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Looks like the CI fails on other keyboard configurations, don't think they're related to the changes in this PR. |
That's correct, the failing keymaps are from QMK userspaces, which:
|
@@ -0,0 +1,5 @@ | |||
MCU_LDSCRIPT = STM32F103x8_0x08006000_bootloader | |||
BOOTLOADER_TYPE = stm32duino |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BOOTLOADER_TYPE = stm32duino can move to info.json
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I move this the compile fails sadly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bootloader
in info.json
sets BOOTLOADER
, not BOOTLOADER_TYPE
, and then for BOOTLOADER = stm32duino
it is impossible to override DFU_ARGS
and DFU_SUFFIX_ARGS
with the proper values that match the custom bootloader used on this PCB.
One possible option here is to specify "bootloader": "custom"
(bootloader_jump()
as provided by stm32duino.c
apparently does not work on this PCB anyway).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry I don't fully follow, would you like me to add "bootloader": "custom"
to the info.json?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry I don't fully follow, would you like me to add
"bootloader": "custom"
to the info.json?
Ideally, yes, and provide a bootloader_jump
and mcu_reset
function that works correctly with the bootloader that is being used here.
Without the correct functions+handling, that is why bootmagic and QMK_BOOT
are not working.
|
||
Enter the bootloader in two ways: | ||
|
||
* **Bootmagic reset**: Hold down the B key and plug in the keyboard |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is actually not the bootmagic reset (the old “full bootmagic” code did that, but that code had been removed from QMK some time ago). If the “hold down the B key” method actually works on the board flashed with this QMK firmware, that method is actually implemented by the bootloader.
Also apparently the bootmagic reset does not work on this PCB (and neither does QK_BOOT
), because the bootloader is not actually stm32duino
, and the method to communicate with the bootloader is not actually known? Unfortunately, the code from https://github.com/owlab-git/qmk_firmware/tree/qk65/keyboards/qwertykeys/qk65/r2 does not offer anything better (it also pretends that the bootloader is stm32duino
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the “hold down the B key” method actually works on the board flashed with this QMK firmware, that method is actually implemented by the bootloader.
Yes this does work, should I call this by a different name? Maybe "Bootloader reset"?
Sadly QK_BOOT
indeed does not work, shall I mention this in the readme?
@@ -0,0 +1,5 @@ | |||
MCU_LDSCRIPT = STM32F103x8_0x08006000_bootloader | |||
BOOTLOADER_TYPE = stm32duino |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bootloader
in info.json
sets BOOTLOADER
, not BOOTLOADER_TYPE
, and then for BOOTLOADER = stm32duino
it is impossible to override DFU_ARGS
and DFU_SUFFIX_ARGS
with the proper values that match the custom bootloader used on this PCB.
One possible option here is to specify "bootloader": "custom"
(bootloader_jump()
as provided by stm32duino.c
apparently does not work on this PCB anyway).
Co-authored-by: Drashna Jaelre <drashna@live.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's a photo I took from my board reflecting the R2 white PCB, just in case if you want to use.
https://i.imgur.com/hHxxshc.jpg
Thank you for your contribution! |
This PR is in progress, need to provide a |
Set the bootloader to custom, and add those functions to a c file for the keyboard. |
"processor": "STM32F103", | ||
"board": "STM32_F103_STM32DUINO", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"processor": "STM32F103", | |
"board": "STM32_F103_STM32DUINO", | |
"development_board": "bluepill", |
Thank you for your contribution! |
Thank you for your contribution! |
@drashna could this PR be merged without the |
Description
Add Qwertykey's keyboard the QK65 round 2.
I've based this on Owllab's fork, for copied files I've kept their original copyright notice.
The default layout is a copy of the default 65_ansi_blocker keymap with a couple of less second layer keys.
Big thanks to the support in Discord!
Types of Changes
Checklist