From 64decaf7e9247193fb68b632aafe4f5e14ba9bd1 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Thu, 26 Jan 2023 07:40:18 +0800 Subject: [PATCH 1/6] Additional handedness by EEPROM examples --- docs/feature_split_keyboard.md | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md index 0b475cc63d60..8b0d2848b141 100644 --- a/docs/feature_split_keyboard.md +++ b/docs/feature_split_keyboard.md @@ -132,25 +132,22 @@ To enable this method, add the following to your `config.h` file: #define EE_HANDS ``` -Next, you will have to flash the EEPROM files once for the correct hand to the controller on each halve. You can do this manually with the following bootloader targets while flashing the firmware: +Next, you will have to flash the EEPROM files once for the correct hand to the controller on each halve. You can do this manually with the following bootloader targets using `make ::` command to flash: -* AVR controllers with the Caterina bootloader (e.g. Pro Micro): - * `:avrdude-split-left` - * `:avrdude-split-right` -* AVR controllers with the stock Amtel DFU or DFU compatible bootloader (e.g. Elite-C): - * `:dfu-split-left` - * `:dfu-split-right` -* ARM controllers with a DFU compatible bootloader (e.g. Proton-C): - * `:dfu-util-split-left` - * `:dfu-util-split-right` -* ARM controllers with a UF2 compatible bootloader: - * `:uf2-split-left` - * `:uf2-split-right` - -Example: +|Microcontroller Type|Bootloader Parameter| +|--------------------|--------------------| +|AVR controllers with Caterina bootloader
(e.g. Pro Micro)|`:avrdude-split-left`
`:avrdude-split-right`| +|AVR controllers with the stock Amtel DFU or DFU compatible bootloader
(e.g. Elite-C)|`:dfu-split-left`
`:dfu-split-right`| +|ARM controllers with a DFU compatible bootloader
(e.g. Proton-C)|`:dfu-util-split-left`
`dfu-util-split-right`| +|ARM controllers with a UF2 compatible bootloader
(e.g. RP2040)|`:uf2-split-left`
`:uf2-split-right`| +Example for `crkbd/rev1` keyboard with normal AVR Promicro MCUs, reset the left controller and run: +``` +make crkbd/rev1:default:avrdude-split-left +``` +Reset the right controller and run: ``` -make crkbd:default:avrdude-split-left +make crkbd/rev1:default:avrdude-split-right ``` ?> ARM controllers using `dfu-util` will require an EEPROM reset after setting handedness. This can be done using the `EE_CLR` keycode or [Bootmagic Lite](feature_bootmagic.md). Controllers using emulated EEPROM will always require handedness parameter when flashing the firmware. From e00bad8278774f134c71273b532dff814dc6e641 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Thu, 26 Jan 2023 08:32:16 +0800 Subject: [PATCH 2/6] Pro Micro name change Co-authored-by: jack <0x6a73@protonmail.com> --- docs/feature_split_keyboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md index 8b0d2848b141..a69c277d4e54 100644 --- a/docs/feature_split_keyboard.md +++ b/docs/feature_split_keyboard.md @@ -141,7 +141,7 @@ Next, you will have to flash the EEPROM files once for the correct hand to the c |ARM controllers with a DFU compatible bootloader
(e.g. Proton-C)|`:dfu-util-split-left`
`dfu-util-split-right`| |ARM controllers with a UF2 compatible bootloader
(e.g. RP2040)|`:uf2-split-left`
`:uf2-split-right`| -Example for `crkbd/rev1` keyboard with normal AVR Promicro MCUs, reset the left controller and run: +Example for `crkbd/rev1` keyboard with normal AVR Pro Micro MCUs, reset the left controller and run: ``` make crkbd/rev1:default:avrdude-split-left ``` From 230cd2a43f09d0dc248d28b873868695f6f5c069 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Thu, 26 Jan 2023 08:36:38 +0800 Subject: [PATCH 3/6] Switch to qmk command examples --- docs/feature_split_keyboard.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md index a69c277d4e54..f6ab8cdc76c8 100644 --- a/docs/feature_split_keyboard.md +++ b/docs/feature_split_keyboard.md @@ -132,22 +132,22 @@ To enable this method, add the following to your `config.h` file: #define EE_HANDS ``` -Next, you will have to flash the EEPROM files once for the correct hand to the controller on each halve. You can do this manually with the following bootloader targets using `make ::` command to flash: +Next, you will have to flash the EEPROM files once for the correct hand to the controller on each halve. You can do this manually with the following bootloader targets using `qmk flash -kb -km -bl ` command to flash: |Microcontroller Type|Bootloader Parameter| |--------------------|--------------------| -|AVR controllers with Caterina bootloader
(e.g. Pro Micro)|`:avrdude-split-left`
`:avrdude-split-right`| -|AVR controllers with the stock Amtel DFU or DFU compatible bootloader
(e.g. Elite-C)|`:dfu-split-left`
`:dfu-split-right`| -|ARM controllers with a DFU compatible bootloader
(e.g. Proton-C)|`:dfu-util-split-left`
`dfu-util-split-right`| -|ARM controllers with a UF2 compatible bootloader
(e.g. RP2040)|`:uf2-split-left`
`:uf2-split-right`| +|AVR controllers with Caterina bootloader
(e.g. Pro Micro)|`avrdude-split-left`
`avrdude-split-right`| +|AVR controllers with the stock Amtel DFU or DFU compatible bootloader
(e.g. Elite-C)|`dfu-split-left`
`dfu-split-right`| +|ARM controllers with a DFU compatible bootloader
(e.g. Proton-C)|`dfu-util-split-left`
`dfu-util-split-right`| +|ARM controllers with a UF2 compatible bootloader
(e.g. RP2040)|`uf2-split-left`
`uf2-split-right`| Example for `crkbd/rev1` keyboard with normal AVR Pro Micro MCUs, reset the left controller and run: ``` -make crkbd/rev1:default:avrdude-split-left +qmk flash -kb crkbd/rev1 -km default -bl avrdude-split-left ``` Reset the right controller and run: ``` -make crkbd/rev1:default:avrdude-split-right +qmk flash -kb crkbd/rev1 -km default -bl avrdude-split-right ``` ?> ARM controllers using `dfu-util` will require an EEPROM reset after setting handedness. This can be done using the `EE_CLR` keycode or [Bootmagic Lite](feature_bootmagic.md). Controllers using emulated EEPROM will always require handedness parameter when flashing the firmware. From 641d676db3f4861fd9f8ce040de4bd9f398b7822 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Fri, 27 Jan 2023 10:07:04 +0800 Subject: [PATCH 4/6] Remove obsolete dfu-util instruction --- docs/feature_split_keyboard.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md index f6ab8cdc76c8..6bc98eeb6592 100644 --- a/docs/feature_split_keyboard.md +++ b/docs/feature_split_keyboard.md @@ -150,8 +150,6 @@ Reset the right controller and run: qmk flash -kb crkbd/rev1 -km default -bl avrdude-split-right ``` -?> ARM controllers using `dfu-util` will require an EEPROM reset after setting handedness. This can be done using the `EE_CLR` keycode or [Bootmagic Lite](feature_bootmagic.md). Controllers using emulated EEPROM will always require handedness parameter when flashing the firmware. - ?> [QMK Toolbox]() can also be used to flash EEPROM handedness files. Place the controller in bootloader mode and select menu option Tools -> EEPROM -> Set Left/Right Hand This setting is not changed when re-initializing the EEPROM using the `EE_CLR` key, or using the `eeconfig_init()` function. However, if you reset the EEPROM outside of the firmware's built in options (such as flashing a file that overwrites the `EEPROM`, like how the [QMK Toolbox]()'s "Reset EEPROM" button works), you'll need to re-flash the controller with the `EEPROM` files. From 4ba444a087ae0984b383450a73c886308d5fe922 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sat, 28 Jan 2023 08:01:14 +0800 Subject: [PATCH 5/6] Remove the mention of "once" Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com> --- docs/feature_split_keyboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md index 6bc98eeb6592..eb4f7a95a6f8 100644 --- a/docs/feature_split_keyboard.md +++ b/docs/feature_split_keyboard.md @@ -132,7 +132,7 @@ To enable this method, add the following to your `config.h` file: #define EE_HANDS ``` -Next, you will have to flash the EEPROM files once for the correct hand to the controller on each halve. You can do this manually with the following bootloader targets using `qmk flash -kb -km -bl ` command to flash: +Next, you will have to flash the correct handedness option to the controller on each halve. You can do this manually with the following bootloader targets using `qmk flash -kb -km -bl ` command to flash: |Microcontroller Type|Bootloader Parameter| |--------------------|--------------------| From 8f1dfaec236cc5c75da85318e156edde0b7a83e4 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sat, 28 Jan 2023 08:12:01 +0800 Subject: [PATCH 6/6] Include exception for MCUs that require flashing every time --- docs/feature_split_keyboard.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md index eb4f7a95a6f8..fff72f71f3ad 100644 --- a/docs/feature_split_keyboard.md +++ b/docs/feature_split_keyboard.md @@ -150,6 +150,8 @@ Reset the right controller and run: qmk flash -kb crkbd/rev1 -km default -bl avrdude-split-right ``` +?> Some controllers (e.g. Blackpill with DFU compatible bootloader) will need to be flashed with handedness bootloader parameter every time because it is not retained between flashes. + ?> [QMK Toolbox]() can also be used to flash EEPROM handedness files. Place the controller in bootloader mode and select menu option Tools -> EEPROM -> Set Left/Right Hand This setting is not changed when re-initializing the EEPROM using the `EE_CLR` key, or using the `eeconfig_init()` function. However, if you reset the EEPROM outside of the firmware's built in options (such as flashing a file that overwrites the `EEPROM`, like how the [QMK Toolbox]()'s "Reset EEPROM" button works), you'll need to re-flash the controller with the `EEPROM` files.