]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - tmk_core/avr.mk
Merge pull request #1915 from dondelelcaro/ergodox_ez_left_leds
[qmk_firmware.git] / tmk_core / avr.mk
index 0d0eec3bf34e85d557ee2a90931ce8af2568ea80..0e014a412aa7957be40f33e03b9f27e654266485 100644 (file)
@@ -145,23 +145,30 @@ 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: AVR flashing cannot be automated 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 USB port, reset your controller 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 controller on USB 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
+bin: $(BUILD_DIR)/$(TARGET).hex
        $(OBJCOPY) -Iihex -Obinary $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin
        $(COPY) $(BUILD_DIR)/$(TARGET).bin $(TARGET).bin;
+
+# copy bin to FLASH.bin
+flashbin: bin
        $(COPY) $(BUILD_DIR)/$(TARGET).bin FLASH.bin; 
 
 # Generate avr-gdb config/init file which does the following: