diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk index 0d0eec3b..95aa973a 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