diff options
| -rw-r--r-- | tmk_core/avr.mk | 28 | 
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 | 
