From d36536e3743f5868f39908762bdab728802232b3 Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Tue, 25 Jun 2019 15:26:46 +0200 Subject: Use 'arduino-mk' as build system. It feels simpler than `arduino-builder` and we can rely on more OS-shipped components. Also for some reason with `arduino-builder` weak symbols don't always seem to be overriden properly. --- .gitignore | 1 + .kaleidoscope-builder.conf | 4 ---- Makefile | 32 +++++++++++++++++++++++++++++--- README | 23 ++++++++++++++++------- 4 files changed, 46 insertions(+), 14 deletions(-) create mode 100644 .gitignore delete mode 100644 .kaleidoscope-builder.conf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/build diff --git a/.kaleidoscope-builder.conf b/.kaleidoscope-builder.conf deleted file mode 100644 index 72af0b9..0000000 --- a/.kaleidoscope-builder.conf +++ /dev/null @@ -1,4 +0,0 @@ -DEFAULT_SKETCH="model01" -if [ -n "${XDG_RUNTIME_DIR+x}" ]; then - KALEIDOSCOPE_TEMP_PATH="$XDG_RUNTIME_DIR/kaleidoscope" -fi diff --git a/Makefile b/Makefile index ba2d8ab..86ad49e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,30 @@ -BOARD_HARDWARE_PATH ?= ./lib/hardware -KALEIDOSCOPE_PLUGIN_MAKEFILE_DIR ?= keyboardio/build-tools/makefiles +AVR_TOOLS_DIR = /usr +ARDUINO_DIR = /usr/local/arduino +ARDMK_DIR = /usr/share/arduino +ARDMK_VENDOR = arduino --include $(BOARD_HARDWARE_PATH)/$(KALEIDOSCOPE_PLUGIN_MAKEFILE_DIR)/rules.mk +ARCHITECTURE = avr +BOARD_TAG = model01 +ALTERNATE_CORE = keyboardio + +ARDUINO_SKETCHBOOK = ./lib +ARDUINO_VERSION = $(shell tr "." "0" <$(ARDUINO_DIR)/lib/version.txt) + +SOURCEDIR = ./src +OBJDIR = ./build +LOCAL_CPP_SRCS = $(wildcard $(SOURCEDIR)/*.cpp) +LOCAL_INO_SRCS = $(wildcard $(SOURCEDIR)/*.ino) + +USER_LIB_PATH = $(ALTERNATE_CORE_PATH)/libraries +ARDUINO_LIBS = EEPROM Kaleidoscope Kaleidoscope-HIDAdaptor-KeyboardioHID KeyboardioHID KeyboardioScanner + +# extra definitions from boards.txt +CXXFLAGS = -DARDUINO_AVR_MODEL01 \ + -DUSB_MANUFACTURER="\"keyboardio\"" -DUSB_PRODUCT="\"Model 01\"" \ + -DKALEIDOSCOPE_HARDWARE_H="\"Kaleidoscope-Hardware-Model01.h\"" + +AVRDUDE_OPTS = -q +AVRDUDE_CONF = /etc/avrdude.conf +#MONITOR_PORT = $(firstword $(wildcard /dev/serial/by-id/usb-keyboardio_Model_01_*)) + +include $(ARDMK_DIR)/Arduino.mk diff --git a/README b/README index eaa54fd..25e0ee7 100644 --- a/README +++ b/README @@ -8,10 +8,20 @@ https://git.madhouse-project.org/algernon/Model01-Sketch#base-layer Build ===== -Arduino 1.6.7 or newer is required. Unfortunately, as of 2019-06-25 the -version found in Debian sid is too old (cf. #780706, #925578, #927329). -Dowload a recent version at https://www.arduino.cc and it unpack to -/usr/local/arduino. +On Debian systems, the following packages are required: + + - avr-libc + - avrdude + - binutils-avr + - gcc-avr + - arduino-mk + +Running `apt install arduino-mk` should pull in all required +dependencies. Moreover Arduino 1.6.7 or newer is required. +Unfortunately, as of 2019-06-25 the version found in Debian sid is too +Unfortunately, as of 2019-06-25 the version found in Debian sid is too +old (cf. #780706, #925578, #927329). Dowload a recent version at +https://www.arduino.cc and it unpack to /usr/local/arduino. Initialize (or update) submodules: @@ -22,8 +32,7 @@ Initialize (or update) submodules: "avr/bootloaders/*" \ "avr/libraries/Kaleidoscope" \ "avr/libraries/Kaleidoscope-HIDAdaptor-KeyboardioHID" \ - "avr/libraries/Keyboardio*" \ - "build-tools" + "avr/libraries/Keyboardio*" ~$ make @@ -31,7 +40,7 @@ Initialize (or update) submodules: Flash firmware ============== - ~$ make flash + ~$ make upload Press down the 'prog' key while the board is rebooting. You can release it once it glows red. -- cgit v1.2.3