|
@@ -10,7 +10,7 @@
|
|
|
# 3. Install latest updates with 'sudo apt-get upgrade'
|
|
|
#
|
|
|
#
|
|
|
-# Version: 1.0.0-Build_6
|
|
|
+# Version: 1.0.0-Build_7
|
|
|
# Change log:
|
|
|
# 11 Feb 2021, 3d-gussner, Inital
|
|
|
# 11 Feb 2021, 3d-gussner, Optional flags to check for updates
|
|
@@ -18,6 +18,9 @@
|
|
|
# 13 Feb 2021, 3d-gussner, Auto build SD cards
|
|
|
# 18 Jun 2021, 3d-gussner, Documentation and version number
|
|
|
# 18 Jun 2021, 3d-gussner, Added some arguments and checks
|
|
|
+# 18 Jun 2021, 3d-gussner, Default extrusion graphics to line. Thanks @vintagepc point it out
|
|
|
+# 18 Jun 2021, 3d-gussner, Added -g 3 and 4 for more details extrusion lines
|
|
|
+# 18 Jun 2021, 3d-gussner, Check for updates is default. Fix update if internet connection is lost.
|
|
|
|
|
|
while getopts c:f:g:m:n:p:u:v:x:?h flag
|
|
|
do
|
|
@@ -27,8 +30,8 @@ while getopts c:f:g:m:n:p:u:v:x:?h flag
|
|
|
g) graphics_flag=${OPTARG};;
|
|
|
h) help_flag=1;;
|
|
|
m) mk404_flag=${OPTARG};;
|
|
|
- p) mk404_printer_flag=${OPTARG};;
|
|
|
n) new_build_flag=${OPTARG};;
|
|
|
+ p) mk404_printer_flag=${OPTARG};;
|
|
|
u) update_flag=${OPTARG};;
|
|
|
v) firmware_version_flag=${OPTARG};;
|
|
|
x) board_mem_flag=${OPTARG};;
|
|
@@ -46,24 +49,33 @@ while getopts c:f:g:m:n:p:u:v:x:?h flag
|
|
|
# '?' 'h' argument usage and help
|
|
|
if [ "$help_flag" == "1" ] ; then
|
|
|
echo "***************************************"
|
|
|
-echo "* MK404-build.sh Version: 1.0.0-Build_6 *"
|
|
|
+echo "* MK404-build.sh Version: 1.0.0-Build_7 *"
|
|
|
echo "***************************************"
|
|
|
echo "Arguments:"
|
|
|
-echo "$(tput setaf 2)-c$(tput sgr0) Check for update '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes"
|
|
|
-echo "$(tput setaf 2)-f$(tput sgr0) Board flash size '$(tput setaf 2)256$(tput sgr0)','$(tput setaf 2)384$(tput sgr0)','$(tput setaf 2)512$(tput sgr0)','$(tput setaf 2)1024$(tput sgr0)''$(tput setaf 2)32M$(tput sgr0)'"
|
|
|
-echo "$(tput setaf 2)-g$(tput sgr0) Start MK404 grafics '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' lite '$(tput setaf 2)2$(tput sgr0)' fancy"
|
|
|
+echo "$(tput setaf 2)-c$(tput sgr0) Check for update"
|
|
|
+echo "$(tput setaf 2)-f$(tput sgr0) Board flash size"
|
|
|
+echo "$(tput setaf 2)-g$(tput sgr0) Start MK404 graphics"
|
|
|
echo "$(tput setaf 2)-h$(tput sgr0) Help"
|
|
|
-echo "$(tput setaf 2)-g$(tput sgr0) Start MK404 grafics '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' lite '$(tput setaf 2)2$(tput sgr0)' fancy"
|
|
|
-echo "$(tput setaf 2)-m$(tput sgr0) Start MK404 sim '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes '$(tput setaf 2)2$(tput sgr0)' with MMU2"
|
|
|
-echo "$(tput setaf 2)-n$(tput sgr0) Force new build '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes"
|
|
|
-echo "$(tput setaf 2)-p$(tput sgr0) MK404 Printer '$(tput setaf 2)MK25$(tput sgr0)', '$(tput setaf 2)MK25S$(tput sgr0)', '$(tput setaf 2)MK3$(tput sgr0)' or '$(tput setaf 2)MK3S$(tput sgr0)'"
|
|
|
-echo "$(tput setaf 2)-u$(tput sgr0) Start MK404 grafics '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' lite '$(tput setaf 2)2$(tput sgr0)' fancy"
|
|
|
-echo "$(tput setaf 2)-v$(tput sgr0) Prusa-Firmware version '$(tput setaf 2)path+file name$(tput sgr0)'"
|
|
|
-echo "$(tput setaf 2)-x$(tput sgr0) Board memory size '$(tput setaf 2)8$(tput sgr0)' or '$(tput setaf 2)64$(tput sgr0)' Kb."
|
|
|
+echo "$(tput setaf 2)-m$(tput sgr0) Start MK404 sim"
|
|
|
+echo "$(tput setaf 2)-n$(tput sgr0) Force new build"
|
|
|
+echo "$(tput setaf 2)-p$(tput sgr0) MK404 Printer"
|
|
|
+echo "$(tput setaf 2)-u$(tput sgr0) Update MK404"
|
|
|
+echo "$(tput setaf 2)-v$(tput sgr0) Prusa-Firmware version"
|
|
|
+echo "$(tput setaf 2)-x$(tput sgr0) Board memory size"
|
|
|
echo "$(tput setaf 2)-?$(tput sgr0) Help"
|
|
|
echo
|
|
|
echo "Brief USAGE:"
|
|
|
-echo " $(tput setaf 2)./MK404-build.sh$(tput sgr0) [-c] [-f] [-g] [-m] [-n] [-p] [-u] [-h] [-?]"
|
|
|
+echo " $(tput setaf 2)./MK404-build.sh$(tput sgr0) [-c] [-f] [-g] [-m] [-n] [-p] [-u] [-v] [-x] [-h] [-?]"
|
|
|
+echo
|
|
|
+echo " -c : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes"
|
|
|
+echo " -f : '$(tput setaf 2)256$(tput sgr0)','$(tput setaf 2)384$(tput sgr0)','$(tput setaf 2)512$(tput sgr0)','$(tput setaf 2)1024$(tput sgr0)''$(tput setaf 2)32M$(tput sgr0)'"
|
|
|
+echo " -g : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' lite, '$(tput setaf 2)2$(tput sgr0)' fancy, '$(tput setaf 2)3$(tput sgr0)' lite with Quad_HR, '$(tput setaf 2)4$(tput sgr0)' fancy with Quad_HR"
|
|
|
+echo " -m : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes '$(tput setaf 2)2$(tput sgr0)' with MMU2"
|
|
|
+echo " -n : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes"
|
|
|
+echo " -p : '$(tput setaf 2)MK25$(tput sgr0)', '$(tput setaf 2)MK25S$(tput sgr0)', '$(tput setaf 2)MK3$(tput sgr0)' or '$(tput setaf 2)MK3S$(tput sgr0)'"
|
|
|
+echo " -u : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes '"
|
|
|
+echo " -v : '$(tput setaf 2)path+file name$(tput sgr0)'"
|
|
|
+echo " -x : '$(tput setaf 2)8$(tput sgr0)' or '$(tput setaf 2)64$(tput sgr0)' Kb."
|
|
|
echo
|
|
|
echo "Example:"
|
|
|
echo " $(tput setaf 2)./MK404-build.sh -f 1$(tput sgr0)"
|
|
@@ -167,6 +179,8 @@ fi
|
|
|
cd $MK404_PATH
|
|
|
|
|
|
#Check MK404 agruments
|
|
|
+#Set Check for updates as default
|
|
|
+check_flag=1
|
|
|
#Check mk404_printer_flag
|
|
|
if [ ! -z $mk404_printer_flag ]; then
|
|
|
if [[ "$mk404_printer_flag" == "MK3" || "$mk404_printer_flag" == "MK3S" || "$mk404_printer_flag" == "MK25" || "$mk404_printer_flag" == "MK25S" ]]; then
|
|
@@ -181,24 +195,19 @@ fi
|
|
|
if [ ! -z "$board_flash_flag" ] ; then
|
|
|
if [ "$board_flash_flag" == "256" ] ; then
|
|
|
BOARD_FLASH="0x3FFFF"
|
|
|
- BOARD_maximum_size="253952"
|
|
|
- echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $BOARD_FLASH (hex)"
|
|
|
+ echo "Board flash size : $board_flash_flag Kb, $BOARD_FLASH (hex)"
|
|
|
elif [ "$board_flash_flag" == "384" ] ; then
|
|
|
BOARD_FLASH="0x5FFFF"
|
|
|
- BOARD_maximum_size="385024"
|
|
|
- echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $BOARD_FLASH (hex)"
|
|
|
+ echo "Board flash size : $board_flash_flag Kb, $BOARD_FLASH (hex)"
|
|
|
elif [ "$board_flash_flag" == "512" ] ; then
|
|
|
BOARD_FLASH="0x7FFFF"
|
|
|
- BOARD_maximum_size="516096"
|
|
|
- echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $BOARD_FLASH (hex)"
|
|
|
+ echo "Board flash size : $board_flash_flag Kb, $BOARD_FLASH (hex)"
|
|
|
elif [ "$board_flash_flag" == "1024" ] ; then
|
|
|
- BOARD_FLASH="0xFFFFF"firmware_version_flag
|
|
|
- BOARD_maximum_size="1040384"
|
|
|
- echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $BOARD_FLASH (hex)"
|
|
|
+ BOARD_FLASH="0xFFFFF"
|
|
|
+ echo "Board flash size : $board_flash_flag Kb, $BOARD_FLASH (hex)"
|
|
|
elif [[ "$board_flash_flag" == "32M" || "$board_flash_flag" == "32768" ]] ; then
|
|
|
BOARD_FLASH="0x1FFFFFF"
|
|
|
- BOARD_maximum_size="33546240"
|
|
|
- echo "Board flash size : 32 Mb, $BOARD_maximum_size bytes, $BOARD_FLASH (hex)"
|
|
|
+ echo "Board flash size : 32 Mb, $BOARD_FLASH (hex)"
|
|
|
else
|
|
|
echo "Unsupported board flash size chosen. Only '256', '384', '512', '1024' and '32M' are allowed."
|
|
|
exit 5
|
|
@@ -263,27 +272,31 @@ if [ "$check_flag" == "1" ]; then
|
|
|
echo "$(tput sgr 0)"
|
|
|
|
|
|
# Check for updates
|
|
|
- if [[ "$MK404_local_GIT_COMMIT_HASH" != "$MK404_remote_GIT_COMMIT_HASH" && -z "$update_flag" ]]; then
|
|
|
- echo "$(tput setaf 2)Update is availible.$(tput sgr 0)"
|
|
|
- read -t 10 -n 1 -p "$(tput setaf 3)Update now Y/n$(tput sgr 0)" update_answer
|
|
|
- if [ "$update_answer" == "Y" ]; then
|
|
|
- update_flag=1
|
|
|
+ if [ ! -z $MK404_remote_GIT_COMMIT_HASH ]; then
|
|
|
+ if [[ "$MK404_local_GIT_COMMIT_HASH" != "$MK404_remote_GIT_COMMIT_HASH" && -z "$update_flag" ]]; then
|
|
|
+ echo "$(tput setaf 2)Update is availible.$(tput sgr 0)"
|
|
|
+ read -t 10 -n 1 -p "$(tput setaf 3)Update now Y/n$(tput sgr 0)" update_answer
|
|
|
+ if [ "$update_answer" == "Y" ]; then
|
|
|
+ update_flag=1
|
|
|
+ fi
|
|
|
+ echo ""
|
|
|
fi
|
|
|
- echo ""
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
# Fetch updates and force new build
|
|
|
if [ "$update_flag" == "1" ]; then
|
|
|
- if [ "$MK404_local_GIT_COMMIT_HASH" != "$MK404_remote_GIT_COMMIT_HASH" ]; then
|
|
|
- echo ""
|
|
|
- git fetch --all
|
|
|
- read -t 10 -p "$(tput setaf 2)Updating MK404 !$(tput sgr 0)"
|
|
|
- echo ""
|
|
|
- git reset --hard origin/master
|
|
|
- read -t 10 -p "$(tput setaf 2)Compiling MK404 !$(tput sgr 0)"
|
|
|
- echo ""
|
|
|
- new_build_flag=1
|
|
|
+ if [ ! -z $MK404_remote_GIT_COMMIT_HASH ]; then
|
|
|
+ if [ "$MK404_local_GIT_COMMIT_HASH" != "$MK404_remote_GIT_COMMIT_HASH" ]; then
|
|
|
+ echo ""
|
|
|
+ git fetch --all
|
|
|
+ read -t 10 -p "$(tput setaf 2)Updating MK404 !$(tput sgr 0)"
|
|
|
+ echo ""
|
|
|
+ git reset --hard origin/master
|
|
|
+ read -t 10 -p "$(tput setaf 2)Compiling MK404 !$(tput sgr 0)"
|
|
|
+ echo ""
|
|
|
+ new_build_flag=1
|
|
|
+ fi
|
|
|
fi
|
|
|
fi
|
|
|
|
|
@@ -315,25 +328,33 @@ fi
|
|
|
|
|
|
# Prepare run MK404
|
|
|
#Check MK404_Printer
|
|
|
-MK404_PRINTER_TEMP=$(echo $firmware_version_flag | sed 's/\(.*\)\///' | grep 'MK3')
|
|
|
-if [ ! -z $MK404_PRINTER_TEMP ]; then
|
|
|
- MK404_PRINTER=MK3
|
|
|
-fi
|
|
|
-MK404_PRINTER_TEMP=$(echo $firmware_version_flag | sed 's/\(.*\)\///' | grep 'MK3S')
|
|
|
-if [ ! -z $MK404_PRINTER_TEMP ]; then
|
|
|
- MK404_PRINTER=MK3S
|
|
|
-fi
|
|
|
-MK404_PRINTER_TEMP=$(echo $firmware_version_flag | sed 's/\(.*\)\///' | grep 'MK25')
|
|
|
-if [ ! -z $MK404_PRINTER_TEMP ]; then
|
|
|
- MK404_PRINTER=MK25
|
|
|
-fi
|
|
|
-MK404_PRINTER_TEMP=$(echo $firmware_version_flag | sed 's/\(.*\)\///' | grep 'MK25S')
|
|
|
-if [ ! -z $MK404_PRINTER_TEMP ]; then
|
|
|
- MK404_PRINTER=MK25S
|
|
|
+if [ ! -z $firmware_version_flag ]; then
|
|
|
+ MK404_PRINTER_TEMP=$(echo $firmware_version_flag | sed 's/\(.*\)\///' | grep 'MK3')
|
|
|
+ if [ ! -z $MK404_PRINTER_TEMP ]; then
|
|
|
+ MK404_PRINTER=MK3
|
|
|
+ fi
|
|
|
+ MK404_PRINTER_TEMP=$(echo $firmware_version_flag | sed 's/\(.*\)\///' | grep 'MK3S')
|
|
|
+ if [ ! -z $MK404_PRINTER_TEMP ]; then
|
|
|
+ MK404_PRINTER=MK3S
|
|
|
+ fi
|
|
|
+ MK404_PRINTER_TEMP=$(echo $firmware_version_flag | sed 's/\(.*\)\///' | grep 'MK25')
|
|
|
+ if [ ! -z $MK404_PRINTER_TEMP ]; then
|
|
|
+ MK404_PRINTER=MK25
|
|
|
+ fi
|
|
|
+ MK404_PRINTER_TEMP=$(echo $firmware_version_flag | sed 's/\(.*\)\///' | grep 'MK25S')
|
|
|
+ if [ ! -z $MK404_PRINTER_TEMP ]; then
|
|
|
+ MK404_PRINTER=MK25S
|
|
|
+ fi
|
|
|
+else
|
|
|
+ echo "No firmware version file selected!"
|
|
|
+ echo "Add argument -f with path and hex filename to start MK404"
|
|
|
+ exit 7
|
|
|
fi
|
|
|
+
|
|
|
if [ -z "$MK404_PRINTER" ]; then
|
|
|
echo "Tried to determine MK404 printer from hex file, but failed!"
|
|
|
echo "Add argument -p with 'MK25', 'MK25S', 'MK3' or 'MK3S' to start MK404"
|
|
|
+ exit 8
|
|
|
fi
|
|
|
|
|
|
if [ ! -z $mk404_printer_flag ]; then
|
|
@@ -361,12 +382,11 @@ if [ ! -z $mk404_printer_flag ]; then
|
|
|
;;
|
|
|
esac
|
|
|
done
|
|
|
-
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
if [ -z $MK404_PRINTER ]; then
|
|
|
- exit 7
|
|
|
+ exit 9
|
|
|
fi
|
|
|
|
|
|
if [[ "$MK404_PRINTER" == "MK25" || "$MK404_PRINTER" == "MK25S" ]]; then
|
|
@@ -388,20 +408,25 @@ fi
|
|
|
# Run MK404 with grafics
|
|
|
if [ ! -z "$graphics_flag" ]; then
|
|
|
if [ ! -z "$MK404_options" ]; then
|
|
|
- MK404_options="${MK404_options} --colour-extrusion --extrusion Quad_HR -g "
|
|
|
+ MK404_options="${MK404_options} -g "
|
|
|
else
|
|
|
- MK404_options="--colour-extrusion --extrusion Quad_HR -g "
|
|
|
+ MK404_options=" -g "
|
|
|
fi
|
|
|
- if [[ "$graphics_flag" == "1" || "$graphics_flag" == "lite" ]]; then
|
|
|
+ if [[ "$graphics_flag" == "1" || "$graphics_flag" == "lite" || "$graphics_flag" == "3" ]]; then
|
|
|
MK404_options="${MK404_options}lite"
|
|
|
- elif [[ "$graphics_flag" == "2" || "$graphics_flag" == "fancy" ]]; then
|
|
|
+ elif [[ "$graphics_flag" == "2" || "$graphics_flag" == "fancy" || "$graphics_flag" == "4" ]]; then
|
|
|
MK404_options="${MK404_options}fancy"
|
|
|
else
|
|
|
echo "$(tput setaf 1)Unsupported MK404 graphics option $graphics_flag$(tput sgr 0)"
|
|
|
fi
|
|
|
+ if [[ "$graphics_flag" == "3" || "$graphics_flag" == "4" ]]; then
|
|
|
+ MK404_options="${MK404_options} --colour-extrusion --extrusion Quad_HR"
|
|
|
+ else
|
|
|
+ MK404_options="${MK404_options} --extrusion Line"
|
|
|
+ fi
|
|
|
fi
|
|
|
if [ ! -z $firmware_version_flag ]; then
|
|
|
- MK404_firmware_file=$firmware_version_flag
|
|
|
+ MK404_firmware_file=" -f $firmware_version_flag"
|
|
|
fi
|
|
|
|
|
|
#Run MK404 SIM
|
|
@@ -419,8 +444,8 @@ if [ ! -z $mk404_flag ]; then
|
|
|
# Start MK404
|
|
|
# default with serial output and terminal to manipulate it via terminal
|
|
|
echo ""
|
|
|
- echo "./MK404 Prusa_$MK404_PRINTER -s --terminal $MK404_options -f $MK404_firmware_file"
|
|
|
+ echo "./MK404 Prusa_$MK404_PRINTER -s --terminal $MK404_options $MK404_firmware_file"
|
|
|
sleep 5
|
|
|
- ./MK404 Prusa_$MK404_PRINTER -s --terminal $MK404_options -f $MK404_firmware_file || exit 8
|
|
|
+ ./MK404 Prusa_$MK404_PRINTER -s --terminal $MK404_options $MK404_firmware_file || exit 10
|
|
|
fi
|
|
|
#### End of MK404 Simulator
|