From 17794e0b2502371eaf155328d4e4195aef703163 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 27 Sep 2019 21:33:55 +0100 Subject: 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 * Clang format fixes * Fake eeprom init for both left and right hand --- tmk_core/chibios.mk | 15 +++++++++++++++ tmk_core/common/eeconfig.c | 10 ++++++++++ 2 files changed, 25 insertions(+) (limited to 'tmk_core') diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk index c25e287071..62e1561878 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 933ac42bd2..4cf4ca3ace 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(); } -- cgit v1.2.3