From 35567276572d6238240de5baf463088a87d434d6 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Tue, 24 Oct 2017 22:37:57 -0700 Subject: [PATCH 1/9] Move two functions from the kaleidoscope-builder.conf to the builder --- bin/kaleidoscope-builder | 25 +++++++++++++++++++++++++ etc/kaleidoscope-builder.conf | 23 ----------------------- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/bin/kaleidoscope-builder b/bin/kaleidoscope-builder index b63ae8da..f37d6d62 100755 --- a/bin/kaleidoscope-builder +++ b/bin/kaleidoscope-builder @@ -2,6 +2,31 @@ set -e + +###### +###### Build and output configuration +###### + +build_version () { + GIT_VERSION="$(cd $(find_sketch); git describe --abbrev=4 --dirty --always)" + LIB_VERSION="$(cd $(find_sketch); (grep version= ../../library.properties 2>/dev/null || echo version=0.0.0) | cut -d= -f2)-g${GIT_VERSION}" + + BUILD_PATH="${BUILD_PATH:-$(mktemp -d 2>/dev/null || mktemp -d -t 'build')}" + OUTPUT_DIR="${OUTPUT_DIR:-output/${LIBRARY}}" + OUTPUT_PATH="${OUTPUT_PATH:-${SOURCEDIR}/${OUTPUT_DIR}}" +} + +build_filenames () { + OUTPUT_FILE_PREFIX="${SKETCH}-${LIB_VERSION}" + HEX_FILE_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}.hex" + HEX_FILE_WITH_BOOTLOADER_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}-with-bootloader.hex" + ELF_FILE_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}.elf" +} + + + + + firmware_size () { if [ "${BOARD}" = "virtual" ]; then echo "[Size not computed for virtual build]" diff --git a/etc/kaleidoscope-builder.conf b/etc/kaleidoscope-builder.conf index 9ac994cf..a1b20144 100644 --- a/etc/kaleidoscope-builder.conf +++ b/etc/kaleidoscope-builder.conf @@ -105,29 +105,6 @@ BOARD_HARDWARE_PATH="${BOARD_HARDWARE_PATH:-${ARDUINO_LOCAL_LIB_PATH}/hardware}" BOOTLOADER_PATH="${BOOTLOADER_PATH:-${BOARD_HARDWARE_PATH}/keyboardio/avr/bootloaders/caterina/Caterina.hex}" -###### -###### Build and output configuration -###### - -build_version () { - GIT_VERSION="$(cd $(find_sketch); git describe --abbrev=4 --dirty --always)" - LIB_VERSION="$(cd $(find_sketch); (grep version= ../../library.properties 2>/dev/null || echo version=0.0.0) | cut -d= -f2)-g${GIT_VERSION}" - - BUILD_PATH="${BUILD_PATH:-$(mktemp -d 2>/dev/null || mktemp -d -t 'build')}" - OUTPUT_DIR="${OUTPUT_DIR:-output/${LIBRARY}}" - OUTPUT_PATH="${OUTPUT_PATH:-${SOURCEDIR}/${OUTPUT_DIR}}" -} - -build_filenames () { - OUTPUT_FILE_PREFIX="${SKETCH}-${LIB_VERSION}" - HEX_FILE_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}.hex" - HEX_FILE_WITH_BOOTLOADER_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}-with-bootloader.hex" - ELF_FILE_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}.elf" -} - - - - ARDUINO_TOOLS_PARAM="-tools ${ARDUINO_TOOLS_PATH}" if [ -z "${ARDUINO_TOOLS_PATH}" ]; then From 110b2795f098e554cad8cc894de5eabd04b93190 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Tue, 24 Oct 2017 22:50:39 -0700 Subject: [PATCH 2/9] move the verbose stuff out of the config file --- bin/kaleidoscope-builder | 6 ++++++ etc/kaleidoscope-builder.conf | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/kaleidoscope-builder b/bin/kaleidoscope-builder index f37d6d62..b1b3ce5d 100755 --- a/bin/kaleidoscope-builder +++ b/bin/kaleidoscope-builder @@ -325,6 +325,12 @@ fi . ${ROOT}/etc/kaleidoscope-builder.conf +if [ ! -z "${VERBOSE}" ] && [ "${VERBOSE}" -gt 0 ]; then + ARDUINO_VERBOSE="-verbose" +else + ARDUINO_VERBOSE="-quiet" +fi + cmds="" diff --git a/etc/kaleidoscope-builder.conf b/etc/kaleidoscope-builder.conf index a1b20144..de31a86b 100644 --- a/etc/kaleidoscope-builder.conf +++ b/etc/kaleidoscope-builder.conf @@ -115,9 +115,3 @@ if [ ! -z "${AVR_GCC_PREFIX}" ]; then ARDUINO_AVR_GCC_PREFIX_PARAM="-prefs \"runtime.tools.avr-gcc.path=${AVR_GCC_PREFIX}\"" fi -if [ ! -z "${VERBOSE}" ] && [ "${VERBOSE}" -gt 0 ]; then - ARDUINO_VERBOSE="-verbose" -else - ARDUINO_VERBOSE="-quiet" -fi - From 693589b1efb094e15635e72afa01f04645f51ab6 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Tue, 24 Oct 2017 23:20:41 -0700 Subject: [PATCH 3/9] Slightly simplify a conditional. @algernon do you see any gotcha with this change? --- etc/kaleidoscope-builder.conf | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/etc/kaleidoscope-builder.conf b/etc/kaleidoscope-builder.conf index de31a86b..ff0bfc0a 100644 --- a/etc/kaleidoscope-builder.conf +++ b/etc/kaleidoscope-builder.conf @@ -106,9 +106,8 @@ BOOTLOADER_PATH="${BOOTLOADER_PATH:-${BOARD_HARDWARE_PATH}/keyboardio/avr/bootlo -ARDUINO_TOOLS_PARAM="-tools ${ARDUINO_TOOLS_PATH}" -if [ -z "${ARDUINO_TOOLS_PATH}" ]; then - ARDUINO_TOOLS_PARAM="" +if [ ! -z "${ARDUINO_TOOLS_PATH}" ]; then + ARDUINO_TOOLS_PARAM="-tools ${ARDUINO_TOOLS_PATH}" fi if [ ! -z "${AVR_GCC_PREFIX}" ]; then From 040287a203fef66f9d101c88299720ba596e8c61 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Tue, 24 Oct 2017 23:22:17 -0700 Subject: [PATCH 4/9] Now that the config file is elsewhere and simpler, this outdated check can probably go. --- etc/kaleidoscope-builder.conf | 7 ------- 1 file changed, 7 deletions(-) diff --git a/etc/kaleidoscope-builder.conf b/etc/kaleidoscope-builder.conf index ff0bfc0a..cebe8660 100644 --- a/etc/kaleidoscope-builder.conf +++ b/etc/kaleidoscope-builder.conf @@ -1,13 +1,6 @@ ## NEEDS: LIBRARY, SKETCH, ROOT, SOURCEDIR ## Should be included when the current directory is the dir of the Sketch. -case "$0" in - */settings.sh) - echo "This file must be included, never run directly!" >&2 - exit 1 - ;; -esac - SKETCH="${SKETCH:-${DEFAULT_SKETCH}}" LIBRARY="${LIBRARY:-${SKETCH}}" From 5b808f1eb8a64e3dd01a26c6bf564a1a9ecd3e8c Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Tue, 24 Oct 2017 23:38:15 -0700 Subject: [PATCH 5/9] This may or may not work. Trying to simplify the platform detection logic --- etc/kaleidoscope-builder.conf | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/etc/kaleidoscope-builder.conf b/etc/kaleidoscope-builder.conf index cebe8660..6cc54dbc 100644 --- a/etc/kaleidoscope-builder.conf +++ b/etc/kaleidoscope-builder.conf @@ -36,6 +36,11 @@ DEVICE_PORT="$(ls /dev/ttyACM* 2>/dev/null || echo '')" RESET_DEVICE="stty -F ${DEVICE_PORT} 1200 hupcl" MD5="md5sum" +find_bootloader_ports() { + DEVICE_PORT_BOOTLOADER="$(ls /dev/ttyACM* 2>/dev/null || echo '')" +} + + if [ "${uname_S}" = "Darwin" ]; then DEVICE_PORT="$(ls /dev/cu.usbmodemkbio* 2> /dev/null || echo '')" @@ -52,18 +57,13 @@ if [ "${uname_S}" = "Darwin" ]; then MD5="md5" + find_bootloader_ports() { + DEVICE_PORT_BOOTLOADER="$(ls /dev/cu.usbmodemkbio* 2> /dev/null || echo '')" + DEVICE_PORT_BOOTLOADER="${DEVICE_PORT_BOOTLOADER:-$(ls /dev/cu.usbmodem14* 2> /dev/null || echo '')}" + } + fi -find_bootloader_ports() { - -DEVICE_PORT_BOOTLOADER="$(ls /dev/ttyACM* 2>/dev/null || echo '')" -if [ "${uname_S}" = "Darwin" ]; then - DEVICE_PORT_BOOTLOADER="$(ls /dev/cu.usbmodemkbio* 2> /dev/null || echo '')" - DEVICE_PORT_BOOTLOADER="${DEVICE_PORT_BOOTLOADER:-$(ls /dev/cu.usbmodem14* 2> /dev/null || echo '')}" -fi - - -} ###### From 5d9420c4f5bc0eeb0db9292f65c7563ffe712409 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Wed, 25 Oct 2017 02:33:04 -0700 Subject: [PATCH 6/9] VERY hacky WIP tool for finding the correct port for a device on linux by VID/PID pair --- bin/find-device-port-linux-udev | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 bin/find-device-port-linux-udev diff --git a/bin/find-device-port-linux-udev b/bin/find-device-port-linux-udev new file mode 100644 index 00000000..f2deea32 --- /dev/null +++ b/bin/find-device-port-linux-udev @@ -0,0 +1,33 @@ +#!/usr/bin/env perl + +use warnings; +use strict; +my $vid = shift; +my $pid = shift; +my $prefix = '/dev/serial/by-id/'; +my @paths= `ls $prefix`; +my %devices; + +for my $path (@paths) { + chomp($path); + next unless -l $prefix. $path; + my @data = `udevadm info -q property --name=${prefix}${path}`; + for my $line (@data) { + chomp ($line); + my ($key,$val) = split(/=/,$line,2); + $devices{$path}{$key} = $val; + } + if (($devices{$path}{'ID_VENDOR_ID'} == $vid) && + ($devices{$path}{'ID_MODEL_ID'} == $pid) ) { + + if ($devices{$path}{'ID_MM_CANDIDATE'}) { + warn "Yikes. ModemManager wants to pwn your keyboard"; + } + + print $devices{$path}{DEVNAME}; + exit(0); + } + + +} + From eb9164ddaa0c7faef279de68ad6a41e6d844fcfa Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Thu, 9 Nov 2017 22:33:10 -0800 Subject: [PATCH 7/9] refactor device reset code --- bin/kaleidoscope-builder | 11 ++++++++--- etc/kaleidoscope-builder.conf | 35 ++++++++++++++++++++++++++++------- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/bin/kaleidoscope-builder b/bin/kaleidoscope-builder index b1b3ce5d..8742be93 100755 --- a/bin/kaleidoscope-builder +++ b/bin/kaleidoscope-builder @@ -237,7 +237,13 @@ clean () { rm -rf "${OUTPUT_PATH}" } -reset_device () { +reset_device() { + find_device_port + check_device_port + reset_device_cmd +} + +check_device_port () { if [ -z $DEVICE_PORT ]; then echo "Couldn't autodetect the keyboard's serial port." echo "If you see this message and your keyboard is connected to your computer," @@ -246,10 +252,9 @@ reset_device () { echo "Please report this issue at https://github.com/keyboardio/Kaleidoscope"; exit 0; fi - - ${RESET_DEVICE} } + usage () { cat </dev/null || echo not) - -DEVICE_PORT="$(ls /dev/ttyACM* 2>/dev/null || echo '')" -RESET_DEVICE="stty -F ${DEVICE_PORT} 1200 hupcl" +find_device_port() { + DIR=$(dirname "$(readlink -f "$0")") + DEVICE_PORT_PROBER="${DIR}/find-device-port-linux-udev" + DEVICE_PORT="$(perl ${DEVICE_PORT_PROBER} ${VID} ${SKETCH_PID})" +} + + +reset_device_cmd() { + stty -F ${DEVICE_PORT} 1200 hupcl + +} + + MD5="md5sum" find_bootloader_ports() { - DEVICE_PORT_BOOTLOADER="$(ls /dev/ttyACM* 2>/dev/null || echo '')" + DIR=$(dirname "$(readlink -f "$0")") + DEVICE_PORT_PROBER="${DIR}/find-device-port-linux-udev" + DEVICE_PORT_BOOTLOADER="$(perl ${DEVICE_PORT_PROBER} ${VID} ${BOOTLOADER_PID})" + } if [ "${uname_S}" = "Darwin" ]; then + +find_device_port() { DEVICE_PORT="$(ls /dev/cu.usbmodemkbio* 2> /dev/null || echo '')" DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodemCkbio* 2> /dev/null || echo '')}" DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodemHID* 2> /dev/null || echo '')}" DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodemCHID* 2> /dev/null || echo '')}" DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodem14* 2> /dev/null || echo '')}" - RESET_DEVICE="/bin/stty -f ${DEVICE_PORT} 1200" +} + +reset_device_cmd() { + /bin/stty -f ${DEVICE_PORT} 1200 +} ARDUINO_PATH="${ARDUINO_PATH:-/Applications/Arduino.app/Contents/Java/}" From 7a423ced8bd57715a96600c118593dfb6e8d781e Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Thu, 7 Dec 2017 17:22:50 +0100 Subject: [PATCH 8/9] kaleidoscope-builder: Pull VID, SKETCH_PID and BOOTLOADER_PID from boards.txt Instead of hardcoding defaults for `VID`, `SKETCH_PID`, and `BOOTLOADER_PID`, use `arduino-builder -dump-prefs` to pull these out of `boards.txt`. Signed-off-by: Gergely Nagy --- etc/kaleidoscope-builder.conf | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/etc/kaleidoscope-builder.conf b/etc/kaleidoscope-builder.conf index 015c187a..6f2e2025 100644 --- a/etc/kaleidoscope-builder.conf +++ b/etc/kaleidoscope-builder.conf @@ -10,10 +10,6 @@ LIBRARY="${LIBRARY:-${SKETCH}}" ######## Keyboard hardware definitions ######## -# These should be pulled from Arduino boards.txt -VID="${VID:-1209}" -BOOTLOADER_PID="${BOOTLOADER_PID:-2300}" -SKETCH_PID="${SKEYCH_PID:-2301}" BOARD="${BOARD:-model01}" MCU="${MCU:-atmega32u4}" if [ "${BOARD}" = "virtual" ]; then @@ -32,8 +28,21 @@ fi # Shamelessly stolen from git's Makefile uname_S=$(uname -s 2>/dev/null || echo not) +find_device_vid_pid() { + VPIDS=$(${ARDUINO_BUILDER} \ + -hardware "${ARDUINO_PATH}/hardware" \ + -hardware "${BOARD_HARDWARE_PATH}" \ + ${ARDUINO_TOOLS_PARAM} \ + -tools "${ARDUINO_PATH}/tools-builder" \ + -fqbn "${FQBN}" \ + -dump-prefs | grep "\.[vp]id=") + VID=${VID:-$(echo "${VPIDS}" | grep build.vid= | cut -dx -f2)} + SKETCH_PID=${SKETCH_PID:-$(echo "${VPIDS}" | grep build.pid= | cut -dx -f2)} + BOOTLOADER_PID=${BOOTLOADER_PID:-$(echo "${VPIDS}" | grep bootloader.pid= | cut -dx -f2)} +} find_device_port() { + find_device_vid_pid DIR=$(dirname "$(readlink -f "$0")") DEVICE_PORT_PROBER="${DIR}/find-device-port-linux-udev" DEVICE_PORT="$(perl ${DEVICE_PORT_PROBER} ${VID} ${SKETCH_PID})" @@ -49,6 +58,7 @@ reset_device_cmd() { MD5="md5sum" find_bootloader_ports() { + find_device_vid_pid DIR=$(dirname "$(readlink -f "$0")") DEVICE_PORT_PROBER="${DIR}/find-device-port-linux-udev" DEVICE_PORT_BOOTLOADER="$(perl ${DEVICE_PORT_PROBER} ${VID} ${BOOTLOADER_PID})" From a2cee8445511c69dee3f31451e5180656369930a Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Thu, 7 Dec 2017 17:28:13 +0100 Subject: [PATCH 9/9] kaleidoscope-builder: Remove extraneous whitespace Drop a bunch of empty lines, trailing spaces, and similar things. Signed-off-by: Gergely Nagy --- bin/find-device-port-linux-udev | 15 ++++----- bin/kaleidoscope-builder | 24 ++++---------- etc/kaleidoscope-builder.conf | 56 +++++++++++---------------------- 3 files changed, 31 insertions(+), 64 deletions(-) diff --git a/bin/find-device-port-linux-udev b/bin/find-device-port-linux-udev index f2deea32..3be11b4d 100644 --- a/bin/find-device-port-linux-udev +++ b/bin/find-device-port-linux-udev @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/env perl use warnings; use strict; @@ -17,17 +17,14 @@ for my $path (@paths) { my ($key,$val) = split(/=/,$line,2); $devices{$path}{$key} = $val; } - if (($devices{$path}{'ID_VENDOR_ID'} == $vid) && + if (($devices{$path}{'ID_VENDOR_ID'} == $vid) && ($devices{$path}{'ID_MODEL_ID'} == $pid) ) { if ($devices{$path}{'ID_MM_CANDIDATE'}) { - warn "Yikes. ModemManager wants to pwn your keyboard"; - } + warn "Yikes. ModemManager wants to pwn your keyboard"; + } - print $devices{$path}{DEVNAME}; - exit(0); + print $devices{$path}{DEVNAME}; + exit(0); } - - } - diff --git a/bin/kaleidoscope-builder b/bin/kaleidoscope-builder index 8742be93..8dc4a86e 100755 --- a/bin/kaleidoscope-builder +++ b/bin/kaleidoscope-builder @@ -2,7 +2,6 @@ set -e - ###### ###### Build and output configuration ###### @@ -10,7 +9,7 @@ set -e build_version () { GIT_VERSION="$(cd $(find_sketch); git describe --abbrev=4 --dirty --always)" LIB_VERSION="$(cd $(find_sketch); (grep version= ../../library.properties 2>/dev/null || echo version=0.0.0) | cut -d= -f2)-g${GIT_VERSION}" - + BUILD_PATH="${BUILD_PATH:-$(mktemp -d 2>/dev/null || mktemp -d -t 'build')}" OUTPUT_DIR="${OUTPUT_DIR:-output/${LIBRARY}}" OUTPUT_PATH="${OUTPUT_PATH:-${SOURCEDIR}/${OUTPUT_DIR}}" @@ -23,17 +22,13 @@ build_filenames () { ELF_FILE_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}.elf" } - - - - firmware_size () { if [ "${BOARD}" = "virtual" ]; then echo "[Size not computed for virtual build]" return fi - ## This is a terrible hack, please don't hurt me. - algernon + ## This is a terrible hack, please don't hurt me. - algernon MAX_PROG_SIZE=28672 @@ -81,13 +76,11 @@ flash () { sleep 3s find_bootloader_ports flash_over_usb || flash_over_usb - } flash_over_usb () { sleep 1s ${AVRDUDE} -q -q -C ${AVRDUDE_CONF} -p${MCU} -cavr109 -D -P ${DEVICE_PORT_BOOTLOADER} -b57600 "-Uflash:w:${HEX_FILE_PATH}:i" - } flash_from_bootloader() { @@ -96,14 +89,12 @@ flash_from_bootloader() { flash_over_usb || flash_over_usb } - program() { prepare_to_flash flash_with_programmer } flash_with_programmer() { - ${AVRDUDE} -v \ -C ${AVRDUDE_CONF} \ -p${MCU} \ @@ -152,7 +143,7 @@ compile () { ARDUINO_PACKAGES="" if [ -d ${ARDUINO_PACKAGE_PATH} ]; then - ARDUINO_PACKAGES="-hardware \"${ARDUINO_PACKAGE_PATH}\"" + ARDUINO_PACKAGES="-hardware \"${ARDUINO_PACKAGE_PATH}\"" fi ${ARDUINO_BUILDER} \ @@ -238,9 +229,9 @@ clean () { } reset_device() { - find_device_port - check_device_port - reset_device_cmd + find_device_port + check_device_port + reset_device_cmd } check_device_port () { @@ -254,7 +245,6 @@ check_device_port () { fi } - usage () { cat </dev/null || echo not) @@ -48,55 +44,46 @@ find_device_port() { DEVICE_PORT="$(perl ${DEVICE_PORT_PROBER} ${VID} ${SKETCH_PID})" } - reset_device_cmd() { stty -F ${DEVICE_PORT} 1200 hupcl - } - -MD5="md5sum" - find_bootloader_ports() { find_device_vid_pid DIR=$(dirname "$(readlink -f "$0")") DEVICE_PORT_PROBER="${DIR}/find-device-port-linux-udev" DEVICE_PORT_BOOTLOADER="$(perl ${DEVICE_PORT_PROBER} ${VID} ${BOOTLOADER_PID})" - } - +MD5="md5sum" if [ "${uname_S}" = "Darwin" ]; then -find_device_port() { - DEVICE_PORT="$(ls /dev/cu.usbmodemkbio* 2> /dev/null || echo '')" - DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodemCkbio* 2> /dev/null || echo '')}" - DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodemHID* 2> /dev/null || echo '')}" - DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodemCHID* 2> /dev/null || echo '')}" - DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodem14* 2> /dev/null || echo '')}" -} + find_device_port() { + DEVICE_PORT="$(ls /dev/cu.usbmodemkbio* 2> /dev/null || echo '')" + DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodemCkbio* 2> /dev/null || echo '')}" + DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodemHID* 2> /dev/null || echo '')}" + DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodemCHID* 2> /dev/null || echo '')}" + DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodem14* 2> /dev/null || echo '')}" + } -reset_device_cmd() { - /bin/stty -f ${DEVICE_PORT} 1200 -} + reset_device_cmd() { + /bin/stty -f ${DEVICE_PORT} 1200 + } + ARDUINO_PATH="${ARDUINO_PATH:-/Applications/Arduino.app/Contents/Java/}" + ARDUINO_PACKAGE_PATH="${ARDUINO_PACKAGE_PATH:-${HOME}/Library/Arduino15/packages}" + ARDUINO_LOCAL_LIB_PATH="${ARDUINO_LOCAL_LIB_PATH:-${HOME}/Documents/Arduino}" - ARDUINO_PATH="${ARDUINO_PATH:-/Applications/Arduino.app/Contents/Java/}" - ARDUINO_PACKAGE_PATH="${ARDUINO_PACKAGE_PATH:-${HOME}/Library/Arduino15/packages}" - ARDUINO_LOCAL_LIB_PATH="${ARDUINO_LOCAL_LIB_PATH:-${HOME}/Documents/Arduino}" + MD5="md5" - MD5="md5" + find_bootloader_ports() { + DEVICE_PORT_BOOTLOADER="$(ls /dev/cu.usbmodemkbio* 2> /dev/null || echo '')" + DEVICE_PORT_BOOTLOADER="${DEVICE_PORT_BOOTLOADER:-$(ls /dev/cu.usbmodem14* 2> /dev/null || echo '')}" + } - find_bootloader_ports() { - DEVICE_PORT_BOOTLOADER="$(ls /dev/cu.usbmodemkbio* 2> /dev/null || echo '')" - DEVICE_PORT_BOOTLOADER="${DEVICE_PORT_BOOTLOADER:-$(ls /dev/cu.usbmodem14* 2> /dev/null || echo '')}" - } - fi - - ###### ###### Arduino tools configuration ###### @@ -119,17 +106,13 @@ AVR_OBJDUMP="${AVR_OBJDUMP:-${ARDUINO_TOOLS_PATH}/avr/bin/avr-objdump}" AVRDUDE="${AVRDUDE:-${ARDUINO_TOOLS_PATH}/avr/bin/avrdude}" AVRDUDE_CONF="${AVRDUDE_CONF:-${ARDUINO_TOOLS_PATH}/avr/etc/avrdude.conf}" - ###### ###### Source files and dependencies ###### - 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="-tools ${ARDUINO_TOOLS_PATH}" fi @@ -137,4 +120,3 @@ fi if [ ! -z "${AVR_GCC_PREFIX}" ]; then ARDUINO_AVR_GCC_PREFIX_PARAM="-prefs \"runtime.tools.avr-gcc.path=${AVR_GCC_PREFIX}\"" fi -