summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tmk_core/avr.mk28
1 files changed, 16 insertions, 12 deletions
diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk
index 0d0eec3bf3..95aa973aa9 100644
--- a/tmk_core/avr.mk
+++ b/tmk_core/avr.mk
@@ -145,18 +145,22 @@ dfu-ee: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep
$(DFU_PROGRAMMER) $(MCU) reset
avrdude: $(BUILD_DIR)/$(TARGET).hex
- ls /dev/tty* > /tmp/1; \
- echo "Detecting Pro Micro port, reset your Pro Micro now.\c"; \
- while [ -z $$USB ]; do \
- sleep 1; \
- echo ".\c"; \
- ls /dev/tty* > /tmp/2; \
- USB=`diff /tmp/1 /tmp/2 | grep -o '/dev/tty.*'`; \
- done; \
- echo ""; \
- echo "Detected Pro Micro port at $$USB"; \
- sleep 1; \
- avrdude -p $(MCU) -c avr109 -P $$USB -U flash:w:$(BUILD_DIR)/$(TARGET).hex
+ if grep -q -s Microsoft /proc/version; then \
+ echo 'ERROR: Pro Micros can not be flashed within the Windows Subsystem for Linux (WSL) currently. Instead, take the .hex file generated and flash it using AVRDUDE, AVRDUDESS, or XLoader.'; \
+ else \
+ ls /dev/tty* > /tmp/1; \
+ echo "Detecting Pro Micro port, reset your Pro Micro now.\c"; \
+ while [ -z $$USB ]; do \
+ sleep 1; \
+ echo ".\c"; \
+ ls /dev/tty* > /tmp/2; \
+ USB=`diff /tmp/1 /tmp/2 | grep -o '/dev/tty.*'`; \
+ done; \
+ echo ""; \
+ echo "Detected Pro Micro port at $$USB"; \
+ sleep 1; \
+ avrdude -p $(MCU) -c avr109 -P $$USB -U flash:w:$(BUILD_DIR)/$(TARGET).hex; \
+ fi
# Convert hex to bin.
flashbin: $(BUILD_DIR)/$(TARGET).hex