diff options
author | Purdea Andrei <[email protected]> | 2021-06-16 07:20:44 +0300 |
---|---|---|
committer | GitHub <[email protected]> | 2021-06-16 14:20:44 +1000 |
commit | ed0451bc28dc5ffcc3031bf9918a25e9fb8db2f7 (patch) | |
tree | 9f9f28329413adfa7c62bfe0219a346d87880b29 /tmk_core/avr.mk | |
parent | 22cd151fc359f48d75e361bd46a25ab6b40425fa (diff) | |
download | qmk_firmware-ed0451bc28dc5ffcc3031bf9918a25e9fb8db2f7.tar.gz qmk_firmware-ed0451bc28dc5ffcc3031bf9918a25e9fb8db2f7.zip |
Make atmel-dfu and chibios-dfu flashing behave more like caterina flashing. (#12552)0.13.6
This commit makes atmel-dfu and chibios-dfu bootloaders retry to detect the bootloader
every 0,5 seconds (now configurable via the BOOTLOADER_RETRY_TIME makefile variable),
and a period is printed after every try. This is a much more pleasant behaviour than
the 5s retry timeout.
Diffstat (limited to 'tmk_core/avr.mk')
-rw-r--r-- | tmk_core/avr.mk | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk index 521305f1b4..eb934ffe60 100644 --- a/tmk_core/avr.mk +++ b/tmk_core/avr.mk @@ -113,10 +113,16 @@ define EXEC_DFU if [ "$(1)" ]; then \ echo "Flashing '$(1)' for EE_HANDS split keyboard support." ;\ fi; \ - until $(DFU_PROGRAMMER) $(MCU) get bootloader-version; do\ - printf "$(MSG_BOOTLOADER_NOT_FOUND)" ;\ - sleep 5 ;\ - done; \ + if ! $(DFU_PROGRAMMER) $(MCU) get bootloader-version >/dev/null 2>/dev/null; then\ + printf "$(MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY)" ;\ + sleep $(BOOTLOADER_RETRY_TIME) ;\ + while ! $(DFU_PROGRAMMER) $(MCU) get bootloader-version >/dev/null 2>/dev/null; do\ + printf "." ;\ + sleep $(BOOTLOADER_RETRY_TIME) ;\ + done ;\ + printf "\n" ;\ + fi; \ + $(DFU_PROGRAMMER) $(MCU) get bootloader-version ;\ if $(DFU_PROGRAMMER) --version 2>&1 | $(GREP) -q 0.7 ; then\ $(DFU_PROGRAMMER) $(MCU) erase --force; \ if [ "$(1)" ]; then \ @@ -172,7 +178,7 @@ define EXEC_AVRDUDE TMP2=`mktemp`; \ list_devices > $$TMP1; \ while [ -z "$$USB" ]; do \ - sleep 0.5; \ + sleep $(BOOTLOADER_RETRY_TIME); \ printf "."; \ list_devices > $$TMP2; \ USB=`comm -13 $$TMP1 $$TMP2 | $(GREP) -o '/dev/tty.*'`; \ @@ -187,7 +193,7 @@ define EXEC_AVRDUDE sleep 1; \ else \ printf "Waiting for $$USB to become writable."; \ - while [ ! -w "$$USB" ]; do sleep 0.5; printf "."; done; echo ""; \ + while [ ! -w "$$USB" ]; do sleep $(BOOTLOADER_RETRY_TIME); printf "."; done; echo ""; \ fi; \ if [ -z "$(1)" ]; then \ $(AVRDUDE_PROGRAMMER) -p $(MCU) -c avr109 -P $$USB -U flash:w:$(BUILD_DIR)/$(TARGET).hex; \ |