summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael F. Lamb <mike@datagrok.org>2019-03-13 14:00:09 -0700
committerDrashna Jaelre <drashna@live.com>2019-03-13 14:00:09 -0700
commitf34244a871310fac4ab27f3fd75dc44626ed4eb9 (patch)
tree800f5e1533674ab6fa4b1c30be548e6cb755e9f4
parent5a12b054aeff59ce47d0bd233206249d56352b64 (diff)
Sleep until USB port becomes writable before running avrdude (#5393)
* sleep until usb port becomes writable before running avrdude * only wait for a writable USB port when not on MSYS using MINGW or MSYS: sleep for one second, as before. otherwise: wait for the port to become writable. * typo * typo
-rw-r--r--tmk_core/avr.mk7
1 files changed, 5 insertions, 2 deletions
diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk
index d22c3bbcad..79fdf4de53 100644
--- a/tmk_core/avr.mk
+++ b/tmk_core/avr.mk
@@ -214,12 +214,15 @@ define EXEC_AVRDUDE
mv /tmp/2 /tmp/1; \
done; \
echo ""; \
- echo "Detected controller on USB port at $$USB"; \
+ echo "Device $$USB has appeared; assuming it is the controller."; \
if $(GREP) -q -s 'MINGW\|MSYS' /proc/version; then \
USB=`echo "$$USB" | perl -pne 's/\/dev\/ttyS(\d+)/COM.($$1+1)/e'`; \
echo "Remapped MSYS2 USB port to $$USB"; \
+ sleep 1; \
+ else \
+ printf "Waiting for $$USB to become writable."; \
+ while [ ! -w "$$USB" ]; do sleep 0.5; printf "."; done; echo ""; \
fi; \
- sleep 1; \
avrdude -p $(MCU) -c avr109 -P $$USB -U flash:w:$(BUILD_DIR)/$(TARGET).hex; \
fi
endef