aboutsummaryrefslogtreecommitdiff
path: root/tmk_core/avr.mk
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/avr.mk')
-rw-r--r--tmk_core/avr.mk175
1 files changed, 0 insertions, 175 deletions
diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk
index a44e15700..d7bee6d34 100644
--- a/tmk_core/avr.mk
+++ b/tmk_core/avr.mk
@@ -89,162 +89,6 @@ DEBUG_PORT = 4242
89DEBUG_HOST = localhost 89DEBUG_HOST = localhost
90 90
91#============================================================================ 91#============================================================================
92# Autodetect teensy loader
93ifndef TEENSY_LOADER_CLI
94 ifneq (, $(shell which teensy-loader-cli 2>/dev/null))
95 TEENSY_LOADER_CLI ?= teensy-loader-cli
96 else
97 TEENSY_LOADER_CLI ?= teensy_loader_cli
98 endif
99endif
100
101define EXEC_TEENSY
102 $(TEENSY_LOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex
103endef
104
105teensy: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware
106 $(call EXEC_TEENSY)
107
108DFU_PROGRAMMER ?= dfu-programmer
109GREP ?= grep
110
111
112define EXEC_DFU
113 if [ "$(1)" ]; then \
114 echo "Flashing '$(1)' for EE_HANDS split keyboard support." ;\
115 fi; \
116 if ! $(DFU_PROGRAMMER) $(MCU) get bootloader-version >/dev/null 2>/dev/null; then\
117 printf "$(MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY)" ;\
118 sleep $(BOOTLOADER_RETRY_TIME) ;\
119 while ! $(DFU_PROGRAMMER) $(MCU) get bootloader-version >/dev/null 2>/dev/null; do\
120 printf "." ;\
121 sleep $(BOOTLOADER_RETRY_TIME) ;\
122 done ;\
123 printf "\n" ;\
124 fi; \
125 $(DFU_PROGRAMMER) $(MCU) get bootloader-version ;\
126 if $(DFU_PROGRAMMER) --version 2>&1 | $(GREP) -q 0.7 ; then\
127 $(DFU_PROGRAMMER) $(MCU) erase --force; \
128 if [ "$(1)" ]; then \
129 $(DFU_PROGRAMMER) $(MCU) flash --force --eeprom $(QUANTUM_PATH)/split_common/$(1);\
130 fi; \
131 $(DFU_PROGRAMMER) $(MCU) flash --force $(BUILD_DIR)/$(TARGET).hex;\
132 else \
133 $(DFU_PROGRAMMER) $(MCU) erase; \
134 if [ "$(1)" ]; then \
135 $(DFU_PROGRAMMER) $(MCU) flash-eeprom $(QUANTUM_PATH)/split_common/$(1);\
136 fi; \
137 $(DFU_PROGRAMMER) $(MCU) flash $(BUILD_DIR)/$(TARGET).hex;\
138 fi; \
139 $(DFU_PROGRAMMER) $(MCU) reset
140endef
141
142dfu: $(BUILD_DIR)/$(TARGET).hex cpfirmware check-size
143 $(call EXEC_DFU)
144
145dfu-start:
146 $(DFU_PROGRAMMER) $(MCU) reset
147 $(DFU_PROGRAMMER) $(MCU) start
148
149dfu-ee: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep
150 if $(DFU_PROGRAMMER) --version 2>&1 | $(GREP) -q 0.7 ; then\
151 $(DFU_PROGRAMMER) $(MCU) flash --force --eeprom $(BUILD_DIR)/$(TARGET).eep;\
152 else\
153 $(DFU_PROGRAMMER) $(MCU) flash-eeprom $(BUILD_DIR)/$(TARGET).eep;\
154 fi
155 $(DFU_PROGRAMMER) $(MCU) reset
156
157dfu-split-left: $(BUILD_DIR)/$(TARGET).hex cpfirmware check-size
158 $(call EXEC_DFU,eeprom-lefthand.eep)
159
160dfu-split-right: $(BUILD_DIR)/$(TARGET).hex cpfirmware check-size
161 $(call EXEC_DFU,eeprom-righthand.eep)
162
163AVRDUDE_PROGRAMMER ?= avrdude
164
165define EXEC_AVRDUDE
166 list_devices() { \
167 if $(GREP) -q -s icrosoft /proc/version; then \
168 wmic.exe path Win32_SerialPort get DeviceID 2>/dev/null | LANG=C perl -pne 's/COM(\d+)/COM.($$1-1)/e' | sed 's!COM!/dev/ttyS!' | xargs echo -n | sort; \
169 elif [ "`uname`" = "FreeBSD" ]; then \
170 ls /dev/tty* | grep -v '\.lock$$' | grep -v '\.init$$'; \
171 else \
172 ls /dev/tty*; \
173 fi; \
174 }; \
175 USB= ;\
176 printf "Waiting for USB serial port - reset your controller now (Ctrl+C to cancel)"; \
177 TMP1=`mktemp`; \
178 TMP2=`mktemp`; \
179 list_devices > $$TMP1; \
180 while [ -z "$$USB" ]; do \
181 sleep $(BOOTLOADER_RETRY_TIME); \
182 printf "."; \
183 list_devices > $$TMP2; \
184 USB=`comm -13 $$TMP1 $$TMP2 | $(GREP) -o '/dev/tty.*'`; \
185 mv $$TMP2 $$TMP1; \
186 done; \
187 rm $$TMP1; \
188 echo ""; \
189 echo "Device $$USB has appeared; assuming it is the controller."; \
190 if $(GREP) -q -s 'MINGW\|MSYS\|icrosoft' /proc/version; then \
191 USB=`echo "$$USB" | LANG=C perl -pne 's/\/dev\/ttyS(\d+)/COM.($$1+1)/e'`; \
192 echo "Remapped USB port to $$USB"; \
193 sleep 1; \
194 else \
195 printf "Waiting for $$USB to become writable."; \
196 while [ ! -w "$$USB" ]; do sleep $(BOOTLOADER_RETRY_TIME); printf "."; done; echo ""; \
197 fi; \
198 if [ -z "$(1)" ]; then \
199 $(AVRDUDE_PROGRAMMER) -p $(MCU) -c avr109 -P $$USB -U flash:w:$(BUILD_DIR)/$(TARGET).hex; \
200 else \
201 $(AVRDUDE_PROGRAMMER) -p $(MCU) -c avr109 -P $$USB -U flash:w:$(BUILD_DIR)/$(TARGET).hex -U eeprom:w:$(QUANTUM_PATH)/split_common/$(1); \
202 fi
203endef
204
205avrdude: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware
206 $(call EXEC_AVRDUDE)
207
208avrdude-loop: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware
209 while true; do \
210 $(call EXEC_AVRDUDE) ; \
211 done
212
213avrdude-split-left: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware
214 $(call EXEC_AVRDUDE,eeprom-lefthand.eep)
215
216avrdude-split-right: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware
217 $(call EXEC_AVRDUDE,eeprom-righthand.eep)
218
219define EXEC_USBASP
220 $(AVRDUDE_PROGRAMMER) -p $(AVRDUDE_MCU) -c usbasp -U flash:w:$(BUILD_DIR)/$(TARGET).hex
221endef
222
223usbasp: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware
224 $(call EXEC_USBASP)
225
226BOOTLOADHID_PROGRAMMER ?= bootloadHID
227
228define EXEC_BOOTLOADHID
229 # bootloadHid executable has no cross platform detect methods
230 # so keep running bootloadHid if the output contains "The specified device was not found"
231 until $(BOOTLOADHID_PROGRAMMER) -r $(BUILD_DIR)/$(TARGET).hex 2>&1 | tee /dev/stderr | grep -v "device was not found"; do\
232 printf "$(MSG_BOOTLOADER_NOT_FOUND)" ;\
233 sleep 5 ;\
234 done
235endef
236
237bootloadHID: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware
238 $(call EXEC_BOOTLOADHID)
239
240HID_BOOTLOADER_CLI ?= hid_bootloader_cli
241
242define EXEC_HID_LUFA
243 $(HID_BOOTLOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex
244endef
245
246hid_bootloader: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware
247 $(call EXEC_HID_LUFA)
248 92
249# Convert hex to bin. 93# Convert hex to bin.
250bin: $(BUILD_DIR)/$(TARGET).hex 94bin: $(BUILD_DIR)/$(TARGET).hex
@@ -335,22 +179,3 @@ production: $(BUILD_DIR)/$(TARGET).hex bootloader cpfirmware
335 @cat $(TARGET)_bootloader.hex >> $(TARGET)_production.hex 179 @cat $(TARGET)_bootloader.hex >> $(TARGET)_production.hex
336 echo "File sizes:" 180 echo "File sizes:"
337 $(SIZE) $(TARGET).hex $(TARGET)_bootloader.hex $(TARGET)_production.hex 181 $(SIZE) $(TARGET).hex $(TARGET)_bootloader.hex $(TARGET)_production.hex
338
339flash: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware
340ifneq ($(strip $(PROGRAM_CMD)),)
341 $(PROGRAM_CMD)
342else ifeq ($(strip $(BOOTLOADER)), caterina)
343 $(call EXEC_AVRDUDE)
344else ifeq ($(strip $(BOOTLOADER)), halfkay)
345 $(call EXEC_TEENSY)
346else ifeq (dfu,$(findstring dfu,$(BOOTLOADER)))
347 $(call EXEC_DFU)
348else ifeq ($(strip $(BOOTLOADER)), USBasp)
349 $(call EXEC_USBASP)
350else ifeq ($(strip $(BOOTLOADER)), bootloadHID)
351 $(call EXEC_BOOTLOADHID)
352else ifeq ($(strip $(BOOTLOADER)), qmk-hid)
353 $(call EXEC_HID_LUFA)
354else
355 $(PRINT_OK); $(SILENT) || printf "$(MSG_FLASH_BOOTLOADER)"
356endif