Created
July 1, 2017 13:30
-
-
Save AmedeeBulle/548c270ed53605965d720888b3abf6e3 to your computer and use it in GitHub Desktop.
bUltimaker build scripts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Clone of _do_make.bat for linux/osx | |
# | |
# Script is generic for all UM firmwares, but needs the 'right' branch of the sources! | |
# | |
# My setups | |
# rm -rf /tmp/x && ./do_make.sh -t UMOP -D DISPLAY_FAN -D ACTION_COMMAND -D FAN_KICKSTART_TIME=300 -D FAN_MIN_PWM=85 -D TWEAK_TEMP -d /tmp/x -y | |
# rm -rf /tmp/x && ./do_make.sh -t UMO -fgsc -D ULTIMAKER_GT2 -D FAN_KICKSTART_TIME=300 -D FAN_MIN_PWM=25 -D SLOW_PWM_FAN -D TWEAK_TEMP -d /tmp/x -y | |
# rm -rf /tmp/x && ./do_make.sh -t HBK -fgsc -D ACTION_COMMAND -D ULTIMAKER_GT2 -D FAN_KICKSTART_TIME=300 -D FAN_MIN_PWM=25 -D SLOW_PWM_FAN -D TWEAK_TEMP -d /tmp/x -y | |
usage() { | |
cat <<-EOF >&2 | |
Usage: $0 [-y] [-t {UMO|HBK|UMOP}][-s Suffix] [-b Build] [-d Dest ] [-fgsc] [-D Define]... | |
with | |
-y : Yes, build firmware! (Default is to print a summary and exit) | |
-t target : Target firmware, default is UMO | |
-s Suffix : Suffix used for the firmware name, default derived from target | |
-b Build : Build name, used in Version String (E.g. 15.01-RC5) | |
-d Dest : Destination directory for the build (Default is current directory) | |
-fgsc : Build for the "Reprap Discount Full Graphic Smart Controller" | |
-D Define : Additional 'DEFINES' passed to Make | |
Can be used multiple times, quoting required for strings, no spaces allowed | |
Example: UMO+ with version in firmware | |
$0 -t UMOP -D "'VERSION_BASE=\"Ultimaker:_14.12\"'" | |
Use ARDUINO_PATH and ARDUINO_VERSION environment variables to set/override your Arduino location and version | |
EOF | |
exit 1 | |
} | |
# Defaults: we build for UMO, no Suffix in firmware name, no additional defines | |
Target="UMO" | |
Suffix="" | |
Defines="" | |
MakeParams="" | |
Build="$(date +%y.%m)-Dev" | |
DoBuild="" | |
DestBuild="." | |
# Arduino defaults | |
# Override this by setting the respective environment variables | |
: ${ARDUINO_PATH:="/Applications/Arduino-1.0.6.app/Contents/Resources/Java"} | |
: ${ARDUINO_VERSION:=106} | |
: ${MARLIN:="$HOME/BullesCloud/Development/Ultimaker/AmedeeBulle-Marlin"} | |
PATH="${ARDUINO_PATH}/hardware/tools/avr/bin:${PATH}" | |
# Defaults for UMO: | |
HARDWARE_MOTHERBOARD=7 | |
TEMP_SENSOR_1=-1 | |
Version="Ultimaker:_" | |
# Parse arguments | |
while [ $# -gt 0 ] | |
do | |
case "$1" in | |
-t) | |
if [ $# -lt 2 ] | |
then | |
usage | |
else | |
Target="$2" | |
case "${Target}" in | |
UMO) | |
# Nothing to do, it is our default | |
;; | |
HBK) | |
# Add define and set Suffix | |
Suffix="HBK" | |
Defines="${Defines} ULTIMAKER_HBK" | |
;; | |
UMOP) | |
# Set board, sensor and Suffix | |
Suffix="UMOP" | |
Version="Ultimaker+:" | |
HARDWARE_MOTHERBOARD=72 | |
TEMP_SENSOR_1=20 | |
;; | |
UM2) | |
# Set board, sensor and Suffix | |
Suffix="UM2" | |
Version="Version:_" | |
HARDWARE_MOTHERBOARD=72 | |
TEMP_SENSOR_1=20 | |
;; | |
*) | |
# Invalid | |
usage | |
;; | |
esac | |
shift; shift | |
fi | |
;; | |
-b) | |
if [ $# -lt 2 ] | |
then | |
usage | |
else | |
# Build | |
Build="$2" | |
shift; shift | |
fi | |
;; | |
-d) | |
if [ $# -lt 2 ] | |
then | |
usage | |
else | |
# Build Dest | |
DestBuild="$2" | |
shift; shift | |
if [ -e "${DestBuild}" -a ! -d "${DestBuild}" ] | |
then | |
echo "$0: ${DestBuild} is not a directory" >&2 | |
exit 1 | |
fi | |
fi | |
;; | |
-s) | |
if [ $# -lt 2 ] | |
then | |
usage | |
else | |
# Set suffix | |
Suffix="$2" | |
shift; shift | |
fi | |
;; | |
-fgsc) | |
# Add defines and MakeFile parameter | |
Defines="${Defines} REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER NO_ULTIMAKERCONROLLER" | |
MakeParams="${MakeParams} U8GLIB=1" | |
# Add default suffix | |
Suffix="${Suffix:+${Suffix}_}FGSC" | |
shift | |
;; | |
-D) | |
if [ $# -lt 2 ] | |
then | |
usage | |
else | |
# Concatenate defines | |
Defines="${Defines} $2" | |
shift; shift | |
fi | |
;; | |
-y) | |
# Got for it! | |
DoBuild="Y" | |
shift | |
;; | |
*) | |
usage | |
;; | |
esac | |
done | |
Version="${Version}${Build}" | |
cat <<-EOF | |
$0: Build summary | |
Building for : ${Target} | |
Build version : ${Version} | |
Build suffix : ${Suffix} | |
Build directory : ${DestBuild} | |
Motherboard : ${HARDWARE_MOTHERBOARD} | |
Temp sensor : ${TEMP_SENSOR_1} | |
Defines : ${Defines} | |
Make params : ${MakeParams} | |
Arduino path : ${ARDUINO_PATH} | |
Arduino version : ${ARDUINO_VERSION} | |
EOF | |
if [ "${DoBuild}" != "Y" ] | |
then | |
echo "$0: If you want to proceed with this build, run the same command with the -y paramter..." | |
exit | |
fi | |
# Create Destination dir if it does not exist | |
if [ ! -e "${DestBuild}" ] | |
then | |
mkdir "${DestBuild}" || { echo "$0: cannot create ${DestBuild}" >&2; exit 1; } | |
fi | |
BASE_PARAMS="HARDWARE_MOTHERBOARD=${HARDWARE_MOTHERBOARD} ARDUINO_INSTALL_DIR=${ARDUINO_PATH} ARDUINO_VERSION=${ARDUINO_VERSION} ${MakeParams}" | |
if [ "${Target}" != "UM2" ] | |
then | |
# All UMOs | |
make --no-print-directory \ | |
-C "${MARLIN}/Marlin" \ | |
${BASE_PARAMS} \ | |
BUILD_DIR="${DestBuild}" \ | |
DEFINES="'VERSION_BASE=\"${Version}\"' 'VERSION_PROFILE=\"250000_single\"' BAUDRATE=250000 TEMP_SENSOR_1=0 EXTRUDERS=1 ${Defines}" | |
echo "Build completed -- firware is: ${DestBuild}/Marlin.hex" | |
# make ${BASE_PARAMS} BUILD_DIR="${DestBuild}/_UltimakerMarlin${Suffix:+_$Suffix}_250000" \ | |
# DEFINES="'VERSION_BASE=\"${Version}\"' 'VERSION_PROFILE=\"250000_single\"' BAUDRATE=250000 TEMP_SENSOR_1=0 EXTRUDERS=1 ${Defines}" | |
# make ${BASE_PARAMS} BUILD_DIR="${DestBuild}/_UltimakerMarlin${Suffix:+_$Suffix}_115200" \ | |
# DEFINES="'VERSION_BASE=\"${Version}\"' 'VERSION_PROFILE=\"115200_single\"' BAUDRATE=115200 TEMP_SENSOR_1=0 EXTRUDERS=1 ${Defines}" | |
# make ${BASE_PARAMS} BUILD_DIR="${DestBuild}/_UltimakerMarlin${Suffix:+_$Suffix}_Dual_250000" \ | |
# DEFINES="'VERSION_BASE=\"${Version}\"' 'VERSION_PROFILE=\"250000_dual\"' BAUDRATE=250000 TEMP_SENSOR_1=${TEMP_SENSOR_1} EXTRUDERS=2 ${Defines}" | |
# make ${BASE_PARAMS} BUILD_DIR="${DestBuild}/_UltimakerMarlin${Suffix:+_$Suffix}_Dual_115200" \ | |
# DEFINES="'VERSION_BASE=\"${Version}\"' 'VERSION_PROFILE=\"115200_dual\"' BAUDRATE=115200 TEMP_SENSOR_1=${TEMP_SENSOR_1} EXTRUDERS=2 ${Defines}" | |
# cp "${DestBuild}/_UltimakerMarlin${Suffix:+_$Suffix}_250000/Marlin.hex" "${DestBuild}/MarlinUltimaker${Suffix:+-$Suffix}-250000.hex" | |
# cp "${DestBuild}/_UltimakerMarlin${Suffix:+_$Suffix}_115200/Marlin.hex" "${DestBuild}/MarlinUltimaker${Suffix:+-$Suffix}-115200.hex" | |
# cp "${DestBuild}/_UltimakerMarlin${Suffix:+_$Suffix}_Dual_250000/Marlin.hex" "${DestBuild}/MarlinUltimaker${Suffix:+-$Suffix}-250000-dual.hex" | |
# cp "${DestBuild}/_UltimakerMarlin${Suffix:+_$Suffix}_Dual_115200/Marlin.hex" "${DestBuild}/MarlinUltimaker${Suffix:+-$Suffix}-115200-dual.hex" | |
else | |
# UM2 | |
make ${BASE_PARAMS} BUILD_DIR="${DestBuild}/_UltimakerMarlin${Suffix:+_$Suffix}" \ | |
DEFINES="'STRING_CONFIG_H_AUTHOR=\"${Version}\"' TEMP_SENSOR_1=0 EXTRUDERS=1 ${Defines}" | |
make ${BASE_PARAMS} BUILD_DIR="${DestBuild}/_UltimakerMarlin${Suffix:+_$Suffix}Dual" \ | |
DEFINES="'STRING_CONFIG_H_AUTHOR=\"${Version}\"' TEMP_SENSOR_1=${TEMP_SENSOR_1} EXTRUDERS=2 ${Defines}" | |
cp "${DestBuild}/_UltimakerMarlin${Suffix:+_$Suffix}/Marlin.hex" "${DestBuild}/MarlinUltimaker${Suffix:+-$Suffix}.hex" | |
cp "${DestBuild}/_UltimakerMarlin${Suffix:+_$Suffix}Dual/Marlin.hex" "${DestBuild}/MarlinUltimaker${Suffix:+-$Suffix}-dual.hex" | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Build UMO Plus firware | |
# Note for the builder: | |
# Z_MIN_INVERT *true* / false -- Invert endstop logic | |
# SOFT_ENDSTOPS *undef* -- use software endstops (UMO only) | |
# Z_HOME_DIR *-1* / 1 -- Home is at Min/Max (-D Z_HOME_DIR=1 for bottom homeing) | |
# Z_HOME_RETRACT_MM *2* -- Retract after homing | |
rm -rf /tmp/x && ./do_make.sh -t UMOP \ | |
-D DISPLAY_FAN \ | |
-D ACTION_COMMAND \ | |
-D FAN_KICKSTART_TIME=300 \ | |
-D FAN_MIN_PWM=85 \ | |
-D TWEAK_TEMP \ | |
-D Z_MIN_INVERT=false \ | |
-D SOFT_Z_ALIGN \ | |
-D Z_HOME_RETRACT_MM=20 \ | |
-d /tmp/x |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment