From 1672f55945ed7c52feace34fd93821d49bb22257 Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Thu, 10 Oct 2019 08:47:44 +0200 Subject: [PATCH] kaleidoscope-builder: Pull the bootloader file from boards.txt Fixes #697. Signed-off-by: Gergely Nagy --- bin/kaleidoscope-builder | 2 ++ etc/kaleidoscope-builder.conf | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/bin/kaleidoscope-builder b/bin/kaleidoscope-builder index f46a807e..9314092e 100755 --- a/bin/kaleidoscope-builder +++ b/bin/kaleidoscope-builder @@ -216,6 +216,8 @@ hex_with_bootloader () { compile fi + find_bootloader_path + awk '/^:00000001FF/ == 0' "${HEX_FILE_PATH}" > "${HEX_FILE_WITH_BOOTLOADER_PATH}" echo "Using ${BOOTLOADER_PATH}" ${MD5} "${BOOTLOADER_PATH}" diff --git a/etc/kaleidoscope-builder.conf b/etc/kaleidoscope-builder.conf index defa2d5b..0e789c5b 100644 --- a/etc/kaleidoscope-builder.conf +++ b/etc/kaleidoscope-builder.conf @@ -95,6 +95,20 @@ find_bootloader_ports() { DEVICE_PORT_BOOTLOADER="$(perl ${DEVICE_PORT_PROBER} ${BOOTLOADER_VID} ${BOOTLOADER_PID})" } +find_bootloader_path() { + BOOTLOADER_FILE=$("${ARDUINO_BUILDER}" \ + -hardware "${ARDUINO_PATH}/hardware" \ + -hardware "${BOARD_HARDWARE_PATH}" \ + ${ARDUINO_TOOLS_FLAG:+"${ARDUINO_TOOLS_FLAG}"} ${ARDUINO_TOOLS_PARAM:+"${ARDUINO_TOOLS_PARAM}"} \ + -tools "${ARDUINO_PATH}/tools-builder" \ + -fqbn "${FQBN}" \ + -build-path ${ARDUINO_PATH} \ + -dump-prefs "${SKETCH_DIR}/${SKETCH}.ino" | grep "bootloader\.file=" | cut -d= -f2) + + BOOTLOADER_FILE="${BOOTLOADER_FILE:-caterina/Caterina.hex}" + BOOTLOADER_PATH="${BOOTLOADER_PATH:-${BOARD_HARDWARE_PATH}/keyboardio/avr/bootloaders/${BOOTLOADER_FILE}}" +} + MD5="md5sum" if [ "${uname_S}" = "Darwin" ]; then @@ -188,11 +202,10 @@ AVRDUDE_CONF="${AVRDUDE_CONF:-${ARDUINO_TOOLS_PATH}/avr/etc/avrdude.conf}" ###### BOARD_HARDWARE_PATH="${BOARD_HARDWARE_PATH:-${ARDUINO_LOCAL_LIB_PATH}/hardware}" -BOOTLOADER_PATH="${BOOTLOADER_PATH:-${BOARD_HARDWARE_PATH}/keyboardio/avr/bootloaders/caterina/Caterina.hex}" if [ ! -z "${ARDUINO_TOOLS_PATH}" ]; then ARDUINO_TOOLS_PARAM="${ARDUINO_TOOLS_PATH}" - ARDUINO_TOOLS_FLAG="-tools" + ARDUINO_TOOLS_FLAG="-tools" fi if [ ! -z "${AVR_GCC_PREFIX}" ]; then