diff options
author | Joel Challis <git@zvecr.com> | 2019-09-27 21:33:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-27 21:33:55 +0100 |
commit | 17794e0b2502371eaf155328d4e4195aef703163 (patch) | |
tree | e3912e2f393e6395a20d26f7dbbf60369837765a /tmk_core | |
parent | 92cb0b6f2f9487aff42ad1de5d4a9b81e24e836c (diff) | |
download | qmk_firmware-17794e0b2502371eaf155328d4e4195aef703163.tar.gz |
ARM split - Add support for dfu-util EE_HANDS flashing (#6543)
* Initial stab at some fake dfu-util-split-left behaviour
* Apply suggestions from code review
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Clang format fixes
* Fake eeprom init for both left and right hand
Diffstat (limited to 'tmk_core')
-rw-r--r-- | tmk_core/chibios.mk | 15 | ||||
-rw-r--r-- | tmk_core/common/eeconfig.c | 10 |
2 files changed, 25 insertions, 0 deletions
diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk index c25e28707..62e156187 100644 --- a/tmk_core/chibios.mk +++ b/tmk_core/chibios.mk @@ -248,6 +248,21 @@ dfu-util: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter # Legacy alias dfu-util-wait: dfu-util +# TODO: Remove once ARM has a way to configure EECONFIG_HANDEDNESS +# within the emulated eeprom via dfu-util or another tool +ifneq (,$(filter $(MAKECMDGOALS),dfu-util-split-left)) + OPT_DEFS += -DINIT_EE_HANDS_LEFT +endif + +ifneq (,$(filter $(MAKECMDGOALS),dfu-util-split-right)) + OPT_DEFS += -DINIT_EE_HANDS_RIGHT +endif + +dfu-util-split-left: dfu-util + +dfu-util-split-right: dfu-util + + st-link-cli: $(BUILD_DIR)/$(TARGET).hex sizeafter $(ST_LINK_CLI) $(ST_LINK_ARGS) -q -c SWD -p $(BUILD_DIR)/$(TARGET).hex -Rst diff --git a/tmk_core/common/eeconfig.c b/tmk_core/common/eeconfig.c index 933ac42bd..4cf4ca3ac 100644 --- a/tmk_core/common/eeconfig.c +++ b/tmk_core/common/eeconfig.c @@ -48,6 +48,16 @@ void eeconfig_init_quantum(void) { eeprom_update_dword(EECONFIG_RGB_MATRIX, 0); eeprom_update_byte(EECONFIG_RGB_MATRIX_SPEED, 0); + // TODO: Remove once ARM has a way to configure EECONFIG_HANDEDNESS + // within the emulated eeprom via dfu-util or another tool +#if defined INIT_EE_HANDS_LEFT + #pragma message "Faking EE_HANDS for left hand" + eeprom_update_byte(EECONFIG_HANDEDNESS, 1); +#elif defined INIT_EE_HANDS_RIGHT + #pragma message "Faking EE_HANDS for right hand" + eeprom_update_byte(EECONFIG_HANDEDNESS, 0); +#endif + eeconfig_init_kb(); } |