From 497637ee841551b2a6175e1a342fbbea5f2575f8 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 18 Feb 2020 12:23:42 +0100 Subject: [PATCH 001/234] Remove hard-coded X/Y jerk limits --- Firmware/ConfigurationStore.cpp | 4 ---- Firmware/Marlin_main.cpp | 2 -- 2 files changed, 6 deletions(-) diff --git a/Firmware/ConfigurationStore.cpp b/Firmware/ConfigurationStore.cpp index 0bd13a3a1..0698c7f2d 100644 --- a/Firmware/ConfigurationStore.cpp +++ b/Firmware/ConfigurationStore.cpp @@ -247,10 +247,6 @@ bool Config_RetrieveSettings() { EEPROM_readData(reinterpret_cast(EEPROM_M500_base), reinterpret_cast(&cs), sizeof(cs), "cs"); - - - if (cs.max_jerk[X_AXIS] > DEFAULT_XJERK) cs.max_jerk[X_AXIS] = DEFAULT_XJERK; - if (cs.max_jerk[Y_AXIS] > DEFAULT_YJERK) cs.max_jerk[Y_AXIS] = DEFAULT_YJERK; calculate_extruder_multipliers(); //if max_feedrate_silent and max_acceleration_units_per_sq_second_silent were never stored to eeprom, use default values: diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 1dcb89389..38034fa59 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -7102,8 +7102,6 @@ Sigma_Exit: #endif cs.max_jerk[E_AXIS] = e; } - if (cs.max_jerk[X_AXIS] > DEFAULT_XJERK) cs.max_jerk[X_AXIS] = DEFAULT_XJERK; - if (cs.max_jerk[Y_AXIS] > DEFAULT_YJERK) cs.max_jerk[Y_AXIS] = DEFAULT_YJERK; } break; From f37f132ee41413408d50d26c0e646bfc185b7e6a Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 4 Nov 2020 16:00:53 +0100 Subject: [PATCH 002/234] Allow all microstep resolutions for all axes --- Firmware/Marlin_main.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index dd6dd78b1..c2610653d 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -8530,9 +8530,7 @@ Sigma_Exit: if(code_seen(axis_codes[i])) { uint16_t res_new = code_value(); - bool res_valid = (res_new == 8) || (res_new == 16) || (res_new == 32); // resolutions valid for all axis - res_valid |= (i != E_AXIS) && ((res_new == 1) || (res_new == 2) || (res_new == 4)); // resolutions valid for X Y Z only - res_valid |= (i == E_AXIS) && ((res_new == 64) || (res_new == 128)); // resolutions valid for E only + bool res_valid = res_new > 0 && res_new <= 256 && !(res_new & (res_new - 1)); // must be a power of two if (res_valid) { st_synchronize(); From b663abf1600230f96303232c0b8d68740b1d5da9 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 12 Feb 2021 20:12:37 +0100 Subject: [PATCH 003/234] Add MK404 support Indentations --- MK404-build.sh | 135 ++++++ PF-build.sh | 1128 +++++++++++++++++++++++++----------------------- 2 files changed, 718 insertions(+), 545 deletions(-) create mode 100755 MK404-build.sh diff --git a/MK404-build.sh b/MK404-build.sh new file mode 100755 index 000000000..7a9cde51a --- /dev/null +++ b/MK404-build.sh @@ -0,0 +1,135 @@ +#!/bin/bash +# This bash script is used to compile automatically the MK404 simulator +# +# Supported OS: Linux64 bit +# +# Linux: +# Linux Ubuntu +# 1. Follow these instructions +# 2. Open Ubuntu bash and get latest updates with 'sudo apt-get update' +# 3. Install latest updates with 'sudo apt-get upgrade' +# 4. +# +# Version: 0.1-Build_1 +# Change log: +# 11 Feb 2021, 3d-gussner, Inital +# 11 Feb 2021, 3d-gussner, Optional flags to check for updates + + +while getopts c:u:?h flag + do + case "${flag}" in + c) check_flag=${OPTARG};; + u) update_flag=${OPTARG};; + ?) help_flag=1;; + h) help_flag=1;; + esac + done +echo "$check_flag" +echo "$update_flag" + + +#### Start check if OSTYPE is supported +OS_FOUND=$( command -v uname) + +case $( "${OS_FOUND}" | tr '[:upper:]' '[:lower:]') in + linux*) + TARGET_OS="linux" + ;; + *) + TARGET_OS='unknown' + ;; +esac +# Linux +if [ $TARGET_OS == "linux" ]; then + if [ $(uname -m) == "x86_64" ]; then + echo "$(tput setaf 2)Linux 64-bit found$(tput sgr0)" + Processor="64" + #elif [[ $(uname -m) == "i386" || $(uname -m) == "i686" ]]; then + # echo "$(tput setaf 2)Linux 32-bit found$(tput sgr0)" + # Processor="32" + else + echo "$(tput setaf 1)Unsupported OS: Linux $(uname -m)" + echo "Please refer to the notes of build.sh$(tput sgr0)" + exit 1 + fi +else + echo "$(tput setaf 1)This script doesn't support your Operating system!" + echo "Please use Linux 64-bit" + echo "Read the notes of build.sh$(tput sgr0)" + exit 1 +fi +sleep 2 +#### End check if OSTYPE is supported + +#### Check MK404 dependencies +packages=( +"libelf-dev" +"gcc-7" +"gcc-avr" +"libglew-dev" +"freeglut3-dev" +"libsdl-sound1.2-dev" +"libpng-dev" +"cmake" +"zip" +"wget" +"git" +"build-essential" +"lcov" +"mtools" +) + +for check_package in ${packages[@]}; do + if dpkg-query -W -f'${db:Status-Abbrev}\n' $check_package 2>/dev/null \ + | grep -q '^.i $'; then + echo "$(tput setaf 2)$check_package: Installed$(tput sgr0)" + else + echo "$(tput setaf 1)$check_package: Not installed use $(tput setaf 3)'sudo apt install $check_package'$(tput setaf 1) to install missing package$(tput sgr0)" + not_installed=1; + fi +done + +if [ "$not_installed" = "1" ]; then + exit 4 +fi +#### End Check MK404 dependencies + +#### Set build environment +SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" +MK404_URL="https://github.com/vintagepc/MK404.git" +MK404_PATH="$SCRIPT_PATH/../MK404" +MK404_BUILD_PATH="$MK404_PATH/build" + + +# List few useful data +echo +echo "Script path :" $SCRIPT_PATH +echo "OS :" $OS +echo "OS type :" $TARGET_OS +echo "" +echo "MK404 path :" $MK404_PATH + +if [ ! -d $MK404_PATH ]; then + git clone $MK404_URL $MK404_PATH +fi + + cd $MK404_PATH + git submodule init + git submodule update + + +mkdir -p $MK404_BUILD_PATH +if [ ! -f "$MK404_BUILD_PATH/Makefile" ]; then + cmake -B $MK404_BUILD_PATH +fi + +cd $MK404_BUILD_PATH +if [ ! -f "$MK404_BUILD_PATH/MK404" ]; then + make +fi + +if [ "$check_flag" == "1" ]; then + current_version=$( command ./MK404 --version | grep "MK404" | cut -f 4 -d " ") + echo "Current version: $current_version" +fi \ No newline at end of file diff --git a/PF-build.sh b/PF-build.sh index 5b0979e2a..57c49c698 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -91,7 +91,7 @@ # 13 Mar 2019, 3d-gussner, MKbel updated the Linux build environment to version 1.0.2 with an Fix maximum firmware flash size. # So did I # 11 Jul 2019, deliopoulos,Updated to v1.0.6 as Prusa needs a new board definition for Firmware 3.8.x86_64 -# - Split the Download of Windows Arduino IDE 1.8.5 and Prusa specific part +# - Split the Download of Windows Arduino IDE 1.8.5 and Prusa specific part # --> less download volume needed and saves some time # # 13 Jul 2019, deliopoulos,Splitting of Arduino IDE and Prusa parts also for Linux64 @@ -136,6 +136,8 @@ # 08 Jan 2021, 3d-gussner, Comment out 'sudo' auto installation # Add '-?' '-h' help option # 27 Jan 2021, 3d-gussner, Add `-c`, `-p` and `-n` options +# 12 Feb 2021, 3d-gussner, Add MK404-build.sh +# 13 Feb 2021, 3d-gussner, Indentations #### Start check if OSTYPE is supported OS_FOUND=$( command -v uname) @@ -157,35 +159,35 @@ case $( "${OS_FOUND}" | tr '[:upper:]' '[:lower:]') in esac # Windows if [ $TARGET_OS == "windows" ]; then - if [ $(uname -m) == "x86_64" ]; then - echo "$(tput setaf 2)Windows 64-bit found$(tput sgr0)" - Processor="64" - elif [ $(uname -m) == "i386" ]; then - echo "$(tput setaf 2)Windows 32-bit found$(tput sgr0)" - Processor="32" - else - echo "$(tput setaf 1)Unsupported OS: Windows $(uname -m)" - echo "Please refer to the notes of build.sh$(tput sgr0)" - exit 1 - fi + if [ $(uname -m) == "x86_64" ]; then + echo "$(tput setaf 2)Windows 64-bit found$(tput sgr0)" + Processor="64" + elif [ $(uname -m) == "i386" ]; then + echo "$(tput setaf 2)Windows 32-bit found$(tput sgr0)" + Processor="32" + else + echo "$(tput setaf 1)Unsupported OS: Windows $(uname -m)" + echo "Please refer to the notes of build.sh$(tput sgr0)" + exit 1 + fi # Linux elif [ $TARGET_OS == "linux" ]; then - if [ $(uname -m) == "x86_64" ]; then - echo "$(tput setaf 2)Linux 64-bit found$(tput sgr0)" - Processor="64" - elif [[ $(uname -m) == "i386" || $(uname -m) == "i686" ]]; then - echo "$(tput setaf 2)Linux 32-bit found$(tput sgr0)" - Processor="32" - else - echo "$(tput setaf 1)Unsupported OS: Linux $(uname -m)" - echo "Please refer to the notes of build.sh$(tput sgr0)" - exit 1 - fi + if [ $(uname -m) == "x86_64" ]; then + echo "$(tput setaf 2)Linux 64-bit found$(tput sgr0)" + Processor="64" + elif [[ $(uname -m) == "i386" || $(uname -m) == "i686" ]]; then + echo "$(tput setaf 2)Linux 32-bit found$(tput sgr0)" + Processor="32" + else + echo "$(tput setaf 1)Unsupported OS: Linux $(uname -m)" + echo "Please refer to the notes of build.sh$(tput sgr0)" + exit 1 + fi else - echo "$(tput setaf 1)This script doesn't support your Operating system!" - echo "Please use Linux 64-bit or Windows 10 64-bit with Linux subsystem / git-bash" - echo "Read the notes of build.sh$(tput sgr0)" - exit 1 + echo "$(tput setaf 1)This script doesn't support your Operating system!" + echo "Please use Linux 64-bit or Windows 10 64-bit with Linux subsystem / git-bash" + echo "Read the notes of build.sh$(tput sgr0)" + exit 1 fi sleep 2 #### End check if OSTYPE is supported @@ -193,52 +195,52 @@ sleep 2 #### Prepare bash environment and check if wget, zip and other needed things are available # Check wget if ! type wget > /dev/null; then - echo "$(tput setaf 1)Missing 'wget' which is important to run this script" - echo "Please follow these instructions https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058 to install wget$(tput sgr0)" - exit 2 + echo "$(tput setaf 1)Missing 'wget' which is important to run this script" + echo "Please follow these instructions https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058 to install wget$(tput sgr0)" + exit 2 fi # Check for zip if ! type zip > /dev/null; then - if [ $TARGET_OS == "windows" ]; then - echo "$(tput setaf 1)Missing 'zip' which is important to run this script" - echo "Download and install 7z-zip from its official website https://www.7-zip.org/" - echo "By default, it is installed under the directory /c/Program Files/7-Zip in Windows 10 as my case." - echo "Run git Bash under Administrator privilege and" - echo "navigate to the directory /c/Program Files/Git/mingw64/bin," - echo "you can run the command $(tput setaf 2)ln -s /c/Program Files/7-Zip/7z.exe zip.exe$(tput sgr0)" - exit 3 - elif [ $TARGET_OS == "linux" ]; then - echo "$(tput setaf 1)Missing 'zip' which is important to run this script" - echo "install it with the command $(tput setaf 2)'sudo apt-get install zip'$(tput sgr0)" - #sudo apt-get update && apt-get install zip - exit 3 - fi + if [ $TARGET_OS == "windows" ]; then + echo "$(tput setaf 1)Missing 'zip' which is important to run this script" + echo "Download and install 7z-zip from its official website https://www.7-zip.org/" + echo "By default, it is installed under the directory /c/Program Files/7-Zip in Windows 10 as my case." + echo "Run git Bash under Administrator privilege and" + echo "navigate to the directory /c/Program Files/Git/mingw64/bin," + echo "you can run the command $(tput setaf 2)ln -s /c/Program Files/7-Zip/7z.exe zip.exe$(tput sgr0)" + exit 3 + elif [ $TARGET_OS == "linux" ]; then + echo "$(tput setaf 1)Missing 'zip' which is important to run this script" + echo "install it with the command $(tput setaf 2)'sudo apt-get install zip'$(tput sgr0)" + #sudo apt-get update && apt-get install zip + exit 3 + fi fi # Check python ... needed during language build if ! type python > /dev/null; then - if [ $TARGET_OS == "windows" ]; then - echo "$(tput setaf 1)Missing 'python3' which is important to run this script" - exit 4 - elif [ $TARGET_OS == "linux" ]; then - echo "$(tput setaf 1)Missing 'python' which is important to run this script" - echo "As Python 2.x will not be maintained from 2020 please," - echo "install it with the command $(tput setaf 2)'sudo apt-get install python3'." - echo "Check which version of Python3 has been installed using 'ls /usr/bin/python3*'" - echo "Use 'sudo ln -sf /usr/bin/python3.x /usr/bin/python' (where 'x' is your version number) to make it default.$(tput sgr0)" - #sudo apt-get update && apt-get install python3 && ln -sf /usr/bin/python3 /usr/bin/python - exit 4 - fi + if [ $TARGET_OS == "windows" ]; then + echo "$(tput setaf 1)Missing 'python3' which is important to run this script" + exit 4 + elif [ $TARGET_OS == "linux" ]; then + echo "$(tput setaf 1)Missing 'python' which is important to run this script" + echo "As Python 2.x will not be maintained from 2020 please," + echo "install it with the command $(tput setaf 2)'sudo apt-get install python3'." + echo "Check which version of Python3 has been installed using 'ls /usr/bin/python3*'" + echo "Use 'sudo ln -sf /usr/bin/python3.x /usr/bin/python' (where 'x' is your version number) to make it default.$(tput sgr0)" + #sudo apt-get update && apt-get install python3 && ln -sf /usr/bin/python3 /usr/bin/python + exit 4 + fi fi # Check gawk ... needed during language build if ! type gawk > /dev/null; then - if [ $TARGET_OS == "linux" ]; then - echo "$(tput setaf 1)Missing 'gawk' which is important to run this script" - echo "install it with the command $(tput setaf 2)'sudo apt-get install gawk'." - #sudo apt-get update && apt-get install gawk - exit 4 - fi + if [ $TARGET_OS == "linux" ]; then + echo "$(tput setaf 1)Missing 'gawk' which is important to run this script" + echo "install it with the command $(tput setaf 2)'sudo apt-get install gawk'." + #sudo apt-get update && apt-get install gawk + exit 4 + fi fi #### End prepare bash / Linux environment @@ -287,157 +289,157 @@ BUILD_ENV_PATH="$( cd "$(dirname "$0")" ; pwd -P )" # Check if PF-build-env- exists and downloads + creates it if not # The build environment is based on the supported Arduino IDE portable version with some changes if [ ! -d "../PF-build-env-$BUILD_ENV" ]; then - echo "$(tput setaf 6)PF-build-env-$BUILD_ENV is missing ... creating it now for you$(tput sgr 0)" - mkdir ../PF-build-env-$BUILD_ENV - sleep 5 + echo "$(tput setaf 6)PF-build-env-$BUILD_ENV is missing ... creating it now for you$(tput sgr 0)" + mkdir ../PF-build-env-$BUILD_ENV + sleep 5 fi # Download and extract supported Arduino IDE depending on OS # Windows if [ $TARGET_OS == "windows" ]; then - if [ ! -f "arduino-$ARDUINO_ENV-windows.zip" ]; then - echo "$(tput setaf 6)Downloading Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" - sleep 2 - wget https://downloads.arduino.cc/arduino-$ARDUINO_ENV-windows.zip || exit 7 - echo "$(tput sgr 0)" - fi - if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then - echo "$(tput setaf 6)Unzipping Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" - sleep 2 - unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 7 - mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor - echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" - fi + if [ ! -f "arduino-$ARDUINO_ENV-windows.zip" ]; then + echo "$(tput setaf 6)Downloading Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" + sleep 2 + wget https://downloads.arduino.cc/arduino-$ARDUINO_ENV-windows.zip || exit 7 + echo "$(tput sgr 0)" + fi + if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then + echo "$(tput setaf 6)Unzipping Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" + sleep 2 + unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 7 + mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor + echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" + fi fi # Linux if [ $TARGET_OS == "linux" ]; then # 32 or 64 bit version - if [ ! -f "arduino-$ARDUINO_ENV-linux$Processor.tar.xz" ]; then - echo "$(tput setaf 6)Downloading Linux $Processor Arduino IDE portable...$(tput setaf 2)" - sleep 2 - wget --no-check-certificate https://downloads.arduino.cc/arduino-$ARDUINO_ENV-linux$Processor.tar.xz || exit 8 - echo "$(tput sgr 0)" - fi - if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then - echo "$(tput setaf 6)Unzipping Linux $Processor Arduino IDE portable...$(tput setaf 2)" - sleep 2 - tar -xvf arduino-$ARDUINO_ENV-linux$Processor.tar.xz -C ../PF-build-env-$BUILD_ENV/ || exit 8 - mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor - echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" - fi + if [ ! -f "arduino-$ARDUINO_ENV-linux$Processor.tar.xz" ]; then + echo "$(tput setaf 6)Downloading Linux $Processor Arduino IDE portable...$(tput setaf 2)" + sleep 2 + wget --no-check-certificate https://downloads.arduino.cc/arduino-$ARDUINO_ENV-linux$Processor.tar.xz || exit 8 + echo "$(tput sgr 0)" + fi + if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then + echo "$(tput setaf 6)Unzipping Linux $Processor Arduino IDE portable...$(tput setaf 2)" + sleep 2 + tar -xvf arduino-$ARDUINO_ENV-linux$Processor.tar.xz -C ../PF-build-env-$BUILD_ENV/ || exit 8 + mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor + echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" + fi fi # Make Arduino IDE portable if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/ + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/ fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/output/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/output + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/output fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook/libraries/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook/libraries + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook/libraries fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/staging/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/staging + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/staging fi # Change Arduino IDE preferences if [ ! -e ../PF-build-env-$BUILD_ENV/Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt ]; then - echo "$(tput setaf 6)Setting $ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor Arduino IDE preferences for portable GUI usage...$(tput setaf 2)" - sleep 2 - echo "update.check" - sed -i 's/update.check = true/update.check = false/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "board" - sed -i "s/board = uno/board = $BOARD/g" ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "editor.linenumbers" - sed -i 's/editor.linenumbers = false/editor.linenumbers = true/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "boardsmanager.additional.urls" - echo "boardsmanager.additional.urls=$BOARD_URL" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "build.verbose=true" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "compiler.cache_core=false" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "compiler.warning_level=all" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "# Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" + echo "$(tput setaf 6)Setting $ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor Arduino IDE preferences for portable GUI usage...$(tput setaf 2)" + sleep 2 + echo "update.check" + sed -i 's/update.check = true/update.check = false/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "board" + sed -i "s/board = uno/board = $BOARD/g" ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "editor.linenumbers" + sed -i 's/editor.linenumbers = false/editor.linenumbers = true/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "boardsmanager.additional.urls" + echo "boardsmanager.additional.urls=$BOARD_URL" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "build.verbose=true" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "compiler.cache_core=false" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "compiler.warning_level=all" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "# Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" fi # Download and extract Prusa Firmware related parts # Download and extract PrusaResearchRambo board if [ ! -f "$BOARD_FILENAME-$BOARD_VERSION.tar.bz2" ]; then - echo "$(tput setaf 6)Downloading Prusa Research AVR MK3 RAMBo EINSy build environment...$(tput setaf 2)" - sleep 2 - wget $BOARD_FILE_URL || exit 9 + echo "$(tput setaf 6)Downloading Prusa Research AVR MK3 RAMBo EINSy build environment...$(tput setaf 2)" + sleep 2 + wget $BOARD_FILE_URL || exit 9 fi if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION" || ! -e "../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then - echo "$(tput setaf 6)Unzipping $BOARD_PACKAGE_NAME Arduino IDE portable...$(tput setaf 2)" - sleep 2 - tar -xvf $BOARD_FILENAME-$BOARD_VERSION.tar.bz2 -C ../PF-build-env-$BUILD_ENV/ || exit 10 - if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME - fi - if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME - fi - if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware - fi - if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr - fi - - mv ../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$BOARD_VERSION ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION - echo "# $BOARD_FILENAME-$BOARD_VERSION" >> ../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput setaf 6)Unzipping $BOARD_PACKAGE_NAME Arduino IDE portable...$(tput setaf 2)" + sleep 2 + tar -xvf $BOARD_FILENAME-$BOARD_VERSION.tar.bz2 -C ../PF-build-env-$BUILD_ENV/ || exit 10 + if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME + fi + if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME + fi + if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware ]; then + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware + fi + if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr ]; then + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr + fi + + mv ../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$BOARD_VERSION ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION + echo "# $BOARD_FILENAME-$BOARD_VERSION" >> ../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr 0)" -fi + echo "$(tput sgr 0)" +fi # Download and extract Prusa Firmware specific library files if [ ! -f "PF-build-env-WinLin-$BUILD_ENV.zip" ]; then - echo "$(tput setaf 6)Downloading Prusa Firmware build environment...$(tput setaf 2)" - sleep 2 - wget $PF_BUILD_FILE_URL || exit 11 - echo "$(tput sgr 0)" + echo "$(tput setaf 6)Downloading Prusa Firmware build environment...$(tput setaf 2)" + sleep 2 + wget $PF_BUILD_FILE_URL || exit 11 + echo "$(tput sgr 0)" fi if [ ! -e "../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]; then - echo "$(tput setaf 6)Unzipping Prusa Firmware build environment...$(tput setaf 2)" - sleep 2 - unzip -o PF-build-env-WinLin-$BUILD_ENV.zip -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 12 - echo "# PF-build-env-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" + echo "$(tput setaf 6)Unzipping Prusa Firmware build environment...$(tput setaf 2)" + sleep 2 + unzip -o PF-build-env-WinLin-$BUILD_ENV.zip -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 12 + echo "# PF-build-env-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" fi # Check if User updated Arduino IDE 1.8.5 boardsmanager and tools if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools" ]; then - echo "$(tput setaf 6)Arduino IDE boards / tools have been manually updated...$" - echo "Please don't update the 'Arduino AVR boards' as this will prevent running this script (tput setaf 2)" - sleep 2 -fi + echo "$(tput setaf 6)Arduino IDE boards / tools have been manually updated...$" + echo "Please don't update the 'Arduino AVR boards' as this will prevent running this script (tput setaf 2)" + sleep 2 +fi if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2" ]; then - echo "$(tput setaf 6)PrusaReasearch compatible tools have been manually updated...$(tput setaf 2)" - sleep 2 - echo "$(tput setaf 6)Copying Prusa Firmware build environment to manually updated boards / tools...$(tput setaf 2)" - sleep 2 - cp -f ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/hardware/tools/avr/avr/lib/ldscripts/avr6.xn ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/avr/lib/ldscripts/avr6.xn - echo "# PF-build-env-portable-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-portable-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" -fi + echo "$(tput setaf 6)PrusaReasearch compatible tools have been manually updated...$(tput setaf 2)" + sleep 2 + echo "$(tput setaf 6)Copying Prusa Firmware build environment to manually updated boards / tools...$(tput setaf 2)" + sleep 2 + cp -f ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/hardware/tools/avr/avr/lib/ldscripts/avr6.xn ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/avr/lib/ldscripts/avr6.xn + echo "# PF-build-env-portable-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-portable-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" +fi if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2" ]; then - echo "$(tput setaf 1)Arduino IDE tools have been updated manually to a non supported version!!!" - echo "Delete ../PF-build-env-$BUILD_ENV and start the script again" - echo "Script will not continue until this have been fixed $(tput setaf 2)" - sleep 2 - echo "$(tput sgr0)" - exit 13 + echo "$(tput setaf 1)Arduino IDE tools have been updated manually to a non supported version!!!" + echo "Delete ../PF-build-env-$BUILD_ENV and start the script again" + echo "Script will not continue until this have been fixed $(tput setaf 2)" + sleep 2 + echo "$(tput sgr0)" + exit 13 fi @@ -449,24 +451,26 @@ cd $SCRIPT_PATH # Check if git is available if type git > /dev/null; then - git_available="1" + git_available="1" fi -while getopts v:l:d:b:o:c:p:n:?h flag - do - case "${flag}" in - v) variant_flag=${OPTARG};; - l) language_flag=${OPTARG};; - d) devel_flag=${OPTARG};; - b) build_flag=${OPTARG};; - o) output_flag=${OPTARG};; - c) clean_flag=${OPTARG};; - p) prusa_flag=${OPTARG};; - n) new_build_flag=${OPTARG};; - ?) help_flag=1;; - h) help_flag=1;; - esac - done +while getopts v:l:d:b:o:c:p:n:m:g:?h flag + do + case "${flag}" in + v) variant_flag=${OPTARG};; + l) language_flag=${OPTARG};; + d) devel_flag=${OPTARG};; + b) build_flag=${OPTARG};; + o) output_flag=${OPTARG};; + c) clean_flag=${OPTARG};; + p) prusa_flag=${OPTARG};; + n) new_build_flag=${OPTARG};; + m) mk404_flag=${OPTARG};; + g) grafics_flag=${OPTARG};; + ?) help_flag=1;; + h) help_flag=1;; + esac + done #echo "variant_flag: $variant_flag"; #echo "language_flag: $language_flag"; #echo "devel_flag: $devel_flag"; @@ -492,11 +496,13 @@ echo "$(tput setaf 2)-o$(tput sgr0) Output '$(tput setaf 2)1$(tput sgr0)' force echo "$(tput setaf 2)-c$(tput sgr0) Do not clean up lang build'$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" echo "$(tput setaf 2)-p$(tput sgr0) Keep Configuration_prusa.h '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" echo "$(tput setaf 2)-n$(tput sgr0) New fresh build '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" +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)-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)-?$(tput sgr0) Help" echo "$(tput setaf 2)-h$(tput sgr0) Help" echo echo "Brief USAGE:" -echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-v] [-l] [-d] [-b] [-o] [-c] [-p] [-n]" +echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-v] [-l] [-d] [-b] [-o] [-c] [-p] [-n] [-m]" echo echo "Example:" echo " $(tput setaf 2)./PF-build.sh -v All -l ALL -d GOLD$(tput sgr0)" @@ -514,48 +520,48 @@ fi # # '-v' argument defines which variant of the Prusa Firmware will be compiled if [ -z "$variant_flag" ] ; then - # Select which variant of the Prusa Firmware will be compiled, like - PS3="Select a variant: " - while IFS= read -r -d $'\0' f; do - options[i++]="$f" - done < <(find Firmware/variants/ -maxdepth 1 -type f -name "*.h" -print0 ) - select opt in "${options[@]}" "All" "Quit"; do - case $opt in - *.h) - VARIANT=$(basename "$opt" ".h") - VARIANTS[i++]="$opt" - break - ;; - "All") - VARIANT="All" - VARIANTS=${options[*]} - break - ;; - "Quit") - echo "You chose to stop" - exit 20 - ;; - *) - echo "$(tput setaf 1)This is not a valid variant$(tput sgr0)" - ;; - esac - done + # Select which variant of the Prusa Firmware will be compiled, like + PS3="Select a variant: " + while IFS= read -r -d $'\0' f; do + options[i++]="$f" + done < <(find Firmware/variants/ -maxdepth 1 -type f -name "*.h" -print0 ) + select opt in "${options[@]}" "All" "Quit"; do + case $opt in + *.h) + VARIANT=$(basename "$opt" ".h") + VARIANTS[i++]="$opt" + break + ;; + "All") + VARIANT="All" + VARIANTS=${options[*]} + break + ;; + "Quit") + echo "You chose to stop" + exit 20 + ;; + *) + echo "$(tput setaf 1)This is not a valid variant$(tput sgr0)" + ;; + esac + done else - if [ -f "$SCRIPT_PATH/Firmware/variants/$variant_flag" ] ; then - VARIANTS=$variant_flag - elif [ "$variant_flag" == "All" ] ; then - while IFS= read -r -d $'\0' f; do - options[i++]="$f" - done < <(find Firmware/variants/ -maxdepth 1 -type f -name "*.h" -print0 ) - VARIANT="All" - VARIANTS=${options[*]} - else - echo "$(tput setaf 1)Argument $variant_flag could not be found in Firmware/variants please choose a valid one.$(tput sgr0)" - echo "Only $(tput setaf 2)'All'$(tput sgr0) and file names below are allowed as variant '-v' argument.$(tput setaf 2)" - ls -1 $SCRIPT_PATH/Firmware/variants/*.h | xargs -n1 basename - echo "$(tput sgr0)" - exit 21 - fi + if [ -f "$SCRIPT_PATH/Firmware/variants/$variant_flag" ] ; then + VARIANTS=$variant_flag + elif [ "$variant_flag" == "All" ] ; then + while IFS= read -r -d $'\0' f; do + options[i++]="$f" + done < <(find Firmware/variants/ -maxdepth 1 -type f -name "*.h" -print0 ) + VARIANT="All" + VARIANTS=${options[*]} + else + echo "$(tput setaf 1)Argument $variant_flag could not be found in Firmware/variants please choose a valid one.$(tput sgr0)" + echo "Only $(tput setaf 2)'All'$(tput sgr0) and file names below are allowed as variant '-v' argument.$(tput setaf 2)" + ls -1 $SCRIPT_PATH/Firmware/variants/*.h | xargs -n1 basename + echo "$(tput sgr0)" + exit 21 + fi fi #'-l' argument defines if it is an English only version. Known values EN_ONLY / ALL @@ -563,86 +569,86 @@ fi MULTI_LANGUAGE_CHECK=$(grep --max-count=1 "^#define LANG_MODE *" $SCRIPT_PATH/Firmware/config.h|sed -e's/ */ /g'|cut -d ' ' -f3) if [ -z "$language_flag" ] ; then - PS3="Select a language: " - echo - echo "Which lang-build do you want?" - select yn in "Multi languages" "English only"; do - case $yn in - "Multi languages") - LANGUAGES="ALL" - break - ;; - "English only") - LANGUAGES="EN_ONLY" - break - ;; - *) - echo "$(tput setaf 1)This is not a valid language$(tput sgr0)" - ;; - esac - done + PS3="Select a language: " + echo + echo "Which lang-build do you want?" + select yn in "Multi languages" "English only"; do + case $yn in + "Multi languages") + LANGUAGES="ALL" + break + ;; + "English only") + LANGUAGES="EN_ONLY" + break + ;; + *) + echo "$(tput setaf 1)This is not a valid language$(tput sgr0)" + ;; + esac + done else - if [[ "$language_flag" == "ALL" || "$language_flag" == "EN_ONLY" ]] ; then - LANGUAGES=$language_flag - else - echo "$(tput setaf 1)Language argument is wrong!$(tput sgr0)" - echo "Only $(tput setaf 2)'ALL'$(tput sgr0) or $(tput setaf 2)'EN_ONLY'$(tput sgr0) are allowed as language '-l' argument!" - exit 22 - fi + if [[ "$language_flag" == "ALL" || "$language_flag" == "EN_ONLY" ]] ; then + LANGUAGES=$language_flag + else + echo "$(tput setaf 1)Language argument is wrong!$(tput sgr0)" + echo "Only $(tput setaf 2)'ALL'$(tput sgr0) or $(tput setaf 2)'EN_ONLY'$(tput sgr0) are allowed as language '-l' argument!" + exit 22 + fi fi #Check if DEV_STATUS is selected via argument '-d' if [ ! -z "$devel_flag" ] ; then - if [[ "$devel_flag" == "GOLD" || "$devel_flag" == "RC" || "$devel_flag" == "BETA" || "$devel_flag" == "ALPHA" || "$devel_flag" == "DEVEL" || "$devel_flag" == "DEBUG" || "$devel_flag" == "UNKNOWN" ]] ; then - DEV_STATUS_SELECTED=$devel_flag - else - echo "$(tput setaf 1)Development argument is wrong!$(tput sgr0)" - echo "Only $(tput setaf 2)'GOLD', 'RC', 'BETA', 'ALPHA', 'DEVEL', 'DEBUG' or 'UNKNOWN' $(tput sgr0) are allowed as devel '-d' argument!$(tput sgr0)" - exit 23 - fi + if [[ "$devel_flag" == "GOLD" || "$devel_flag" == "RC" || "$devel_flag" == "BETA" || "$devel_flag" == "ALPHA" || "$devel_flag" == "DEVEL" || "$devel_flag" == "DEBUG" || "$devel_flag" == "UNKNOWN" ]] ; then + DEV_STATUS_SELECTED=$devel_flag + else + echo "$(tput setaf 1)Development argument is wrong!$(tput sgr0)" + echo "Only $(tput setaf 2)'GOLD', 'RC', 'BETA', 'ALPHA', 'DEVEL', 'DEBUG' or 'UNKNOWN' $(tput sgr0) are allowed as devel '-d' argument!$(tput sgr0)" + exit 23 + fi fi #Check if Build is selected via argument '-b' if [ ! -z "$build_flag" ] ; then - if [[ "$build_flag" == "Auto" && "$git_available" == "1" ]] ; then - echo "Build changed to $build_flag" - BUILD=$(git rev-list --count HEAD) - elif [[ $build_flag =~ ^[0-9]+$ ]] ; then - BUILD=$build_flag - else - echo "$(tput setaf 1)Build number argument is wrong!$(tput sgr0)" - echo "Only $(tput setaf 2)'Auto' (git needed) or numbers $(tput sgr0) are allowed as build '-b' argument!$(tput sgr0)" - exit 24 + if [[ "$build_flag" == "Auto" && "$git_available" == "1" ]] ; then + echo "Build changed to $build_flag" + BUILD=$(git rev-list --count HEAD) + elif [[ $build_flag =~ ^[0-9]+$ ]] ; then + BUILD=$build_flag + else + echo "$(tput setaf 1)Build number argument is wrong!$(tput sgr0)" + echo "Only $(tput setaf 2)'Auto' (git needed) or numbers $(tput sgr0) are allowed as build '-b' argument!$(tput sgr0)" + exit 24 - fi - echo "New Build number is: $BUILD" + fi + echo "New Build number is: $BUILD" fi # check if script has been started with arguments if [[ "$#" -eq "0" || "$output_flag" == 1 ]] ; then - OUTPUT=1 + OUTPUT=1 else - OUTPUT=0 + OUTPUT=0 fi #echo "Output is:" $OUTPUT #Check git branch has changed if [ ! -z "git_available" ]; then - BRANCH="" - CLEAN_PF_FW_BUILD=0 + BRANCH="" + CLEAN_PF_FW_BUILD=0 else - BRANCH=$(git branch --show-current) - echo "Current branch is:" $BRANCH - if [ ! -f "$SCRIPT_PATH/../PF-build.branch" ]; then - echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch - echo "created PF-build.branch file" - else - PRE_BRANCH=$(cat "$SCRIPT_PATH/../PF-build.branch") - echo "Previous branch was:" $PRE_BRANCH - if [ ! "$BRANCH" == "$PRE_BRANCH" ] ; then - CLEAN_PF_FW_BUILD=1 - echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch - fi - fi + BRANCH=$(git branch --show-current) + echo "Current branch is:" $BRANCH + if [ ! -f "$SCRIPT_PATH/../PF-build.branch" ]; then + echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch + echo "created PF-build.branch file" + else + PRE_BRANCH=$(cat "$SCRIPT_PATH/../PF-build.branch") + echo "Previous branch was:" $PRE_BRANCH + if [ ! "$BRANCH" == "$PRE_BRANCH" ] ; then + CLEAN_PF_FW_BUILD=1 + echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch + fi + fi fi #Set BUILD_ENV_PATH @@ -662,292 +668,324 @@ BUILD_PATH="$( pwd -P )" #Check git branch has changed if [ "$CLEAN_PF_FW_BUILD" == "1" ]; then - read -t 10 -p "Branch changed, cleaning Prusa-Firmware-build folder" - rm -r * + read -t 10 -p "Branch changed, cleaning Prusa-Firmware-build folder" + rm -r * else - echo "Nothing to clean up" + echo "Nothing to clean up" fi for v in ${VARIANTS[*]} do - VARIANT=$(basename "$v" ".h") - # Find firmware version in Configuration.h file and use it to generate the hex filename - FW=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g') - if [ -z "$BUILD" ] ; then - # Find build version in Configuration.h file and use it to generate the hex filename - BUILD=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) - else - # Find and replace build version in Configuration.h file - BUILD_ORG=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) - echo "Original build number: $BUILD_ORG" - sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD/g" $SCRIPT_PATH/Firmware/Configuration.h - fi - # Check if the motherboard is an EINSY and if so only one hex file will generated - MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) - # Check development status - DEV_CHECK=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g'|cut -d '-' -f2) - if [ -z "$DEV_STATUS_SELECTED" ] ; then - if [[ "$DEV_CHECK" == *"RC"* ]] ; then - DEV_STATUS="RC" - elif [[ "$DEV_CHECK" == "ALPHA" ]]; then - DEV_STATUS="ALPHA" - elif [[ "$DEV_CHECK" == "BETA" ]]; then - DEV_STATUS="BETA" - elif [[ "$DEV_CHECK" == "DEVEL" ]]; then - DEV_STATUS="DEVEL" - elif [[ "$DEV_CHECK" == "DEBUG" ]]; then - DEV_STATUS="DEBUG" - else - DEV_STATUS="UNKNOWN" - echo - echo "$(tput setaf 5)DEV_STATUS is UNKNOWN. Do you wish to set DEV_STATUS to GOLD?$(tput sgr0)" - PS3="Select YES only if source code is tested and trusted: " - select yn in "Yes" "No"; do - case $yn in - Yes) - DEV_STATUS="GOLD" - DEV_STATUS_SELECTED="GOLD" - break - ;; - No) - DEV_STATUS="UNKNOWN" - DEV_STATUS_SELECTED="UNKNOWN" - break - ;; - *) - echo "$(tput setaf 1)This is not a valid DEV_STATUS$(tput sgr0)" - ;; - esac - done - fi - else - DEV_STATUS=$DEV_STATUS_SELECTED - fi - #Prepare hex files folders - if [ ! -d "$SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" ]; then - mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD || exit 28 - fi - OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" - - #Check if exactly the same hexfile already exists - if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex" && "$LANGUAGES" == "ALL" ]]; then - echo "" - ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex | xargs -n1 basename - echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - elif [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex" && "$LANGUAGES" == "EN_ONLY" ]]; then - echo "" - ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex | xargs -n1 basename - echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - fi - if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip" && "$LANGUAGES" == "ALL" ]]; then - echo "" - ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip | xargs -n1 basename - echo "$(tput setaf 6)This zip file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - fi - - #List some useful data - echo "$(tput setaf 2)$(tput setab 7) " - echo "Variant :" $VARIANT - echo "Firmware :" $FW - echo "Build # :" $BUILD - echo "Dev Check :" $DEV_CHECK - echo "DEV Status :" $DEV_STATUS - echo "Motherboard:" $MOTHERBOARD - echo "Languages :" $LANGUAGES - echo "Hex-file Folder:" $OUTPUT_FOLDER - echo "$(tput sgr0)" + VARIANT=$(basename "$v" ".h") + PRINTER=$(grep --max-count=1 "\bPRINTER_TYPE\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3 | cut -d '_' -f2) + # Find firmware version in Configuration.h file and use it to generate the hex filename + FW=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g') + if [ -z "$BUILD" ] ; then + # Find build version in Configuration.h file and use it to generate the hex filename + BUILD=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) + else + # Find and replace build version in Configuration.h file + BUILD_ORG=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) + echo "Original build number: $BUILD_ORG" + sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD/g" $SCRIPT_PATH/Firmware/Configuration.h + fi + # Check if the motherboard is an EINSY and if so only one hex file will generated + MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) + # Check development status + DEV_CHECK=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g'|cut -d '-' -f2) + if [ -z "$DEV_STATUS_SELECTED" ] ; then + if [[ "$DEV_CHECK" == *"RC"* ]] ; then + DEV_STATUS="RC" + elif [[ "$DEV_CHECK" == "ALPHA" ]]; then + DEV_STATUS="ALPHA" + elif [[ "$DEV_CHECK" == "BETA" ]]; then + DEV_STATUS="BETA" + elif [[ "$DEV_CHECK" == "DEVEL" ]]; then + DEV_STATUS="DEVEL" + elif [[ "$DEV_CHECK" == "DEBUG" ]]; then + DEV_STATUS="DEBUG" + else + DEV_STATUS="UNKNOWN" + echo + echo "$(tput setaf 5)DEV_STATUS is UNKNOWN. Do you wish to set DEV_STATUS to GOLD?$(tput sgr0)" + PS3="Select YES only if source code is tested and trusted: " + select yn in "Yes" "No"; do + case $yn in + Yes) + DEV_STATUS="GOLD" + DEV_STATUS_SELECTED="GOLD" + break + ;; + No) + DEV_STATUS="UNKNOWN" + DEV_STATUS_SELECTED="UNKNOWN" + break + ;; + *) + echo "$(tput setaf 1)This is not a valid DEV_STATUS$(tput sgr0)" + ;; + esac + done + fi + else + DEV_STATUS=$DEV_STATUS_SELECTED + fi + #Prepare hex files folders + if [ ! -d "$SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" ]; then + mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD || exit 28 + fi + OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" + + #Check if exactly the same hexfile already exists + if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex" && "$LANGUAGES" == "ALL" ]]; then + echo "" + ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex | xargs -n1 basename + echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + elif [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex" && "$LANGUAGES" == "EN_ONLY" ]]; then + echo "" + ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex | xargs -n1 basename + echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + fi + if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip" && "$LANGUAGES" == "ALL" ]]; then + echo "" + ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip | xargs -n1 basename + echo "$(tput setaf 6)This zip file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + fi + + #List some useful data + echo "$(tput setaf 2)$(tput setab 7) " + echo "Printer :" $PRINTER + echo "Variant :" $VARIANT + echo "Firmware :" $FW + echo "Build # :" $BUILD + echo "Dev Check :" $DEV_CHECK + echo "DEV Status :" $DEV_STATUS + echo "Motherboard:" $MOTHERBOARD + echo "Languages :" $LANGUAGES + echo "Hex-file Folder:" $OUTPUT_FOLDER + echo "$(tput sgr0)" - #Prepare Firmware to be compiled by copying variant as Configuration_prusa.h - if [ ! -f "$SCRIPT_PATH/Firmware/Configuration_prusa.h" ]; then - cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 - else - echo "$(tput setaf 6)Configuration_prusa.h already exist it will be overwritten in 10 seconds by the chosen variant.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 - fi + #Prepare Firmware to be compiled by copying variant as Configuration_prusa.h + if [ ! -f "$SCRIPT_PATH/Firmware/Configuration_prusa.h" ]; then + cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 + else + echo "$(tput setaf 6)Configuration_prusa.h already exist it will be overwritten in 10 seconds by the chosen variant.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 + fi - #Prepare Configuration.h to use the correct FW_DEV_VERSION to prevent LCD messages when connecting with OctoPrint - sed -i -- "s/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/g" $SCRIPT_PATH/Firmware/Configuration.h + #Prepare Configuration.h to use the correct FW_DEV_VERSION to prevent LCD messages when connecting with OctoPrint + sed -i -- "s/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/g" $SCRIPT_PATH/Firmware/Configuration.h - # set FW_REPOSITORY - sed -i -- 's/#define FW_REPOSITORY "Unknown"/#define FW_REPOSITORY "Prusa3d"/g' $SCRIPT_PATH/Firmware/Configuration.h + # set FW_REPOSITORY + sed -i -- 's/#define FW_REPOSITORY "Unknown"/#define FW_REPOSITORY "Prusa3d"/g' $SCRIPT_PATH/Firmware/Configuration.h - #Prepare English only or multi-language version to be build - if [ $LANGUAGES == "EN_ONLY" ]; then - echo " " - echo "English only language firmware will be built" - sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE 0/g" $SCRIPT_PATH/Firmware/config.h - echo " " - else - echo " " - echo "Multi-language firmware will be built" - sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE 1/g" $SCRIPT_PATH/Firmware/config.h - echo " " - fi - - #Check if compiler flags are set to Prusa specific needs for the rambo board. -# if [ $TARGET_OS == "windows" ]; then -# RAMBO_PLATFORM_FILE="PrusaResearchRambo/avr/platform.txt" -# fi - - #### End of Prepare building - - #### Start building - - export ARDUINO=$BUILD_ENV_PATH - #echo $BUILD_ENV_PATH - #export BUILDER=$ARDUINO/arduino-builder + #Prepare English only or multi-language version to be build + if [ $LANGUAGES == "EN_ONLY" ]; then + echo " " + echo "English only language firmware will be built" + sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE 0/g" $SCRIPT_PATH/Firmware/config.h + echo " " + else + echo " " + echo "Multi-language firmware will be built" + sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE 1/g" $SCRIPT_PATH/Firmware/config.h + echo " " + fi + + #Check if compiler flags are set to Prusa specific needs for the rambo board. +# if [ $TARGET_OS == "windows" ]; then +# RAMBO_PLATFORM_FILE="PrusaResearchRambo/avr/platform.txt" +# fi + + #### End of Prepare building + + #### Start building + + export ARDUINO=$BUILD_ENV_PATH + #echo $BUILD_ENV_PATH + #export BUILDER=$ARDUINO/arduino-builder - echo - #read -t 5 -p "Press Enter..." - echo + echo + #read -t 5 -p "Press Enter..." + echo - echo "Start to build Prusa Firmware ..." - echo "Using variant $VARIANT$(tput setaf 3)" - if [ $OUTPUT == "1" ] ; then - sleep 2 - fi + echo "Start to build Prusa Firmware ..." + echo "Using variant $VARIANT$(tput setaf 3)" + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi - #New fresh PF-Firmware-build - if [ "$new_build_flag" == "1" ]; then - rm -r -f $BUILD_PATH/* || exit 36 - fi + #New fresh PF-Firmware-build + if [ "$new_build_flag" == "1" ]; then + rm -r -f $BUILD_PATH/* || exit 36 + fi - #$BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 14 - $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 30 - echo "$(tput sgr 0)" + #$BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 14 + $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 30 + echo "$(tput sgr 0)" - if [ $LANGUAGES == "ALL" ]; then - echo "$(tput setaf 2)" + if [ $LANGUAGES == "ALL" ]; then + echo "$(tput setaf 2)" - echo "Building multi language firmware" $MULTI_LANGUAGE_CHECK - echo "$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - sleep 2 - fi - cd $SCRIPT_PATH/lang - echo "$(tput setaf 3)" - ./config.sh || exit 31 - echo "$(tput sgr 0)" - # Check if previous languages and firmware build exist and if so clean them up - if [ -f "lang_en.tmp" ]; then - echo "" - echo "$(tput setaf 6)Previous lang build files already exist these will be cleaned up in 10 seconds.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - echo "$(tput setaf 3)" - ./lang-clean.sh - echo "$(tput sgr 0)" - fi - if [ -f "progmem.out" ]; then - echo "" - echo "$(tput setaf 6)Previous firmware build files already exist these will be cleaned up in 10 seconds.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - echo "$(tput setaf 3)" - ./fw-clean.sh - echo "$(tput sgr 0)" - fi - # build languages - echo "$(tput setaf 3)" - ./lang-build.sh || exit 32 - # Combine compiled firmware with languages - ./fw-build.sh || exit 33 - cp not_tran.txt not_tran_$VARIANT.txt - cp not_used.txt not_used_$VARIANT.txt - echo "$(tput sgr 0)" - # Check if the motherboard is an EINSY and if so only one hex file will generated - MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) - # If the motherboard is an EINSY just copy one hexfile - if [ "$MOTHERBOARD" = "BOARD_EINSY_1_0a" ]; then - echo "$(tput setaf 2)Copying multi language firmware for MK3/Einsy board to PF-build-hex folder$(tput sgr 0)" - cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex - else - echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)" - cp -f firmware_cz.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-cz.hex - cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-de.hex - cp -f firmware_es.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-es.hex - cp -f firmware_fr.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-fr.hex - cp -f firmware_it.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-it.hex - cp -f firmware_pl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-pl.hex - if [ $TARGET_OS == "windows" ]; then - zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex - rm $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex - elif [ $TARGET_OS == "linux" ]; then - zip -m -j ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex - fi - fi - # Cleanup after build - if [[ -z "$clean_flag" || "$clean_flag" == "0" ]]; then - echo "$(tput setaf 3)" - ./fw-clean.sh || exit 34 - ./lang-clean.sh || exit 35 - echo "$(tput sgr 0)" - fi - else - echo "$(tput setaf 2)Copying English only firmware to PF-build-hex folder$(tput sgr 0)" - cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex || exit 34 - fi + echo "Building multi language firmware" $MULTI_LANGUAGE_CHECK + echo "$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi + cd $SCRIPT_PATH/lang + echo "$(tput setaf 3)" + ./config.sh || exit 31 + echo "$(tput sgr 0)" + # Check if previous languages and firmware build exist and if so clean them up + if [ -f "lang_en.tmp" ]; then + echo "" + echo "$(tput setaf 6)Previous lang build files already exist these will be cleaned up in 10 seconds.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + echo "$(tput setaf 3)" + ./lang-clean.sh + echo "$(tput sgr 0)" + fi + if [ -f "progmem.out" ]; then + echo "" + echo "$(tput setaf 6)Previous firmware build files already exist these will be cleaned up in 10 seconds.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + echo "$(tput setaf 3)" + ./fw-clean.sh + echo "$(tput sgr 0)" + fi + # build languages + echo "$(tput setaf 3)" + ./lang-build.sh || exit 32 + # Combine compiled firmware with languages + ./fw-build.sh || exit 33 + cp not_tran.txt not_tran_$VARIANT.txt + cp not_used.txt not_used_$VARIANT.txt + echo "$(tput sgr 0)" + # Check if the motherboard is an EINSY and if so only one hex file will generated + MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) + # If the motherboard is an EINSY just copy one hexfile + if [ "$MOTHERBOARD" = "BOARD_EINSY_1_0a" ]; then + echo "$(tput setaf 2)Copying multi language firmware for MK3/Einsy board to PF-build-hex folder$(tput sgr 0)" + cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex + else + echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)" + cp -f firmware_cz.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-cz.hex + cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-de.hex + cp -f firmware_es.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-es.hex + cp -f firmware_fr.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-fr.hex + cp -f firmware_it.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-it.hex + cp -f firmware_pl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-pl.hex + if [ $TARGET_OS == "windows" ]; then + zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex + rm $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex + elif [ $TARGET_OS == "linux" ]; then + if [ ! -z "$mk404_flag" ]; then + cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex + fi + zip -m -j ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex + fi + fi + # Cleanup after build + if [[ -z "$clean_flag" || "$clean_flag" == "0" ]]; then + echo "$(tput setaf 3)" + ./fw-clean.sh || exit 34 + ./lang-clean.sh || exit 35 + echo "$(tput sgr 0)" + fi + else + echo "$(tput setaf 2)Copying English only firmware to PF-build-hex folder$(tput sgr 0)" + cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex || exit 34 + fi - # Cleanup Firmware - if [[ -z "$prusa_flag" || "$prusa_flag" == "0" ]]; then - rm $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 36 - fi - if find $SCRIPT_PATH/lang/ -name '*RAMBo10a*.txt' -printf 1 -quit | grep -q 1 - then - rm $SCRIPT_PATH/lang/*RAMBo10a*.txt - fi - if find $SCRIPT_PATH/lang/ -name '*MK2-RAMBo13a*' -printf 1 -quit | grep -q 1 - then - rm $SCRIPT_PATH/lang/*MK2-RAMBo13a*.txt - fi - if find $SCRIPT_PATH/lang/ -name 'not_tran.txt' -printf 1 -quit | grep -q 1 - then - rm $SCRIPT_PATH/lang/not_tran.txt - fi - if find $SCRIPT_PATH/lang/ -name 'not_used.txt' -printf 1 -quit | grep -q 1 - then - rm $SCRIPT_PATH/lang/not_used.txt - fi + # Cleanup Firmware + if [[ -z "$prusa_flag" || "$prusa_flag" == "0" ]]; then + rm $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 36 + fi + if find $SCRIPT_PATH/lang/ -name '*RAMBo10a*.txt' -printf 1 -quit | grep -q 1 + then + rm $SCRIPT_PATH/lang/*RAMBo10a*.txt + fi + if find $SCRIPT_PATH/lang/ -name '*MK2-RAMBo13a*' -printf 1 -quit | grep -q 1 + then + rm $SCRIPT_PATH/lang/*MK2-RAMBo13a*.txt + fi + if find $SCRIPT_PATH/lang/ -name 'not_tran.txt' -printf 1 -quit | grep -q 1 + then + rm $SCRIPT_PATH/lang/not_tran.txt + fi + if find $SCRIPT_PATH/lang/ -name 'not_used.txt' -printf 1 -quit | grep -q 1 + then + rm $SCRIPT_PATH/lang/not_used.txt + fi - #New fresh PF-Firmware-build - if [ "$new_build_flag" == "1" ]; then - rm -r -f $BUILD_PATH/* || exit 36 - fi + #New fresh PF-Firmware-build + if [ "$new_build_flag" == "1" ]; then + rm -r -f $BUILD_PATH/* || exit 36 + fi - # Restore files to previous state - sed -i -- "s/^#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/g" $SCRIPT_PATH/Firmware/Configuration.h - sed -i -- 's/^#define FW_REPOSITORY "Prusa3d"/#define FW_REPOSITORY "Unknown"/g' $SCRIPT_PATH/Firmware/Configuration.h - if [ ! -z "$BUILD_ORG" ] ; then - sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD_ORG/g" $SCRIPT_PATH/Firmware/Configuration.h - fi - echo $MULTI_LANGUAGE_CHECK - #sed -i -- "s/^#define LANG_MODE * /#define LANG_MODE $MULTI_LANGUAGE_CHECK/g" $SCRIPT_PATH/Firmware/config.h - sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h - sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h - if [ $OUTPUT == "1" ] ; then - sleep 5 - fi + # Restore files to previous state + sed -i -- "s/^#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/g" $SCRIPT_PATH/Firmware/Configuration.h + sed -i -- 's/^#define FW_REPOSITORY "Prusa3d"/#define FW_REPOSITORY "Unknown"/g' $SCRIPT_PATH/Firmware/Configuration.h + if [ ! -z "$BUILD_ORG" ] ; then + sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD_ORG/g" $SCRIPT_PATH/Firmware/Configuration.h + fi + echo $MULTI_LANGUAGE_CHECK + #sed -i -- "s/^#define LANG_MODE * /#define LANG_MODE $MULTI_LANGUAGE_CHECK/g" $SCRIPT_PATH/Firmware/config.h + sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h + sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h + if [ $OUTPUT == "1" ] ; then + sleep 5 + fi done # Switch to hex path and list build files cd $SCRIPT_PATH -cd .. echo "$(tput setaf 2) " echo " " echo "Build done, please use Slic3rPE > 1.41.0 to upload the firmware" echo "more information how to flash firmware https://www.prusa3d.com/drivers/ $(tput sgr 0)" #### End building +ls +#### Run MK404 sim +if [ ! -z "$mk404_flag" ]; then +./MK404-build.sh + +if [ "$mk404_flag" == "2" ]; then + PRINTER="${PRINTER}MMU2" +fi + +if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then + PRINTER="${PRINTER}_mR13" +fi + +if [ ! -z "$grafics_flag" ]; then + options="--colour-extrusion --extrusion Quad_HR -g " + if [ "$grafics_flag" == "1" ]; then + options="${options}lite" + else + options="${options}fancy" + fi + +fi +echo "Printer: $PRINTER" +echo "Options: $options" +cd ../MK404/build + +./MK404 Prusa_$PRINTER -s --terminal $options -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex +fi From fb98cb2ff9ffb622ecca6c6511a869d86b1dcc81 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Sat, 13 Feb 2021 10:05:07 +0100 Subject: [PATCH 004/234] Add force recompile Added SD card builds --- MK404-build.sh | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index 7a9cde51a..e17a8239a 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -16,11 +16,12 @@ # 11 Feb 2021, 3d-gussner, Optional flags to check for updates -while getopts c:u:?h flag +while getopts c:u:f:?h flag do case "${flag}" in c) check_flag=${OPTARG};; u) update_flag=${OPTARG};; + f) force_flag=${OPTARG};; ?) help_flag=1;; h) help_flag=1;; esac @@ -98,7 +99,9 @@ fi #### Set build environment SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" MK404_URL="https://github.com/vintagepc/MK404.git" -MK404_PATH="$SCRIPT_PATH/../MK404" +MK404_owner="vintagepc" +MK404_project="MK404" +MK404_PATH="$SCRIPT_PATH/../MK404/master" MK404_BUILD_PATH="$MK404_PATH/build" @@ -111,6 +114,9 @@ echo "" echo "MK404 path :" $MK404_PATH if [ ! -d $MK404_PATH ]; then + #release_url=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/$MK404_owner/$MK404_project/releases/latest) + #release_tag=$(basename $release_url) + #git clone -b $release_tag -- https://github.com/$MK404_owner/$MK404_project.git $MK404_PATH git clone $MK404_URL $MK404_PATH fi @@ -120,15 +126,22 @@ fi mkdir -p $MK404_BUILD_PATH -if [ ! -f "$MK404_BUILD_PATH/Makefile" ]; then - cmake -B $MK404_BUILD_PATH +if [[ ! -f "$MK404_BUILD_PATH/Makefile" || "$force_flag" == "1" ]]; then + cmake -B$MK404_BUILD_PATH -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" fi cd $MK404_BUILD_PATH -if [ ! -f "$MK404_BUILD_PATH/MK404" ]; then +if [[ ! -f "$MK404_BUILD_PATH/MK404" || "$force_flag" == "1" ]]; then make fi +if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$force_flag" == "1" ]]; then + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3S_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25_13_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25S_13_SDcard.bin +fi + if [ "$check_flag" == "1" ]; then current_version=$( command ./MK404 --version | grep "MK404" | cut -f 4 -d " ") echo "Current version: $current_version" From f37aedd5ddbebd6bdeb5a29bb848b05fafa7c13a Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Sat, 13 Feb 2021 10:35:34 +0100 Subject: [PATCH 005/234] Add copy of MK3 and MK3S `lang.bin` files to MK404 `*_xflash.bin` Minor changes: - Indentations - Documentation --- MK404-build.sh | 18 ++++++++++++------ PF-build.sh | 48 ++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 50 insertions(+), 16 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index e17a8239a..aaddeae1a 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -10,11 +10,12 @@ # 3. Install latest updates with 'sudo apt-get upgrade' # 4. # -# Version: 0.1-Build_1 +# Version: 0.1-Build_3 # Change log: # 11 Feb 2021, 3d-gussner, Inital # 11 Feb 2021, 3d-gussner, Optional flags to check for updates - +# 12 Feb 2021, 3d-gussner, Update cmake +# 13 Feb 2021, 3d-gussner, Auto build SD cards while getopts c:u:f:?h flag do @@ -113,6 +114,7 @@ echo "OS type :" $TARGET_OS echo "" echo "MK404 path :" $MK404_PATH +# Clone MK404 if needed if [ ! -d $MK404_PATH ]; then #release_url=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/$MK404_owner/$MK404_project/releases/latest) #release_tag=$(basename $release_url) @@ -120,21 +122,24 @@ if [ ! -d $MK404_PATH ]; then git clone $MK404_URL $MK404_PATH fi - cd $MK404_PATH - git submodule init - git submodule update - +# Init and update submodules +cd $MK404_PATH +git submodule init +git submodule update +# Prepare MK404 mkdir -p $MK404_BUILD_PATH if [[ ! -f "$MK404_BUILD_PATH/Makefile" || "$force_flag" == "1" ]]; then cmake -B$MK404_BUILD_PATH -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" fi +# Make MK404 cd $MK404_BUILD_PATH if [[ ! -f "$MK404_BUILD_PATH/MK404" || "$force_flag" == "1" ]]; then make fi +# Make SDcards if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$force_flag" == "1" ]]; then cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3S_SDcard.bin cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3_SDcard.bin @@ -142,6 +147,7 @@ if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$force_flag" == "1" ]]; cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25S_13_SDcard.bin fi +# Check for updates ... WIP if [ "$check_flag" == "1" ]; then current_version=$( command ./MK404 --version | grep "MK404" | cut -f 4 -d " ") echo "Current version: $current_version" diff --git a/PF-build.sh b/PF-build.sh index 57c49c698..556c4d5de 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 1.0.6-Build_36 +# Version: 1.1.0-Build_39 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -138,6 +138,7 @@ # 27 Jan 2021, 3d-gussner, Add `-c`, `-p` and `-n` options # 12 Feb 2021, 3d-gussner, Add MK404-build.sh # 13 Feb 2021, 3d-gussner, Indentations +# 13 Feb 2021, 3d-gussner, MK404 improvements like "flash" MK3, MK3S languages files to MK404 xflash. #### Start check if OSTYPE is supported OS_FOUND=$( command -v uname) @@ -882,6 +883,11 @@ do # If the motherboard is an EINSY just copy one hexfile if [ "$MOTHERBOARD" = "BOARD_EINSY_1_0a" ]; then echo "$(tput setaf 2)Copying multi language firmware for MK3/Einsy board to PF-build-hex folder$(tput sgr 0)" + # Make a copy of "lang.bin" for MK404 MK3 and MK3S + if [ ! -z "$mk404_flag" ]; then + cp -f lang.bin $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin + fi + # End of "lang.bin" for MK3 and MK3S copy cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex else echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)" @@ -895,9 +901,11 @@ do zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex rm $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex elif [ $TARGET_OS == "linux" ]; then + # Make a copy for MK404 sim of MK2, MK2.5, MK2.5S firmware if [ ! -z "$mk404_flag" ]; then cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex fi + # End of MK2, MK2.5, MK2.5S firmware copy zip -m -j ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex fi fi @@ -961,31 +969,51 @@ echo " " echo "Build done, please use Slic3rPE > 1.41.0 to upload the firmware" echo "more information how to flash firmware https://www.prusa3d.com/drivers/ $(tput sgr 0)" #### End building -ls -#### Run MK404 sim + + +#### MK404 Simulator + +# Check/compile MK404 sim if [ ! -z "$mk404_flag" ]; then ./MK404-build.sh +# Check if MMU2 is selected if [ "$mk404_flag" == "2" ]; then PRINTER="${PRINTER}MMU2" fi +# For Prusa MK2, MK2.5 and MK2.5S if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then PRINTER="${PRINTER}_mR13" fi +# Run MK404 with grafics if [ ! -z "$grafics_flag" ]; then - options="--colour-extrusion --extrusion Quad_HR -g " + MK404_options="--colour-extrusion --extrusion Quad_HR -g " if [ "$grafics_flag" == "1" ]; then - options="${options}lite" + options="${MK404_options}lite" else - options="${options}fancy" + options="${MK404_options}fancy" fi fi -echo "Printer: $PRINTER" -echo "Options: $options" -cd ../MK404/build -./MK404 Prusa_$PRINTER -s --terminal $options -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex +# Output some useful data +echo "Printer: $PRINTER" +echo "Options: $MK404_options" + +# Change to MK404 build folder +cd ../MK404/master/build + +# Copy language bin file for MK3 and MK3S to xflash +if [ -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin ]; then +echo "Copy 'FW$FW-Build$BUILD-$VARIANT-lang.bin' to 'Prusa_${PRINTER}_xflash.bin'" + dd if=/dev/zero bs=1 count=262145 | tr "\000" "\377" >Prusa_${PRINTER}_xflash.bin + dd if=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin of=Prusa_${PRINTER}_xflash.bin conv=notrunc fi + +# Start MK404 +# default with serial output and terminal to manipulate it via terminal +./MK404 Prusa_$PRINTER -s --terminal $MK404_options -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex +fi +#### End of MK404 Simulator \ No newline at end of file From 3ad669889e628f1b789d39ab40fc33713d461116 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Sun, 14 Feb 2021 00:18:24 +0100 Subject: [PATCH 006/234] Fix few issues Create MMU2 SDcards MMU2 only for MK3/S --- MK404-build.sh | 8 +++++--- PF-build.sh | 20 +++++++++----------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index aaddeae1a..8ed1e6b9b 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -98,17 +98,17 @@ fi #### End Check MK404 dependencies #### Set build environment -SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" +MK404_SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" MK404_URL="https://github.com/vintagepc/MK404.git" MK404_owner="vintagepc" MK404_project="MK404" -MK404_PATH="$SCRIPT_PATH/../MK404/master" +MK404_PATH="$MK404_SCRIPT_PATH/../MK404/master" MK404_BUILD_PATH="$MK404_PATH/build" # List few useful data echo -echo "Script path :" $SCRIPT_PATH +echo "Script path :" $MK404_SCRIPT_PATH echo "OS :" $OS echo "OS type :" $TARGET_OS echo "" @@ -145,6 +145,8 @@ if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$force_flag" == "1" ]]; cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3_SDcard.bin cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25_13_SDcard.bin cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25S_13_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3SMMU2_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3MMU2_SDcard.bin fi # Check for updates ... WIP diff --git a/PF-build.sh b/PF-build.sh index 556c4d5de..f139de8dc 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -467,7 +467,7 @@ while getopts v:l:d:b:o:c:p:n:m:g:?h flag p) prusa_flag=${OPTARG};; n) new_build_flag=${OPTARG};; m) mk404_flag=${OPTARG};; - g) grafics_flag=${OPTARG};; + g) graphics_flag=${OPTARG};; ?) help_flag=1;; h) help_flag=1;; esac @@ -977,23 +977,21 @@ echo "more information how to flash firmware https://www.prusa3d.com/drivers/ $( if [ ! -z "$mk404_flag" ]; then ./MK404-build.sh -# Check if MMU2 is selected -if [ "$mk404_flag" == "2" ]; then +# For Prusa MK2, MK2.5/S +if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then + PRINTER="${PRINTER}_mR13" +elif [ "$mk404_flag" == "2" ]; then # Check if MMU2 is selected only for MK3/S PRINTER="${PRINTER}MMU2" fi -# For Prusa MK2, MK2.5 and MK2.5S -if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then - PRINTER="${PRINTER}_mR13" -fi # Run MK404 with grafics -if [ ! -z "$grafics_flag" ]; then +if [ ! -z "$graphics_flag" ]; then MK404_options="--colour-extrusion --extrusion Quad_HR -g " - if [ "$grafics_flag" == "1" ]; then - options="${MK404_options}lite" + if [ "$graphics_flag" == "1" ]; then + MK404_options="${MK404_options}lite" else - options="${MK404_options}fancy" + MK404_options="${MK404_options}fancy" fi fi From de337476cdd02b559983a2b3d60e966b3b80b121 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 12 Feb 2021 20:12:37 +0100 Subject: [PATCH 007/234] Add MK404 support Indentations --- MK404-build.sh | 135 ++++++ PF-build.sh | 1128 +++++++++++++++++++++++++----------------------- 2 files changed, 718 insertions(+), 545 deletions(-) create mode 100755 MK404-build.sh diff --git a/MK404-build.sh b/MK404-build.sh new file mode 100755 index 000000000..7a9cde51a --- /dev/null +++ b/MK404-build.sh @@ -0,0 +1,135 @@ +#!/bin/bash +# This bash script is used to compile automatically the MK404 simulator +# +# Supported OS: Linux64 bit +# +# Linux: +# Linux Ubuntu +# 1. Follow these instructions +# 2. Open Ubuntu bash and get latest updates with 'sudo apt-get update' +# 3. Install latest updates with 'sudo apt-get upgrade' +# 4. +# +# Version: 0.1-Build_1 +# Change log: +# 11 Feb 2021, 3d-gussner, Inital +# 11 Feb 2021, 3d-gussner, Optional flags to check for updates + + +while getopts c:u:?h flag + do + case "${flag}" in + c) check_flag=${OPTARG};; + u) update_flag=${OPTARG};; + ?) help_flag=1;; + h) help_flag=1;; + esac + done +echo "$check_flag" +echo "$update_flag" + + +#### Start check if OSTYPE is supported +OS_FOUND=$( command -v uname) + +case $( "${OS_FOUND}" | tr '[:upper:]' '[:lower:]') in + linux*) + TARGET_OS="linux" + ;; + *) + TARGET_OS='unknown' + ;; +esac +# Linux +if [ $TARGET_OS == "linux" ]; then + if [ $(uname -m) == "x86_64" ]; then + echo "$(tput setaf 2)Linux 64-bit found$(tput sgr0)" + Processor="64" + #elif [[ $(uname -m) == "i386" || $(uname -m) == "i686" ]]; then + # echo "$(tput setaf 2)Linux 32-bit found$(tput sgr0)" + # Processor="32" + else + echo "$(tput setaf 1)Unsupported OS: Linux $(uname -m)" + echo "Please refer to the notes of build.sh$(tput sgr0)" + exit 1 + fi +else + echo "$(tput setaf 1)This script doesn't support your Operating system!" + echo "Please use Linux 64-bit" + echo "Read the notes of build.sh$(tput sgr0)" + exit 1 +fi +sleep 2 +#### End check if OSTYPE is supported + +#### Check MK404 dependencies +packages=( +"libelf-dev" +"gcc-7" +"gcc-avr" +"libglew-dev" +"freeglut3-dev" +"libsdl-sound1.2-dev" +"libpng-dev" +"cmake" +"zip" +"wget" +"git" +"build-essential" +"lcov" +"mtools" +) + +for check_package in ${packages[@]}; do + if dpkg-query -W -f'${db:Status-Abbrev}\n' $check_package 2>/dev/null \ + | grep -q '^.i $'; then + echo "$(tput setaf 2)$check_package: Installed$(tput sgr0)" + else + echo "$(tput setaf 1)$check_package: Not installed use $(tput setaf 3)'sudo apt install $check_package'$(tput setaf 1) to install missing package$(tput sgr0)" + not_installed=1; + fi +done + +if [ "$not_installed" = "1" ]; then + exit 4 +fi +#### End Check MK404 dependencies + +#### Set build environment +SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" +MK404_URL="https://github.com/vintagepc/MK404.git" +MK404_PATH="$SCRIPT_PATH/../MK404" +MK404_BUILD_PATH="$MK404_PATH/build" + + +# List few useful data +echo +echo "Script path :" $SCRIPT_PATH +echo "OS :" $OS +echo "OS type :" $TARGET_OS +echo "" +echo "MK404 path :" $MK404_PATH + +if [ ! -d $MK404_PATH ]; then + git clone $MK404_URL $MK404_PATH +fi + + cd $MK404_PATH + git submodule init + git submodule update + + +mkdir -p $MK404_BUILD_PATH +if [ ! -f "$MK404_BUILD_PATH/Makefile" ]; then + cmake -B $MK404_BUILD_PATH +fi + +cd $MK404_BUILD_PATH +if [ ! -f "$MK404_BUILD_PATH/MK404" ]; then + make +fi + +if [ "$check_flag" == "1" ]; then + current_version=$( command ./MK404 --version | grep "MK404" | cut -f 4 -d " ") + echo "Current version: $current_version" +fi \ No newline at end of file diff --git a/PF-build.sh b/PF-build.sh index 5b0979e2a..57c49c698 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -91,7 +91,7 @@ # 13 Mar 2019, 3d-gussner, MKbel updated the Linux build environment to version 1.0.2 with an Fix maximum firmware flash size. # So did I # 11 Jul 2019, deliopoulos,Updated to v1.0.6 as Prusa needs a new board definition for Firmware 3.8.x86_64 -# - Split the Download of Windows Arduino IDE 1.8.5 and Prusa specific part +# - Split the Download of Windows Arduino IDE 1.8.5 and Prusa specific part # --> less download volume needed and saves some time # # 13 Jul 2019, deliopoulos,Splitting of Arduino IDE and Prusa parts also for Linux64 @@ -136,6 +136,8 @@ # 08 Jan 2021, 3d-gussner, Comment out 'sudo' auto installation # Add '-?' '-h' help option # 27 Jan 2021, 3d-gussner, Add `-c`, `-p` and `-n` options +# 12 Feb 2021, 3d-gussner, Add MK404-build.sh +# 13 Feb 2021, 3d-gussner, Indentations #### Start check if OSTYPE is supported OS_FOUND=$( command -v uname) @@ -157,35 +159,35 @@ case $( "${OS_FOUND}" | tr '[:upper:]' '[:lower:]') in esac # Windows if [ $TARGET_OS == "windows" ]; then - if [ $(uname -m) == "x86_64" ]; then - echo "$(tput setaf 2)Windows 64-bit found$(tput sgr0)" - Processor="64" - elif [ $(uname -m) == "i386" ]; then - echo "$(tput setaf 2)Windows 32-bit found$(tput sgr0)" - Processor="32" - else - echo "$(tput setaf 1)Unsupported OS: Windows $(uname -m)" - echo "Please refer to the notes of build.sh$(tput sgr0)" - exit 1 - fi + if [ $(uname -m) == "x86_64" ]; then + echo "$(tput setaf 2)Windows 64-bit found$(tput sgr0)" + Processor="64" + elif [ $(uname -m) == "i386" ]; then + echo "$(tput setaf 2)Windows 32-bit found$(tput sgr0)" + Processor="32" + else + echo "$(tput setaf 1)Unsupported OS: Windows $(uname -m)" + echo "Please refer to the notes of build.sh$(tput sgr0)" + exit 1 + fi # Linux elif [ $TARGET_OS == "linux" ]; then - if [ $(uname -m) == "x86_64" ]; then - echo "$(tput setaf 2)Linux 64-bit found$(tput sgr0)" - Processor="64" - elif [[ $(uname -m) == "i386" || $(uname -m) == "i686" ]]; then - echo "$(tput setaf 2)Linux 32-bit found$(tput sgr0)" - Processor="32" - else - echo "$(tput setaf 1)Unsupported OS: Linux $(uname -m)" - echo "Please refer to the notes of build.sh$(tput sgr0)" - exit 1 - fi + if [ $(uname -m) == "x86_64" ]; then + echo "$(tput setaf 2)Linux 64-bit found$(tput sgr0)" + Processor="64" + elif [[ $(uname -m) == "i386" || $(uname -m) == "i686" ]]; then + echo "$(tput setaf 2)Linux 32-bit found$(tput sgr0)" + Processor="32" + else + echo "$(tput setaf 1)Unsupported OS: Linux $(uname -m)" + echo "Please refer to the notes of build.sh$(tput sgr0)" + exit 1 + fi else - echo "$(tput setaf 1)This script doesn't support your Operating system!" - echo "Please use Linux 64-bit or Windows 10 64-bit with Linux subsystem / git-bash" - echo "Read the notes of build.sh$(tput sgr0)" - exit 1 + echo "$(tput setaf 1)This script doesn't support your Operating system!" + echo "Please use Linux 64-bit or Windows 10 64-bit with Linux subsystem / git-bash" + echo "Read the notes of build.sh$(tput sgr0)" + exit 1 fi sleep 2 #### End check if OSTYPE is supported @@ -193,52 +195,52 @@ sleep 2 #### Prepare bash environment and check if wget, zip and other needed things are available # Check wget if ! type wget > /dev/null; then - echo "$(tput setaf 1)Missing 'wget' which is important to run this script" - echo "Please follow these instructions https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058 to install wget$(tput sgr0)" - exit 2 + echo "$(tput setaf 1)Missing 'wget' which is important to run this script" + echo "Please follow these instructions https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058 to install wget$(tput sgr0)" + exit 2 fi # Check for zip if ! type zip > /dev/null; then - if [ $TARGET_OS == "windows" ]; then - echo "$(tput setaf 1)Missing 'zip' which is important to run this script" - echo "Download and install 7z-zip from its official website https://www.7-zip.org/" - echo "By default, it is installed under the directory /c/Program Files/7-Zip in Windows 10 as my case." - echo "Run git Bash under Administrator privilege and" - echo "navigate to the directory /c/Program Files/Git/mingw64/bin," - echo "you can run the command $(tput setaf 2)ln -s /c/Program Files/7-Zip/7z.exe zip.exe$(tput sgr0)" - exit 3 - elif [ $TARGET_OS == "linux" ]; then - echo "$(tput setaf 1)Missing 'zip' which is important to run this script" - echo "install it with the command $(tput setaf 2)'sudo apt-get install zip'$(tput sgr0)" - #sudo apt-get update && apt-get install zip - exit 3 - fi + if [ $TARGET_OS == "windows" ]; then + echo "$(tput setaf 1)Missing 'zip' which is important to run this script" + echo "Download and install 7z-zip from its official website https://www.7-zip.org/" + echo "By default, it is installed under the directory /c/Program Files/7-Zip in Windows 10 as my case." + echo "Run git Bash under Administrator privilege and" + echo "navigate to the directory /c/Program Files/Git/mingw64/bin," + echo "you can run the command $(tput setaf 2)ln -s /c/Program Files/7-Zip/7z.exe zip.exe$(tput sgr0)" + exit 3 + elif [ $TARGET_OS == "linux" ]; then + echo "$(tput setaf 1)Missing 'zip' which is important to run this script" + echo "install it with the command $(tput setaf 2)'sudo apt-get install zip'$(tput sgr0)" + #sudo apt-get update && apt-get install zip + exit 3 + fi fi # Check python ... needed during language build if ! type python > /dev/null; then - if [ $TARGET_OS == "windows" ]; then - echo "$(tput setaf 1)Missing 'python3' which is important to run this script" - exit 4 - elif [ $TARGET_OS == "linux" ]; then - echo "$(tput setaf 1)Missing 'python' which is important to run this script" - echo "As Python 2.x will not be maintained from 2020 please," - echo "install it with the command $(tput setaf 2)'sudo apt-get install python3'." - echo "Check which version of Python3 has been installed using 'ls /usr/bin/python3*'" - echo "Use 'sudo ln -sf /usr/bin/python3.x /usr/bin/python' (where 'x' is your version number) to make it default.$(tput sgr0)" - #sudo apt-get update && apt-get install python3 && ln -sf /usr/bin/python3 /usr/bin/python - exit 4 - fi + if [ $TARGET_OS == "windows" ]; then + echo "$(tput setaf 1)Missing 'python3' which is important to run this script" + exit 4 + elif [ $TARGET_OS == "linux" ]; then + echo "$(tput setaf 1)Missing 'python' which is important to run this script" + echo "As Python 2.x will not be maintained from 2020 please," + echo "install it with the command $(tput setaf 2)'sudo apt-get install python3'." + echo "Check which version of Python3 has been installed using 'ls /usr/bin/python3*'" + echo "Use 'sudo ln -sf /usr/bin/python3.x /usr/bin/python' (where 'x' is your version number) to make it default.$(tput sgr0)" + #sudo apt-get update && apt-get install python3 && ln -sf /usr/bin/python3 /usr/bin/python + exit 4 + fi fi # Check gawk ... needed during language build if ! type gawk > /dev/null; then - if [ $TARGET_OS == "linux" ]; then - echo "$(tput setaf 1)Missing 'gawk' which is important to run this script" - echo "install it with the command $(tput setaf 2)'sudo apt-get install gawk'." - #sudo apt-get update && apt-get install gawk - exit 4 - fi + if [ $TARGET_OS == "linux" ]; then + echo "$(tput setaf 1)Missing 'gawk' which is important to run this script" + echo "install it with the command $(tput setaf 2)'sudo apt-get install gawk'." + #sudo apt-get update && apt-get install gawk + exit 4 + fi fi #### End prepare bash / Linux environment @@ -287,157 +289,157 @@ BUILD_ENV_PATH="$( cd "$(dirname "$0")" ; pwd -P )" # Check if PF-build-env- exists and downloads + creates it if not # The build environment is based on the supported Arduino IDE portable version with some changes if [ ! -d "../PF-build-env-$BUILD_ENV" ]; then - echo "$(tput setaf 6)PF-build-env-$BUILD_ENV is missing ... creating it now for you$(tput sgr 0)" - mkdir ../PF-build-env-$BUILD_ENV - sleep 5 + echo "$(tput setaf 6)PF-build-env-$BUILD_ENV is missing ... creating it now for you$(tput sgr 0)" + mkdir ../PF-build-env-$BUILD_ENV + sleep 5 fi # Download and extract supported Arduino IDE depending on OS # Windows if [ $TARGET_OS == "windows" ]; then - if [ ! -f "arduino-$ARDUINO_ENV-windows.zip" ]; then - echo "$(tput setaf 6)Downloading Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" - sleep 2 - wget https://downloads.arduino.cc/arduino-$ARDUINO_ENV-windows.zip || exit 7 - echo "$(tput sgr 0)" - fi - if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then - echo "$(tput setaf 6)Unzipping Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" - sleep 2 - unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 7 - mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor - echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" - fi + if [ ! -f "arduino-$ARDUINO_ENV-windows.zip" ]; then + echo "$(tput setaf 6)Downloading Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" + sleep 2 + wget https://downloads.arduino.cc/arduino-$ARDUINO_ENV-windows.zip || exit 7 + echo "$(tput sgr 0)" + fi + if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then + echo "$(tput setaf 6)Unzipping Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" + sleep 2 + unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 7 + mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor + echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" + fi fi # Linux if [ $TARGET_OS == "linux" ]; then # 32 or 64 bit version - if [ ! -f "arduino-$ARDUINO_ENV-linux$Processor.tar.xz" ]; then - echo "$(tput setaf 6)Downloading Linux $Processor Arduino IDE portable...$(tput setaf 2)" - sleep 2 - wget --no-check-certificate https://downloads.arduino.cc/arduino-$ARDUINO_ENV-linux$Processor.tar.xz || exit 8 - echo "$(tput sgr 0)" - fi - if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then - echo "$(tput setaf 6)Unzipping Linux $Processor Arduino IDE portable...$(tput setaf 2)" - sleep 2 - tar -xvf arduino-$ARDUINO_ENV-linux$Processor.tar.xz -C ../PF-build-env-$BUILD_ENV/ || exit 8 - mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor - echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" - fi + if [ ! -f "arduino-$ARDUINO_ENV-linux$Processor.tar.xz" ]; then + echo "$(tput setaf 6)Downloading Linux $Processor Arduino IDE portable...$(tput setaf 2)" + sleep 2 + wget --no-check-certificate https://downloads.arduino.cc/arduino-$ARDUINO_ENV-linux$Processor.tar.xz || exit 8 + echo "$(tput sgr 0)" + fi + if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then + echo "$(tput setaf 6)Unzipping Linux $Processor Arduino IDE portable...$(tput setaf 2)" + sleep 2 + tar -xvf arduino-$ARDUINO_ENV-linux$Processor.tar.xz -C ../PF-build-env-$BUILD_ENV/ || exit 8 + mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor + echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" + fi fi # Make Arduino IDE portable if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/ + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/ fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/output/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/output + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/output fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook/libraries/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook/libraries + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook/libraries fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/staging/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/staging + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/staging fi # Change Arduino IDE preferences if [ ! -e ../PF-build-env-$BUILD_ENV/Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt ]; then - echo "$(tput setaf 6)Setting $ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor Arduino IDE preferences for portable GUI usage...$(tput setaf 2)" - sleep 2 - echo "update.check" - sed -i 's/update.check = true/update.check = false/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "board" - sed -i "s/board = uno/board = $BOARD/g" ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "editor.linenumbers" - sed -i 's/editor.linenumbers = false/editor.linenumbers = true/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "boardsmanager.additional.urls" - echo "boardsmanager.additional.urls=$BOARD_URL" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "build.verbose=true" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "compiler.cache_core=false" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "compiler.warning_level=all" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "# Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" + echo "$(tput setaf 6)Setting $ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor Arduino IDE preferences for portable GUI usage...$(tput setaf 2)" + sleep 2 + echo "update.check" + sed -i 's/update.check = true/update.check = false/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "board" + sed -i "s/board = uno/board = $BOARD/g" ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "editor.linenumbers" + sed -i 's/editor.linenumbers = false/editor.linenumbers = true/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "boardsmanager.additional.urls" + echo "boardsmanager.additional.urls=$BOARD_URL" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "build.verbose=true" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "compiler.cache_core=false" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "compiler.warning_level=all" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "# Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" fi # Download and extract Prusa Firmware related parts # Download and extract PrusaResearchRambo board if [ ! -f "$BOARD_FILENAME-$BOARD_VERSION.tar.bz2" ]; then - echo "$(tput setaf 6)Downloading Prusa Research AVR MK3 RAMBo EINSy build environment...$(tput setaf 2)" - sleep 2 - wget $BOARD_FILE_URL || exit 9 + echo "$(tput setaf 6)Downloading Prusa Research AVR MK3 RAMBo EINSy build environment...$(tput setaf 2)" + sleep 2 + wget $BOARD_FILE_URL || exit 9 fi if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION" || ! -e "../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then - echo "$(tput setaf 6)Unzipping $BOARD_PACKAGE_NAME Arduino IDE portable...$(tput setaf 2)" - sleep 2 - tar -xvf $BOARD_FILENAME-$BOARD_VERSION.tar.bz2 -C ../PF-build-env-$BUILD_ENV/ || exit 10 - if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME - fi - if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME - fi - if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware - fi - if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr - fi - - mv ../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$BOARD_VERSION ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION - echo "# $BOARD_FILENAME-$BOARD_VERSION" >> ../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput setaf 6)Unzipping $BOARD_PACKAGE_NAME Arduino IDE portable...$(tput setaf 2)" + sleep 2 + tar -xvf $BOARD_FILENAME-$BOARD_VERSION.tar.bz2 -C ../PF-build-env-$BUILD_ENV/ || exit 10 + if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME + fi + if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME + fi + if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware ]; then + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware + fi + if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr ]; then + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr + fi + + mv ../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$BOARD_VERSION ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION + echo "# $BOARD_FILENAME-$BOARD_VERSION" >> ../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr 0)" -fi + echo "$(tput sgr 0)" +fi # Download and extract Prusa Firmware specific library files if [ ! -f "PF-build-env-WinLin-$BUILD_ENV.zip" ]; then - echo "$(tput setaf 6)Downloading Prusa Firmware build environment...$(tput setaf 2)" - sleep 2 - wget $PF_BUILD_FILE_URL || exit 11 - echo "$(tput sgr 0)" + echo "$(tput setaf 6)Downloading Prusa Firmware build environment...$(tput setaf 2)" + sleep 2 + wget $PF_BUILD_FILE_URL || exit 11 + echo "$(tput sgr 0)" fi if [ ! -e "../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]; then - echo "$(tput setaf 6)Unzipping Prusa Firmware build environment...$(tput setaf 2)" - sleep 2 - unzip -o PF-build-env-WinLin-$BUILD_ENV.zip -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 12 - echo "# PF-build-env-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" + echo "$(tput setaf 6)Unzipping Prusa Firmware build environment...$(tput setaf 2)" + sleep 2 + unzip -o PF-build-env-WinLin-$BUILD_ENV.zip -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 12 + echo "# PF-build-env-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" fi # Check if User updated Arduino IDE 1.8.5 boardsmanager and tools if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools" ]; then - echo "$(tput setaf 6)Arduino IDE boards / tools have been manually updated...$" - echo "Please don't update the 'Arduino AVR boards' as this will prevent running this script (tput setaf 2)" - sleep 2 -fi + echo "$(tput setaf 6)Arduino IDE boards / tools have been manually updated...$" + echo "Please don't update the 'Arduino AVR boards' as this will prevent running this script (tput setaf 2)" + sleep 2 +fi if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2" ]; then - echo "$(tput setaf 6)PrusaReasearch compatible tools have been manually updated...$(tput setaf 2)" - sleep 2 - echo "$(tput setaf 6)Copying Prusa Firmware build environment to manually updated boards / tools...$(tput setaf 2)" - sleep 2 - cp -f ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/hardware/tools/avr/avr/lib/ldscripts/avr6.xn ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/avr/lib/ldscripts/avr6.xn - echo "# PF-build-env-portable-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-portable-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" -fi + echo "$(tput setaf 6)PrusaReasearch compatible tools have been manually updated...$(tput setaf 2)" + sleep 2 + echo "$(tput setaf 6)Copying Prusa Firmware build environment to manually updated boards / tools...$(tput setaf 2)" + sleep 2 + cp -f ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/hardware/tools/avr/avr/lib/ldscripts/avr6.xn ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/avr/lib/ldscripts/avr6.xn + echo "# PF-build-env-portable-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-portable-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" +fi if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2" ]; then - echo "$(tput setaf 1)Arduino IDE tools have been updated manually to a non supported version!!!" - echo "Delete ../PF-build-env-$BUILD_ENV and start the script again" - echo "Script will not continue until this have been fixed $(tput setaf 2)" - sleep 2 - echo "$(tput sgr0)" - exit 13 + echo "$(tput setaf 1)Arduino IDE tools have been updated manually to a non supported version!!!" + echo "Delete ../PF-build-env-$BUILD_ENV and start the script again" + echo "Script will not continue until this have been fixed $(tput setaf 2)" + sleep 2 + echo "$(tput sgr0)" + exit 13 fi @@ -449,24 +451,26 @@ cd $SCRIPT_PATH # Check if git is available if type git > /dev/null; then - git_available="1" + git_available="1" fi -while getopts v:l:d:b:o:c:p:n:?h flag - do - case "${flag}" in - v) variant_flag=${OPTARG};; - l) language_flag=${OPTARG};; - d) devel_flag=${OPTARG};; - b) build_flag=${OPTARG};; - o) output_flag=${OPTARG};; - c) clean_flag=${OPTARG};; - p) prusa_flag=${OPTARG};; - n) new_build_flag=${OPTARG};; - ?) help_flag=1;; - h) help_flag=1;; - esac - done +while getopts v:l:d:b:o:c:p:n:m:g:?h flag + do + case "${flag}" in + v) variant_flag=${OPTARG};; + l) language_flag=${OPTARG};; + d) devel_flag=${OPTARG};; + b) build_flag=${OPTARG};; + o) output_flag=${OPTARG};; + c) clean_flag=${OPTARG};; + p) prusa_flag=${OPTARG};; + n) new_build_flag=${OPTARG};; + m) mk404_flag=${OPTARG};; + g) grafics_flag=${OPTARG};; + ?) help_flag=1;; + h) help_flag=1;; + esac + done #echo "variant_flag: $variant_flag"; #echo "language_flag: $language_flag"; #echo "devel_flag: $devel_flag"; @@ -492,11 +496,13 @@ echo "$(tput setaf 2)-o$(tput sgr0) Output '$(tput setaf 2)1$(tput sgr0)' force echo "$(tput setaf 2)-c$(tput sgr0) Do not clean up lang build'$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" echo "$(tput setaf 2)-p$(tput sgr0) Keep Configuration_prusa.h '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" echo "$(tput setaf 2)-n$(tput sgr0) New fresh build '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" +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)-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)-?$(tput sgr0) Help" echo "$(tput setaf 2)-h$(tput sgr0) Help" echo echo "Brief USAGE:" -echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-v] [-l] [-d] [-b] [-o] [-c] [-p] [-n]" +echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-v] [-l] [-d] [-b] [-o] [-c] [-p] [-n] [-m]" echo echo "Example:" echo " $(tput setaf 2)./PF-build.sh -v All -l ALL -d GOLD$(tput sgr0)" @@ -514,48 +520,48 @@ fi # # '-v' argument defines which variant of the Prusa Firmware will be compiled if [ -z "$variant_flag" ] ; then - # Select which variant of the Prusa Firmware will be compiled, like - PS3="Select a variant: " - while IFS= read -r -d $'\0' f; do - options[i++]="$f" - done < <(find Firmware/variants/ -maxdepth 1 -type f -name "*.h" -print0 ) - select opt in "${options[@]}" "All" "Quit"; do - case $opt in - *.h) - VARIANT=$(basename "$opt" ".h") - VARIANTS[i++]="$opt" - break - ;; - "All") - VARIANT="All" - VARIANTS=${options[*]} - break - ;; - "Quit") - echo "You chose to stop" - exit 20 - ;; - *) - echo "$(tput setaf 1)This is not a valid variant$(tput sgr0)" - ;; - esac - done + # Select which variant of the Prusa Firmware will be compiled, like + PS3="Select a variant: " + while IFS= read -r -d $'\0' f; do + options[i++]="$f" + done < <(find Firmware/variants/ -maxdepth 1 -type f -name "*.h" -print0 ) + select opt in "${options[@]}" "All" "Quit"; do + case $opt in + *.h) + VARIANT=$(basename "$opt" ".h") + VARIANTS[i++]="$opt" + break + ;; + "All") + VARIANT="All" + VARIANTS=${options[*]} + break + ;; + "Quit") + echo "You chose to stop" + exit 20 + ;; + *) + echo "$(tput setaf 1)This is not a valid variant$(tput sgr0)" + ;; + esac + done else - if [ -f "$SCRIPT_PATH/Firmware/variants/$variant_flag" ] ; then - VARIANTS=$variant_flag - elif [ "$variant_flag" == "All" ] ; then - while IFS= read -r -d $'\0' f; do - options[i++]="$f" - done < <(find Firmware/variants/ -maxdepth 1 -type f -name "*.h" -print0 ) - VARIANT="All" - VARIANTS=${options[*]} - else - echo "$(tput setaf 1)Argument $variant_flag could not be found in Firmware/variants please choose a valid one.$(tput sgr0)" - echo "Only $(tput setaf 2)'All'$(tput sgr0) and file names below are allowed as variant '-v' argument.$(tput setaf 2)" - ls -1 $SCRIPT_PATH/Firmware/variants/*.h | xargs -n1 basename - echo "$(tput sgr0)" - exit 21 - fi + if [ -f "$SCRIPT_PATH/Firmware/variants/$variant_flag" ] ; then + VARIANTS=$variant_flag + elif [ "$variant_flag" == "All" ] ; then + while IFS= read -r -d $'\0' f; do + options[i++]="$f" + done < <(find Firmware/variants/ -maxdepth 1 -type f -name "*.h" -print0 ) + VARIANT="All" + VARIANTS=${options[*]} + else + echo "$(tput setaf 1)Argument $variant_flag could not be found in Firmware/variants please choose a valid one.$(tput sgr0)" + echo "Only $(tput setaf 2)'All'$(tput sgr0) and file names below are allowed as variant '-v' argument.$(tput setaf 2)" + ls -1 $SCRIPT_PATH/Firmware/variants/*.h | xargs -n1 basename + echo "$(tput sgr0)" + exit 21 + fi fi #'-l' argument defines if it is an English only version. Known values EN_ONLY / ALL @@ -563,86 +569,86 @@ fi MULTI_LANGUAGE_CHECK=$(grep --max-count=1 "^#define LANG_MODE *" $SCRIPT_PATH/Firmware/config.h|sed -e's/ */ /g'|cut -d ' ' -f3) if [ -z "$language_flag" ] ; then - PS3="Select a language: " - echo - echo "Which lang-build do you want?" - select yn in "Multi languages" "English only"; do - case $yn in - "Multi languages") - LANGUAGES="ALL" - break - ;; - "English only") - LANGUAGES="EN_ONLY" - break - ;; - *) - echo "$(tput setaf 1)This is not a valid language$(tput sgr0)" - ;; - esac - done + PS3="Select a language: " + echo + echo "Which lang-build do you want?" + select yn in "Multi languages" "English only"; do + case $yn in + "Multi languages") + LANGUAGES="ALL" + break + ;; + "English only") + LANGUAGES="EN_ONLY" + break + ;; + *) + echo "$(tput setaf 1)This is not a valid language$(tput sgr0)" + ;; + esac + done else - if [[ "$language_flag" == "ALL" || "$language_flag" == "EN_ONLY" ]] ; then - LANGUAGES=$language_flag - else - echo "$(tput setaf 1)Language argument is wrong!$(tput sgr0)" - echo "Only $(tput setaf 2)'ALL'$(tput sgr0) or $(tput setaf 2)'EN_ONLY'$(tput sgr0) are allowed as language '-l' argument!" - exit 22 - fi + if [[ "$language_flag" == "ALL" || "$language_flag" == "EN_ONLY" ]] ; then + LANGUAGES=$language_flag + else + echo "$(tput setaf 1)Language argument is wrong!$(tput sgr0)" + echo "Only $(tput setaf 2)'ALL'$(tput sgr0) or $(tput setaf 2)'EN_ONLY'$(tput sgr0) are allowed as language '-l' argument!" + exit 22 + fi fi #Check if DEV_STATUS is selected via argument '-d' if [ ! -z "$devel_flag" ] ; then - if [[ "$devel_flag" == "GOLD" || "$devel_flag" == "RC" || "$devel_flag" == "BETA" || "$devel_flag" == "ALPHA" || "$devel_flag" == "DEVEL" || "$devel_flag" == "DEBUG" || "$devel_flag" == "UNKNOWN" ]] ; then - DEV_STATUS_SELECTED=$devel_flag - else - echo "$(tput setaf 1)Development argument is wrong!$(tput sgr0)" - echo "Only $(tput setaf 2)'GOLD', 'RC', 'BETA', 'ALPHA', 'DEVEL', 'DEBUG' or 'UNKNOWN' $(tput sgr0) are allowed as devel '-d' argument!$(tput sgr0)" - exit 23 - fi + if [[ "$devel_flag" == "GOLD" || "$devel_flag" == "RC" || "$devel_flag" == "BETA" || "$devel_flag" == "ALPHA" || "$devel_flag" == "DEVEL" || "$devel_flag" == "DEBUG" || "$devel_flag" == "UNKNOWN" ]] ; then + DEV_STATUS_SELECTED=$devel_flag + else + echo "$(tput setaf 1)Development argument is wrong!$(tput sgr0)" + echo "Only $(tput setaf 2)'GOLD', 'RC', 'BETA', 'ALPHA', 'DEVEL', 'DEBUG' or 'UNKNOWN' $(tput sgr0) are allowed as devel '-d' argument!$(tput sgr0)" + exit 23 + fi fi #Check if Build is selected via argument '-b' if [ ! -z "$build_flag" ] ; then - if [[ "$build_flag" == "Auto" && "$git_available" == "1" ]] ; then - echo "Build changed to $build_flag" - BUILD=$(git rev-list --count HEAD) - elif [[ $build_flag =~ ^[0-9]+$ ]] ; then - BUILD=$build_flag - else - echo "$(tput setaf 1)Build number argument is wrong!$(tput sgr0)" - echo "Only $(tput setaf 2)'Auto' (git needed) or numbers $(tput sgr0) are allowed as build '-b' argument!$(tput sgr0)" - exit 24 + if [[ "$build_flag" == "Auto" && "$git_available" == "1" ]] ; then + echo "Build changed to $build_flag" + BUILD=$(git rev-list --count HEAD) + elif [[ $build_flag =~ ^[0-9]+$ ]] ; then + BUILD=$build_flag + else + echo "$(tput setaf 1)Build number argument is wrong!$(tput sgr0)" + echo "Only $(tput setaf 2)'Auto' (git needed) or numbers $(tput sgr0) are allowed as build '-b' argument!$(tput sgr0)" + exit 24 - fi - echo "New Build number is: $BUILD" + fi + echo "New Build number is: $BUILD" fi # check if script has been started with arguments if [[ "$#" -eq "0" || "$output_flag" == 1 ]] ; then - OUTPUT=1 + OUTPUT=1 else - OUTPUT=0 + OUTPUT=0 fi #echo "Output is:" $OUTPUT #Check git branch has changed if [ ! -z "git_available" ]; then - BRANCH="" - CLEAN_PF_FW_BUILD=0 + BRANCH="" + CLEAN_PF_FW_BUILD=0 else - BRANCH=$(git branch --show-current) - echo "Current branch is:" $BRANCH - if [ ! -f "$SCRIPT_PATH/../PF-build.branch" ]; then - echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch - echo "created PF-build.branch file" - else - PRE_BRANCH=$(cat "$SCRIPT_PATH/../PF-build.branch") - echo "Previous branch was:" $PRE_BRANCH - if [ ! "$BRANCH" == "$PRE_BRANCH" ] ; then - CLEAN_PF_FW_BUILD=1 - echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch - fi - fi + BRANCH=$(git branch --show-current) + echo "Current branch is:" $BRANCH + if [ ! -f "$SCRIPT_PATH/../PF-build.branch" ]; then + echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch + echo "created PF-build.branch file" + else + PRE_BRANCH=$(cat "$SCRIPT_PATH/../PF-build.branch") + echo "Previous branch was:" $PRE_BRANCH + if [ ! "$BRANCH" == "$PRE_BRANCH" ] ; then + CLEAN_PF_FW_BUILD=1 + echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch + fi + fi fi #Set BUILD_ENV_PATH @@ -662,292 +668,324 @@ BUILD_PATH="$( pwd -P )" #Check git branch has changed if [ "$CLEAN_PF_FW_BUILD" == "1" ]; then - read -t 10 -p "Branch changed, cleaning Prusa-Firmware-build folder" - rm -r * + read -t 10 -p "Branch changed, cleaning Prusa-Firmware-build folder" + rm -r * else - echo "Nothing to clean up" + echo "Nothing to clean up" fi for v in ${VARIANTS[*]} do - VARIANT=$(basename "$v" ".h") - # Find firmware version in Configuration.h file and use it to generate the hex filename - FW=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g') - if [ -z "$BUILD" ] ; then - # Find build version in Configuration.h file and use it to generate the hex filename - BUILD=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) - else - # Find and replace build version in Configuration.h file - BUILD_ORG=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) - echo "Original build number: $BUILD_ORG" - sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD/g" $SCRIPT_PATH/Firmware/Configuration.h - fi - # Check if the motherboard is an EINSY and if so only one hex file will generated - MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) - # Check development status - DEV_CHECK=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g'|cut -d '-' -f2) - if [ -z "$DEV_STATUS_SELECTED" ] ; then - if [[ "$DEV_CHECK" == *"RC"* ]] ; then - DEV_STATUS="RC" - elif [[ "$DEV_CHECK" == "ALPHA" ]]; then - DEV_STATUS="ALPHA" - elif [[ "$DEV_CHECK" == "BETA" ]]; then - DEV_STATUS="BETA" - elif [[ "$DEV_CHECK" == "DEVEL" ]]; then - DEV_STATUS="DEVEL" - elif [[ "$DEV_CHECK" == "DEBUG" ]]; then - DEV_STATUS="DEBUG" - else - DEV_STATUS="UNKNOWN" - echo - echo "$(tput setaf 5)DEV_STATUS is UNKNOWN. Do you wish to set DEV_STATUS to GOLD?$(tput sgr0)" - PS3="Select YES only if source code is tested and trusted: " - select yn in "Yes" "No"; do - case $yn in - Yes) - DEV_STATUS="GOLD" - DEV_STATUS_SELECTED="GOLD" - break - ;; - No) - DEV_STATUS="UNKNOWN" - DEV_STATUS_SELECTED="UNKNOWN" - break - ;; - *) - echo "$(tput setaf 1)This is not a valid DEV_STATUS$(tput sgr0)" - ;; - esac - done - fi - else - DEV_STATUS=$DEV_STATUS_SELECTED - fi - #Prepare hex files folders - if [ ! -d "$SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" ]; then - mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD || exit 28 - fi - OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" - - #Check if exactly the same hexfile already exists - if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex" && "$LANGUAGES" == "ALL" ]]; then - echo "" - ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex | xargs -n1 basename - echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - elif [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex" && "$LANGUAGES" == "EN_ONLY" ]]; then - echo "" - ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex | xargs -n1 basename - echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - fi - if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip" && "$LANGUAGES" == "ALL" ]]; then - echo "" - ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip | xargs -n1 basename - echo "$(tput setaf 6)This zip file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - fi - - #List some useful data - echo "$(tput setaf 2)$(tput setab 7) " - echo "Variant :" $VARIANT - echo "Firmware :" $FW - echo "Build # :" $BUILD - echo "Dev Check :" $DEV_CHECK - echo "DEV Status :" $DEV_STATUS - echo "Motherboard:" $MOTHERBOARD - echo "Languages :" $LANGUAGES - echo "Hex-file Folder:" $OUTPUT_FOLDER - echo "$(tput sgr0)" + VARIANT=$(basename "$v" ".h") + PRINTER=$(grep --max-count=1 "\bPRINTER_TYPE\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3 | cut -d '_' -f2) + # Find firmware version in Configuration.h file and use it to generate the hex filename + FW=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g') + if [ -z "$BUILD" ] ; then + # Find build version in Configuration.h file and use it to generate the hex filename + BUILD=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) + else + # Find and replace build version in Configuration.h file + BUILD_ORG=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) + echo "Original build number: $BUILD_ORG" + sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD/g" $SCRIPT_PATH/Firmware/Configuration.h + fi + # Check if the motherboard is an EINSY and if so only one hex file will generated + MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) + # Check development status + DEV_CHECK=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g'|cut -d '-' -f2) + if [ -z "$DEV_STATUS_SELECTED" ] ; then + if [[ "$DEV_CHECK" == *"RC"* ]] ; then + DEV_STATUS="RC" + elif [[ "$DEV_CHECK" == "ALPHA" ]]; then + DEV_STATUS="ALPHA" + elif [[ "$DEV_CHECK" == "BETA" ]]; then + DEV_STATUS="BETA" + elif [[ "$DEV_CHECK" == "DEVEL" ]]; then + DEV_STATUS="DEVEL" + elif [[ "$DEV_CHECK" == "DEBUG" ]]; then + DEV_STATUS="DEBUG" + else + DEV_STATUS="UNKNOWN" + echo + echo "$(tput setaf 5)DEV_STATUS is UNKNOWN. Do you wish to set DEV_STATUS to GOLD?$(tput sgr0)" + PS3="Select YES only if source code is tested and trusted: " + select yn in "Yes" "No"; do + case $yn in + Yes) + DEV_STATUS="GOLD" + DEV_STATUS_SELECTED="GOLD" + break + ;; + No) + DEV_STATUS="UNKNOWN" + DEV_STATUS_SELECTED="UNKNOWN" + break + ;; + *) + echo "$(tput setaf 1)This is not a valid DEV_STATUS$(tput sgr0)" + ;; + esac + done + fi + else + DEV_STATUS=$DEV_STATUS_SELECTED + fi + #Prepare hex files folders + if [ ! -d "$SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" ]; then + mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD || exit 28 + fi + OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" + + #Check if exactly the same hexfile already exists + if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex" && "$LANGUAGES" == "ALL" ]]; then + echo "" + ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex | xargs -n1 basename + echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + elif [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex" && "$LANGUAGES" == "EN_ONLY" ]]; then + echo "" + ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex | xargs -n1 basename + echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + fi + if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip" && "$LANGUAGES" == "ALL" ]]; then + echo "" + ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip | xargs -n1 basename + echo "$(tput setaf 6)This zip file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + fi + + #List some useful data + echo "$(tput setaf 2)$(tput setab 7) " + echo "Printer :" $PRINTER + echo "Variant :" $VARIANT + echo "Firmware :" $FW + echo "Build # :" $BUILD + echo "Dev Check :" $DEV_CHECK + echo "DEV Status :" $DEV_STATUS + echo "Motherboard:" $MOTHERBOARD + echo "Languages :" $LANGUAGES + echo "Hex-file Folder:" $OUTPUT_FOLDER + echo "$(tput sgr0)" - #Prepare Firmware to be compiled by copying variant as Configuration_prusa.h - if [ ! -f "$SCRIPT_PATH/Firmware/Configuration_prusa.h" ]; then - cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 - else - echo "$(tput setaf 6)Configuration_prusa.h already exist it will be overwritten in 10 seconds by the chosen variant.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 - fi + #Prepare Firmware to be compiled by copying variant as Configuration_prusa.h + if [ ! -f "$SCRIPT_PATH/Firmware/Configuration_prusa.h" ]; then + cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 + else + echo "$(tput setaf 6)Configuration_prusa.h already exist it will be overwritten in 10 seconds by the chosen variant.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 + fi - #Prepare Configuration.h to use the correct FW_DEV_VERSION to prevent LCD messages when connecting with OctoPrint - sed -i -- "s/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/g" $SCRIPT_PATH/Firmware/Configuration.h + #Prepare Configuration.h to use the correct FW_DEV_VERSION to prevent LCD messages when connecting with OctoPrint + sed -i -- "s/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/g" $SCRIPT_PATH/Firmware/Configuration.h - # set FW_REPOSITORY - sed -i -- 's/#define FW_REPOSITORY "Unknown"/#define FW_REPOSITORY "Prusa3d"/g' $SCRIPT_PATH/Firmware/Configuration.h + # set FW_REPOSITORY + sed -i -- 's/#define FW_REPOSITORY "Unknown"/#define FW_REPOSITORY "Prusa3d"/g' $SCRIPT_PATH/Firmware/Configuration.h - #Prepare English only or multi-language version to be build - if [ $LANGUAGES == "EN_ONLY" ]; then - echo " " - echo "English only language firmware will be built" - sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE 0/g" $SCRIPT_PATH/Firmware/config.h - echo " " - else - echo " " - echo "Multi-language firmware will be built" - sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE 1/g" $SCRIPT_PATH/Firmware/config.h - echo " " - fi - - #Check if compiler flags are set to Prusa specific needs for the rambo board. -# if [ $TARGET_OS == "windows" ]; then -# RAMBO_PLATFORM_FILE="PrusaResearchRambo/avr/platform.txt" -# fi - - #### End of Prepare building - - #### Start building - - export ARDUINO=$BUILD_ENV_PATH - #echo $BUILD_ENV_PATH - #export BUILDER=$ARDUINO/arduino-builder + #Prepare English only or multi-language version to be build + if [ $LANGUAGES == "EN_ONLY" ]; then + echo " " + echo "English only language firmware will be built" + sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE 0/g" $SCRIPT_PATH/Firmware/config.h + echo " " + else + echo " " + echo "Multi-language firmware will be built" + sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE 1/g" $SCRIPT_PATH/Firmware/config.h + echo " " + fi + + #Check if compiler flags are set to Prusa specific needs for the rambo board. +# if [ $TARGET_OS == "windows" ]; then +# RAMBO_PLATFORM_FILE="PrusaResearchRambo/avr/platform.txt" +# fi + + #### End of Prepare building + + #### Start building + + export ARDUINO=$BUILD_ENV_PATH + #echo $BUILD_ENV_PATH + #export BUILDER=$ARDUINO/arduino-builder - echo - #read -t 5 -p "Press Enter..." - echo + echo + #read -t 5 -p "Press Enter..." + echo - echo "Start to build Prusa Firmware ..." - echo "Using variant $VARIANT$(tput setaf 3)" - if [ $OUTPUT == "1" ] ; then - sleep 2 - fi + echo "Start to build Prusa Firmware ..." + echo "Using variant $VARIANT$(tput setaf 3)" + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi - #New fresh PF-Firmware-build - if [ "$new_build_flag" == "1" ]; then - rm -r -f $BUILD_PATH/* || exit 36 - fi + #New fresh PF-Firmware-build + if [ "$new_build_flag" == "1" ]; then + rm -r -f $BUILD_PATH/* || exit 36 + fi - #$BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 14 - $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 30 - echo "$(tput sgr 0)" + #$BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 14 + $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 30 + echo "$(tput sgr 0)" - if [ $LANGUAGES == "ALL" ]; then - echo "$(tput setaf 2)" + if [ $LANGUAGES == "ALL" ]; then + echo "$(tput setaf 2)" - echo "Building multi language firmware" $MULTI_LANGUAGE_CHECK - echo "$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - sleep 2 - fi - cd $SCRIPT_PATH/lang - echo "$(tput setaf 3)" - ./config.sh || exit 31 - echo "$(tput sgr 0)" - # Check if previous languages and firmware build exist and if so clean them up - if [ -f "lang_en.tmp" ]; then - echo "" - echo "$(tput setaf 6)Previous lang build files already exist these will be cleaned up in 10 seconds.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - echo "$(tput setaf 3)" - ./lang-clean.sh - echo "$(tput sgr 0)" - fi - if [ -f "progmem.out" ]; then - echo "" - echo "$(tput setaf 6)Previous firmware build files already exist these will be cleaned up in 10 seconds.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - echo "$(tput setaf 3)" - ./fw-clean.sh - echo "$(tput sgr 0)" - fi - # build languages - echo "$(tput setaf 3)" - ./lang-build.sh || exit 32 - # Combine compiled firmware with languages - ./fw-build.sh || exit 33 - cp not_tran.txt not_tran_$VARIANT.txt - cp not_used.txt not_used_$VARIANT.txt - echo "$(tput sgr 0)" - # Check if the motherboard is an EINSY and if so only one hex file will generated - MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) - # If the motherboard is an EINSY just copy one hexfile - if [ "$MOTHERBOARD" = "BOARD_EINSY_1_0a" ]; then - echo "$(tput setaf 2)Copying multi language firmware for MK3/Einsy board to PF-build-hex folder$(tput sgr 0)" - cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex - else - echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)" - cp -f firmware_cz.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-cz.hex - cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-de.hex - cp -f firmware_es.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-es.hex - cp -f firmware_fr.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-fr.hex - cp -f firmware_it.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-it.hex - cp -f firmware_pl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-pl.hex - if [ $TARGET_OS == "windows" ]; then - zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex - rm $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex - elif [ $TARGET_OS == "linux" ]; then - zip -m -j ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex - fi - fi - # Cleanup after build - if [[ -z "$clean_flag" || "$clean_flag" == "0" ]]; then - echo "$(tput setaf 3)" - ./fw-clean.sh || exit 34 - ./lang-clean.sh || exit 35 - echo "$(tput sgr 0)" - fi - else - echo "$(tput setaf 2)Copying English only firmware to PF-build-hex folder$(tput sgr 0)" - cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex || exit 34 - fi + echo "Building multi language firmware" $MULTI_LANGUAGE_CHECK + echo "$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi + cd $SCRIPT_PATH/lang + echo "$(tput setaf 3)" + ./config.sh || exit 31 + echo "$(tput sgr 0)" + # Check if previous languages and firmware build exist and if so clean them up + if [ -f "lang_en.tmp" ]; then + echo "" + echo "$(tput setaf 6)Previous lang build files already exist these will be cleaned up in 10 seconds.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + echo "$(tput setaf 3)" + ./lang-clean.sh + echo "$(tput sgr 0)" + fi + if [ -f "progmem.out" ]; then + echo "" + echo "$(tput setaf 6)Previous firmware build files already exist these will be cleaned up in 10 seconds.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + echo "$(tput setaf 3)" + ./fw-clean.sh + echo "$(tput sgr 0)" + fi + # build languages + echo "$(tput setaf 3)" + ./lang-build.sh || exit 32 + # Combine compiled firmware with languages + ./fw-build.sh || exit 33 + cp not_tran.txt not_tran_$VARIANT.txt + cp not_used.txt not_used_$VARIANT.txt + echo "$(tput sgr 0)" + # Check if the motherboard is an EINSY and if so only one hex file will generated + MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) + # If the motherboard is an EINSY just copy one hexfile + if [ "$MOTHERBOARD" = "BOARD_EINSY_1_0a" ]; then + echo "$(tput setaf 2)Copying multi language firmware for MK3/Einsy board to PF-build-hex folder$(tput sgr 0)" + cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex + else + echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)" + cp -f firmware_cz.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-cz.hex + cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-de.hex + cp -f firmware_es.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-es.hex + cp -f firmware_fr.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-fr.hex + cp -f firmware_it.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-it.hex + cp -f firmware_pl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-pl.hex + if [ $TARGET_OS == "windows" ]; then + zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex + rm $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex + elif [ $TARGET_OS == "linux" ]; then + if [ ! -z "$mk404_flag" ]; then + cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex + fi + zip -m -j ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex + fi + fi + # Cleanup after build + if [[ -z "$clean_flag" || "$clean_flag" == "0" ]]; then + echo "$(tput setaf 3)" + ./fw-clean.sh || exit 34 + ./lang-clean.sh || exit 35 + echo "$(tput sgr 0)" + fi + else + echo "$(tput setaf 2)Copying English only firmware to PF-build-hex folder$(tput sgr 0)" + cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex || exit 34 + fi - # Cleanup Firmware - if [[ -z "$prusa_flag" || "$prusa_flag" == "0" ]]; then - rm $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 36 - fi - if find $SCRIPT_PATH/lang/ -name '*RAMBo10a*.txt' -printf 1 -quit | grep -q 1 - then - rm $SCRIPT_PATH/lang/*RAMBo10a*.txt - fi - if find $SCRIPT_PATH/lang/ -name '*MK2-RAMBo13a*' -printf 1 -quit | grep -q 1 - then - rm $SCRIPT_PATH/lang/*MK2-RAMBo13a*.txt - fi - if find $SCRIPT_PATH/lang/ -name 'not_tran.txt' -printf 1 -quit | grep -q 1 - then - rm $SCRIPT_PATH/lang/not_tran.txt - fi - if find $SCRIPT_PATH/lang/ -name 'not_used.txt' -printf 1 -quit | grep -q 1 - then - rm $SCRIPT_PATH/lang/not_used.txt - fi + # Cleanup Firmware + if [[ -z "$prusa_flag" || "$prusa_flag" == "0" ]]; then + rm $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 36 + fi + if find $SCRIPT_PATH/lang/ -name '*RAMBo10a*.txt' -printf 1 -quit | grep -q 1 + then + rm $SCRIPT_PATH/lang/*RAMBo10a*.txt + fi + if find $SCRIPT_PATH/lang/ -name '*MK2-RAMBo13a*' -printf 1 -quit | grep -q 1 + then + rm $SCRIPT_PATH/lang/*MK2-RAMBo13a*.txt + fi + if find $SCRIPT_PATH/lang/ -name 'not_tran.txt' -printf 1 -quit | grep -q 1 + then + rm $SCRIPT_PATH/lang/not_tran.txt + fi + if find $SCRIPT_PATH/lang/ -name 'not_used.txt' -printf 1 -quit | grep -q 1 + then + rm $SCRIPT_PATH/lang/not_used.txt + fi - #New fresh PF-Firmware-build - if [ "$new_build_flag" == "1" ]; then - rm -r -f $BUILD_PATH/* || exit 36 - fi + #New fresh PF-Firmware-build + if [ "$new_build_flag" == "1" ]; then + rm -r -f $BUILD_PATH/* || exit 36 + fi - # Restore files to previous state - sed -i -- "s/^#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/g" $SCRIPT_PATH/Firmware/Configuration.h - sed -i -- 's/^#define FW_REPOSITORY "Prusa3d"/#define FW_REPOSITORY "Unknown"/g' $SCRIPT_PATH/Firmware/Configuration.h - if [ ! -z "$BUILD_ORG" ] ; then - sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD_ORG/g" $SCRIPT_PATH/Firmware/Configuration.h - fi - echo $MULTI_LANGUAGE_CHECK - #sed -i -- "s/^#define LANG_MODE * /#define LANG_MODE $MULTI_LANGUAGE_CHECK/g" $SCRIPT_PATH/Firmware/config.h - sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h - sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h - if [ $OUTPUT == "1" ] ; then - sleep 5 - fi + # Restore files to previous state + sed -i -- "s/^#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/g" $SCRIPT_PATH/Firmware/Configuration.h + sed -i -- 's/^#define FW_REPOSITORY "Prusa3d"/#define FW_REPOSITORY "Unknown"/g' $SCRIPT_PATH/Firmware/Configuration.h + if [ ! -z "$BUILD_ORG" ] ; then + sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD_ORG/g" $SCRIPT_PATH/Firmware/Configuration.h + fi + echo $MULTI_LANGUAGE_CHECK + #sed -i -- "s/^#define LANG_MODE * /#define LANG_MODE $MULTI_LANGUAGE_CHECK/g" $SCRIPT_PATH/Firmware/config.h + sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h + sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h + if [ $OUTPUT == "1" ] ; then + sleep 5 + fi done # Switch to hex path and list build files cd $SCRIPT_PATH -cd .. echo "$(tput setaf 2) " echo " " echo "Build done, please use Slic3rPE > 1.41.0 to upload the firmware" echo "more information how to flash firmware https://www.prusa3d.com/drivers/ $(tput sgr 0)" #### End building +ls +#### Run MK404 sim +if [ ! -z "$mk404_flag" ]; then +./MK404-build.sh + +if [ "$mk404_flag" == "2" ]; then + PRINTER="${PRINTER}MMU2" +fi + +if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then + PRINTER="${PRINTER}_mR13" +fi + +if [ ! -z "$grafics_flag" ]; then + options="--colour-extrusion --extrusion Quad_HR -g " + if [ "$grafics_flag" == "1" ]; then + options="${options}lite" + else + options="${options}fancy" + fi + +fi +echo "Printer: $PRINTER" +echo "Options: $options" +cd ../MK404/build + +./MK404 Prusa_$PRINTER -s --terminal $options -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex +fi From be9f8e51577713bc9ae511ee3b0b081795882a7c Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Sat, 13 Feb 2021 10:05:07 +0100 Subject: [PATCH 008/234] Add force recompile Added SD card builds --- MK404-build.sh | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index 7a9cde51a..e17a8239a 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -16,11 +16,12 @@ # 11 Feb 2021, 3d-gussner, Optional flags to check for updates -while getopts c:u:?h flag +while getopts c:u:f:?h flag do case "${flag}" in c) check_flag=${OPTARG};; u) update_flag=${OPTARG};; + f) force_flag=${OPTARG};; ?) help_flag=1;; h) help_flag=1;; esac @@ -98,7 +99,9 @@ fi #### Set build environment SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" MK404_URL="https://github.com/vintagepc/MK404.git" -MK404_PATH="$SCRIPT_PATH/../MK404" +MK404_owner="vintagepc" +MK404_project="MK404" +MK404_PATH="$SCRIPT_PATH/../MK404/master" MK404_BUILD_PATH="$MK404_PATH/build" @@ -111,6 +114,9 @@ echo "" echo "MK404 path :" $MK404_PATH if [ ! -d $MK404_PATH ]; then + #release_url=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/$MK404_owner/$MK404_project/releases/latest) + #release_tag=$(basename $release_url) + #git clone -b $release_tag -- https://github.com/$MK404_owner/$MK404_project.git $MK404_PATH git clone $MK404_URL $MK404_PATH fi @@ -120,15 +126,22 @@ fi mkdir -p $MK404_BUILD_PATH -if [ ! -f "$MK404_BUILD_PATH/Makefile" ]; then - cmake -B $MK404_BUILD_PATH +if [[ ! -f "$MK404_BUILD_PATH/Makefile" || "$force_flag" == "1" ]]; then + cmake -B$MK404_BUILD_PATH -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" fi cd $MK404_BUILD_PATH -if [ ! -f "$MK404_BUILD_PATH/MK404" ]; then +if [[ ! -f "$MK404_BUILD_PATH/MK404" || "$force_flag" == "1" ]]; then make fi +if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$force_flag" == "1" ]]; then + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3S_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25_13_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25S_13_SDcard.bin +fi + if [ "$check_flag" == "1" ]; then current_version=$( command ./MK404 --version | grep "MK404" | cut -f 4 -d " ") echo "Current version: $current_version" From bf331988662e8e07d8fa6622133ba19e001e45a7 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Sat, 13 Feb 2021 10:35:34 +0100 Subject: [PATCH 009/234] Add copy of MK3 and MK3S `lang.bin` files to MK404 `*_xflash.bin` Minor changes: - Indentations - Documentation --- MK404-build.sh | 18 ++++++++++++------ PF-build.sh | 48 ++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 50 insertions(+), 16 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index e17a8239a..aaddeae1a 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -10,11 +10,12 @@ # 3. Install latest updates with 'sudo apt-get upgrade' # 4. # -# Version: 0.1-Build_1 +# Version: 0.1-Build_3 # Change log: # 11 Feb 2021, 3d-gussner, Inital # 11 Feb 2021, 3d-gussner, Optional flags to check for updates - +# 12 Feb 2021, 3d-gussner, Update cmake +# 13 Feb 2021, 3d-gussner, Auto build SD cards while getopts c:u:f:?h flag do @@ -113,6 +114,7 @@ echo "OS type :" $TARGET_OS echo "" echo "MK404 path :" $MK404_PATH +# Clone MK404 if needed if [ ! -d $MK404_PATH ]; then #release_url=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/$MK404_owner/$MK404_project/releases/latest) #release_tag=$(basename $release_url) @@ -120,21 +122,24 @@ if [ ! -d $MK404_PATH ]; then git clone $MK404_URL $MK404_PATH fi - cd $MK404_PATH - git submodule init - git submodule update - +# Init and update submodules +cd $MK404_PATH +git submodule init +git submodule update +# Prepare MK404 mkdir -p $MK404_BUILD_PATH if [[ ! -f "$MK404_BUILD_PATH/Makefile" || "$force_flag" == "1" ]]; then cmake -B$MK404_BUILD_PATH -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" fi +# Make MK404 cd $MK404_BUILD_PATH if [[ ! -f "$MK404_BUILD_PATH/MK404" || "$force_flag" == "1" ]]; then make fi +# Make SDcards if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$force_flag" == "1" ]]; then cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3S_SDcard.bin cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3_SDcard.bin @@ -142,6 +147,7 @@ if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$force_flag" == "1" ]]; cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25S_13_SDcard.bin fi +# Check for updates ... WIP if [ "$check_flag" == "1" ]; then current_version=$( command ./MK404 --version | grep "MK404" | cut -f 4 -d " ") echo "Current version: $current_version" diff --git a/PF-build.sh b/PF-build.sh index 57c49c698..556c4d5de 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 1.0.6-Build_36 +# Version: 1.1.0-Build_39 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -138,6 +138,7 @@ # 27 Jan 2021, 3d-gussner, Add `-c`, `-p` and `-n` options # 12 Feb 2021, 3d-gussner, Add MK404-build.sh # 13 Feb 2021, 3d-gussner, Indentations +# 13 Feb 2021, 3d-gussner, MK404 improvements like "flash" MK3, MK3S languages files to MK404 xflash. #### Start check if OSTYPE is supported OS_FOUND=$( command -v uname) @@ -882,6 +883,11 @@ do # If the motherboard is an EINSY just copy one hexfile if [ "$MOTHERBOARD" = "BOARD_EINSY_1_0a" ]; then echo "$(tput setaf 2)Copying multi language firmware for MK3/Einsy board to PF-build-hex folder$(tput sgr 0)" + # Make a copy of "lang.bin" for MK404 MK3 and MK3S + if [ ! -z "$mk404_flag" ]; then + cp -f lang.bin $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin + fi + # End of "lang.bin" for MK3 and MK3S copy cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex else echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)" @@ -895,9 +901,11 @@ do zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex rm $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex elif [ $TARGET_OS == "linux" ]; then + # Make a copy for MK404 sim of MK2, MK2.5, MK2.5S firmware if [ ! -z "$mk404_flag" ]; then cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex fi + # End of MK2, MK2.5, MK2.5S firmware copy zip -m -j ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex fi fi @@ -961,31 +969,51 @@ echo " " echo "Build done, please use Slic3rPE > 1.41.0 to upload the firmware" echo "more information how to flash firmware https://www.prusa3d.com/drivers/ $(tput sgr 0)" #### End building -ls -#### Run MK404 sim + + +#### MK404 Simulator + +# Check/compile MK404 sim if [ ! -z "$mk404_flag" ]; then ./MK404-build.sh +# Check if MMU2 is selected if [ "$mk404_flag" == "2" ]; then PRINTER="${PRINTER}MMU2" fi +# For Prusa MK2, MK2.5 and MK2.5S if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then PRINTER="${PRINTER}_mR13" fi +# Run MK404 with grafics if [ ! -z "$grafics_flag" ]; then - options="--colour-extrusion --extrusion Quad_HR -g " + MK404_options="--colour-extrusion --extrusion Quad_HR -g " if [ "$grafics_flag" == "1" ]; then - options="${options}lite" + options="${MK404_options}lite" else - options="${options}fancy" + options="${MK404_options}fancy" fi fi -echo "Printer: $PRINTER" -echo "Options: $options" -cd ../MK404/build -./MK404 Prusa_$PRINTER -s --terminal $options -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex +# Output some useful data +echo "Printer: $PRINTER" +echo "Options: $MK404_options" + +# Change to MK404 build folder +cd ../MK404/master/build + +# Copy language bin file for MK3 and MK3S to xflash +if [ -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin ]; then +echo "Copy 'FW$FW-Build$BUILD-$VARIANT-lang.bin' to 'Prusa_${PRINTER}_xflash.bin'" + dd if=/dev/zero bs=1 count=262145 | tr "\000" "\377" >Prusa_${PRINTER}_xflash.bin + dd if=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin of=Prusa_${PRINTER}_xflash.bin conv=notrunc fi + +# Start MK404 +# default with serial output and terminal to manipulate it via terminal +./MK404 Prusa_$PRINTER -s --terminal $MK404_options -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex +fi +#### End of MK404 Simulator \ No newline at end of file From 1550e707be5ea5e47adcf47cf8c210890f88f7c9 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Sun, 14 Feb 2021 00:18:24 +0100 Subject: [PATCH 010/234] Fix few issues Create MMU2 SDcards MMU2 only for MK3/S --- MK404-build.sh | 8 +++++--- PF-build.sh | 20 +++++++++----------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index aaddeae1a..8ed1e6b9b 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -98,17 +98,17 @@ fi #### End Check MK404 dependencies #### Set build environment -SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" +MK404_SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" MK404_URL="https://github.com/vintagepc/MK404.git" MK404_owner="vintagepc" MK404_project="MK404" -MK404_PATH="$SCRIPT_PATH/../MK404/master" +MK404_PATH="$MK404_SCRIPT_PATH/../MK404/master" MK404_BUILD_PATH="$MK404_PATH/build" # List few useful data echo -echo "Script path :" $SCRIPT_PATH +echo "Script path :" $MK404_SCRIPT_PATH echo "OS :" $OS echo "OS type :" $TARGET_OS echo "" @@ -145,6 +145,8 @@ if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$force_flag" == "1" ]]; cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3_SDcard.bin cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25_13_SDcard.bin cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25S_13_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3SMMU2_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3MMU2_SDcard.bin fi # Check for updates ... WIP diff --git a/PF-build.sh b/PF-build.sh index 556c4d5de..f139de8dc 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -467,7 +467,7 @@ while getopts v:l:d:b:o:c:p:n:m:g:?h flag p) prusa_flag=${OPTARG};; n) new_build_flag=${OPTARG};; m) mk404_flag=${OPTARG};; - g) grafics_flag=${OPTARG};; + g) graphics_flag=${OPTARG};; ?) help_flag=1;; h) help_flag=1;; esac @@ -977,23 +977,21 @@ echo "more information how to flash firmware https://www.prusa3d.com/drivers/ $( if [ ! -z "$mk404_flag" ]; then ./MK404-build.sh -# Check if MMU2 is selected -if [ "$mk404_flag" == "2" ]; then +# For Prusa MK2, MK2.5/S +if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then + PRINTER="${PRINTER}_mR13" +elif [ "$mk404_flag" == "2" ]; then # Check if MMU2 is selected only for MK3/S PRINTER="${PRINTER}MMU2" fi -# For Prusa MK2, MK2.5 and MK2.5S -if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then - PRINTER="${PRINTER}_mR13" -fi # Run MK404 with grafics -if [ ! -z "$grafics_flag" ]; then +if [ ! -z "$graphics_flag" ]; then MK404_options="--colour-extrusion --extrusion Quad_HR -g " - if [ "$grafics_flag" == "1" ]; then - options="${MK404_options}lite" + if [ "$graphics_flag" == "1" ]; then + MK404_options="${MK404_options}lite" else - options="${MK404_options}fancy" + MK404_options="${MK404_options}fancy" fi fi From 4e6fd2a92d81c694bc2cec8bfa0dc69df92e4b79 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Wed, 17 Mar 2021 18:42:39 +0100 Subject: [PATCH 011/234] fix merge issue 2 --- lang/po/new/cs.po | 1850 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1850 insertions(+) diff --git a/lang/po/new/cs.po b/lang/po/new/cs.po index 51d01b066..40a9bca89 100644 --- a/lang/po/new/cs.po +++ b/lang/po/new/cs.po @@ -1,3 +1,1852 @@ +<<<<<<< HEAD +# Translation of Prusa-Firmware into Czech. +# +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Project-Id-Version: Prusa-Firmware\n" +"POT-Creation-Date: Wed May 13 17:41:02 CEST 2020\n" +"PO-Revision-Date: Wed May 13 17:41:02 CEST 2020\n" +"Language-Team: \n" +"X-Generator: Poedit 2.0.7\n" +"X-Poedit-SourceCharset: UTF-8\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +# +#: +msgid "[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset" +msgstr "[%.7s]Doladeni Z\x0auz nastaveno, pouzit\x0anebo reset od nuly?\x0a%cPokracovat%cReset" + +# MSG_03_OR_OLDER c=18 +#: messages.c:144 +msgid " 0.3 or older" +msgstr " 0.3 nebo starsi" + +# MSG_04_OR_NEWER c=18 +#: messages.c:143 +msgid " 0.4 or newer" +msgstr " 0.4 nebo novejsi" + +# MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 c=14 +#: messages.c:36 +msgid " of 4" +msgstr " z 4" + +# MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 c=14 +#: messages.c:56 +msgid " of 9" +msgstr " z 9" + +# MSG_MEASURED_OFFSET +#: ultralcd.cpp:3064 +msgid "[0;0] point offset" +msgstr "[0;0] odsazeni bodu" + +# MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 +#: +msgid "Crash detection can\x0abe turned on only in\x0aNormal mode" +msgstr "Crash detekce muze\x0abyt zapnuta pouze v\x0aNormal modu" + +# MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 +#: +msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" +msgstr "POZOR:\x0aCrash detekce\x0adeaktivovana ve\x0aStealth modu" + +# +#: ultralcd.cpp:2460 +msgid ">Cancel" +msgstr ">Zrusit" + +# MSG_BABYSTEPPING_Z c=15 +#: ultralcd.cpp:3184 +msgid "Adjusting Z:" +msgstr "Doladeni Z:" + +# MSG_SELFTEST_CHECK_ALLCORRECT c=20 +#: ultralcd.cpp:8677 +msgid "All correct " +msgstr "Vse OK " + +# MSG_WIZARD_DONE c=20 r=8 +#: messages.c:99 +msgid "All is done. Happy printing!" +msgstr "Vse je hotovo." + +# +#: ultralcd.cpp:1956 +msgid "Ambient" +msgstr "Okoli" + +# MSG_AUTO c=6 +#: messages.c:140 +msgid "Auto" +msgstr "" + +# MSG_PRESS c=20 r=2 +#: ultralcd.cpp:2609 +msgid "and press the knob" +msgstr "a stisknete tlacitko" + +# MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 +#: ultralcd.cpp:3506 +msgid "Are left and right Z~carriages all up?" +msgstr "Dojely oba Z voziky k~hornimu dorazu?" + +# MSG_AUTO_DEPLETE c=17 r=1 +#: messages.c:108 +msgid "SpoolJoin" +msgstr "" + +# MSG_AUTO_HOME +#: messages.c:11 +msgid "Auto home" +msgstr "" + +# MSG_AUTOLOAD_FILAMENT c=18 +#: ultralcd.cpp:6961 +msgid "AutoLoad filament" +msgstr "AutoZavedeni fil." + +# MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 +#: ultralcd.cpp:4445 +msgid "Autoloading filament available only when filament sensor is turned on..." +msgstr "Automaticke zavadeni filamentu je mozne pouze pri zapnutem filament senzoru..." + +# MSG_AUTOLOADING_ENABLED c=20 r=4 +#: ultralcd.cpp:2804 +msgid "Autoloading filament is active, just press the knob and insert filament..." +msgstr "Automaticke zavadeni filamentu aktivni, stisknete tlacitko a vlozte filament..." + +# MSG_SELFTEST_AXIS_LENGTH +#: ultralcd.cpp:8325 +msgid "Axis length" +msgstr "Delka osy" + +# MSG_SELFTEST_AXIS +#: ultralcd.cpp:8327 +msgid "Axis" +msgstr "Osa" + +# MSG_SELFTEST_BEDHEATER +#: ultralcd.cpp:8269 +msgid "Bed / Heater" +msgstr "Podlozka / Topeni" + +# MSG_BED_DONE +#: messages.c:15 +msgid "Bed done" +msgstr "Bed OK." + +# MSG_BED_HEATING +#: messages.c:16 +msgid "Bed Heating" +msgstr "Zahrivani bedu" + +# MSG_BED_CORRECTION_MENU +#: ultralcd.cpp:5861 +msgid "Bed level correct" +msgstr "Korekce podlozky" + +# MSG_BELTTEST c=17 +#: ultralcd.cpp:5841 +msgid "Belt test " +msgstr "Test remenu " + +# MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=5 +#: messages.c:17 +msgid "Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset." +msgstr "Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset." + +# MSG_BRIGHT c=6 +#: messages.c:138 +msgid "Bright" +msgstr "Jasny" + +# MSG_BRIGHTNESS c=18 +#: messages.c:134 +msgid "Brightness" +msgstr "Podsviceni" + +# MSG_BED +#: messages.c:14 +msgid "Bed" +msgstr "Podlozka" + +# MSG_MENU_BELT_STATUS c=18 +#: ultralcd.cpp:2009 +msgid "Belt status" +msgstr "Stav remenu" + +# MSG_RECOVER_PRINT c=20 r=2 +#: messages.c:67 +msgid "Blackout occurred. Recover print?" +msgstr "Detekovan vypadek proudu.Obnovit tisk?" + +# +#: ultralcd.cpp:8679 +msgid "Calibrating home" +msgstr "Kalibruji vychozi poz." + +# MSG_CALIBRATE_BED +#: ultralcd.cpp:5850 +msgid "Calibrate XYZ" +msgstr "Kalibrace XYZ" + +# MSG_HOMEYZ +#: messages.c:44 +msgid "Calibrate Z" +msgstr "Kalibrovat Z" + +# MSG_CALIBRATE_PINDA c=17 r=1 +#: ultralcd.cpp:4637 +msgid "Calibrate" +msgstr "Zkalibrovat" + +# MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 +#: ultralcd.cpp:3469 +msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." +msgstr "Kalibrace XYZ. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem." + +# MSG_CALIBRATE_Z_AUTO c=20 r=2 +#: messages.c:19 +msgid "Calibrating Z" +msgstr "Kalibruji Z" + +# MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 +#: ultralcd.cpp:3469 +msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." +msgstr "Kalibrace Z. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem." + +# MSG_HOMEYZ_DONE +#: ultralcd.cpp:865 +msgid "Calibration done" +msgstr "Kalibrace OK" + +# MSG_MENU_CALIBRATION +#: messages.c:57 +msgid "Calibration" +msgstr "Kalibrace" + +# +#: ultralcd.cpp:4815 +msgid "Cancel" +msgstr "Zrusit" + +# MSG_SD_REMOVED +#: ultralcd.cpp:9090 +msgid "Card removed" +msgstr "Karta vyjmuta" + +# MSG_NOT_COLOR +#: ultralcd.cpp:2709 +msgid "Color not correct" +msgstr "Barva neni cista" + +# MSG_COOLDOWN +#: messages.c:22 +msgid "Cooldown" +msgstr "Zchladit" + +# +#: ultralcd.cpp:4570 +msgid "Copy selected language?" +msgstr "Kopirovat vybrany jazyk?" + +# MSG_CRASHDETECT c=13 +#: messages.c:24 +msgid "Crash det." +msgstr "" + +# +#: ultralcd.cpp:4950 +msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." +msgstr "Zvolte filament pro kalibraci prvni vrstvy z nasledujiciho menu" + +# MSG_CRASH_DETECTED c=20 r=1 +#: messages.c:23 +msgid "Crash detected." +msgstr "Detekovan naraz." + +# +#: Marlin_main.cpp:607 +msgid "Crash detected. Resume print?" +msgstr "Detekovan naraz. Obnovit tisk?" + +# +#: ultralcd.cpp:1785 +msgid "Crash" +msgstr "Naraz" + +# MSG_CURRENT c=19 r=1 +#: ultralcd.cpp:6002 +msgid "Current" +msgstr "Pouze aktualni" + +# MSG_DATE c=17 r=1 +#: ultralcd.cpp:2163 +msgid "Date:" +msgstr "Datum:" + +# MSG_DISABLE_STEPPERS +#: ultralcd.cpp:5743 +msgid "Disable steppers" +msgstr "Vypnout motory" + +# MSG_BABYSTEP_Z_NOT_SET c=20 r=12 +#: messages.c:13 +msgid "Distance between tip of the nozzle and the bed surface has not been set yet. Please follow the manual, chapter First steps, section First layer calibration." +msgstr "Neni zkalibrovana vzdalenost trysky od tiskove podlozky. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Nastaveni prvni vrstvy." + +# MSG_FS_CONTINUE c=5 +#: messages.c:132 +msgid "Cont." +msgstr "Pokr." + +# MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 +#: ultralcd.cpp:5125 +msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" +msgstr "Chcete opakovat posledni krok a pozmenit vzdalenost mezi tryskou a podlozkou?" + +# MSG_EXTRUDER_CORRECTION c=13 +#: ultralcd.cpp:5194 +msgid "E-correct:" +msgstr "Korekce E:" + +# MSG_EJECT_FILAMENT c=17 r=1 +#: messages.c:49 +msgid "Eject filament" +msgstr "Vysunout filament" + +# MSG_EJECTING_FILAMENT c=20 r=1 +#: mmu.cpp:1416 +msgid "Ejecting filament" +msgstr "Vysouvam filament" + +# MSG_SELFTEST_ENDSTOP_NOTHIT c=20 +#: ultralcd.cpp:8293 +msgid "Endstop not hit" +msgstr "Kon. spinac nesepnut" + +# MSG_SELFTEST_ENDSTOP +#: ultralcd.cpp:8287 +msgid "Endstop" +msgstr "Koncovy spinac" + +# MSG_SELFTEST_ENDSTOPS +#: ultralcd.cpp:8275 +msgid "Endstops" +msgstr "Konc. spinace" + +# MSG_STACK_ERROR c=20 r=4 +#: ultralcd.cpp:6998 +msgid "Error - static memory has been overwritten" +msgstr "Chyba - Doslo k prepisu staticke pameti!" + +# MSG_CUT_FILAMENT c=16 +#: messages.c:50 +msgid "Cut filament" +msgstr "Ustrihnout" + +# MSG_CUTTER c=9 +#: messages.c:109 +msgid "Cutter" +msgstr "Strihani" + +# c=18 +#: mmu.cpp:1388 +msgid "Cutting filament" +msgstr "Strihani filamentu" + +# MSG_FSENS_NOT_RESPONDING c=20 r=4 +#: ultralcd.cpp:4458 +msgid "ERROR: Filament sensor is not responding, please check connection." +msgstr "CHYBA: Filament senzor nereaguje, zkontrolujte prosim zapojeni." + +# MSG_DIM c=6 +#: messages.c:139 +msgid "Dim" +msgstr "Temny" + +# MSG_ERROR +#: messages.c:25 +msgid "ERROR:" +msgstr "CHYBA:" + +# MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 +#: ultralcd.cpp:8686 +msgid "Extruder fan:" +msgstr "Levy vent.:" + +# MSG_INFO_EXTRUDER c=18 +#: ultralcd.cpp:2211 +msgid "Extruder info" +msgstr "" + +# MSG_MOVE_E +#: messages.c:26 +msgid "Extruder" +msgstr "" + +# +#: ultralcd.cpp:6985 +msgid "Fail stats MMU" +msgstr "Selhani MMU" + +# MSG_FSENSOR_AUTOLOAD c=13 +#: messages.c:40 +msgid "F. autoload" +msgstr "F. autozav." + +# +#: ultralcd.cpp:6982 +msgid "Fail stats" +msgstr "Selhani" + +# MSG_FAN_SPEED c=14 +#: messages.c:28 +msgid "Fan speed" +msgstr "Rychlost vent." + +# MSG_SELFTEST_FAN c=20 +#: messages.c:74 +msgid "Fan test" +msgstr "Test ventilatoru" + +# MSG_FANS_CHECK +#: ultralcd.cpp:5751 +msgid "Fans check" +msgstr "Kontr. vent." + +# MSG_FSENSOR +#: messages.c:41 +msgid "Fil. sensor" +msgstr "Fil. senzor" + +# c=14 +#: ultralcd.cpp:1784 +msgid "Filam. runouts" +msgstr "Vypadky filam." + +# MSG_FILAMENT_CLEAN c=20 r=2 +#: messages.c:29 +msgid "Filament extruding & with correct color?" +msgstr "Filament vytlacen a spravne barvy?" + +# MSG_NOT_LOADED c=19 +#: ultralcd.cpp:2705 +msgid "Filament not loaded" +msgstr "Filament nezaveden" + +# MSG_FILAMENT_SENSOR c=20 +#: messages.c:80 +msgid "Filament sensor" +msgstr "Senzor filamentu" + +# MSG_FILAMENT_USED c=19 +#: ultralcd.cpp:2869 +msgid "Filament used" +msgstr "Spotrebovano filam." + +# MSG_PRINT_TIME c=19 r=1 +#: ultralcd.cpp:2870 +msgid "Print time" +msgstr "Cas tisku" + +# MSG_FS_ACTION c=10 +#: messages.c:131 +msgid "FS Action" +msgstr "FS reakce" + +# c=18 +#: Marlin_main.cpp:9512 +msgid "FS v0.4 or newer" +msgstr "FS v0.4 a novejsi" + +# MSG_FILE_INCOMPLETE c=20 r=3 +#: ultralcd.cpp:8814 +msgid "File incomplete. Continue anyway?" +msgstr "Soubor nekompletni. Pokracovat?" + +# MSG_FINISHING_MOVEMENTS c=20 +#: messages.c:37 +msgid "Finishing movements" +msgstr "Dokoncovani pohybu" + +# MSG_V2_CALIBRATION c=18 +#: messages.c:103 +msgid "First layer cal." +msgstr "Kal. prvni vrstvy" + +# MSG_WIZARD_SELFTEST c=20 r=8 +#: ultralcd.cpp:5046 +msgid "First, I will run the selftest to check most common assembly problems." +msgstr "Nejdriv pomoci selftestu zkontoluji nejcastejsi chyby vznikajici pri sestaveni tiskarny." + +# +#: mmu.cpp:727 +msgid "Fix the issue and then press button on MMU unit." +msgstr "Opravte chybu a pote stisknete tlacitko na jednotce MMU." + +# MSG_FLOW +#: ultralcd.cpp:7125 +msgid "Flow" +msgstr "Prutok" + +# MSG_PRUSA3D_FORUM +#: ultralcd.cpp:2156 +msgid "forum.prusa3d.com" +msgstr "" + +# MSG_SELFTEST_COOLING_FAN c=20 +#: messages.c:71 +msgid "Front print fan?" +msgstr "Predni tiskovy vent?" + +# MSG_BED_CORRECTION_FRONT c=14 r=1 +#: ultralcd.cpp:3266 +msgid "Front side[um]" +msgstr "Vpredu [um]" + +# MSG_SELFTEST_FANS +#: ultralcd.cpp:8333 +msgid "Front/left fans" +msgstr "Predni/levy vent." + +# MSG_SELFTEST_HEATERTHERMISTOR +#: ultralcd.cpp:8263 +msgid "Heater/Thermistor" +msgstr "Topeni/Termistor" + +# MSG_BED_HEATING_SAFETY_DISABLED +#: Marlin_main.cpp:9440 +msgid "Heating disabled by safety timer." +msgstr "Zahrivani preruseno bezpecnostnim casovacem." + +# MSG_HEATING_COMPLETE c=20 +#: messages.c:43 +msgid "Heating done." +msgstr "Zahrivani OK." + +# MSG_HEATING +#: messages.c:42 +msgid "Heating" +msgstr "Zahrivani" + +# MSG_WIZARD_WELCOME c=20 r=7 +#: ultralcd.cpp:5025 +msgid "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?" +msgstr "Dobry den, jsem vase tiskarna Original Prusa i3. Chcete abych Vas provedla kalibracnim procesem?" + +# MSG_PRUSA3D_HOWTO +#: ultralcd.cpp:2157 +msgid "howto.prusa3d.com" +msgstr "" + +# MSG_FILAMENTCHANGE +#: messages.c:34 +msgid "Change filament" +msgstr "Vymenit filament" + +# MSG_CHANGE_SUCCESS +#: ultralcd.cpp:2620 +msgid "Change success!" +msgstr "Zmena uspesna!" + +# MSG_CORRECTLY c=20 +#: ultralcd.cpp:2697 +msgid "Changed correctly?" +msgstr "Vymena ok?" + +# MSG_SELFTEST_CHECK_BED c=20 +#: messages.c:77 +msgid "Checking bed " +msgstr "Kontrola podlozky" + +# MSG_SELFTEST_CHECK_ENDSTOPS c=20 +#: ultralcd.cpp:8668 +msgid "Checking endstops" +msgstr "Kontrola endstopu" + +# MSG_SELFTEST_CHECK_HOTEND c=20 +#: ultralcd.cpp:8674 +msgid "Checking hotend " +msgstr "Kontrola hotend " + +# MSG_SELFTEST_CHECK_FSENSOR c=20 +#: messages.c:78 +msgid "Checking sensors " +msgstr "Kontrola senzoru" + +# MSG_SELFTEST_CHECK_X c=20 +#: ultralcd.cpp:7482 +msgid "Checking X axis " +msgstr "Kontrola osy X" + +# MSG_SELFTEST_CHECK_Y c=20 +#: ultralcd.cpp:7491 +msgid "Checking Y axis " +msgstr "Kontrola osy Y" + +# MSG_SELFTEST_CHECK_Z c=20 +#: ultralcd.cpp:8671 +msgid "Checking Z axis " +msgstr "Kontrola osy Z" + +# MSG_CHOOSE_EXTRUDER c=20 r=1 +#: messages.c:45 +msgid "Choose extruder:" +msgstr "Vyberte extruder:" + +# MSG_CHOOSE_FILAMENT c=20 r=1 +#: messages.c:46 +msgid "Choose filament:" +msgstr "Vyber filament:" + +# MSG_FILAMENT c=17 r=1 +#: messages.c:27 +msgid "Filament" +msgstr "" + +# MSG_WIZARD_XYZ_CAL c=20 r=8 +#: ultralcd.cpp:5055 +msgid "I will run xyz calibration now. It will take approx. 12 mins." +msgstr "Nyni provedu xyz kalibraci. Zabere to priblizne 12 min." + +# MSG_WIZARD_Z_CAL c=20 r=8 +#: ultralcd.cpp:5063 +msgid "I will run z calibration now." +msgstr "Nyni provedu z kalibraci." + +# MSG_WATCH +#: messages.c:97 +msgid "Info screen" +msgstr "Informace" + +# MSG_INSERT_FILAMENT c=20 +#: ultralcd.cpp:2605 +msgid "Insert filament" +msgstr "Vlozte filament" + +# MSG_WIZARD_FILAMENT_LOADED c=20 r=2 +#: ultralcd.cpp:4835 +msgid "Is filament loaded?" +msgstr "Je filament zaveden?" + +# MSG_STEEL_SHEET_CHECK c=20 r=2 +#: messages.c:90 +msgid "Is steel sheet on heatbed?" +msgstr "Je tiskovy plat na podlozce?" + +# +#: ultralcd.cpp:1727 +msgid "Last print failures" +msgstr "Selhani posl. tisku" + +# +#: ultralcd.cpp:5133 +msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." +msgstr "Mate-li vice tiskovych platu, kalibrujte je v menu Nastaveni - HW nastaveni - Tiskove platy" + +# +#: ultralcd.cpp:1704 +msgid "Last print" +msgstr "Posledni tisk" + +# MSG_SELFTEST_EXTRUDER_FAN c=20 +#: messages.c:72 +msgid "Left hotend fan?" +msgstr "Levy vent na trysce?" + +# +#: ultralcd.cpp:2993 +msgid "Left" +msgstr "Vlevo" + +# MSG_BED_CORRECTION_LEFT c=14 r=1 +#: ultralcd.cpp:3264 +msgid "Left side [um]" +msgstr "Vlevo [um]" + +# +#: ultralcd.cpp:5766 +msgid "Lin. correction" +msgstr "Korekce lin." + +# MSG_BABYSTEP_Z +#: messages.c:12 +msgid "Live adjust Z" +msgstr "Doladeni osy Z" + +# c=20 r=6 +#: ultralcd.cpp:7527 +msgid "Insert the filament (do not load it) into the extruder and then press the knob." +msgstr "Vlozte filament (nezavadejte) do extruderu a stisknete tlacitko" + +# MSG_LOAD_FILAMENT c=17 +#: messages.c:47 +msgid "Load filament" +msgstr "Zavest filament" + +# MSG_LOADING_COLOR +#: ultralcd.cpp:2645 +msgid "Loading color" +msgstr "Cisteni barvy" + +# MSG_LOADING_FILAMENT c=20 +#: messages.c:48 +msgid "Loading filament" +msgstr "Zavadeni filamentu" + +# MSG_LOOSE_PULLEY c=20 r=1 +#: ultralcd.cpp:8317 +msgid "Loose pulley" +msgstr "Uvolnena remenicka" + +# +#: ultralcd.cpp:6944 +msgid "Load to nozzle" +msgstr "Zavest do trysky" + +# MSG_M117_V2_CALIBRATION c=25 +#: messages.c:51 +msgid "M117 First layer cal." +msgstr "M117 Kal. prvni vrstvy" + +# MSG_MAIN +#: messages.c:52 +msgid "Main" +msgstr "Hlavni nabidka" + +# MSG_BL_HIGH c=12 +#: messages.c:135 +msgid "Level Bright" +msgstr "" + +# MSG_BL_LOW c=12 +#: messages.c:136 +msgid "Level Dimmed" +msgstr "" + +# MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=60 +#: messages.c:55 +msgid "Measuring reference height of calibration point" +msgstr "Merim referencni vysku kalibracniho bodu" + +# MSG_MESH_BED_LEVELING +#: ultralcd.cpp:5856 +msgid "Mesh Bed Leveling" +msgstr "" + +# MSG_MMU_OK_RESUMING_POSITION c=20 r=4 +#: mmu.cpp:765 +msgid "MMU OK. Resuming position..." +msgstr "MMU OK. Pokracuji v tisku..." + +# MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 +#: mmu.cpp:758 +msgid "MMU OK. Resuming temperature..." +msgstr "MMU OK. Pokracuji v nahrivani..." + +# +#: ultralcd.cpp:3034 +msgid "Measured skew" +msgstr "Merene zkoseni" + +# +#: ultralcd.cpp:1728 +msgid "MMU fails" +msgstr "Selhani MMU" + +# +#: mmu.cpp:1588 +msgid "MMU load failed " +msgstr "Zavedeni MMU selhalo" + +# +#: ultralcd.cpp:1729 +msgid "MMU load fails" +msgstr "MMU selhani zavadeni" + +# MSG_MMU_OK_RESUMING c=20 r=4 +#: mmu.cpp:776 +msgid "MMU OK. Resuming..." +msgstr "MMU OK. Pokracuji..." + +# MSG_MODE +#: messages.c:84 +msgid "Mode" +msgstr "Mod" + +# c=20 r=3 +#: Marlin_main.cpp:879 +msgid "MK3 firmware detected on MK3S printer" +msgstr "" + +# MSG_NORMAL +#: messages.c:88 +msgid "Normal" +msgstr "" + +# MSG_SILENT +#: messages.c:87 +msgid "Silent" +msgstr "Tichy" + +# +#: mmu.cpp:722 +msgid "MMU needs user attention." +msgstr "MMU potrebuje zasah uzivatele." + +# +#: ultralcd.cpp:1755 +msgid "MMU power fails" +msgstr "MMU vypadky proudu" + +# MSG_STEALTH +#: messages.c:89 +msgid "Stealth" +msgstr "Tichy" + +# MSG_AUTO_POWER +#: messages.c:86 +msgid "Auto power" +msgstr "Automaticky" + +# MSG_HIGH_POWER +#: messages.c:85 +msgid "High power" +msgstr "Vys. vykon" + +# +#: ultralcd.cpp:2186 +msgid "MMU2 connected" +msgstr "MMU2 pripojeno" + +# MSG_SELFTEST_MOTOR +#: messages.c:79 +msgid "Motor" +msgstr "" + +# MSG_MOVE_AXIS +#: ultralcd.cpp:5741 +msgid "Move axis" +msgstr "Posunout osu" + +# MSG_MOVE_X +#: ultralcd.cpp:4361 +msgid "Move X" +msgstr "Posunout X" + +# MSG_MOVE_Y +#: ultralcd.cpp:4362 +msgid "Move Y" +msgstr "Posunout Y" + +# MSG_MOVE_Z +#: ultralcd.cpp:4363 +msgid "Move Z" +msgstr "Posunout Z" + +# MSG_NO_MOVE +#: Marlin_main.cpp:5541 +msgid "No move." +msgstr "Bez pohybu." + +# MSG_NO_CARD +#: ultralcd.cpp:6911 +msgid "No SD card" +msgstr "Zadna SD karta" + +# MSG_NA +#: messages.c:107 +msgid "N/A" +msgstr "" + +# MSG_NO +#: messages.c:58 +msgid "No" +msgstr "Ne" + +# MSG_SELFTEST_NOTCONNECTED +#: ultralcd.cpp:8265 +msgid "Not connected" +msgstr "Nezapojeno " + +# +#: util.cpp:293 +msgid "New firmware version available:" +msgstr "Vysla nova verze firmware:" + +# MSG_SELFTEST_FAN_NO c=19 +#: messages.c:75 +msgid "Not spinning" +msgstr "Netoci se" + +# MSG_WIZARD_V2_CAL c=20 r=8 +#: ultralcd.cpp:4946 +msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." +msgstr "Nyni zkalibruji vzdalenost mezi koncem trysky a povrchem podlozky." + +# MSG_WIZARD_WILL_PREHEAT c=20 r=4 +#: ultralcd.cpp:5071 +msgid "Now I will preheat nozzle for PLA." +msgstr "Nyni predehreji trysku pro PLA." + +# MSG_NOZZLE +#: messages.c:59 +msgid "Nozzle" +msgstr "Tryska" + +# MSG_DEFAULT_SETTINGS_LOADED c=20 r=5 +#: Marlin_main.cpp:1518 +msgid "Old settings found. Default PID, Esteps etc. will be set." +msgstr "Neplatne hodnoty nastaveni. Bude pouzito vychozi PID, Esteps atd." + +# +#: ultralcd.cpp:5062 +msgid "Now remove the test print from steel sheet." +msgstr "Nyni odstrante testovaci vytisk z tiskoveho platu." + +# +#: ultralcd.cpp:1654 +msgid "Nozzle FAN" +msgstr "Vent. trysky" + +# MSG_PAUSE_PRINT +#: ultralcd.cpp:6875 +msgid "Pause print" +msgstr "Pozastavit tisk" + +# MSG_PID_RUNNING c=20 r=1 +#: ultralcd.cpp:1539 +msgid "PID cal. " +msgstr "PID kal. " + +# MSG_PID_FINISHED c=20 r=1 +#: ultralcd.cpp:1545 +msgid "PID cal. finished" +msgstr "PID kal. ukoncena" + +# MSG_PID_EXTRUDER c=17 r=1 +#: ultralcd.cpp:5862 +msgid "PID calibration" +msgstr "PID kalibrace" + +# MSG_PINDA_PREHEAT c=20 r=1 +#: ultralcd.cpp:896 +msgid "PINDA Heating" +msgstr "Nahrivani PINDA" + +# MSG_PAPER c=20 r=10 +#: messages.c:60 +msgid "Place a sheet of paper under the nozzle during the calibration of first 4 points. If the nozzle catches the paper, power off the printer immediately." +msgstr "Umistete list papiru na podlozku a udrzujte jej pod tryskou behem mereni prvnich 4 bodu. Pokud tryska zachyti papir, okamzite vypnete tiskarnu." + +# MSG_WIZARD_CLEAN_HEATBED c=20 r=8 +#: ultralcd.cpp:5128 +msgid "Please clean heatbed and then press the knob." +msgstr "Prosim ocistete podlozku a stisknete tlacitko." + +# MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 +#: messages.c:21 +msgid "Please clean the nozzle for calibration. Click when done." +msgstr "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem." + +# MSG_SELFTEST_PLEASECHECK +#: ultralcd.cpp:8257 +msgid "Please check :" +msgstr "Zkontrolujte :" + +# MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 +#: messages.c:98 +msgid "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer." +msgstr "Prosim nahlednete do prirucky 3D tiskare a opravte problem. Pote obnovte Pruvodce restartovanim tiskarny." + +# MSG_CHECK_IDLER c=20 r=4 +#: Marlin_main.cpp:3138 +msgid "Please open idler and remove filament manually." +msgstr "Prosim otevrete idler a manualne odstrante filament." + +# MSG_PLACE_STEEL_SHEET c=20 r=4 +#: messages.c:61 +msgid "Please place steel sheet on heatbed." +msgstr "Umistete prosim tiskovy plat na podlozku" + +# MSG_PRESS_TO_UNLOAD c=20 r=4 +#: messages.c:64 +msgid "Please press the knob to unload filament" +msgstr "Pro vysunuti filamentu stisknete prosim tlacitko" + +# MSG_PULL_OUT_FILAMENT c=20 r=4 +#: messages.c:66 +msgid "Please pull out filament immediately" +msgstr "Prosim vyjmete urychlene filament" + +# MSG_EJECT_REMOVE c=20 r=4 +#: mmu.cpp:1422 +msgid "Please remove filament and then press the knob." +msgstr "Prosim vyjmete filament a pote stisknete tlacitko." + +# MSG_REMOVE_STEEL_SHEET c=20 r=4 +#: messages.c:70 +msgid "Please remove steel sheet from heatbed." +msgstr "Odstrante prosim tiskovy plat z podlozky." + +# MSG_RUN_XYZ c=20 r=4 +#: Marlin_main.cpp:4583 +msgid "Please run XYZ calibration first." +msgstr "Nejprve spustte kalibraci XYZ." + +# MSG_UPDATE_MMU2_FW c=20 r=4 +#: mmu.cpp:1341 +msgid "Please update firmware in your MMU2. Waiting for reset." +msgstr "Prosim aktualizujte firmware ve vasi MMU2 jednotce. Cekam na reset." + +# MSG_PLEASE_WAIT c=20 +#: messages.c:62 +msgid "Please wait" +msgstr "Prosim cekejte" + +# +#: ultralcd.cpp:5061 +msgid "Please remove shipping helpers first." +msgstr "Nejprve prosim sundejte transportni soucastky." + +# MSG_PREHEAT_NOZZLE c=20 +#: messages.c:63 +msgid "Preheat the nozzle!" +msgstr "Predehrejte trysku!" + +# MSG_PREHEAT +#: ultralcd.cpp:6853 +msgid "Preheat" +msgstr "Predehrev" + +# MSG_WIZARD_HEATING c=20 r=3 +#: messages.c:100 +msgid "Preheating nozzle. Please wait." +msgstr "Predehrev trysky. Prosim cekejte." + +# c=14 +#: ultralcd.cpp:1959 +msgid "PINDA" +msgstr "" + +# +#: util.cpp:297 +msgid "Please upgrade." +msgstr "Prosim aktualizujte." + +# MSG_PRESS_TO_PREHEAT c=20 r=4 +#: Marlin_main.cpp:11526 +msgid "Press knob to preheat nozzle and continue." +msgstr "Pro nahrati trysky a pokracovani stisknete tlacitko." + +# MSG_FS_PAUSE c=5 +#: fsensor.cpp:710 +msgid "Pause" +msgstr "" + +# +#: ultralcd.cpp:1783 +msgid "Power failures" +msgstr "Vypadky proudu" + +# MSG_PRINT_ABORTED c=20 +#: messages.c:65 +msgid "Print aborted" +msgstr "Tisk prerusen" + +# c=20 +#: ultralcd.cpp:2442 +msgid "Preheating to load" +msgstr "Predehrev k zavedeni" + +# c=20 +#: ultralcd.cpp:2446 +msgid "Preheating to unload" +msgstr "Predehrev k vyjmuti" + +# MSG_SELFTEST_PRINT_FAN_SPEED c=18 +#: ultralcd.cpp:8689 +msgid "Print fan:" +msgstr "Tiskovy vent.:" + +# MSG_CARD_MENU +#: messages.c:20 +msgid "Print from SD" +msgstr "Tisk z SD" + +# +#: ultralcd.cpp:2289 +msgid "Press the knob" +msgstr "Stisknete hl. tlacitko" + +# MSG_PRINT_PAUSED c=20 r=1 +#: ultralcd.cpp:1118 +msgid "Print paused" +msgstr "Tisk pozastaven" + +# +#: mmu.cpp:726 +msgid "Press the knob to resume nozzle temperature." +msgstr "Pro pokracovani nahrivani trysky stisknete tlacitko." + +# MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 +#: messages.c:38 +msgid "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow." +msgstr "Tiskarna nebyla jeste zkalibrovana. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Postup kalibrace." + +# +#: ultralcd.cpp:1655 +msgid "Print FAN" +msgstr "Tiskovy vent." + +# +#: ultralcd.cpp:4926 +msgid "Please insert filament into the extruder, then press the knob to load it." +msgstr "Prosim vlozte filament do extruderu a stisknete tlacitko k jeho zavedeni" + +# +#: ultralcd.cpp:4921 +msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." +msgstr "Prosim vlozte filament do prvni trubicky MMU a stisknete tlacitko k jeho zavedeni" + +# +#: ultralcd.cpp:4843 +msgid "Please load filament first." +msgstr "Prosim nejdriv zavedte filament" + +# MSG_PRUSA3D +#: ultralcd.cpp:2155 +msgid "prusa3d.com" +msgstr "" + +# MSG_BED_CORRECTION_REAR c=14 r=1 +#: ultralcd.cpp:3267 +msgid "Rear side [um]" +msgstr "Vzadu [um]" + +# c=20 r=4 +#: ultralcd.cpp:7549 +msgid "Please unload the filament first, then repeat this action." +msgstr "Prosim vyjmete filament a zopakujte tuto akci" + +# MSG_RECOVERING_PRINT c=20 +#: Marlin_main.cpp:10883 +msgid "Recovering print " +msgstr "Obnovovani tisku " + +# MSG_REMOVE_OLD_FILAMENT c=20 r=5 +#: mmu.cpp:833 +msgid "Remove old filament and press the knob to start loading new filament." +msgstr "Vyjmete stary filament a stisknete tlacitko pro zavedeni noveho." + +# c=20 +#: +msgid "Prusa i3 MK3S OK." +msgstr "" + +# MSG_CALIBRATE_BED_RESET +#: ultralcd.cpp:5867 +msgid "Reset XYZ calibr." +msgstr "Reset XYZ kalibr." + +# MSG_BED_CORRECTION_RESET +#: ultralcd.cpp:3268 +msgid "Reset" +msgstr "" + +# MSG_RESUME_PRINT +#: ultralcd.cpp:6861 +msgid "Resume print" +msgstr "Pokracovat" + +# MSG_RESUMING_PRINT c=20 +#: messages.c:69 +msgid "Resuming print" +msgstr "Obnoveni tisku" + +# MSG_BED_CORRECTION_RIGHT c=14 r=1 +#: ultralcd.cpp:3265 +msgid "Right side[um]" +msgstr "Vpravo [um]" + +# MSG_RPI_PORT +#: messages.c:123 +msgid "RPi port" +msgstr "" + +# MSG_WIZARD_RERUN c=20 r=7 +#: ultralcd.cpp:4864 +msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" +msgstr "Spusteni Pruvodce vymaze ulozene vysledky vsech kalibraci a spusti kalibracni proces od zacatku. Pokracovat?" + +# MSG_SD_CARD +#: messages.c:118 +msgid "SD card" +msgstr "" + +# MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY +#: messages.c:119 +msgid "FlashAir" +msgstr "" + +# +#: ultralcd.cpp:2994 +msgid "Right" +msgstr "Vpravo" + +# MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=60 +#: messages.c:35 +msgid "Searching bed calibration point" +msgstr "Hledam kalibracni bod podlozky" + +# MSG_LANGUAGE_SELECT +#: ultralcd.cpp:5779 +msgid "Select language" +msgstr "Vyber jazyka" + +# MSG_SELFTEST_OK +#: ultralcd.cpp:7812 +msgid "Self test OK" +msgstr "" + +# MSG_SELFTEST_START c=20 +#: ultralcd.cpp:7582 +msgid "Self test start " +msgstr "Self test start " + +# MSG_SELFTEST +#: ultralcd.cpp:5843 +msgid "Selftest " +msgstr "Selftest " + +# MSG_SELFTEST_ERROR +#: ultralcd.cpp:8255 +msgid "Selftest error !" +msgstr "Chyba Selftestu!" + +# MSG_SELFTEST_FAILED c=20 +#: messages.c:73 +msgid "Selftest failed " +msgstr "Selftest selhal " + +# MSG_FORCE_SELFTEST c=20 r=8 +#: Marlin_main.cpp:1550 +msgid "Selftest will be run to calibrate accurate sensorless rehoming." +msgstr "Pro kalibraci presneho rehomovani bude nyni spusten selftest." + +# +#: ultralcd.cpp:5102 +msgid "Select nozzle preheat temperature which matches your material." +msgstr "Vyberte teplotu predehrati trysky ktera odpovida vasemu materialu." + +# MSG_SET_TEMPERATURE c=19 r=1 +#: ultralcd.cpp:3286 +msgid "Set temperature:" +msgstr "Nastavte teplotu:" + +# c=20 +#: +msgid "Prusa i3 MK2.5 OK." +msgstr "" + +# c=20 +#: +msgid "Prusa i3 MK2.5S OK." +msgstr "" + +# c=20 +#: +msgid "Prusa i3 MK3 OK." +msgstr "" + +# MSG_SETTINGS +#: messages.c:82 +msgid "Settings" +msgstr "Nastaveni" + +# MSG_SHOW_END_STOPS c=18 +#: ultralcd.cpp:5864 +msgid "Show end stops" +msgstr "Stav konc. spin." + +# +#: ultralcd.cpp:4008 +msgid "Sensor state" +msgstr "Stav senzoru" + +# MSG_FILE_CNT c=20 r=6 +#: cardreader.cpp:738 +msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." +msgstr "Nektere soubory nebudou setrideny. Maximalni pocet souboru ve slozce pro setrideni je 100." + +# MSG_SORT +#: messages.c:120 +msgid "Sort" +msgstr "Trideni" + +# MSG_NONE +#: messages.c:110 +msgid "None" +msgstr "Zadne" + +# MSG_SORT_TIME +#: messages.c:121 +msgid "Time" +msgstr "Cas" + +# +#: ultralcd.cpp:3037 +msgid "Severe skew:" +msgstr "Tezke zkoseni:" + +# MSG_SORT_ALPHA +#: messages.c:122 +msgid "Alphabet" +msgstr "Abeceda" + +# MSG_SORTING c=20 r=1 +#: cardreader.cpp:745 +msgid "Sorting files" +msgstr "Trideni souboru" + +# MSG_SOUND_LOUD +#: messages.c:125 +msgid "Loud" +msgstr "Hlasity" + +# +#: ultralcd.cpp:3036 +msgid "Slight skew:" +msgstr "Lehke zkoseni:" + +# MSG_SOUND +#: messages.c:124 +msgid "Sound" +msgstr "Zvuk" + +# c=7 +#: ultralcd.cpp:1822 +msgid "Runouts" +msgstr "" + +# +#: Marlin_main.cpp:5101 +msgid "Some problem encountered, Z-leveling enforced ..." +msgstr "Vyskytl se problem, srovnavam osu Z ..." + +# MSG_SOUND_ONCE +#: messages.c:126 +msgid "Once" +msgstr "Jednou" + +# MSG_SPEED +#: ultralcd.cpp:7119 +msgid "Speed" +msgstr "Rychlost" + +# MSG_SELFTEST_FAN_YES c=19 +#: messages.c:76 +msgid "Spinning" +msgstr "Toci se" + +# MSG_TEMP_CAL_WARNING c=20 r=4 +#: Marlin_main.cpp:4596 +msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." +msgstr "Je vyzadovana stabilni pokojova teplota 21-26C a pevna podlozka." + +# MSG_STATISTICS +#: ultralcd.cpp:6978 +msgid "Statistics " +msgstr "Statistika " + +# MSG_STOP_PRINT +#: messages.c:91 +msgid "Stop print" +msgstr "Zastavit tisk" + +# MSG_STOPPED +#: messages.c:92 +msgid "STOPPED. " +msgstr "ZASTAVENO." + +# MSG_SUPPORT +#: ultralcd.cpp:6987 +msgid "Support" +msgstr "Podpora" + +# MSG_SELFTEST_SWAPPED +#: ultralcd.cpp:8335 +msgid "Swapped" +msgstr "Prohozene" + +# +#: ultralcd.cpp:4814 +msgid "Select filament:" +msgstr "Zvolte filament:" + +# MSG_TEMP_CALIBRATION c=14 +#: messages.c:93 +msgid "Temp. cal." +msgstr "Tepl. kal." + +# +#: ultralcd.cpp:4955 +msgid "Select temperature which matches your material." +msgstr "Zvolte teplotu, ktera odpovida vasemu materialu." + +# MSG_CALIBRATION_PINDA_MENU c=17 r=1 +#: ultralcd.cpp:5873 +msgid "Temp. calibration" +msgstr "Teplot. kalibrace" + +# MSG_TEMP_CAL_FAILED c=20 r=8 +#: ultralcd.cpp:3933 +msgid "Temperature calibration failed" +msgstr "Teplotni kalibrace selhala" + +# MSG_TEMP_CALIBRATION_DONE c=20 r=12 +#: messages.c:94 +msgid "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal." +msgstr "Teplotni kalibrace dokoncena a je nyni aktivni. Teplotni kalibraci je mozno deaktivovat v menu Nastaveni->Tepl. kal." + +# c=20 r=3 +#: ultralcd.cpp:7554 +msgid "Sensor verified, remove the filament now." +msgstr "Senzor overen, vyjmete filament." + +# MSG_TEMPERATURE +#: ultralcd.cpp:5739 +msgid "Temperature" +msgstr "Teplota" + +# MSG_MENU_TEMPERATURES c=15 r=1 +#: ultralcd.cpp:2218 +msgid "Temperatures" +msgstr "Teploty" + +# MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 +#: messages.c:39 +msgid "There is still a need to make Z calibration. Please follow the manual, chapter First steps, section Calibration flow." +msgstr "Je potreba kalibrovat osu Z. Prosim postupujte dle prirucky, kapitola Zaciname, sekce Postup kalibrace." + +# +#: ultralcd.cpp:2891 +msgid "Total filament" +msgstr "Filament celkem" + +# +#: ultralcd.cpp:2892 +msgid "Total print time" +msgstr "Celkovy cas tisku" + +# MSG_TUNE +#: ultralcd.cpp:6850 +msgid "Tune" +msgstr "Ladit" + +# +#: +msgid "Unload" +msgstr "Vysunout" + +# +#: ultralcd.cpp:1752 +msgid "Total failures" +msgstr "Celkem selhani" + +# +#: ultralcd.cpp:2296 +msgid "to load filament" +msgstr "k zavedeni filamentu" + +# +#: ultralcd.cpp:2300 +msgid "to unload filament" +msgstr "k vyjmuti filamentu" + +# MSG_UNLOAD_FILAMENT c=17 +#: messages.c:95 +msgid "Unload filament" +msgstr "Vyjmout filament" + +# MSG_UNLOADING_FILAMENT c=20 r=1 +#: messages.c:96 +msgid "Unloading filament" +msgstr "Vysouvam filament" + +# +#: ultralcd.cpp:1705 +msgid "Total" +msgstr "Celkem" + +# MSG_USED c=19 r=1 +#: ultralcd.cpp:6001 +msgid "Used during print" +msgstr "Pouzite behem tisku" + +# MSG_MENU_VOLTAGES c=15 r=1 +#: ultralcd.cpp:2221 +msgid "Voltages" +msgstr "Napeti" + +# +#: ultralcd.cpp:2194 +msgid "unknown" +msgstr "neznamy" + +# MSG_USERWAIT +#: Marlin_main.cpp:5511 +msgid "Wait for user..." +msgstr "Ceka se na uzivatele..." + +# MSG_WAITING_TEMP c=20 r=3 +#: ultralcd.cpp:3434 +msgid "Waiting for nozzle and bed cooling" +msgstr "Cekani na zchladnuti trysky a podlozky." + +# MSG_WAITING_TEMP_PINDA c=20 r=3 +#: ultralcd.cpp:3395 +msgid "Waiting for PINDA probe cooling" +msgstr "Cekani na zchladnuti PINDA" + +# +#: +msgid "Use unload to remove filament 1 if it protrudes outside of the rear MMU tube. Use eject if it is hidden in tube." +msgstr "Pouzijte vyjmout pro odstraneni filamentu 1 pokud presahuje z PTFE trubicky za tiskarnou. Pouzijte vysunout, pokud neni videt." + +# MSG_CHANGED_BOTH c=20 r=4 +#: Marlin_main.cpp:1510 +msgid "Warning: both printer type and motherboard type changed." +msgstr "Varovani: doslo ke zmene typu tiskarny a motherboardu." + +# MSG_CHANGED_MOTHERBOARD c=20 r=4 +#: Marlin_main.cpp:1502 +msgid "Warning: motherboard type changed." +msgstr "Varovani: doslo ke zmene typu motherboardu." + +# MSG_CHANGED_PRINTER c=20 r=4 +#: Marlin_main.cpp:1506 +msgid "Warning: printer type changed." +msgstr "Varovani: doslo ke zmene typu tiskarny." + +# MSG_UNLOAD_SUCCESSFUL c=20 r=2 +#: Marlin_main.cpp:3128 +msgid "Was filament unload successful?" +msgstr "Bylo vysunuti filamentu uspesne?" + +# MSG_SELFTEST_WIRINGERROR +#: messages.c:81 +msgid "Wiring error" +msgstr "Chyba zapojeni" + +# MSG_WIZARD c=17 r=1 +#: ultralcd.cpp:5834 +msgid "Wizard" +msgstr "Pruvodce" + +# MSG_XYZ_DETAILS c=18 +#: ultralcd.cpp:2210 +msgid "XYZ cal. details" +msgstr "Detaily XYZ kal." + +# MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 +#: messages.c:18 +msgid "XYZ calibration failed. Please consult the manual." +msgstr "Kalibrace XYZ selhala. Nahlednete do manualu." + +# MSG_YES +#: messages.c:102 +msgid "Yes" +msgstr "Ano" + +# MSG_WIZARD_QUIT c=20 r=8 +#: messages.c:101 +msgid "You can always resume the Wizard from Calibration -> Wizard." +msgstr "Pruvodce muzete kdykoliv znovu spustit z menu Kalibrace -> Pruvodce" + +# MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 +#: ultralcd.cpp:3904 +msgid "XYZ calibration all right. Skew will be corrected automatically." +msgstr "Kalibrace XYZ v poradku. Zkoseni bude automaticky vyrovnano pri tisku." + +# MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 +#: ultralcd.cpp:3901 +msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" +msgstr "Kalibrace XYZ v poradku. X/Y osy mirne zkosene. Dobra prace!" + +# MSG_TIMEOUT c=12 +#: messages.c:137 +msgid "Timeout" +msgstr "" + +# MSG_X_CORRECTION c=13 +#: ultralcd.cpp:5190 +msgid "X-correct:" +msgstr "Korekce X:" + +# MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 +#: ultralcd.cpp:3898 +msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" +msgstr "Kalibrace XYZ v poradku. X/Y osy jsou kolme. Gratuluji!" + +# MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 +#: ultralcd.cpp:3882 +msgid "XYZ calibration compromised. Front calibration points not reachable." +msgstr "Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu." + +# MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 +#: ultralcd.cpp:3885 +msgid "XYZ calibration compromised. Right front calibration point not reachable." +msgstr "Kalibrace XYZ nepresna. Pravy predni bod moc vpredu." + +# MSG_LOAD_ALL c=17 +#: ultralcd.cpp:6261 +msgid "Load all" +msgstr "Zavest vse" + +# +#: ultralcd.cpp:3864 +msgid "XYZ calibration failed. Bed calibration point was not found." +msgstr "Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen." + +# +#: ultralcd.cpp:3870 +msgid "XYZ calibration failed. Front calibration points not reachable." +msgstr "Kalibrace XYZ selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu." + +# +#: ultralcd.cpp:3873 +msgid "XYZ calibration failed. Right front calibration point not reachable." +msgstr "Kalibrace XYZ selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu." + +# +#: ultralcd.cpp:2991 +msgid "Y distance from min" +msgstr "Y vzdalenost od min" + +# +#: ultralcd.cpp:4958 +msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." +msgstr "Tiskarna zacne tisknout lomenou caru. Otacenim tlacitka nastavte optimalni vysku. Postupujte podle obrazku v handbooku (kapitola Kalibrace)." + +# c=20 r=5 +#: ultralcd.cpp:7558 +msgid "Verification failed, remove the filament and try again." +msgstr "Overeni selhalo, vyjmete filament a zkuste znovu." + +# MSG_Y_CORRECTION c=13 +#: ultralcd.cpp:5191 +msgid "Y-correct:" +msgstr "Korekce Y:" + +# MSG_OFF +#: messages.c:105 +msgid "Off" +msgstr "Vyp" + +# MSG_ON +#: messages.c:106 +msgid "On" +msgstr "Zap" + +# +#: messages.c:53 +msgid "Back" +msgstr "Zpet" + +# +#: ultralcd.cpp:5724 +msgid "Checks" +msgstr "Kontrola" + +# +#: ultralcd.cpp:8349 +msgid "False triggering" +msgstr "Falesne spusteni" + +# +#: ultralcd.cpp:4013 +msgid "FINDA:" +msgstr "" + +# MSG_FIRMWARE +#: language.h:23 +msgid "Firmware" +msgstr "" + +# MSG_STRICT +#: messages.c:112 +msgid "Strict" +msgstr "Prisne" + +# MSG_WARN +#: messages.c:111 +msgid "Warn" +msgstr "Varovat" + +# +#: messages.c:83 +msgid "HW Setup" +msgstr "HW nastaveni" + +# +#: ultralcd.cpp:4017 +msgid "IR:" +msgstr "" + +# MSG_MAGNETS_COMP +#: messages.c:130 +msgid "Magnets comp." +msgstr "Komp. magnetu" + +# MSG_MESH +#: messages.c:128 +msgid "Mesh" +msgstr "" + +# +#: ultralcd.cpp:5763 +msgid "Mesh bed leveling" +msgstr "Mesh Bed Leveling" + +# +#: Marlin_main.cpp:872 +msgid "MK3S firmware detected on MK3 printer" +msgstr "MK3S firmware detekovan na tiskarne MK3" + +# MSG_MMU_MODE +#: messages.c:117 +msgid "MMU Mode" +msgstr "MMU mod" + +# +#: ultralcd.cpp:4494 +msgid "Mode change in progress ..." +msgstr "Probiha zmena modu..." + +# MSG_MODEL +#: messages.c:113 +msgid "Model" +msgstr "" + +# MSG_NOZZLE_DIAMETER +#: messages.c:116 +msgid "Nozzle d." +msgstr "Tryska" + +# +#: util.cpp:514 +msgid "G-code sliced for a different level. Continue?" +msgstr "" + +# +#: util.cpp:520 +msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." +msgstr "" + +# +#: util.cpp:431 +msgid "G-code sliced for a different printer type. Continue?" +msgstr "G-code je pripraven pro jiny typ tiskarny. Pokracovat?" + +# +#: util.cpp:437 +msgid "G-code sliced for a different printer type. Please re-slice the model again. Print cancelled." +msgstr "G-code je pripraven pro jiny typ tiskarny. Prosim preslicujte model znovu. Tisk zrusen." + +# +#: util.cpp:481 +msgid "G-code sliced for a newer firmware. Continue?" +msgstr "G-code je pripraven pro novejsi firmware. Pokracovat?" + +# +#: util.cpp:487 +msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." +msgstr "G-code je pripraven pro novejsi firmware. Prosim aktualizujte firmware. Tisk zrusen." + +# +#: ultralcd.cpp:4009 +msgid "PINDA:" +msgstr "" + +# c=20 +#: ultralcd.cpp:2452 +msgid "Preheating to cut" +msgstr "Predehrev ke strihu" + +# c=20 +#: ultralcd.cpp:2449 +msgid "Preheating to eject" +msgstr "Predehrev k vysunuti" + +# +#: util.cpp:394 +msgid "Printer nozzle diameter differs from the G-code. Continue?" +msgstr "Prumer trysky tiskarny se lisi od G-code. Pokracovat?" + +# +#: util.cpp:401 +msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." +msgstr "Prumer trysky tiskarny se lisi od G-code. Prosim zkontrolujte nastaveni. Tisk zrusen." + +# c=20 +#: ultralcd.cpp:8355 +msgid "%s level expected" +msgstr "" + +# +#: ultralcd.cpp:6814 +msgid "Rename" +msgstr "Prejmenovat" + +# +#: ultralcd.cpp:6807 +msgid "Select" +msgstr "Vybrat" + +# +#: ultralcd.cpp:2212 +msgid "Sensor info" +msgstr "Senzor info" + +# MSG_SHEET c=10 +#: messages.c:54 +msgid "Sheet" +msgstr "Plat" + +# MSG_SOUND_BLIND +#: messages.c:127 +msgid "Assist" +msgstr "Asist." + +# c=18 +#: ultralcd.cpp:5722 +msgid "Steel sheets" +msgstr "Tiskove platy" + +# MSG_Z_CORRECTION c=13 +#: ultralcd.cpp:5192 +msgid "Z-correct:" +msgstr "Korekce Z:" + +# MSG_Z_PROBE_NR +#: messages.c:129 +msgid "Z-probe nr." +msgstr "Pocet mereni Z" + +# +#: ultralcd.cpp:7145 +msgid "Z-probe nr. [5]" +msgstr "Pocet mereni Z [5]" + +======= # Translation of Prusa-Firmware into Czech. # msgid "" @@ -1850,3 +3699,4 @@ msgstr "Korekce Z:" msgid "Z-probe nr." msgstr "Pocet mereni Z" +>>>>>>> upstream/MK3 From 210440eeb42036cffc85e2c6075357dbe22ea2f7 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 18 Mar 2021 06:28:47 +0100 Subject: [PATCH 012/234] Init --- .github/ISSUE_TEMPLATE/community.md | 17 +++++++++++++++++ lang/Community_made_translations.md | 7 +++++++ 2 files changed, 24 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/community.md create mode 100644 lang/Community_made_translations.md diff --git a/.github/ISSUE_TEMPLATE/community.md b/.github/ISSUE_TEMPLATE/community.md new file mode 100644 index 000000000..14561c51c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/community.md @@ -0,0 +1,17 @@ +--- +name: Community +about: Related to "Community made" features +title: "[Community made]" +labels: community_made +assignees: '' + +--- + +Prusa Research will NOT follow up these issues! +The maintainers of the "Community made" feature should/will react. + +Please, before you create a new "Community made" ticket, please make sure you searched in open and closed issues and couldn't find anything that matches. + +**Which Community made feature do you want to address?** + +**What is your request/question/suggestion?** diff --git a/lang/Community_made_translations.md b/lang/Community_made_translations.md new file mode 100644 index 000000000..ebbf87536 --- /dev/null +++ b/lang/Community_made_translations.md @@ -0,0 +1,7 @@ +## List of Community made translations + +- Dutch / Nederlands + - Maintainers head: @3d-gussner and @vintagepc + - Co-maintainers: + - [X] Active since March 2021 + - [X] Maintained since September 2019 From 84f4f9fd86999cc3d373ab8a84ef301070b7568e Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 18 Mar 2021 06:33:48 +0100 Subject: [PATCH 013/234] Format --- lang/Community_made_translations.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lang/Community_made_translations.md b/lang/Community_made_translations.md index ebbf87536..5e2d241f2 100644 --- a/lang/Community_made_translations.md +++ b/lang/Community_made_translations.md @@ -1,7 +1,7 @@ ## List of Community made translations -- Dutch / Nederlands - - Maintainers head: @3d-gussner and @vintagepc - - Co-maintainers: - - [X] Active since March 2021 - - [X] Maintained since September 2019 +- **Dutch / Nederlands** + - Maintainers head: **@3d-gussner** and **@vintagepc** + - Co-maintainers: + - [X] **Active** since March 2021 + - [X] **Maintained** since September 2019 From 48163ad5cc3d1218873e0e26f0f2417cb86ae437 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 18 Mar 2021 06:35:03 +0100 Subject: [PATCH 014/234] remove `head` --- lang/Community_made_translations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/Community_made_translations.md b/lang/Community_made_translations.md index 5e2d241f2..9ffc4b4f0 100644 --- a/lang/Community_made_translations.md +++ b/lang/Community_made_translations.md @@ -1,7 +1,7 @@ ## List of Community made translations - **Dutch / Nederlands** - - Maintainers head: **@3d-gussner** and **@vintagepc** + - Maintainers: **@3d-gussner** and **@vintagepc** - Co-maintainers: - [X] **Active** since March 2021 - [X] **Maintained** since September 2019 From 2a6cecbb07b49b44ab0d90293a4564ca62ac3b3e Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 18 Mar 2021 11:17:50 +0100 Subject: [PATCH 015/234] Add Community_made.md --- Community_made.md | 16 ++++++++++++++++ lang/Community_made_translations.md | 1 + 2 files changed, 17 insertions(+) create mode 100644 Community_made.md diff --git a/Community_made.md b/Community_made.md new file mode 100644 index 000000000..e6e054e52 --- /dev/null +++ b/Community_made.md @@ -0,0 +1,16 @@ +# Community made + +## Prusa-Firmware build +- `PF-build.sh` + - Maintainers: **@3d-gussner** + - Co-maintainers: + - Contributors: **@ropaha**, **@deliopoulos**, **@DRracer**, **@leptun** + - [X] **Active** since February 2019 + - [X] **Maintained** since February 2019 + +### How-to use PF-build.sh +Start `./PF-build.sh` and follow the instructions +Help `./PF-build.sh -h` + +## Translations +- see [link to /lang/Community_made_translations.md] \ No newline at end of file diff --git a/lang/Community_made_translations.md b/lang/Community_made_translations.md index 9ffc4b4f0..5ba113e90 100644 --- a/lang/Community_made_translations.md +++ b/lang/Community_made_translations.md @@ -3,5 +3,6 @@ - **Dutch / Nederlands** - Maintainers: **@3d-gussner** and **@vintagepc** - Co-maintainers: + - Contributors: - [X] **Active** since March 2021 - [X] **Maintained** since September 2019 From 2ed31ea1eeea85784ad3e0faf66856bb49fb2184 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 18 Mar 2021 11:21:17 +0100 Subject: [PATCH 016/234] Update link --- Community_made.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community_made.md b/Community_made.md index e6e054e52..60f372c13 100644 --- a/Community_made.md +++ b/Community_made.md @@ -13,4 +13,4 @@ Start `./PF-build.sh` and follow the instructions Help `./PF-build.sh -h` ## Translations -- see [link to /lang/Community_made_translations.md] \ No newline at end of file +- see [/lang/Community_made_translations.md](https://github.com/prusa3d/Prusa-Firmware/blob/MK3_Community_issue_template/lang/Community_made_translations.md) From 2851e531eb7d5669f45898dda6ce7da362b3f707 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 18 Mar 2021 11:22:27 +0100 Subject: [PATCH 017/234] Fix link to Prusa MK3 branch --- Community_made.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community_made.md b/Community_made.md index 60f372c13..8572063d0 100644 --- a/Community_made.md +++ b/Community_made.md @@ -13,4 +13,4 @@ Start `./PF-build.sh` and follow the instructions Help `./PF-build.sh -h` ## Translations -- see [/lang/Community_made_translations.md](https://github.com/prusa3d/Prusa-Firmware/blob/MK3_Community_issue_template/lang/Community_made_translations.md) +- see [/lang/Community_made_translations.md](https://github.com/prusa3d/Prusa-Firmware/blob/MK3/lang/Community_made_translations.md) From fc30b83b39acb83bfab950a426b5e6a36fb95051 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 18 Mar 2021 11:27:52 +0100 Subject: [PATCH 018/234] Update Contributors --- Community_made.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Community_made.md b/Community_made.md index 8572063d0..84a27461f 100644 --- a/Community_made.md +++ b/Community_made.md @@ -4,12 +4,13 @@ - `PF-build.sh` - Maintainers: **@3d-gussner** - Co-maintainers: - - Contributors: **@ropaha**, **@deliopoulos**, **@DRracer**, **@leptun** + - Contributors: **@mkbel**, **@ropaha**, **@deliopoulos**, **@DRracer**, **wavexx**, **@leptun**, **@andrewluebke**, **@kuhnmarek** - [X] **Active** since February 2019 - - [X] **Maintained** since February 2019 + - [X] **Maintained** since January 2019 ### How-to use PF-build.sh Start `./PF-build.sh` and follow the instructions + Help `./PF-build.sh -h` ## Translations From 1259e68d110cdc86c1e42047fb1595295eb716fd Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 18 Mar 2021 11:33:15 +0100 Subject: [PATCH 019/234] Add Contributors --- lang/Community_made_translations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/Community_made_translations.md b/lang/Community_made_translations.md index 5ba113e90..a713d77e2 100644 --- a/lang/Community_made_translations.md +++ b/lang/Community_made_translations.md @@ -3,6 +3,6 @@ - **Dutch / Nederlands** - Maintainers: **@3d-gussner** and **@vintagepc** - Co-maintainers: - - Contributors: + - Contributors: **@stelgenhof** - [X] **Active** since March 2021 - [X] **Maintained** since September 2019 From d8996af5743f59720b7c88fb0eca950065c88dcc Mon Sep 17 00:00:00 2001 From: awenelo <56133692+awenelo@users.noreply.github.com> Date: Mon, 22 Mar 2021 14:02:49 -0400 Subject: [PATCH 020/234] minor changes Comment out "Please, before you create a new bug report, please make sure you searched in open and closed issues and couldn't find anything that matches." Fix capitalization on MMU upgrade Add space before dash for Printer firmware version Add ** for bolding at the end of MMU upgrade firmware version Add - to MMU upgrade firmware version --- .github/ISSUE_TEMPLATE/bug_report.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 32122b962..f84bbc9e2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -6,14 +6,14 @@ labels: bug assignees: '' --- - + **Printer type** - [e.g. MK3S, MK3, MK2.5S, MK2.5, MK2S, MK2] -**Printer firmware version**- [e.g. 3.8.1, 3.8.1-RC1, ...] +**Printer firmware version** - [e.g. 3.8.1, 3.8.1-RC1, ...] -**MMU Upgrade** - [e.g. MMU2S, MMU2, MMU1] -**MMU upgrade firmware version [e.g. 1.0.6, 1.0.6-RC2, ...] +**MMU upgrade** - [e.g. MMU2S, MMU2, MMU1] +**MMU upgrade firmware version** - [e.g. 1.0.6, 1.0.6-RC2, ...] **SD card or USB/Octoprint** Please let us know if you print via SD card or USB/Octoprint From f8bec339e22ddeca94907e440e87b43958267a63 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Sun, 18 Apr 2021 20:28:08 +0200 Subject: [PATCH 021/234] Hack to get more flash and ram for MK404 debug --- PF-build.sh | 268 ++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 196 insertions(+), 72 deletions(-) diff --git a/PF-build.sh b/PF-build.sh index c51b1fd4e..d065d6916 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -244,17 +244,121 @@ fi #### End prepare bash / Linux environment +# Check for options/flags +while getopts v:l:d:b:f:x:r:o:c:p:n:?h flag + do + case "${flag}" in + v) variant_flag=${OPTARG};; + l) language_flag=${OPTARG};; + d) devel_flag=${OPTARG};; + b) build_flag=${OPTARG};; + f) board_flash_flag=${OPTARG};; + x) board_mem_flag=${OPTARG};; + o) output_flag=${OPTARG};; + c) clean_flag=${OPTARG};; + p) prusa_flag=${OPTARG};; + n) new_build_flag=${OPTARG};; + ?) help_flag=1;; + h) help_flag=1;; + esac + done +#echo "variant_flag: $variant_flag"; +#echo "language_flag: $language_flag"; +#echo "devel_flag: $devel_flag"; +#echo "build_flag: $build_flag"; +#echo "output_flag: $output_flag"; +#echo "board_mem_flag: $board_mem_flag"; +#echo "board_flash_flag: $board_flash_flag"; +#echo "help_flag: $help_flag" +#echo "clean_flag: $clean_flag" +#echo "prusa_flag: $prusa_flag" +#echo "new_build_flag: $new_build_flag" + +# +# '?' 'h' argument usage and help +if [ "$help_flag" == "1" ] ; then +echo "***************************************" +echo "* PF-build.sh Version: 1.0.6-Build_33 *" +echo "***************************************" +echo "Arguments:" +echo "$(tput setaf 2)-v$(tput sgr0) Variant '$(tput setaf 2)All$(tput sgr0)' or variant file name" +echo "$(tput setaf 2)-l$(tput sgr0) Languages '$(tput setaf 2)ALL$(tput sgr0)' for multi language or '$(tput setaf 2)EN_ONLY$(tput sgr0)' for English only" +echo "$(tput setaf 2)-d$(tput sgr0) Devel build '$(tput setaf 2)GOLD$(tput sgr0)', '$(tput setaf 2)RC$(tput sgr0)', '$(tput setaf 2)BETA$(tput sgr0)', '$(tput setaf 2)ALPHA$(tput sgr0)', '$(tput setaf 2)DEBUG$(tput sgr0)', '$(tput setaf 2)DEVEL$(tput sgr0)' and '$(tput setaf 2)UNKNOWN$(tput sgr0)'" +echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" +echo "$(tput setaf 2)-o$(tput sgr0) Output '$(tput setaf 2)1$(tput sgr0)' force or '$(tput setaf 2)0$(tput sgr0)' block output and delays" +echo "$(tput setaf 2)-c$(tput sgr0) Do not clean up lang build'$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" +echo "$(tput setaf 2)-p$(tput sgr0) Keep Configuration_prusa.h '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" +echo "$(tput setaf 2)-n$(tput sgr0) New fresh build '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" +echo "$(tput setaf 2)-?$(tput sgr0) Help" +echo "$(tput setaf 2)-h$(tput sgr0) Help" +echo +echo "Brief USAGE:" +echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-v] [-l] [-d] [-b] [-o] [-c] [-p] [-n]" +echo +echo "Example:" +echo " $(tput setaf 2)./PF-build.sh -v All -l ALL -d GOLD$(tput sgr0)" +echo " Will build all variants as multi language and final GOLD version" +echo +echo " $(tput setaf 2) ./PF-build.sh -v 1_75mm_MK3S-EINSy10a-E3Dv6full.h -b Auto -l ALL -d GOLD -o 1 -c 1 -p 1 -n 1$(tput sgr0)" +echo " Will build MK3S multi language final GOLD firmware " +echo " with current commit count number and output extra information," +echo " not delete lang build temporary files, keep Configuration_prusa.h and build with new fresh build folder." +echo +exit 6 + +fi +#Check if Build is selected with argument '-f' +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)" + 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)" + 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)" + elif [ "$board_flash_flag" == "1024" ] ; then + BOARD_FLASH="0xFFFFF" + BOARD_maximum_size="1040384" + echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $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)" + else + echo "Unsupported board flash size chosen. Only '256', '384', '512', '1024' and '32M' are allowed." + exit 7 + fi +fi + +#Check if Build is selected with argument '-x' +if [ ! -z "$board_mem_flag" ] ; then + if [ "$board_mem_flag" == "8" ] ; then + BOARD_MEM="0x21FF" + echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + elif [ "$board_mem_flag" == "64" ] ; then + BOARD_MEM="0xFFFF" + echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + else + echo "Unsupported board mem size chosen. Only '8', '64' are allowed." + exit 8 + fi +fi #### Set build environment -ARDUINO_ENV="1.8.5" +ARDUINO_ENV="1.8.13" BUILD_ENV="1.0.6" BOARD="prusa_einsy_rambo" BOARD_PACKAGE_NAME="PrusaResearch" BOARD_VERSION="1.0.3" -#BOARD_URL="https://raw.githubusercontent.com/3d-gussner/Arduino_Boards/Prusa_Merge_v1.0.3/IDE_Board_Manager/package_prusa3d_index.json" +#BOARD_URL="https://raw.githubusercontent.com/3d-gussner/Arduino_Boards/master/IDE_Board_Manager/package_prusa3d_index.json" BOARD_URL="https://raw.githubusercontent.com/prusa3d/Arduino_Boards/master/IDE_Board_Manager/package_prusa3d_index.json" BOARD_FILENAME="prusa3dboards" -#BOARD_FILE_URL="https://raw.githubusercontent.com/3d-gussner/Arduino_Boards/Prusa_Merge_v1.0.3/IDE_Board_Manager/prusa3dboards-1.0.3.tar.bz2" +#BOARD_FILE_URL="https://raw.githubusercontent.com/3d-gussner/Arduino_Boards/master/IDE_Board_Manager/prusa3dboards-1.0.3.tar.bz2" BOARD_FILE_URL="https://raw.githubusercontent.com/prusa3d/Arduino_Boards/master/IDE_Board_Manager/prusa3dboards-1.0.3.tar.bz2" #PF_BUILD_FILE_URL="https://github.com/3d-gussner/PF-build-env-1/releases/download/$BUILD_ENV-WinLin/PF-build-env-WinLin-$BUILD_ENV.zip" PF_BUILD_FILE_URL="https://github.com/prusa3d/PF-build-env/releases/download/$BUILD_ENV-WinLin/PF-build-env-WinLin-$BUILD_ENV.zip" @@ -270,6 +374,12 @@ echo "" echo "Arduino IDE :" $ARDUINO_ENV echo "Build env :" $BUILD_ENV echo "Board :" $BOARD +if [ ! -z "$BOARD_FLASH" ] ; then + echo "Board flash :" $BOARD_FLASH +fi +if [ ! -z "$BOARD_MEM" ] ; then + echo "Board mem :" $BOARD_MEM +fi echo "Package name:" $BOARD_PACKAGE_NAME echo "Board v. :" $BOARD_VERSION echo "Specific Lib:" $LIB @@ -279,10 +389,10 @@ echo "" #Check if build exists and creates it if not if [ ! -d "../PF-build-dl" ]; then - mkdir ../PF-build-dl || exit 6 + mkdir ../PF-build-dl || exit 9 fi -cd ../PF-build-dl || exit 7 +cd ../PF-build-dl || exit 10 BUILD_ENV_PATH="$( cd "$(dirname "$0")" ; pwd -P )" # Check if PF-build-env- exists and downloads + creates it if not @@ -299,13 +409,13 @@ if [ $TARGET_OS == "windows" ]; then if [ ! -f "arduino-$ARDUINO_ENV-windows.zip" ]; then echo "$(tput setaf 6)Downloading Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" sleep 2 - wget https://downloads.arduino.cc/arduino-$ARDUINO_ENV-windows.zip || exit 8 + wget https://downloads.arduino.cc/arduino-$ARDUINO_ENV-windows.zip || exit 11 echo "$(tput sgr 0)" fi if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then echo "$(tput setaf 6)Unzipping Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" sleep 2 - unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 8 + unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 11 mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt echo "$(tput sgr0)" @@ -317,13 +427,13 @@ if [ $TARGET_OS == "linux" ]; then if [ ! -f "arduino-$ARDUINO_ENV-linux$Processor.tar.xz" ]; then echo "$(tput setaf 6)Downloading Linux $Processor Arduino IDE portable...$(tput setaf 2)" sleep 2 - wget --no-check-certificate https://downloads.arduino.cc/arduino-$ARDUINO_ENV-linux$Processor.tar.xz || exit 8 + wget --no-check-certificate https://downloads.arduino.cc/arduino-$ARDUINO_ENV-linux$Processor.tar.xz || exit 11 echo "$(tput sgr 0)" fi if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then echo "$(tput setaf 6)Unzipping Linux $Processor Arduino IDE portable...$(tput setaf 2)" sleep 2 - tar -xvf arduino-$ARDUINO_ENV-linux$Processor.tar.xz -C ../PF-build-env-$BUILD_ENV/ || exit 8 + tar -xvf arduino-$ARDUINO_ENV-linux$Processor.tar.xz -C ../PF-build-env-$BUILD_ENV/ || exit 11 mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt echo "$(tput sgr0)" @@ -406,7 +516,7 @@ fi if [ ! -f "PF-build-env-WinLin-$BUILD_ENV.zip" ]; then echo "$(tput setaf 6)Downloading Prusa Firmware build environment...$(tput setaf 2)" sleep 2 - wget $PF_BUILD_FILE_URL || exit 11 + wget $PF_BUILD_FILE_URL || exit 12 echo "$(tput sgr 0)" fi if [ ! -e "../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]; then @@ -453,65 +563,6 @@ if type git > /dev/null; then git_available="1" fi -while getopts v:l:d:b:o:c:p:n:?h flag - do - case "${flag}" in - v) variant_flag=${OPTARG};; - l) language_flag=${OPTARG};; - d) devel_flag=${OPTARG};; - b) build_flag=${OPTARG};; - o) output_flag=${OPTARG};; - c) clean_flag=${OPTARG};; - p) prusa_flag=${OPTARG};; - n) new_build_flag=${OPTARG};; - ?) help_flag=1;; - h) help_flag=1;; - esac - done -#echo "variant_flag: $variant_flag"; -#echo "language_flag: $language_flag"; -#echo "devel_flag: $devel_flag"; -#echo "build_flag: $build_flag"; -#echo "output_flag: $output_flag"; -#echo "help_flag: $help_flag" -#echo "clean_flag: $clean_flag" -#echo "prusa_flag: $prusa_flag" -#echo "new_build_flag: $new_build_flag" - -# -# '?' 'h' argument usage and help -if [ "$help_flag" == "1" ] ; then -echo "***************************************" -echo "* PF-build.sh Version: 1.0.6-Build_33 *" -echo "***************************************" -echo "Arguments:" -echo "$(tput setaf 2)-v$(tput sgr0) Variant '$(tput setaf 2)All$(tput sgr0)' or variant file name" -echo "$(tput setaf 2)-l$(tput sgr0) Languages '$(tput setaf 2)ALL$(tput sgr0)' for multi language or '$(tput setaf 2)EN_ONLY$(tput sgr0)' for English only" -echo "$(tput setaf 2)-d$(tput sgr0) Devel build '$(tput setaf 2)GOLD$(tput sgr0)', '$(tput setaf 2)RC$(tput sgr0)', '$(tput setaf 2)BETA$(tput sgr0)', '$(tput setaf 2)ALPHA$(tput sgr0)', '$(tput setaf 2)DEBUG$(tput sgr0)', '$(tput setaf 2)DEVEL$(tput sgr0)' and '$(tput setaf 2)UNKNOWN$(tput sgr0)'" -echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" -echo "$(tput setaf 2)-o$(tput sgr0) Output '$(tput setaf 2)1$(tput sgr0)' force or '$(tput setaf 2)0$(tput sgr0)' block output and delays" -echo "$(tput setaf 2)-c$(tput sgr0) Do not clean up lang build'$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" -echo "$(tput setaf 2)-p$(tput sgr0) Keep Configuration_prusa.h '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" -echo "$(tput setaf 2)-n$(tput sgr0) New fresh build '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" -echo "$(tput setaf 2)-?$(tput sgr0) Help" -echo "$(tput setaf 2)-h$(tput sgr0) Help" -echo -echo "Brief USAGE:" -echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-v] [-l] [-d] [-b] [-o] [-c] [-p] [-n]" -echo -echo "Example:" -echo " $(tput setaf 2)./PF-build.sh -v All -l ALL -d GOLD$(tput sgr0)" -echo " Will build all variants as multi language and final GOLD version" -echo -echo " $(tput setaf 2) ./PF-build.sh -v 1_75mm_MK3S-EINSy10a-E3Dv6full.h -b Auto -l ALL -d GOLD -o 1 -c 1 -p 1 -n 1$(tput sgr0)" -echo " Will build MK3S multi language final GOLD firmware " -echo " with current commit count number and output extra information," -echo " not delete lang build temporary files, keep Configuration_prusa.h and build with new fresh build folder." -echo -exit 14 - -fi - # # '-v' argument defines which variant of the Prusa Firmware will be compiled if [ -z "$variant_flag" ] ; then @@ -710,7 +761,7 @@ do DEV_STATUS_SELECTED="GOLD" break ;; - No) + No) DEV_STATUS="UNKNOWN" DEV_STATUS_SELECTED="UNKNOWN" break @@ -729,6 +780,12 @@ do mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD || exit 28 fi OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" + if [ "$BOARD" != "prusa_einsy_rambo" ]; then + if [ ! -d "$SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$BOARD" ]; then + mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$BOARD || exit 28 + fi + OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$BOARD" + fi #Check if exactly the same hexfile already exists if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex" && "$LANGUAGES" == "ALL" ]]; then @@ -763,6 +820,8 @@ do echo "Dev Check :" $DEV_CHECK echo "DEV Status :" $DEV_STATUS echo "Motherboard:" $MOTHERBOARD + echo "Board flash:" $BOARD_FLASH + echo "Board mem :" $BOARD_MEM echo "Languages :" $LANGUAGES echo "Hex-file Folder:" $OUTPUT_FOLDER echo "$(tput sgr0)" @@ -796,7 +855,72 @@ do sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE 1/g" $SCRIPT_PATH/Firmware/config.h echo " " fi - + + # Prepare Board mem and flash modifications + ## Check board mem size + CURRENT_BOARD_MEM=$(grep "#define RAMEND" $BUILD_ENV_PATH/hardware/tools/avr/avr/include/avr/iom2560.h | sed -e's/.* //g'|cut -d ' ' -f3|tr -d $'\n') + if [ $CURRENT_BOARD_MEM != "0x21FF" ] ; then + echo "Board mem has been already modified or not reset" + echo "Current:" $CURRENT_BOARD_MEM + PS3="Select Yes if you want to reset it." + select yn in "Yes" "No"; do + case $yn in + Yes) + echo "Resetting board mem size" + sed -i -- "s/^#define RAMEND .*$/#define RAMEND 0x21FF/g" $BUILD_ENV_PATH/hardware/tools/avr/avr/include/avr/iom2560.h + break + ;; + *) + echo "Continuing with modified mem size" + break + ;; + esac + done + fi + ## Modify board mem size + if [[ ! -z $BOARD_MEM && "$BOARD_MEM" != "0x21FF" ]] ; then + echo "Modifying board memory size (hex):" + echo "Old:" $CURRENT_BOARD_MEM + echo "New:" $BOARD_MEM + read -t 5 -p "To cancel press CRTL+C" + sed -i -- "s/^#define RAMEND 0x21FF/#define RAMEND ${BOARD_MEM}/g" $BUILD_ENV_PATH/hardware/tools/avr/avr/include/avr/iom2560.h + fi + + ## Check board flash size + CURRENT_BOARD_FLASH=$(grep "#define FLASHEND" $BUILD_ENV_PATH/hardware/tools/avr/avr/include/avr/iom2560.h | sed -e's/.* //g'|cut -d ' ' -f3|tr -d $'\n') + CURRENT_BOARD_maximum_size=$(grep "prusa_einsy_rambo.upload.maximum_size" $BUILD_ENV_PATH/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION/boards.txt |cut -d '=' -f2|tr -d $'\n') + if [[ $CURRENT_BOARD_FLASH != "0x3FFFF" || $CURRENT_BOARD_maximum_size != "253952" ]] ; then + echo "Board flash has been already modified or not reset" + echo "Current flash size:" $CURRENT_BOARD_FLASH + echo "Current max. size:" $CURRENT_BOARD_maximum_size + PS3="Select Yes if you want to reset it." + select yn in "Yes" "No"; do + case $yn in + Yes) + echo "Resetting board flash size" + sed -i -- "s/^#define FLASHEND .*$/#define FLASHEND 0x3FFFF/g" $BUILD_ENV_PATH/hardware/tools/avr/avr/include/avr/iom2560.h + sed -i -- "s/^prusa_einsy_rambo.upload.maximum_size.*/prusa_einsy_rambo.upload.maximum_size=253952/g" $BUILD_ENV_PATH/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION/boards.txt + break + ;; + *) + echo "Continuing with modified flash size" + break + ;; + esac + done + fi + ## Modify boad flash size + if [[ ! -z $BOARD_FLASH && "$BOARD_FLASH" != "0x3FFFF" ]] ; then + echo "Modifying board flash size (hex):" + echo "Old flash size:" $CURRENT_BOARD_FLASH + echo "New flash size:" $BOARD_FLASH + echo "Old max. size:" $CURRENT_BOARD_maximum_size + echo "New max. size:" $BOARD_maximum_size + read -t 5 -p "To cancel press CRTL+C" + sed -i -- "s/^#define FLASHEND .*/#define FLASHEND ${BOARD_FLASH}/g" $BUILD_ENV_PATH/hardware/tools/avr/avr/include/avr/iom2560.h + sed -i -- "s/^prusa_einsy_rambo.upload.maximum_size.*/prusa_einsy_rambo.upload.maximum_size=${BOARD_maximum_size}/g" $BUILD_ENV_PATH/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION/boards.txt + fi + #Check if compiler flags are set to Prusa specific needs for the rambo board. # if [ $TARGET_OS == "windows" ]; then # RAMBO_PLATFORM_FILE="PrusaResearchRambo/avr/platform.txt" @@ -825,7 +949,7 @@ do rm -r -f $BUILD_PATH/* || exit 36 fi - #$BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 30 + $BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 30 $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 30 echo "$(tput sgr 0)" From 1a5898c673c3806d3953f1a1210cc938f6cc9628 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 23 Apr 2021 20:09:20 +0200 Subject: [PATCH 022/234] Improve MK404-build.sh check, update --- MK404-build.sh | 87 ++++++++++++++++++++++++++++++++++++++++++++------ PF-build.sh | 18 +++++------ 2 files changed, 86 insertions(+), 19 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index 8ed1e6b9b..9c7a14ba9 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -17,23 +17,27 @@ # 12 Feb 2021, 3d-gussner, Update cmake # 13 Feb 2021, 3d-gussner, Auto build SD cards -while getopts c:u:f:?h flag +while getopts c:u:f:m:g:?h flag do case "${flag}" in c) check_flag=${OPTARG};; u) update_flag=${OPTARG};; f) force_flag=${OPTARG};; + m) mk404_flag=${OPTARG};; + g) graphics_flag=${OPTARG};; ?) help_flag=1;; h) help_flag=1;; esac done echo "$check_flag" echo "$update_flag" +echo "$force_flag" +echo "$mk404_flag" +echo "$graphics_flag" #### Start check if OSTYPE is supported OS_FOUND=$( command -v uname) - case $( "${OS_FOUND}" | tr '[:upper:]' '[:lower:]') in linux*) TARGET_OS="linux" @@ -122,14 +126,82 @@ if [ ! -d $MK404_PATH ]; then git clone $MK404_URL $MK404_PATH fi -# Init and update submodules + + + +# cd $MK404_PATH -git submodule init -git submodule update + +# Check for updates ... WIP + +# Check MK404 +if [ "$force_flag" == "1" ]; then + check_flag=1 + update_flag=1 +fi +if [ "$update_flag" == "1" ]; then + check_flag=1 +fi +if [ "$check_flag" == "1" ]; then + if [ -d $MK404_BUILD_PATH ]; then + cd $MK404_BUILD_PATH + MK404_current_version=$( command ./MK404 --version | grep "MK404" | cut -f 4 -d " ") + cd $MK404_PATH + else + echo "Cannot check current version as it has not been build." + fi +# Get local Commit_Hash + MK404_local_GIT_COMMIT_HASH=$(git log --pretty=format:"%H" -1) +# Get local Commit_Number + MK404_local_GIT_COMMIT_NUMBER=$(git rev-list HEAD --count) +# Get remote Commit_Hash + MK404_remote_GIT_COMMIT_HASH=$(git ls-remote --heads $(git config --get remote.origin.url) | grep "refs/heads/master" | cut -f 1) +# Get remote Commit_Number + MK404_remote_GIT_COMMIT_NUMBER=$(git rev-list origin/master --count) +# Output + echo "Current version : $MK404_current_version" + echo "" + echo "Current local hash : $MK404_local_GIT_COMMIT_HASH" + echo "Current local commit nr : $MK404_local_GIT_COMMIT_NUMBER" + if [ "$MK404_local_GIT_COMMIT_HASH" != "$MK404_remote_GIT_COMMIT_HASH" ]; then + echo "$(tput setaf 1)" + else + echo "$(tput sgr 0)" + fi + echo "Current remote hash : $MK404_remote_GIT_COMMIT_HASH" + echo "Current remote commit nr: $MK404_remote_GIT_COMMIT_NUMBER" + 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 + fi + echo "" + fi +fi +# Check for updates +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 "" + force_flag=1 + fi +fi # Prepare MK404 mkdir -p $MK404_BUILD_PATH if [[ ! -f "$MK404_BUILD_PATH/Makefile" || "$force_flag" == "1" ]]; then +# Init and update submodules + git submodule init + git submodule update cmake -B$MK404_BUILD_PATH -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" fi @@ -149,8 +221,3 @@ if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$force_flag" == "1" ]]; cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3MMU2_SDcard.bin fi -# Check for updates ... WIP -if [ "$check_flag" == "1" ]; then - current_version=$( command ./MK404 --version | grep "MK404" | cut -f 4 -d " ") - echo "Current version: $current_version" -fi \ No newline at end of file diff --git a/PF-build.sh b/PF-build.sh index 4a6d243fe..f461bfc1f 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -886,9 +886,9 @@ do if [ "$MOTHERBOARD" = "BOARD_EINSY_1_0a" ]; then echo "$(tput setaf 2)Copying multi language firmware for MK3/Einsy board to PF-build-hex folder$(tput sgr 0)" # Make a copy of "lang.bin" for MK404 MK3 and MK3S - #if [ ! -z "$mk404_flag" ]; then - #cp -f lang.bin $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin - #fi + if [ ! -z "$mk404_flag" ]; then + cp -f lang.bin $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin + fi # End of "lang.bin" for MK3 and MK3S copy cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex else @@ -977,7 +977,7 @@ echo "more information how to flash firmware https://www.prusa3d.com/drivers/ $( # Check/compile MK404 sim if [ ! -z "$mk404_flag" ]; then - ./MK404-build.sh + ./MK404-build.sh -c1 # For Prusa MK2, MK2.5/S if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then @@ -1009,11 +1009,11 @@ if [ ! -z "$mk404_flag" ]; then cd ../MK404/master/build # Copy language bin file for MK3 and MK3S to xflash - #if [ -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin ]; then - #echo "Copy 'FW$FW-Build$BUILD-$VARIANT-lang.bin' to 'Prusa_${PRINTER}_xflash.bin'" - #dd if=/dev/zero bs=1 count=262145 | tr "\000" "\377" >Prusa_${PRINTER}_xflash.bin - #dd if=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin of=Prusa_${PRINTER}_xflash.bin conv=notrunc - #fi + if [ -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin ]; then + echo "Copy 'FW$FW-Build$BUILD-$VARIANT-lang.bin' to 'Prusa_${PRINTER}_xflash.bin'" + dd if=/dev/zero bs=1 count=262145 | tr "\000" "\377" >Prusa_${PRINTER}_xflash.bin + dd if=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin of=Prusa_${PRINTER}_xflash.bin conv=notrunc + fi # Start MK404 # default with serial output and terminal to manipulate it via terminal From 2ad0514d7cb59608147dee2305ffa696af7cb32f Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 29 Apr 2021 19:15:32 +0200 Subject: [PATCH 023/234] Save changes --- PF-build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PF-build.sh b/PF-build.sh index f461bfc1f..b96fb46b7 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -504,7 +504,7 @@ if [ "$help_flag" == "1" ] ; then echo "$(tput setaf 2)-h$(tput sgr0) Help" echo echo "Brief USAGE:" - echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-v] [-l] [-d] [-b] [-o] [-c] [-p] [-n] [-m]" + echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-v] [-l] [-d] [-b] [-o] [-c] [-p] [-n] [-m] [-g]" echo echo "Example:" echo " $(tput setaf 2)./PF-build.sh -v All -l ALL -d GOLD$(tput sgr0)" From 6ba8999607b8ed979ebd0f930e445bdec604168e Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 29 Apr 2021 19:23:52 +0200 Subject: [PATCH 024/234] Indentations --- PF-build.sh | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/PF-build.sh b/PF-build.sh index b96fb46b7..de10ea4b4 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -237,12 +237,12 @@ fi # Check gawk ... needed during language build if ! type gawk > /dev/null; then - if [ $TARGET_OS == "linux" ]; then - echo "$(tput setaf 1)Missing 'gawk' which is important to run this script" - echo "install it with the command $(tput setaf 2)'sudo apt-get install gawk'." - #sudo apt-get update && apt-get install gawk - exit 5 - fi + if [ $TARGET_OS == "linux" ]; then + echo "$(tput setaf 1)Missing 'gawk' which is important to run this script" + echo "install it with the command $(tput setaf 2)'sudo apt-get install gawk'." + #sudo apt-get update && apt-get install gawk + exit 5 + fi fi #### End prepare bash / Linux environment @@ -299,20 +299,20 @@ fi # Download and extract supported Arduino IDE depending on OS # Windows if [ $TARGET_OS == "windows" ]; then - if [ ! -f "arduino-$ARDUINO_ENV-windows.zip" ]; then - echo "$(tput setaf 6)Downloading Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" - sleep 2 - wget https://downloads.arduino.cc/arduino-$ARDUINO_ENV-windows.zip || exit 8 - echo "$(tput sgr 0)" - fi - if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then - echo "$(tput setaf 6)Unzipping Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" - sleep 2 - unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 8 - mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor - echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" - fi + if [ ! -f "arduino-$ARDUINO_ENV-windows.zip" ]; then + echo "$(tput setaf 6)Downloading Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" + sleep 2 + wget https://downloads.arduino.cc/arduino-$ARDUINO_ENV-windows.zip || exit 8 + echo "$(tput sgr 0)" + fi + if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then + echo "$(tput setaf 6)Unzipping Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" + sleep 2 + unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 8 + mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor + echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" + fi fi # Linux if [ $TARGET_OS == "linux" ]; then From 2195116bebdddedbe07c6552726dcf83dd9ce63d Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Sat, 1 May 2021 01:30:03 +0200 Subject: [PATCH 025/234] Add EN_ONLY support for MK404 --- PF-build.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/PF-build.sh b/PF-build.sh index de10ea4b4..1db0bc046 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -1015,8 +1015,15 @@ if [ ! -z "$mk404_flag" ]; then dd if=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin of=Prusa_${PRINTER}_xflash.bin conv=notrunc fi +#Decide which hex file to use EN_ONLY or Multi language +if [ "$LANGUAGES" == "ALL" ]; then + MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex +else + MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex +fi + # Start MK404 # default with serial output and terminal to manipulate it via terminal - ./MK404 Prusa_$PRINTER -s --terminal $MK404_options -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex + ./MK404 Prusa_$PRINTER -s --terminal $MK404_options -f $MK404_firmware_file fi #### End of MK404 Simulator From d8dd8e49e5639e4bae782f35e9545a83fe12b4a9 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Mon, 3 May 2021 07:00:15 +0200 Subject: [PATCH 026/234] Comment out "manual" xflash update as MK404 can do it now directly from the hex file. --- PF-build.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PF-build.sh b/PF-build.sh index 1db0bc046..579b03f2f 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -1009,11 +1009,11 @@ if [ ! -z "$mk404_flag" ]; then cd ../MK404/master/build # Copy language bin file for MK3 and MK3S to xflash - if [ -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin ]; then - echo "Copy 'FW$FW-Build$BUILD-$VARIANT-lang.bin' to 'Prusa_${PRINTER}_xflash.bin'" - dd if=/dev/zero bs=1 count=262145 | tr "\000" "\377" >Prusa_${PRINTER}_xflash.bin - dd if=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin of=Prusa_${PRINTER}_xflash.bin conv=notrunc - fi +# if [ -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin ]; then +# echo "Copy 'FW$FW-Build$BUILD-$VARIANT-lang.bin' to 'Prusa_${PRINTER}_xflash.bin'" +# dd if=/dev/zero bs=1 count=262145 | tr "\000" "\377" >Prusa_${PRINTER}_xflash.bin +# dd if=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin of=Prusa_${PRINTER}_xflash.bin conv=notrunc +# fi #Decide which hex file to use EN_ONLY or Multi language if [ "$LANGUAGES" == "ALL" ]; then From 41d7eaa94b8339af6f45753bfc96810d8b7a8097 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Mon, 3 May 2021 08:24:02 +0200 Subject: [PATCH 027/234] Update documentation --- PF-build.sh | 139 ++++++++++++++++++++++++++++------------------------ 1 file changed, 75 insertions(+), 64 deletions(-) diff --git a/PF-build.sh b/PF-build.sh index 579b03f2f..a219b851b 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 1.1.0-Build_39 +# Version: 1.2.0-Build_47 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -140,6 +140,13 @@ # 13 Feb 2021, 3d-gussner, Indentations # 13 Feb 2021, 3d-gussner, MK404 improvements like "flash" MK3, MK3S languages files to MK404 xflash. # 27 Feb 2021, 3d-gussner, Add './lang-community.sh' and update exits +# 03 May 2021, 3d-gussner, Update exit numbers +# 01-14 prepare build env +# 21-32 prepare compiling +# 41-47 compiling +# 51-54 cleanup +# 61-62 MK404 +# 03 May 2021, 3d-gussner, Update documentation and change version to v1.2.0 #### Start check if OSTYPE is supported OS_FOUND=$( command -v uname) @@ -308,7 +315,7 @@ if [ $TARGET_OS == "windows" ]; then if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then echo "$(tput setaf 6)Unzipping Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" sleep 2 - unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 8 + unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 9 mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt echo "$(tput sgr0)" @@ -326,7 +333,7 @@ if [ $TARGET_OS == "linux" ]; then if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then echo "$(tput setaf 6)Unzipping Linux $Processor Arduino IDE portable...$(tput setaf 2)" sleep 2 - tar -xvf arduino-$ARDUINO_ENV-linux$Processor.tar.xz -C ../PF-build-env-$BUILD_ENV/ || exit 8 + tar -xvf arduino-$ARDUINO_ENV-linux$Processor.tar.xz -C ../PF-build-env-$BUILD_ENV/ || exit 9 mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt echo "$(tput sgr0)" @@ -380,12 +387,12 @@ fi if [ ! -f "$BOARD_FILENAME-$BOARD_VERSION.tar.bz2" ]; then echo "$(tput setaf 6)Downloading Prusa Research AVR MK3 RAMBo EINSy build environment...$(tput setaf 2)" sleep 2 - wget $BOARD_FILE_URL || exit 9 + wget $BOARD_FILE_URL || exit 10 fi if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION" || ! -e "../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then echo "$(tput setaf 6)Unzipping $BOARD_PACKAGE_NAME Arduino IDE portable...$(tput setaf 2)" sleep 2 - tar -xvf $BOARD_FILENAME-$BOARD_VERSION.tar.bz2 -C ../PF-build-env-$BUILD_ENV/ || exit 10 + tar -xvf $BOARD_FILENAME-$BOARD_VERSION.tar.bz2 -C ../PF-build-env-$BUILD_ENV/ || exit 11 if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME fi @@ -409,13 +416,13 @@ fi if [ ! -f "PF-build-env-WinLin-$BUILD_ENV.zip" ]; then echo "$(tput setaf 6)Downloading Prusa Firmware build environment...$(tput setaf 2)" sleep 2 - wget $PF_BUILD_FILE_URL || exit 11 + wget $PF_BUILD_FILE_URL || exit 12 echo "$(tput sgr 0)" fi if [ ! -e "../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]; then echo "$(tput setaf 6)Unzipping Prusa Firmware build environment...$(tput setaf 2)" sleep 2 - unzip -o PF-build-env-WinLin-$BUILD_ENV.zip -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 12 + unzip -o PF-build-env-WinLin-$BUILD_ENV.zip -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 13 echo "# PF-build-env-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt echo "$(tput sgr0)" fi @@ -441,7 +448,7 @@ if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Proc echo "Script will not continue until this have been fixed $(tput setaf 2)" sleep 2 echo "$(tput sgr0)" - exit 13 + exit 14 fi @@ -456,21 +463,21 @@ if type git > /dev/null; then git_available="1" fi -while getopts v:l:d:b:o:c:p:n:m:g:?h flag +while getopts b:c:d:g:l:m:n:o:p:v:?h flag do case "${flag}" in - v) variant_flag=${OPTARG};; - l) language_flag=${OPTARG};; - d) devel_flag=${OPTARG};; b) build_flag=${OPTARG};; - o) output_flag=${OPTARG};; c) clean_flag=${OPTARG};; - p) prusa_flag=${OPTARG};; - n) new_build_flag=${OPTARG};; - m) mk404_flag=${OPTARG};; + d) devel_flag=${OPTARG};; g) graphics_flag=${OPTARG};; - ?) help_flag=1;; h) help_flag=1;; + l) language_flag=${OPTARG};; + m) mk404_flag=${OPTARG};; + n) new_build_flag=${OPTARG};; + o) output_flag=${OPTARG};; + p) prusa_flag=${OPTARG};; + v) variant_flag=${OPTARG};; + ?) help_flag=1;; esac done #echo "variant_flag: $variant_flag"; @@ -490,21 +497,21 @@ if [ "$help_flag" == "1" ] ; then echo "* PF-build.sh Version: 1.0.6-Build_33 *" echo "***************************************" echo "Arguments:" - echo "$(tput setaf 2)-v$(tput sgr0) Variant '$(tput setaf 2)All$(tput sgr0)' or variant file name" - echo "$(tput setaf 2)-l$(tput sgr0) Languages '$(tput setaf 2)ALL$(tput sgr0)' for multi language or '$(tput setaf 2)EN_ONLY$(tput sgr0)' for English only" - echo "$(tput setaf 2)-d$(tput sgr0) Devel build '$(tput setaf 2)GOLD$(tput sgr0)', '$(tput setaf 2)RC$(tput sgr0)', '$(tput setaf 2)BETA$(tput sgr0)', '$(tput setaf 2)ALPHA$(tput sgr0)', '$(tput setaf 2)DEBUG$(tput sgr0)', '$(tput setaf 2)DEVEL$(tput sgr0)' and '$(tput setaf 2)UNKNOWN$(tput sgr0)'" echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" - echo "$(tput setaf 2)-o$(tput sgr0) Output '$(tput setaf 2)1$(tput sgr0)' force or '$(tput setaf 2)0$(tput sgr0)' block output and delays" - echo "$(tput setaf 2)-c$(tput sgr0) Do not clean up lang build'$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" - echo "$(tput setaf 2)-p$(tput sgr0) Keep Configuration_prusa.h '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" - echo "$(tput setaf 2)-n$(tput sgr0) New fresh build '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" - 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)-c$(tput sgr0) Do not clean up lang build '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" + echo "$(tput setaf 2)-d$(tput sgr0) Devel build '$(tput setaf 2)GOLD$(tput sgr0)', '$(tput setaf 2)RC$(tput sgr0)', '$(tput setaf 2)BETA$(tput sgr0)', '$(tput setaf 2)ALPHA$(tput sgr0)', '$(tput setaf 2)DEBUG$(tput sgr0)', '$(tput setaf 2)DEVEL$(tput sgr0)' and '$(tput setaf 2)UNKNOWN$(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)-l$(tput sgr0) Languages '$(tput setaf 2)ALL$(tput sgr0)' for multi language or '$(tput setaf 2)EN_ONLY$(tput sgr0)' for English only" + 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) New fresh build '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" + echo "$(tput setaf 2)-o$(tput sgr0) Output '$(tput setaf 2)1$(tput sgr0)' force or '$(tput setaf 2)0$(tput sgr0)' block output and delays" + echo "$(tput setaf 2)-p$(tput sgr0) Keep Configuration_prusa.h '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" + echo "$(tput setaf 2)-v$(tput sgr0) Variant '$(tput setaf 2)All$(tput sgr0)' or variant file name" echo "$(tput setaf 2)-?$(tput sgr0) Help" echo "$(tput setaf 2)-h$(tput sgr0) Help" echo echo "Brief USAGE:" - echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-v] [-l] [-d] [-b] [-o] [-c] [-p] [-n] [-m] [-g]" + echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-b] [-c] [-d] [-g] [-h] [-l] [-m] [-n] [-o] [-p] [-v] [-?]" echo echo "Example:" echo " $(tput setaf 2)./PF-build.sh -v All -l ALL -d GOLD$(tput sgr0)" @@ -515,7 +522,7 @@ if [ "$help_flag" == "1" ] ; then echo " with current commit count number and output extra information," echo " not delete lang build temporary files, keep Configuration_prusa.h and build with new fresh build folder." echo - exit 14 + exit 21 fi # @@ -540,7 +547,7 @@ if [ -z "$variant_flag" ] ; then ;; "Quit") echo "You chose to stop" - exit 20 + exit 22 ;; *) echo "$(tput setaf 1)This is not a valid variant$(tput sgr0)" @@ -561,7 +568,7 @@ else echo "Only $(tput setaf 2)'All'$(tput sgr0) and file names below are allowed as variant '-v' argument.$(tput setaf 2)" ls -1 $SCRIPT_PATH/Firmware/variants/*.h | xargs -n1 basename echo "$(tput sgr0)" - exit 21 + exit 23 fi fi @@ -594,7 +601,7 @@ else else echo "$(tput setaf 1)Language argument is wrong!$(tput sgr0)" echo "Only $(tput setaf 2)'ALL'$(tput sgr0) or $(tput setaf 2)'EN_ONLY'$(tput sgr0) are allowed as language '-l' argument!" - exit 22 + exit 24 fi fi #Check if DEV_STATUS is selected via argument '-d' @@ -604,7 +611,7 @@ if [ ! -z "$devel_flag" ] ; then else echo "$(tput setaf 1)Development argument is wrong!$(tput sgr0)" echo "Only $(tput setaf 2)'GOLD', 'RC', 'BETA', 'ALPHA', 'DEVEL', 'DEBUG' or 'UNKNOWN' $(tput sgr0) are allowed as devel '-d' argument!$(tput sgr0)" - exit 23 + exit 25 fi fi @@ -618,7 +625,7 @@ if [ ! -z "$build_flag" ] ; then else echo "$(tput setaf 1)Build number argument is wrong!$(tput sgr0)" echo "Only $(tput setaf 2)'Auto' (git needed) or numbers $(tput sgr0) are allowed as build '-b' argument!$(tput sgr0)" - exit 24 + exit 26 fi echo "New Build number is: $BUILD" @@ -653,18 +660,18 @@ else fi #Set BUILD_ENV_PATH -cd ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 25 +cd ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 27 BUILD_ENV_PATH="$( pwd -P )" cd ../.. #Checkif BUILD_PATH exists and if not creates it if [ ! -d "Prusa-Firmware-build" ]; then - mkdir Prusa-Firmware-build || exit 26 + mkdir Prusa-Firmware-build || exit 28 fi #Set the BUILD_PATH for Arduino IDE -cd Prusa-Firmware-build || exit 27 +cd Prusa-Firmware-build || exit 29 BUILD_PATH="$( pwd -P )" #Check git branch has changed @@ -733,7 +740,7 @@ do fi #Prepare hex files folders if [ ! -d "$SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" ]; then - mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD || exit 28 + mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD || exit 30 fi OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" @@ -777,13 +784,13 @@ do #Prepare Firmware to be compiled by copying variant as Configuration_prusa.h if [ ! -f "$SCRIPT_PATH/Firmware/Configuration_prusa.h" ]; then - cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 + cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 31 else echo "$(tput setaf 6)Configuration_prusa.h already exist it will be overwritten in 10 seconds by the chosen variant.$(tput sgr 0)" if [ $OUTPUT == "1" ] ; then read -t 10 -p "Press Enter to continue..." fi - cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 + cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 31 fi #Prepare Configuration.h to use the correct FW_DEV_VERSION to prevent LCD messages when connecting with OctoPrint @@ -809,11 +816,16 @@ do #if [ $TARGET_OS == "windows" ]; then #RAMBO_PLATFORM_FILE="PrusaResearchRambo/avr/platform.txt" #fi - + + #New fresh PF-Firmware-build + if [ "$new_build_flag" == "1" ]; then + rm -r -f $BUILD_PATH/* || exit 54 + fi + #### End of Prepare building - + #### Start building - + export ARDUINO=$BUILD_ENV_PATH #echo $BUILD_ENV_PATH #export BUILDER=$ARDUINO/arduino-builder @@ -828,13 +840,8 @@ do sleep 2 fi - #New fresh PF-Firmware-build - if [ "$new_build_flag" == "1" ]; then - rm -r -f $BUILD_PATH/* || exit 36 - fi - - #$BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 14 - $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 30 + #$BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 41 + $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 42 echo "$(tput sgr 0)" if [ $LANGUAGES == "ALL" ]; then @@ -847,7 +854,7 @@ do fi cd $SCRIPT_PATH/lang echo "$(tput setaf 3)" - ./config.sh || exit 31 + ./config.sh || exit 43 echo "$(tput sgr 0)" # Check if previous languages and firmware build exist and if so clean them up if [ -f "lang_en.tmp" ]; then @@ -872,11 +879,11 @@ do fi # build languages echo "$(tput setaf 3)" - ./lang-build.sh || exit 32 + ./lang-build.sh || exit 44 # build community languages - ./lang-community.sh || exit 33 + ./lang-community.sh || exit 45 # Combine compiled firmware with languages - ./fw-build.sh || exit 33 + ./fw-build.sh || exit 46 cp not_tran.txt not_tran_$VARIANT.txt cp not_used.txt not_used_$VARIANT.txt echo "$(tput sgr 0)" @@ -911,26 +918,30 @@ do zip -m -j ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex fi fi - # Cleanup after build - if [[ -z "$clean_flag" || "$clean_flag" == "0" ]]; then - echo "$(tput setaf 3)" - ./fw-clean.sh || exit 34 - ./lang-clean.sh || exit 35 - echo "$(tput sgr 0)" - fi + + # Cleanup after build + if [[ -z "$clean_flag" || "$clean_flag" == "0" ]]; then + echo "$(tput setaf 3)" + ./fw-clean.sh || exit 51 + ./lang-clean.sh || exit 52 + echo "$(tput sgr 0)" + fi + else echo "$(tput setaf 2)Copying English only firmware to PF-build-hex folder$(tput sgr 0)" - cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex || exit 34 + cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex || exit 47 fi # Cleanup Firmware if [[ -z "$prusa_flag" || "$prusa_flag" == "0" ]]; then - rm $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 36 + rm $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 53 fi + # Delete dupblicates if find $SCRIPT_PATH/lang/ -name '*RAMBo10a*.txt' -printf 1 -quit | grep -q 1 then rm $SCRIPT_PATH/lang/*RAMBo10a*.txt fi + # MK2 not supported in this branch if find $SCRIPT_PATH/lang/ -name '*MK2-RAMBo13a*' -printf 1 -quit | grep -q 1 then rm $SCRIPT_PATH/lang/*MK2-RAMBo13a*.txt @@ -946,7 +957,7 @@ do #New fresh PF-Firmware-build if [ "$new_build_flag" == "1" ]; then - rm -r -f $BUILD_PATH/* || exit 36 + rm -r -f $BUILD_PATH/* || exit 54 fi # Restore files to previous state @@ -977,7 +988,7 @@ echo "more information how to flash firmware https://www.prusa3d.com/drivers/ $( # Check/compile MK404 sim if [ ! -z "$mk404_flag" ]; then - ./MK404-build.sh -c1 + ./MK404-build.sh -c1 || exit 61 # For Prusa MK2, MK2.5/S if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then @@ -1024,6 +1035,6 @@ fi # Start MK404 # default with serial output and terminal to manipulate it via terminal - ./MK404 Prusa_$PRINTER -s --terminal $MK404_options -f $MK404_firmware_file + ./MK404 Prusa_$PRINTER -s --terminal $MK404_options -f $MK404_firmware_file || exit 62 fi #### End of MK404 Simulator From 16359780f9842e3112bdabd0a740b98949818f25 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Mon, 3 May 2021 14:11:03 +0200 Subject: [PATCH 028/234] Add MK404 'atmega404' and 'atmega404_no_bootloder' option --- PF-build.sh | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/PF-build.sh b/PF-build.sh index a219b851b..11d6c092e 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -494,7 +494,7 @@ while getopts b:c:d:g:l:m:n:o:p:v:?h flag # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" - echo "* PF-build.sh Version: 1.0.6-Build_33 *" + echo "* PF-build.sh Version: 1.2.0-Build_47 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" @@ -608,6 +608,8 @@ fi if [ ! -z "$devel_flag" ] ; then if [[ "$devel_flag" == "GOLD" || "$devel_flag" == "RC" || "$devel_flag" == "BETA" || "$devel_flag" == "ALPHA" || "$devel_flag" == "DEVEL" || "$devel_flag" == "DEBUG" || "$devel_flag" == "UNKNOWN" ]] ; then DEV_STATUS_SELECTED=$devel_flag + elif [[ "$devel_flag" == "atmega404" || "$devel_flag" == "atmega404_no_bootloader" ]] ; then + MK404_DEBUG=$devel_flag else echo "$(tput setaf 1)Development argument is wrong!$(tput sgr0)" echo "Only $(tput setaf 2)'GOLD', 'RC', 'BETA', 'ALPHA', 'DEVEL', 'DEBUG' or 'UNKNOWN' $(tput sgr0) are allowed as devel '-d' argument!$(tput sgr0)" @@ -685,7 +687,7 @@ fi for v in ${VARIANTS[*]} do VARIANT=$(basename "$v" ".h") - PRINTER=$(grep --max-count=1 "\bPRINTER_TYPE\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3 | cut -d '_' -f2) + MK404_PRINTER=$(grep --max-count=1 "\bPRINTER_TYPE\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3 | cut -d '_' -f2) # Find firmware version in Configuration.h file and use it to generate the hex filename FW=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g') if [ -z "$BUILD" ] ; then @@ -992,10 +994,10 @@ if [ ! -z "$mk404_flag" ]; then # For Prusa MK2, MK2.5/S if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then - PRINTER="${PRINTER}_mR13" + MK404_PRINTER="${MK404_PRINTER}_mR13" else if [[ "$mk404_flag" == "2" || "$mk404_flag" == "MMU2" || "$mk404_flag" == "MMU2S" ]]; then # Check if MMU2 is selected only for MK3/S - PRINTER="${PRINTER}MMU2" + MK404_PRINTER="${MK404_PRINTER}MMU2" fi fi @@ -1012,8 +1014,19 @@ if [ ! -z "$mk404_flag" ]; then fi fi +# Run MK404 with 'debugcore' and/or 'bootloader_file' + if [ ! -z "$MK404_DEBUG" ]; then + if [ "$MK404_DEBUG" == "atmega404" ]; then + MK404_options="${MK404_options} --debugcore" + elif [ "$MK404_DEBUG" == "atmega404_no_bootloader" ]; then + MK404_options="${MK404_options} --debugcore --bootloader_file no" + else + echo "$(tput setaf 1)Unsupported MK404 debug option $MK404_options$(tput sgr 0)" + fi + fi + # Output some useful data - echo "Printer: $PRINTER" + echo "Printer: $MK404_PRINTER" echo "Options: $MK404_options" # Change to MK404 build folder @@ -1021,9 +1034,9 @@ if [ ! -z "$mk404_flag" ]; then # Copy language bin file for MK3 and MK3S to xflash # if [ -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin ]; then -# echo "Copy 'FW$FW-Build$BUILD-$VARIANT-lang.bin' to 'Prusa_${PRINTER}_xflash.bin'" -# dd if=/dev/zero bs=1 count=262145 | tr "\000" "\377" >Prusa_${PRINTER}_xflash.bin -# dd if=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin of=Prusa_${PRINTER}_xflash.bin conv=notrunc +# echo "Copy 'FW$FW-Build$BUILD-$VARIANT-lang.bin' to 'Prusa_${MK404_PRINTER}_xflash.bin'" +# dd if=/dev/zero bs=1 count=262145 | tr "\000" "\377" >Prusa_${MK404_PRINTER}_xflash.bin +# dd if=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin of=Prusa_${MK404_PRINTER}_xflash.bin conv=notrunc # fi #Decide which hex file to use EN_ONLY or Multi language @@ -1035,6 +1048,6 @@ fi # Start MK404 # default with serial output and terminal to manipulate it via terminal - ./MK404 Prusa_$PRINTER -s --terminal $MK404_options -f $MK404_firmware_file || exit 62 + ./MK404 Prusa_$MK404_PRINTER -s --terminal $MK404_options -f $MK404_firmware_file || exit 62 fi #### End of MK404 Simulator From a5ba31b247f52d52b05ded4600e3ad6392622111 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Mon, 3 May 2021 14:14:47 +0200 Subject: [PATCH 029/234] Indentations --- PF-build.sh | 1136 +++++++++++++++++++++++++-------------------------- 1 file changed, 568 insertions(+), 568 deletions(-) diff --git a/PF-build.sh b/PF-build.sh index d065d6916..7fdaf811c 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -91,7 +91,7 @@ # 13 Mar 2019, 3d-gussner, MKbel updated the Linux build environment to version 1.0.2 with an Fix maximum firmware flash size. # So did I # 11 Jul 2019, deliopoulos,Updated to v1.0.6 as Prusa needs a new board definition for Firmware 3.8.x86_64 -# - Split the Download of Windows Arduino IDE 1.8.5 and Prusa specific part +# - Split the Download of Windows Arduino IDE 1.8.5 and Prusa specific part # --> less download volume needed and saves some time # # 13 Jul 2019, deliopoulos,Splitting of Arduino IDE and Prusa parts also for Linux64 @@ -158,35 +158,35 @@ case $( "${OS_FOUND}" | tr '[:upper:]' '[:lower:]') in esac # Windows if [ $TARGET_OS == "windows" ]; then - if [ $(uname -m) == "x86_64" ]; then - echo "$(tput setaf 2)Windows 64-bit found$(tput sgr0)" - Processor="64" - elif [ $(uname -m) == "i386" ]; then - echo "$(tput setaf 2)Windows 32-bit found$(tput sgr0)" - Processor="32" - else - echo "$(tput setaf 1)Unsupported OS: Windows $(uname -m)" - echo "Please refer to the notes of build.sh$(tput sgr0)" - exit 1 - fi + if [ $(uname -m) == "x86_64" ]; then + echo "$(tput setaf 2)Windows 64-bit found$(tput sgr0)" + Processor="64" + elif [ $(uname -m) == "i386" ]; then + echo "$(tput setaf 2)Windows 32-bit found$(tput sgr0)" + Processor="32" + else + echo "$(tput setaf 1)Unsupported OS: Windows $(uname -m)" + echo "Please refer to the notes of build.sh$(tput sgr0)" + exit 1 + fi # Linux elif [ $TARGET_OS == "linux" ]; then - if [ $(uname -m) == "x86_64" ]; then - echo "$(tput setaf 2)Linux 64-bit found$(tput sgr0)" - Processor="64" - elif [[ $(uname -m) == "i386" || $(uname -m) == "i686" ]]; then - echo "$(tput setaf 2)Linux 32-bit found$(tput sgr0)" - Processor="32" - else - echo "$(tput setaf 1)Unsupported OS: Linux $(uname -m)" - echo "Please refer to the notes of build.sh$(tput sgr0)" - exit 1 - fi + if [ $(uname -m) == "x86_64" ]; then + echo "$(tput setaf 2)Linux 64-bit found$(tput sgr0)" + Processor="64" + elif [[ $(uname -m) == "i386" || $(uname -m) == "i686" ]]; then + echo "$(tput setaf 2)Linux 32-bit found$(tput sgr0)" + Processor="32" + else + echo "$(tput setaf 1)Unsupported OS: Linux $(uname -m)" + echo "Please refer to the notes of build.sh$(tput sgr0)" + exit 1 + fi else - echo "$(tput setaf 1)This script doesn't support your Operating system!" - echo "Please use Linux 64-bit or Windows 10 64-bit with Linux subsystem / git-bash" - echo "Read the notes of build.sh$(tput sgr0)" - exit 1 + echo "$(tput setaf 1)This script doesn't support your Operating system!" + echo "Please use Linux 64-bit or Windows 10 64-bit with Linux subsystem / git-bash" + echo "Read the notes of build.sh$(tput sgr0)" + exit 1 fi sleep 2 #### End check if OSTYPE is supported @@ -194,74 +194,74 @@ sleep 2 #### Prepare bash environment and check if wget, zip and other needed things are available # Check wget if ! type wget > /dev/null; then - echo "$(tput setaf 1)Missing 'wget' which is important to run this script" - echo "Please follow these instructions https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058 to install wget$(tput sgr0)" - exit 2 + echo "$(tput setaf 1)Missing 'wget' which is important to run this script" + echo "Please follow these instructions https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058 to install wget$(tput sgr0)" + exit 2 fi # Check for zip if ! type zip > /dev/null; then - if [ $TARGET_OS == "windows" ]; then - echo "$(tput setaf 1)Missing 'zip' which is important to run this script" - echo "Download and install 7z-zip from its official website https://www.7-zip.org/" - echo "By default, it is installed under the directory /c/Program Files/7-Zip in Windows 10 as my case." - echo "Run git Bash under Administrator privilege and" - echo "navigate to the directory /c/Program Files/Git/mingw64/bin," - echo "you can run the command $(tput setaf 2)ln -s /c/Program Files/7-Zip/7z.exe zip.exe$(tput sgr0)" - exit 3 - elif [ $TARGET_OS == "linux" ]; then - echo "$(tput setaf 1)Missing 'zip' which is important to run this script" - echo "install it with the command $(tput setaf 2)'sudo apt-get install zip'$(tput sgr0)" - #sudo apt-get update && apt-get install zip - exit 3 - fi + if [ $TARGET_OS == "windows" ]; then + echo "$(tput setaf 1)Missing 'zip' which is important to run this script" + echo "Download and install 7z-zip from its official website https://www.7-zip.org/" + echo "By default, it is installed under the directory /c/Program Files/7-Zip in Windows 10 as my case." + echo "Run git Bash under Administrator privilege and" + echo "navigate to the directory /c/Program Files/Git/mingw64/bin," + echo "you can run the command $(tput setaf 2)ln -s /c/Program Files/7-Zip/7z.exe zip.exe$(tput sgr0)" + exit 3 + elif [ $TARGET_OS == "linux" ]; then + echo "$(tput setaf 1)Missing 'zip' which is important to run this script" + echo "install it with the command $(tput setaf 2)'sudo apt-get install zip'$(tput sgr0)" + #sudo apt-get update && apt-get install zip + exit 3 + fi fi # Check python ... needed during language build if ! type python > /dev/null; then - if [ $TARGET_OS == "windows" ]; then - echo "$(tput setaf 1)Missing 'python3' which is important to run this script" - exit 4 - elif [ $TARGET_OS == "linux" ]; then - echo "$(tput setaf 1)Missing 'python' which is important to run this script" - echo "As Python 2.x will not be maintained from 2020 please," - echo "install it with the command $(tput setaf 2)'sudo apt-get install python3'." - echo "Check which version of Python3 has been installed using 'ls /usr/bin/python3*'" - echo "Use 'sudo ln -sf /usr/bin/python3.x /usr/bin/python' (where 'x' is your version number) to make it default.$(tput sgr0)" - #sudo apt-get update && apt-get install python3 && ln -sf /usr/bin/python3 /usr/bin/python - exit 4 - fi + if [ $TARGET_OS == "windows" ]; then + echo "$(tput setaf 1)Missing 'python3' which is important to run this script" + exit 4 + elif [ $TARGET_OS == "linux" ]; then + echo "$(tput setaf 1)Missing 'python' which is important to run this script" + echo "As Python 2.x will not be maintained from 2020 please," + echo "install it with the command $(tput setaf 2)'sudo apt-get install python3'." + echo "Check which version of Python3 has been installed using 'ls /usr/bin/python3*'" + echo "Use 'sudo ln -sf /usr/bin/python3.x /usr/bin/python' (where 'x' is your version number) to make it default.$(tput sgr0)" + #sudo apt-get update && apt-get install python3 && ln -sf /usr/bin/python3 /usr/bin/python + exit 4 + fi fi # Check gawk ... needed during language build if ! type gawk > /dev/null; then - if [ $TARGET_OS == "linux" ]; then - echo "$(tput setaf 1)Missing 'gawk' which is important to run this script" - echo "install it with the command $(tput setaf 2)'sudo apt-get install gawk'." - #sudo apt-get update && apt-get install gawk - exit 5 - fi + if [ $TARGET_OS == "linux" ]; then + echo "$(tput setaf 1)Missing 'gawk' which is important to run this script" + echo "install it with the command $(tput setaf 2)'sudo apt-get install gawk'." + #sudo apt-get update && apt-get install gawk + exit 5 + fi fi #### End prepare bash / Linux environment # Check for options/flags while getopts v:l:d:b:f:x:r:o:c:p:n:?h flag - do - case "${flag}" in - v) variant_flag=${OPTARG};; - l) language_flag=${OPTARG};; - d) devel_flag=${OPTARG};; - b) build_flag=${OPTARG};; + do + case "${flag}" in + v) variant_flag=${OPTARG};; + l) language_flag=${OPTARG};; + d) devel_flag=${OPTARG};; + b) build_flag=${OPTARG};; f) board_flash_flag=${OPTARG};; x) board_mem_flag=${OPTARG};; - o) output_flag=${OPTARG};; - c) clean_flag=${OPTARG};; - p) prusa_flag=${OPTARG};; - n) new_build_flag=${OPTARG};; - ?) help_flag=1;; - h) help_flag=1;; - esac - done + o) output_flag=${OPTARG};; + c) clean_flag=${OPTARG};; + p) prusa_flag=${OPTARG};; + n) new_build_flag=${OPTARG};; + ?) help_flag=1;; + h) help_flag=1;; + esac + done #echo "variant_flag: $variant_flag"; #echo "language_flag: $language_flag"; #echo "devel_flag: $devel_flag"; @@ -309,44 +309,44 @@ exit 6 fi #Check if Build is selected with argument '-f' if [ ! -z "$board_flash_flag" ] ; then - if [ "$board_flash_flag" == "256" ] ; 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)" - elif [ "$board_flash_flag" == "384" ] ; then + echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $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)" - elif [ "$board_flash_flag" == "512" ] ; then + echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $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)" - elif [ "$board_flash_flag" == "1024" ] ; then + echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $BOARD_FLASH (hex)" + elif [ "$board_flash_flag" == "1024" ] ; then BOARD_FLASH="0xFFFFF" BOARD_maximum_size="1040384" - echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $BOARD_FLASH (hex)" - elif [[ "$board_flash_flag" == "32M" || "$board_flash_flag" == "32768" ]] ; then + echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $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)" - else - echo "Unsupported board flash size chosen. Only '256', '384', '512', '1024' and '32M' are allowed." - exit 7 - fi + echo "Board flash size : 32 Mb, $BOARD_maximum_size bytes, $BOARD_FLASH (hex)" + else + echo "Unsupported board flash size chosen. Only '256', '384', '512', '1024' and '32M' are allowed." + exit 7 + fi fi #Check if Build is selected with argument '-x' if [ ! -z "$board_mem_flag" ] ; then - if [ "$board_mem_flag" == "8" ] ; then + if [ "$board_mem_flag" == "8" ] ; then BOARD_MEM="0x21FF" - echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" elif [ "$board_mem_flag" == "64" ] ; then BOARD_MEM="0xFFFF" - echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" - else - echo "Unsupported board mem size chosen. Only '8', '64' are allowed." - exit 8 - fi + echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + else + echo "Unsupported board mem size chosen. Only '8', '64' are allowed." + exit 8 + fi fi #### Set build environment @@ -398,157 +398,157 @@ BUILD_ENV_PATH="$( cd "$(dirname "$0")" ; pwd -P )" # Check if PF-build-env- exists and downloads + creates it if not # The build environment is based on the supported Arduino IDE portable version with some changes if [ ! -d "../PF-build-env-$BUILD_ENV" ]; then - echo "$(tput setaf 6)PF-build-env-$BUILD_ENV is missing ... creating it now for you$(tput sgr 0)" - mkdir ../PF-build-env-$BUILD_ENV - sleep 5 + echo "$(tput setaf 6)PF-build-env-$BUILD_ENV is missing ... creating it now for you$(tput sgr 0)" + mkdir ../PF-build-env-$BUILD_ENV + sleep 5 fi # Download and extract supported Arduino IDE depending on OS # Windows if [ $TARGET_OS == "windows" ]; then - if [ ! -f "arduino-$ARDUINO_ENV-windows.zip" ]; then - echo "$(tput setaf 6)Downloading Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" - sleep 2 - wget https://downloads.arduino.cc/arduino-$ARDUINO_ENV-windows.zip || exit 11 - echo "$(tput sgr 0)" - fi - if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then - echo "$(tput setaf 6)Unzipping Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" - sleep 2 - unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 11 - mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor - echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" - fi + if [ ! -f "arduino-$ARDUINO_ENV-windows.zip" ]; then + echo "$(tput setaf 6)Downloading Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" + sleep 2 + wget https://downloads.arduino.cc/arduino-$ARDUINO_ENV-windows.zip || exit 11 + echo "$(tput sgr 0)" + fi + if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then + echo "$(tput setaf 6)Unzipping Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" + sleep 2 + unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 11 + mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor + echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" + fi fi # Linux if [ $TARGET_OS == "linux" ]; then # 32 or 64 bit version - if [ ! -f "arduino-$ARDUINO_ENV-linux$Processor.tar.xz" ]; then - echo "$(tput setaf 6)Downloading Linux $Processor Arduino IDE portable...$(tput setaf 2)" - sleep 2 - wget --no-check-certificate https://downloads.arduino.cc/arduino-$ARDUINO_ENV-linux$Processor.tar.xz || exit 11 - echo "$(tput sgr 0)" - fi - if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then - echo "$(tput setaf 6)Unzipping Linux $Processor Arduino IDE portable...$(tput setaf 2)" - sleep 2 - tar -xvf arduino-$ARDUINO_ENV-linux$Processor.tar.xz -C ../PF-build-env-$BUILD_ENV/ || exit 11 - mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor - echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" - fi + if [ ! -f "arduino-$ARDUINO_ENV-linux$Processor.tar.xz" ]; then + echo "$(tput setaf 6)Downloading Linux $Processor Arduino IDE portable...$(tput setaf 2)" + sleep 2 + wget --no-check-certificate https://downloads.arduino.cc/arduino-$ARDUINO_ENV-linux$Processor.tar.xz || exit 11 + echo "$(tput sgr 0)" + fi + if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then + echo "$(tput setaf 6)Unzipping Linux $Processor Arduino IDE portable...$(tput setaf 2)" + sleep 2 + tar -xvf arduino-$ARDUINO_ENV-linux$Processor.tar.xz -C ../PF-build-env-$BUILD_ENV/ || exit 11 + mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor + echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" + fi fi # Make Arduino IDE portable if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/ + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/ fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/output/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/output + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/output fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook/libraries/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook/libraries + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/sketchbook/libraries fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/staging/ ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/staging + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/staging fi # Change Arduino IDE preferences if [ ! -e ../PF-build-env-$BUILD_ENV/Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt ]; then - echo "$(tput setaf 6)Setting $ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor Arduino IDE preferences for portable GUI usage...$(tput setaf 2)" - sleep 2 - echo "update.check" - sed -i 's/update.check = true/update.check = false/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "board" - sed -i "s/board = uno/board = $BOARD/g" ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "editor.linenumbers" - sed -i 's/editor.linenumbers = false/editor.linenumbers = true/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "boardsmanager.additional.urls" - echo "boardsmanager.additional.urls=$BOARD_URL" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "build.verbose=true" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "compiler.cache_core=false" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "compiler.warning_level=all" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt - echo "# Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" + echo "$(tput setaf 6)Setting $ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor Arduino IDE preferences for portable GUI usage...$(tput setaf 2)" + sleep 2 + echo "update.check" + sed -i 's/update.check = true/update.check = false/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "board" + sed -i "s/board = uno/board = $BOARD/g" ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "editor.linenumbers" + sed -i 's/editor.linenumbers = false/editor.linenumbers = true/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "boardsmanager.additional.urls" + echo "boardsmanager.additional.urls=$BOARD_URL" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "build.verbose=true" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "compiler.cache_core=false" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "compiler.warning_level=all" >>../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt + echo "# Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" fi # Download and extract Prusa Firmware related parts # Download and extract PrusaResearchRambo board if [ ! -f "$BOARD_FILENAME-$BOARD_VERSION.tar.bz2" ]; then - echo "$(tput setaf 6)Downloading Prusa Research AVR MK3 RAMBo EINSy build environment...$(tput setaf 2)" - sleep 2 - wget $BOARD_FILE_URL || exit 9 + echo "$(tput setaf 6)Downloading Prusa Research AVR MK3 RAMBo EINSy build environment...$(tput setaf 2)" + sleep 2 + wget $BOARD_FILE_URL || exit 9 fi if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION" || ! -e "../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then - echo "$(tput setaf 6)Unzipping $BOARD_PACKAGE_NAME Arduino IDE portable...$(tput setaf 2)" - sleep 2 - tar -xvf $BOARD_FILENAME-$BOARD_VERSION.tar.bz2 -C ../PF-build-env-$BUILD_ENV/ || exit 10 - if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME - fi - if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME - fi - if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware - fi - if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr ]; then - mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr - fi - - mv ../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$BOARD_VERSION ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION - echo "# $BOARD_FILENAME-$BOARD_VERSION" >> ../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput setaf 6)Unzipping $BOARD_PACKAGE_NAME Arduino IDE portable...$(tput setaf 2)" + sleep 2 + tar -xvf $BOARD_FILENAME-$BOARD_VERSION.tar.bz2 -C ../PF-build-env-$BUILD_ENV/ || exit 10 + if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME + fi + if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME + fi + if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware ]; then + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware + fi + if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr ]; then + mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr + fi + + mv ../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$BOARD_VERSION ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION + echo "# $BOARD_FILENAME-$BOARD_VERSION" >> ../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr 0)" -fi + echo "$(tput sgr 0)" +fi # Download and extract Prusa Firmware specific library files if [ ! -f "PF-build-env-WinLin-$BUILD_ENV.zip" ]; then - echo "$(tput setaf 6)Downloading Prusa Firmware build environment...$(tput setaf 2)" - sleep 2 - wget $PF_BUILD_FILE_URL || exit 12 - echo "$(tput sgr 0)" + echo "$(tput setaf 6)Downloading Prusa Firmware build environment...$(tput setaf 2)" + sleep 2 + wget $PF_BUILD_FILE_URL || exit 12 + echo "$(tput sgr 0)" fi if [ ! -e "../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]; then - echo "$(tput setaf 6)Unzipping Prusa Firmware build environment...$(tput setaf 2)" - sleep 2 - unzip -o PF-build-env-WinLin-$BUILD_ENV.zip -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 12 - echo "# PF-build-env-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" + echo "$(tput setaf 6)Unzipping Prusa Firmware build environment...$(tput setaf 2)" + sleep 2 + unzip -o PF-build-env-WinLin-$BUILD_ENV.zip -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 12 + echo "# PF-build-env-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" fi # Check if User updated Arduino IDE 1.8.5 boardsmanager and tools if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools" ]; then - echo "$(tput setaf 6)Arduino IDE boards / tools have been manually updated...$" - echo "Please don't update the 'Arduino AVR boards' as this will prevent running this script (tput setaf 2)" - sleep 2 -fi + echo "$(tput setaf 6)Arduino IDE boards / tools have been manually updated...$" + echo "Please don't update the 'Arduino AVR boards' as this will prevent running this script (tput setaf 2)" + sleep 2 +fi if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2" ]; then - echo "$(tput setaf 6)PrusaReasearch compatible tools have been manually updated...$(tput setaf 2)" - sleep 2 - echo "$(tput setaf 6)Copying Prusa Firmware build environment to manually updated boards / tools...$(tput setaf 2)" - sleep 2 - cp -f ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/hardware/tools/avr/avr/lib/ldscripts/avr6.xn ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/avr/lib/ldscripts/avr6.xn - echo "# PF-build-env-portable-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-portable-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" -fi + echo "$(tput setaf 6)PrusaReasearch compatible tools have been manually updated...$(tput setaf 2)" + sleep 2 + echo "$(tput setaf 6)Copying Prusa Firmware build environment to manually updated boards / tools...$(tput setaf 2)" + sleep 2 + cp -f ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/hardware/tools/avr/avr/lib/ldscripts/avr6.xn ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/avr/lib/ldscripts/avr6.xn + echo "# PF-build-env-portable-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-portable-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" +fi if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2" ]; then - echo "$(tput setaf 1)Arduino IDE tools have been updated manually to a non supported version!!!" - echo "Delete ../PF-build-env-$BUILD_ENV and start the script again" - echo "Script will not continue until this have been fixed $(tput setaf 2)" - sleep 2 - echo "$(tput sgr0)" - exit 13 + echo "$(tput setaf 1)Arduino IDE tools have been updated manually to a non supported version!!!" + echo "Delete ../PF-build-env-$BUILD_ENV and start the script again" + echo "Script will not continue until this have been fixed $(tput setaf 2)" + sleep 2 + echo "$(tput sgr0)" + exit 13 fi @@ -560,54 +560,54 @@ cd $SCRIPT_PATH # Check if git is available if type git > /dev/null; then - git_available="1" + git_available="1" fi # # '-v' argument defines which variant of the Prusa Firmware will be compiled if [ -z "$variant_flag" ] ; then - # Select which variant of the Prusa Firmware will be compiled, like - PS3="Select a variant: " - while IFS= read -r -d $'\0' f; do - options[i++]="$f" - done < <(find Firmware/variants/ -maxdepth 1 -type f -name "*.h" -print0 ) - select opt in "${options[@]}" "All" "Quit"; do - case $opt in - *.h) - VARIANT=$(basename "$opt" ".h") - VARIANTS[i++]="$opt" - break - ;; - "All") - VARIANT="All" - VARIANTS=${options[*]} - break - ;; - "Quit") - echo "You chose to stop" - exit 20 - ;; - *) - echo "$(tput setaf 1)This is not a valid variant$(tput sgr0)" - ;; - esac - done + # Select which variant of the Prusa Firmware will be compiled, like + PS3="Select a variant: " + while IFS= read -r -d $'\0' f; do + options[i++]="$f" + done < <(find Firmware/variants/ -maxdepth 1 -type f -name "*.h" -print0 ) + select opt in "${options[@]}" "All" "Quit"; do + case $opt in + *.h) + VARIANT=$(basename "$opt" ".h") + VARIANTS[i++]="$opt" + break + ;; + "All") + VARIANT="All" + VARIANTS=${options[*]} + break + ;; + "Quit") + echo "You chose to stop" + exit 20 + ;; + *) + echo "$(tput setaf 1)This is not a valid variant$(tput sgr0)" + ;; + esac + done else - if [ -f "$SCRIPT_PATH/Firmware/variants/$variant_flag" ] ; then - VARIANTS=$variant_flag - elif [ "$variant_flag" == "All" ] ; then - while IFS= read -r -d $'\0' f; do - options[i++]="$f" - done < <(find Firmware/variants/ -maxdepth 1 -type f -name "*.h" -print0 ) - VARIANT="All" - VARIANTS=${options[*]} - else - echo "$(tput setaf 1)Argument $variant_flag could not be found in Firmware/variants please choose a valid one.$(tput sgr0)" - echo "Only $(tput setaf 2)'All'$(tput sgr0) and file names below are allowed as variant '-v' argument.$(tput setaf 2)" - ls -1 $SCRIPT_PATH/Firmware/variants/*.h | xargs -n1 basename - echo "$(tput sgr0)" - exit 21 - fi + if [ -f "$SCRIPT_PATH/Firmware/variants/$variant_flag" ] ; then + VARIANTS=$variant_flag + elif [ "$variant_flag" == "All" ] ; then + while IFS= read -r -d $'\0' f; do + options[i++]="$f" + done < <(find Firmware/variants/ -maxdepth 1 -type f -name "*.h" -print0 ) + VARIANT="All" + VARIANTS=${options[*]} + else + echo "$(tput setaf 1)Argument $variant_flag could not be found in Firmware/variants please choose a valid one.$(tput sgr0)" + echo "Only $(tput setaf 2)'All'$(tput sgr0) and file names below are allowed as variant '-v' argument.$(tput setaf 2)" + ls -1 $SCRIPT_PATH/Firmware/variants/*.h | xargs -n1 basename + echo "$(tput sgr0)" + exit 21 + fi fi #'-l' argument defines if it is an English only version. Known values EN_ONLY / ALL @@ -615,86 +615,86 @@ fi MULTI_LANGUAGE_CHECK=$(grep --max-count=1 "^#define LANG_MODE *" $SCRIPT_PATH/Firmware/config.h|sed -e's/ */ /g'|cut -d ' ' -f3) if [ -z "$language_flag" ] ; then - PS3="Select a language: " - echo - echo "Which lang-build do you want?" - select yn in "Multi languages" "English only"; do - case $yn in - "Multi languages") - LANGUAGES="ALL" - break - ;; - "English only") - LANGUAGES="EN_ONLY" - break - ;; - *) - echo "$(tput setaf 1)This is not a valid language$(tput sgr0)" - ;; - esac - done + PS3="Select a language: " + echo + echo "Which lang-build do you want?" + select yn in "Multi languages" "English only"; do + case $yn in + "Multi languages") + LANGUAGES="ALL" + break + ;; + "English only") + LANGUAGES="EN_ONLY" + break + ;; + *) + echo "$(tput setaf 1)This is not a valid language$(tput sgr0)" + ;; + esac + done else - if [[ "$language_flag" == "ALL" || "$language_flag" == "EN_ONLY" ]] ; then - LANGUAGES=$language_flag - else - echo "$(tput setaf 1)Language argument is wrong!$(tput sgr0)" - echo "Only $(tput setaf 2)'ALL'$(tput sgr0) or $(tput setaf 2)'EN_ONLY'$(tput sgr0) are allowed as language '-l' argument!" - exit 22 - fi + if [[ "$language_flag" == "ALL" || "$language_flag" == "EN_ONLY" ]] ; then + LANGUAGES=$language_flag + else + echo "$(tput setaf 1)Language argument is wrong!$(tput sgr0)" + echo "Only $(tput setaf 2)'ALL'$(tput sgr0) or $(tput setaf 2)'EN_ONLY'$(tput sgr0) are allowed as language '-l' argument!" + exit 22 + fi fi #Check if DEV_STATUS is selected via argument '-d' if [ ! -z "$devel_flag" ] ; then - if [[ "$devel_flag" == "GOLD" || "$devel_flag" == "RC" || "$devel_flag" == "BETA" || "$devel_flag" == "ALPHA" || "$devel_flag" == "DEVEL" || "$devel_flag" == "DEBUG" || "$devel_flag" == "UNKNOWN" ]] ; then - DEV_STATUS_SELECTED=$devel_flag - else - echo "$(tput setaf 1)Development argument is wrong!$(tput sgr0)" - echo "Only $(tput setaf 2)'GOLD', 'RC', 'BETA', 'ALPHA', 'DEVEL', 'DEBUG' or 'UNKNOWN' $(tput sgr0) are allowed as devel '-d' argument!$(tput sgr0)" - exit 23 - fi + if [[ "$devel_flag" == "GOLD" || "$devel_flag" == "RC" || "$devel_flag" == "BETA" || "$devel_flag" == "ALPHA" || "$devel_flag" == "DEVEL" || "$devel_flag" == "DEBUG" || "$devel_flag" == "UNKNOWN" ]] ; then + DEV_STATUS_SELECTED=$devel_flag + else + echo "$(tput setaf 1)Development argument is wrong!$(tput sgr0)" + echo "Only $(tput setaf 2)'GOLD', 'RC', 'BETA', 'ALPHA', 'DEVEL', 'DEBUG' or 'UNKNOWN' $(tput sgr0) are allowed as devel '-d' argument!$(tput sgr0)" + exit 23 + fi fi #Check if Build is selected via argument '-b' if [ ! -z "$build_flag" ] ; then - if [[ "$build_flag" == "Auto" && "$git_available" == "1" ]] ; then - echo "Build changed to $build_flag" - BUILD=$(git rev-list --count HEAD) - elif [[ $build_flag =~ ^[0-9]+$ ]] ; then - BUILD=$build_flag - else - echo "$(tput setaf 1)Build number argument is wrong!$(tput sgr0)" - echo "Only $(tput setaf 2)'Auto' (git needed) or numbers $(tput sgr0) are allowed as build '-b' argument!$(tput sgr0)" - exit 24 + if [[ "$build_flag" == "Auto" && "$git_available" == "1" ]] ; then + echo "Build changed to $build_flag" + BUILD=$(git rev-list --count HEAD) + elif [[ $build_flag =~ ^[0-9]+$ ]] ; then + BUILD=$build_flag + else + echo "$(tput setaf 1)Build number argument is wrong!$(tput sgr0)" + echo "Only $(tput setaf 2)'Auto' (git needed) or numbers $(tput sgr0) are allowed as build '-b' argument!$(tput sgr0)" + exit 24 - fi - echo "New Build number is: $BUILD" + fi + echo "New Build number is: $BUILD" fi # check if script has been started with arguments if [[ "$#" -eq "0" || "$output_flag" == 1 ]] ; then - OUTPUT=1 + OUTPUT=1 else - OUTPUT=0 + OUTPUT=0 fi #echo "Output is:" $OUTPUT #Check git branch has changed if [ ! -z "git_available" ]; then - BRANCH="" - CLEAN_PF_FW_BUILD=0 + BRANCH="" + CLEAN_PF_FW_BUILD=0 else - BRANCH=$(git branch --show-current) - echo "Current branch is:" $BRANCH - if [ ! -f "$SCRIPT_PATH/../PF-build.branch" ]; then - echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch - echo "created PF-build.branch file" - else - PRE_BRANCH=$(cat "$SCRIPT_PATH/../PF-build.branch") - echo "Previous branch was:" $PRE_BRANCH - if [ ! "$BRANCH" == "$PRE_BRANCH" ] ; then - CLEAN_PF_FW_BUILD=1 - echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch - fi - fi + BRANCH=$(git branch --show-current) + echo "Current branch is:" $BRANCH + if [ ! -f "$SCRIPT_PATH/../PF-build.branch" ]; then + echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch + echo "created PF-build.branch file" + else + PRE_BRANCH=$(cat "$SCRIPT_PATH/../PF-build.branch") + echo "Previous branch was:" $PRE_BRANCH + if [ ! "$BRANCH" == "$PRE_BRANCH" ] ; then + CLEAN_PF_FW_BUILD=1 + echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch + fi + fi fi #Set BUILD_ENV_PATH @@ -714,147 +714,147 @@ BUILD_PATH="$( pwd -P )" #Check git branch has changed if [ "$CLEAN_PF_FW_BUILD" == "1" ]; then - read -t 10 -p "Branch changed, cleaning Prusa-Firmware-build folder" - rm -r * + read -t 10 -p "Branch changed, cleaning Prusa-Firmware-build folder" + rm -r * else - echo "Nothing to clean up" + echo "Nothing to clean up" fi for v in ${VARIANTS[*]} do - VARIANT=$(basename "$v" ".h") - # Find firmware version in Configuration.h file and use it to generate the hex filename - FW=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g') - if [ -z "$BUILD" ] ; then - # Find build version in Configuration.h file and use it to generate the hex filename - BUILD=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) - else - # Find and replace build version in Configuration.h file - BUILD_ORG=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) - echo "Original build number: $BUILD_ORG" - sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD/g" $SCRIPT_PATH/Firmware/Configuration.h - fi - # Check if the motherboard is an EINSY and if so only one hex file will generated - MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) - # Check development status - DEV_CHECK=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g'|cut -d '-' -f2) - if [ -z "$DEV_STATUS_SELECTED" ] ; then - if [[ "$DEV_CHECK" == *"RC"* ]] ; then - DEV_STATUS="RC" - elif [[ "$DEV_CHECK" == "ALPHA" ]]; then - DEV_STATUS="ALPHA" - elif [[ "$DEV_CHECK" == "BETA" ]]; then - DEV_STATUS="BETA" - elif [[ "$DEV_CHECK" == "DEVEL" ]]; then - DEV_STATUS="DEVEL" - elif [[ "$DEV_CHECK" == "DEBUG" ]]; then - DEV_STATUS="DEBUG" - else - DEV_STATUS="UNKNOWN" - echo - echo "$(tput setaf 5)DEV_STATUS is UNKNOWN. Do you wish to set DEV_STATUS to GOLD?$(tput sgr0)" - PS3="Select YES only if source code is tested and trusted: " - select yn in "Yes" "No"; do - case $yn in - Yes) - DEV_STATUS="GOLD" - DEV_STATUS_SELECTED="GOLD" - break - ;; - No) - DEV_STATUS="UNKNOWN" - DEV_STATUS_SELECTED="UNKNOWN" - break - ;; - *) - echo "$(tput setaf 1)This is not a valid DEV_STATUS$(tput sgr0)" - ;; - esac - done - fi - else - DEV_STATUS=$DEV_STATUS_SELECTED - fi - #Prepare hex files folders - if [ ! -d "$SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" ]; then - mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD || exit 28 - fi - OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" + VARIANT=$(basename "$v" ".h") + # Find firmware version in Configuration.h file and use it to generate the hex filename + FW=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g') + if [ -z "$BUILD" ] ; then + # Find build version in Configuration.h file and use it to generate the hex filename + BUILD=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) + else + # Find and replace build version in Configuration.h file + BUILD_ORG=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) + echo "Original build number: $BUILD_ORG" + sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD/g" $SCRIPT_PATH/Firmware/Configuration.h + fi + # Check if the motherboard is an EINSY and if so only one hex file will generated + MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) + # Check development status + DEV_CHECK=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g'|cut -d '-' -f2) + if [ -z "$DEV_STATUS_SELECTED" ] ; then + if [[ "$DEV_CHECK" == *"RC"* ]] ; then + DEV_STATUS="RC" + elif [[ "$DEV_CHECK" == "ALPHA" ]]; then + DEV_STATUS="ALPHA" + elif [[ "$DEV_CHECK" == "BETA" ]]; then + DEV_STATUS="BETA" + elif [[ "$DEV_CHECK" == "DEVEL" ]]; then + DEV_STATUS="DEVEL" + elif [[ "$DEV_CHECK" == "DEBUG" ]]; then + DEV_STATUS="DEBUG" + else + DEV_STATUS="UNKNOWN" + echo + echo "$(tput setaf 5)DEV_STATUS is UNKNOWN. Do you wish to set DEV_STATUS to GOLD?$(tput sgr0)" + PS3="Select YES only if source code is tested and trusted: " + select yn in "Yes" "No"; do + case $yn in + Yes) + DEV_STATUS="GOLD" + DEV_STATUS_SELECTED="GOLD" + break + ;; + No) + DEV_STATUS="UNKNOWN" + DEV_STATUS_SELECTED="UNKNOWN" + break + ;; + *) + echo "$(tput setaf 1)This is not a valid DEV_STATUS$(tput sgr0)" + ;; + esac + done + fi + else + DEV_STATUS=$DEV_STATUS_SELECTED + fi + #Prepare hex files folders + if [ ! -d "$SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" ]; then + mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD || exit 28 + fi + OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" if [ "$BOARD" != "prusa_einsy_rambo" ]; then - if [ ! -d "$SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$BOARD" ]; then - mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$BOARD || exit 28 - fi + if [ ! -d "$SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$BOARD" ]; then + mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$BOARD || exit 28 + fi OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$BOARD" fi - - #Check if exactly the same hexfile already exists - if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex" && "$LANGUAGES" == "ALL" ]]; then - echo "" - ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex | xargs -n1 basename - echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - elif [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex" && "$LANGUAGES" == "EN_ONLY" ]]; then - echo "" - ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex | xargs -n1 basename - echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - fi - if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip" && "$LANGUAGES" == "ALL" ]]; then - echo "" - ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip | xargs -n1 basename - echo "$(tput setaf 6)This zip file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - fi - - #List some useful data - echo "$(tput setaf 2)$(tput setab 7) " - echo "Variant :" $VARIANT - echo "Firmware :" $FW - echo "Build # :" $BUILD - echo "Dev Check :" $DEV_CHECK - echo "DEV Status :" $DEV_STATUS - echo "Motherboard:" $MOTHERBOARD + + #Check if exactly the same hexfile already exists + if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex" && "$LANGUAGES" == "ALL" ]]; then + echo "" + ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex | xargs -n1 basename + echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + elif [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex" && "$LANGUAGES" == "EN_ONLY" ]]; then + echo "" + ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex | xargs -n1 basename + echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + fi + if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip" && "$LANGUAGES" == "ALL" ]]; then + echo "" + ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip | xargs -n1 basename + echo "$(tput setaf 6)This zip file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + fi + + #List some useful data + echo "$(tput setaf 2)$(tput setab 7) " + echo "Variant :" $VARIANT + echo "Firmware :" $FW + echo "Build # :" $BUILD + echo "Dev Check :" $DEV_CHECK + echo "DEV Status :" $DEV_STATUS + echo "Motherboard:" $MOTHERBOARD echo "Board flash:" $BOARD_FLASH echo "Board mem :" $BOARD_MEM - echo "Languages :" $LANGUAGES - echo "Hex-file Folder:" $OUTPUT_FOLDER - echo "$(tput sgr0)" + echo "Languages :" $LANGUAGES + echo "Hex-file Folder:" $OUTPUT_FOLDER + echo "$(tput sgr0)" - #Prepare Firmware to be compiled by copying variant as Configuration_prusa.h - if [ ! -f "$SCRIPT_PATH/Firmware/Configuration_prusa.h" ]; then - cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 - else - echo "$(tput setaf 6)Configuration_prusa.h already exist it will be overwritten in 10 seconds by the chosen variant.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 - fi + #Prepare Firmware to be compiled by copying variant as Configuration_prusa.h + if [ ! -f "$SCRIPT_PATH/Firmware/Configuration_prusa.h" ]; then + cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 + else + echo "$(tput setaf 6)Configuration_prusa.h already exist it will be overwritten in 10 seconds by the chosen variant.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 29 + fi - #Prepare Configuration.h to use the correct FW_DEV_VERSION to prevent LCD messages when connecting with OctoPrint - sed -i -- "s/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/g" $SCRIPT_PATH/Firmware/Configuration.h + #Prepare Configuration.h to use the correct FW_DEV_VERSION to prevent LCD messages when connecting with OctoPrint + sed -i -- "s/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/g" $SCRIPT_PATH/Firmware/Configuration.h - # set FW_REPOSITORY - sed -i -- 's/#define FW_REPOSITORY "Unknown"/#define FW_REPOSITORY "Prusa3d"/g' $SCRIPT_PATH/Firmware/Configuration.h + # set FW_REPOSITORY + sed -i -- 's/#define FW_REPOSITORY "Unknown"/#define FW_REPOSITORY "Prusa3d"/g' $SCRIPT_PATH/Firmware/Configuration.h - #Prepare English only or multi-language version to be build - if [ $LANGUAGES == "EN_ONLY" ]; then - echo " " - echo "English only language firmware will be built" - sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE 0/g" $SCRIPT_PATH/Firmware/config.h - echo " " - else - echo " " - echo "Multi-language firmware will be built" - sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE 1/g" $SCRIPT_PATH/Firmware/config.h - echo " " - fi + #Prepare English only or multi-language version to be build + if [ $LANGUAGES == "EN_ONLY" ]; then + echo " " + echo "English only language firmware will be built" + sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE 0/g" $SCRIPT_PATH/Firmware/config.h + echo " " + else + echo " " + echo "Multi-language firmware will be built" + sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE 1/g" $SCRIPT_PATH/Firmware/config.h + echo " " + fi # Prepare Board mem and flash modifications ## Check board mem size @@ -921,154 +921,154 @@ do sed -i -- "s/^prusa_einsy_rambo.upload.maximum_size.*/prusa_einsy_rambo.upload.maximum_size=${BOARD_maximum_size}/g" $BUILD_ENV_PATH/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION/boards.txt fi - #Check if compiler flags are set to Prusa specific needs for the rambo board. -# if [ $TARGET_OS == "windows" ]; then -# RAMBO_PLATFORM_FILE="PrusaResearchRambo/avr/platform.txt" -# fi - - #### End of Prepare building - - #### Start building - - export ARDUINO=$BUILD_ENV_PATH - #echo $BUILD_ENV_PATH - #export BUILDER=$ARDUINO/arduino-builder + #Check if compiler flags are set to Prusa specific needs for the rambo board. +# if [ $TARGET_OS == "windows" ]; then +# RAMBO_PLATFORM_FILE="PrusaResearchRambo/avr/platform.txt" +# fi + + #### End of Prepare building + + #### Start building + + export ARDUINO=$BUILD_ENV_PATH + #echo $BUILD_ENV_PATH + #export BUILDER=$ARDUINO/arduino-builder - echo - #read -t 5 -p "Press Enter..." - echo + echo + #read -t 5 -p "Press Enter..." + echo - echo "Start to build Prusa Firmware ..." - echo "Using variant $VARIANT$(tput setaf 3)" - if [ $OUTPUT == "1" ] ; then - sleep 2 - fi + echo "Start to build Prusa Firmware ..." + echo "Using variant $VARIANT$(tput setaf 3)" + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi - #New fresh PF-Firmware-build - if [ "$new_build_flag" == "1" ]; then - rm -r -f $BUILD_PATH/* || exit 36 - fi + #New fresh PF-Firmware-build + if [ "$new_build_flag" == "1" ]; then + rm -r -f $BUILD_PATH/* || exit 36 + fi - $BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 30 - $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 30 - echo "$(tput sgr 0)" + $BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 30 + $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 30 + echo "$(tput sgr 0)" - if [ $LANGUAGES == "ALL" ]; then - echo "$(tput setaf 2)" + if [ $LANGUAGES == "ALL" ]; then + echo "$(tput setaf 2)" - echo "Building multi language firmware" $MULTI_LANGUAGE_CHECK - echo "$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - sleep 2 - fi - cd $SCRIPT_PATH/lang - echo "$(tput setaf 3)" - ./config.sh || exit 31 - echo "$(tput sgr 0)" - # Check if previous languages and firmware build exist and if so clean them up - if [ -f "lang_en.tmp" ]; then - echo "" - echo "$(tput setaf 6)Previous lang build files already exist these will be cleaned up in 10 seconds.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - echo "$(tput setaf 3)" - ./lang-clean.sh - echo "$(tput sgr 0)" - fi - if [ -f "progmem.out" ]; then - echo "" - echo "$(tput setaf 6)Previous firmware build files already exist these will be cleaned up in 10 seconds.$(tput sgr 0)" - if [ $OUTPUT == "1" ] ; then - read -t 10 -p "Press Enter to continue..." - fi - echo "$(tput setaf 3)" - ./fw-clean.sh - echo "$(tput sgr 0)" - fi - # build languages - echo "$(tput setaf 3)" - ./lang-build.sh || exit 32 - #Community language support - ./lang-community.sh || exit 33 - # Combine compiled firmware with languages - ./fw-build.sh || exit 34 - cp not_tran.txt not_tran_$VARIANT.txt - cp not_used.txt not_used_$VARIANT.txt - echo "$(tput sgr 0)" - # Check if the motherboard is an EINSY and if so only one hex file will generated - MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) - # If the motherboard is an EINSY just copy one hexfile - if [ "$MOTHERBOARD" = "BOARD_EINSY_1_0a" ]; then - echo "$(tput setaf 2)Copying multi language firmware for MK3/Einsy board to PF-build-hex folder$(tput sgr 0)" - cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex - else - echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)" - cp -f firmware_cz.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-cz.hex - cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-de.hex - cp -f firmware_es.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-es.hex - cp -f firmware_fr.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-fr.hex - cp -f firmware_it.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-it.hex - cp -f firmware_pl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-pl.hex - cp -f firmware_nl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-nl.hex - if [ $TARGET_OS == "windows" ]; then - zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex - rm $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex - elif [ $TARGET_OS == "linux" ]; then - zip -m -j ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex - fi - fi - # Cleanup after build - if [[ -z "$clean_flag" || "$clean_flag" == "0" ]]; then - echo "$(tput setaf 3)" - ./fw-clean.sh || exit 35 - ./lang-clean.sh || exit 36 - echo "$(tput sgr 0)" - fi - else - echo "$(tput setaf 2)Copying English only firmware to PF-build-hex folder$(tput sgr 0)" - cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex || exit 37 - fi + echo "Building multi language firmware" $MULTI_LANGUAGE_CHECK + echo "$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi + cd $SCRIPT_PATH/lang + echo "$(tput setaf 3)" + ./config.sh || exit 31 + echo "$(tput sgr 0)" + # Check if previous languages and firmware build exist and if so clean them up + if [ -f "lang_en.tmp" ]; then + echo "" + echo "$(tput setaf 6)Previous lang build files already exist these will be cleaned up in 10 seconds.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + echo "$(tput setaf 3)" + ./lang-clean.sh + echo "$(tput sgr 0)" + fi + if [ -f "progmem.out" ]; then + echo "" + echo "$(tput setaf 6)Previous firmware build files already exist these will be cleaned up in 10 seconds.$(tput sgr 0)" + if [ $OUTPUT == "1" ] ; then + read -t 10 -p "Press Enter to continue..." + fi + echo "$(tput setaf 3)" + ./fw-clean.sh + echo "$(tput sgr 0)" + fi + # build languages + echo "$(tput setaf 3)" + ./lang-build.sh || exit 32 + #Community language support + ./lang-community.sh || exit 33 + # Combine compiled firmware with languages + ./fw-build.sh || exit 34 + cp not_tran.txt not_tran_$VARIANT.txt + cp not_used.txt not_used_$VARIANT.txt + echo "$(tput sgr 0)" + # Check if the motherboard is an EINSY and if so only one hex file will generated + MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) + # If the motherboard is an EINSY just copy one hexfile + if [ "$MOTHERBOARD" = "BOARD_EINSY_1_0a" ]; then + echo "$(tput setaf 2)Copying multi language firmware for MK3/Einsy board to PF-build-hex folder$(tput sgr 0)" + cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex + else + echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)" + cp -f firmware_cz.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-cz.hex + cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-de.hex + cp -f firmware_es.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-es.hex + cp -f firmware_fr.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-fr.hex + cp -f firmware_it.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-it.hex + cp -f firmware_pl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-pl.hex + cp -f firmware_nl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-nl.hex + if [ $TARGET_OS == "windows" ]; then + zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex + rm $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex + elif [ $TARGET_OS == "linux" ]; then + zip -m -j ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex + fi + fi + # Cleanup after build + if [[ -z "$clean_flag" || "$clean_flag" == "0" ]]; then + echo "$(tput setaf 3)" + ./fw-clean.sh || exit 35 + ./lang-clean.sh || exit 36 + echo "$(tput sgr 0)" + fi + else + echo "$(tput setaf 2)Copying English only firmware to PF-build-hex folder$(tput sgr 0)" + cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex || exit 37 + fi - # Cleanup Firmware - if [[ -z "$prusa_flag" || "$prusa_flag" == "0" ]]; then - rm $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 38 - fi - if find $SCRIPT_PATH/lang/ -name '*RAMBo10a*.txt' -printf 1 -quit | grep -q 1 - then - rm $SCRIPT_PATH/lang/*RAMBo10a*.txt - fi - if find $SCRIPT_PATH/lang/ -name '*MK2-RAMBo13a*' -printf 1 -quit | grep -q 1 - then - rm $SCRIPT_PATH/lang/*MK2-RAMBo13a*.txt - fi - if find $SCRIPT_PATH/lang/ -name 'not_tran.txt' -printf 1 -quit | grep -q 1 - then - rm $SCRIPT_PATH/lang/not_tran.txt - fi - if find $SCRIPT_PATH/lang/ -name 'not_used.txt' -printf 1 -quit | grep -q 1 - then - rm $SCRIPT_PATH/lang/not_used.txt - fi + # Cleanup Firmware + if [[ -z "$prusa_flag" || "$prusa_flag" == "0" ]]; then + rm $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 38 + fi + if find $SCRIPT_PATH/lang/ -name '*RAMBo10a*.txt' -printf 1 -quit | grep -q 1 + then + rm $SCRIPT_PATH/lang/*RAMBo10a*.txt + fi + if find $SCRIPT_PATH/lang/ -name '*MK2-RAMBo13a*' -printf 1 -quit | grep -q 1 + then + rm $SCRIPT_PATH/lang/*MK2-RAMBo13a*.txt + fi + if find $SCRIPT_PATH/lang/ -name 'not_tran.txt' -printf 1 -quit | grep -q 1 + then + rm $SCRIPT_PATH/lang/not_tran.txt + fi + if find $SCRIPT_PATH/lang/ -name 'not_used.txt' -printf 1 -quit | grep -q 1 + then + rm $SCRIPT_PATH/lang/not_used.txt + fi - #New fresh PF-Firmware-build - if [ "$new_build_flag" == "1" ]; then - rm -r -f $BUILD_PATH/* || exit 39 - fi + #New fresh PF-Firmware-build + if [ "$new_build_flag" == "1" ]; then + rm -r -f $BUILD_PATH/* || exit 39 + fi - # Restore files to previous state - sed -i -- "s/^#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/g" $SCRIPT_PATH/Firmware/Configuration.h - sed -i -- 's/^#define FW_REPOSITORY "Prusa3d"/#define FW_REPOSITORY "Unknown"/g' $SCRIPT_PATH/Firmware/Configuration.h - if [ ! -z "$BUILD_ORG" ] ; then - sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD_ORG/g" $SCRIPT_PATH/Firmware/Configuration.h - fi - echo $MULTI_LANGUAGE_CHECK - #sed -i -- "s/^#define LANG_MODE * /#define LANG_MODE $MULTI_LANGUAGE_CHECK/g" $SCRIPT_PATH/Firmware/config.h - sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h - sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h - if [ $OUTPUT == "1" ] ; then - sleep 5 - fi + # Restore files to previous state + sed -i -- "s/^#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/g" $SCRIPT_PATH/Firmware/Configuration.h + sed -i -- 's/^#define FW_REPOSITORY "Prusa3d"/#define FW_REPOSITORY "Unknown"/g' $SCRIPT_PATH/Firmware/Configuration.h + if [ ! -z "$BUILD_ORG" ] ; then + sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD_ORG/g" $SCRIPT_PATH/Firmware/Configuration.h + fi + echo $MULTI_LANGUAGE_CHECK + #sed -i -- "s/^#define LANG_MODE * /#define LANG_MODE $MULTI_LANGUAGE_CHECK/g" $SCRIPT_PATH/Firmware/config.h + sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h + sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h + if [ $OUTPUT == "1" ] ; then + sleep 5 + fi done # Switch to hex path and list build files From e765c300b0e1e54716e4e10a347502118d16f265 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Wed, 5 May 2021 20:05:35 +0200 Subject: [PATCH 030/234] Update MK404 part to '--bootloader-file ""' Some cosmetics --- PF-build.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PF-build.sh b/PF-build.sh index 7da9b51bf..7224924e4 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -894,7 +894,7 @@ do if [ $CURRENT_BOARD_MEM != "0x21FF" ] ; then echo "Board mem has been already modified or not reset" echo "Current:" $CURRENT_BOARD_MEM - PS3="Select Yes if you want to reset it." + PS3="Select $(tput setaf 2)Yes$(tput sgr 0) if you want to reset it." select yn in "Yes" "No"; do case $yn in Yes) @@ -926,7 +926,7 @@ do echo "Board flash has been already modified or not reset" echo "Current flash size:" $CURRENT_BOARD_FLASH echo "Current max. size:" $CURRENT_BOARD_maximum_size - PS3="Select $(tput setaf 3)Yes$(tput sgr 0) if you want to reset it." + PS3="Select $(tput setaf 2)Yes$(tput sgr 0) if you want to reset it." select yn in "Yes" "No"; do case $yn in Yes) @@ -1143,12 +1143,12 @@ if [ ! -z "$mk404_flag" ]; then fi fi -# Run MK404 with 'debugcore' and/or 'bootloader_file' +# Run MK404 with 'debugcore' and/or 'bootloader-file' echo "MK404_DEBUG --$MK404_DEBUG--" if [ "$MK404_DEBUG" == "atmega404" ]; then MK404_options="--debugcore" elif [ "$MK404_DEBUG" == "atmega404_no_bootloader" ]; then - MK404_options="--debugcore --bootloader-file no" + MK404_options='--debugcore --bootloader-file ""' fi # Run MK404 with grafics From 56889bae13148e59edf6fa96cd589e6776fc491d Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 17 Jun 2021 19:08:55 +0200 Subject: [PATCH 031/234] Update PF-build.sh to work after @DRracer Remove FW version parsing PR --- Firmware/Configuration.h | 12 +++++++++++- PF-build.sh | 25 +++++++++++++++++++++---- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 4ee9f4fde..d8731ac7f 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -16,7 +16,17 @@ extern uint16_t nPrinterType; extern PGM_P sPrinterName; // Firmware version -#define FW_VERSION "3.10.0" +#define FW_MAJOR 3 +#define FW_MINOR 10 +#define FW_REVISION 0 +//#define FW_FLAVOR RC //uncomment if DEBUG, DEVEL, APLHA, BETA or RC +//#define FW_FLAVERSION 1 //uncomment if FW_FLAVOR is defined and versioning is needed. +#ifndef FW_FLAVOR + #define FW_VERSION STR(FW_MAJOR) "." STR(FW_MINOR) "." STR(FW_REVISION) +#else + #define FW_VERSION STR(FW_MAJOR) "." STR(FW_MINOR) "." STR(FW_REVISION) "-" STR(FW_FLAVOR) "" STR(FW_FLAVERSION) +#endif + #define FW_COMMIT_NR 4481 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. diff --git a/PF-build.sh b/PF-build.sh index 7224924e4..7c0fc6bb4 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 1.2.0-Build_49 +# Version: 1.2.0-Build_53 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -148,6 +148,7 @@ # 61-62 MK404 # 03 May 2021, 3d-gussner, Update documentation and change version to v1.2.0 # 03 May 2021, 3d-gussner, Add SIM atmega404 +# 17 Jun 2021, 3d-gussner, Update PF-build.sh to work after DRracer Remove FW version parsing PR #### Start check if OSTYPE is supported OS_FOUND=$( command -v uname) @@ -745,7 +746,11 @@ do VARIANT=$(basename "$v" ".h") MK404_PRINTER=$(grep --max-count=1 "\bPRINTER_TYPE\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3 | cut -d '_' -f2) # Find firmware version in Configuration.h file and use it to generate the hex filename - FW=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g') + FW_MAJOR=$(grep --max-count=1 "\bFW_MAJOR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) + FW_MINOR=$(grep --max-count=1 "\bFW_MINOR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) + FW_REVISION=$(grep --max-count=1 "\bFW_REVISION\b" $SCRIPT_PATH/Firmware/Configuration.h| sed -e's/ */ /g'|cut -d ' ' -f3) + FW="$FW_MAJOR$FW_MINOR$FW_REVISION" + #FW=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g') if [ -z "$BUILD" ] ; then # Find build version in Configuration.h file and use it to generate the hex filename BUILD=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) @@ -758,13 +763,25 @@ do # Check if the motherboard is an EINSY and if so only one hex file will generated MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) # Check development status + FW_FLAV=$(grep --max-count=1 "//#define FW_FLAVOR\b" $SCRIPT_PATH/Firmware/Configuration.h|cut -d ' ' -f1) + if [[ "$FW_FLAV" != "//#define" ]] ; then + FW_FLAVOR=$(grep --max-count=1 "\bFW_FLAVOR\b" $SCRIPT_PATH/Firmware/Configuration.h| sed -e's/ */ /g'|cut -d ' ' -f3) + FW_FLAVERSION=$(grep --max-count=1 "\bFW_FLAVERSION\b" $SCRIPT_PATH/Firmware/Configuration.h| sed -e's/ */ /g'|cut -d ' ' -f3) + if [[ "$FW_FLAVOR" != "//#define FW_FLAVOR" ]] ; then + FW="$FW-$FW_FLAVOR" + DEV_CHECK="$FW_FLAVOR" + if [ ! -z "$FW_FLAVERSION" ] ; then + FW="$FW$FW_FLAVERSION" + fi + fi + fi DEV_CHECK=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g'|cut -d '-' -f2) if [ -z "$DEV_STATUS_SELECTED" ] ; then if [[ "$DEV_CHECK" == *"RC"* ]] ; then DEV_STATUS="RC" - elif [[ "$DEV_CHECK" == "ALPHA" ]]; then + elif [[ "$DEV_CHECK" == *"ALPHA"* ]]; then DEV_STATUS="ALPHA" - elif [[ "$DEV_CHECK" == "BETA" ]]; then + elif [[ "$DEV_CHECK" == *"BETA"* ]]; then DEV_STATUS="BETA" elif [[ "$DEV_CHECK" == "DEVEL" ]]; then DEV_STATUS="DEVEL" From 461440029828e9e4870e052d59fdf72e28b14e73 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 17 Jun 2021 20:59:35 +0200 Subject: [PATCH 032/234] Save ELF files for FW3.10.1 debugging PRs Add verbose_IDE to output more information during build --- PF-build.sh | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/PF-build.sh b/PF-build.sh index 7c0fc6bb4..b94e034e8 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 1.2.0-Build_53 +# Version: 1.2.0-Build_54 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -149,6 +149,8 @@ # 03 May 2021, 3d-gussner, Update documentation and change version to v1.2.0 # 03 May 2021, 3d-gussner, Add SIM atmega404 # 17 Jun 2021, 3d-gussner, Update PF-build.sh to work after DRracer Remove FW version parsing PR +# 17 Jun 2021, 3d-gussner, Save ELF files for FW3.10.1 debugging PRs +# 17 Jun 2021, 3d-gussner, Add verbose_IDE to output more information during build #### Start check if OSTYPE is supported OS_FOUND=$( command -v uname) @@ -257,7 +259,7 @@ fi #### End prepare bash / Linux environment # Check for options/flags -while getopts b:c:d:f:g:h:i:l:m:n:o:p:v:x:?h flag +while getopts b:c:d:f:g:h:i:j:l:m:n:o:p:v:x:?h flag do case "${flag}" in b) build_flag=${OPTARG};; @@ -267,6 +269,7 @@ while getopts b:c:d:f:g:h:i:l:m:n:o:p:v:x:?h flag g) graphics_flag=${OPTARG};; h) help_flag=1;; i) IDE_flag=${OPTARG};; + j) verbose_IDE_flag=${OPTARG};; l) language_flag=${OPTARG};; m) mk404_flag=${OPTARG};; n) new_build_flag=${OPTARG};; @@ -282,7 +285,7 @@ while getopts b:c:d:f:g:h:i:l:m:n:o:p:v:x:?h flag # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* PF-build.sh Version: 1.2.0-Build_49 *" +echo "* PF-build.sh Version: 1.2.0-Build_54 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" @@ -292,6 +295,7 @@ echo "$(tput setaf 2)-f$(tput sgr0) Board flash size '$(tput setaf 2)256$(tput s 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)-h$(tput sgr0) Help" echo "$(tput setaf 2)-i$(tput sgr0) Arduino IDE version '$(tput setaf 2)1.8.5$(tput sgr0)', '$(tput setaf 2)1.8.13$(tput sgr0)'" +echo "$(tput setaf 2)-j$(tput sgr0) Arduino IDE verbose output '$(tput setaf 2)0$(tput sgr0)', '$(tput setaf 2)1$(tput sgr0) active'" echo "$(tput setaf 2)-l$(tput sgr0) Languages '$(tput setaf 2)ALL$(tput sgr0)' for multi language or '$(tput setaf 2)EN_ONLY$(tput sgr0)' for English only" 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) New fresh build '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" @@ -316,6 +320,21 @@ echo exit 6 fi +#Check if verbose_IDE is selected with argument '-j' + +if [ ! -z "$verbose_IDE_flag" ]; then + if [ $verbose_IDE_flag == "1" ]; then + verbose_IDE="1" + elif [ $verbose_IDE_flag == "0" ]; then + verbose_IDE="0" + else + echo "Only '0' and '1' are valid verbose_IDE values." + exit + fi +else + verbose_IDE="0" +fi + #Check if Build is selected with argument '-f' if [ ! -z "$board_flash_flag" ] ; then if [ "$board_flash_flag" == "256" ] ; then @@ -994,8 +1013,10 @@ do sleep 2 fi - #$BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 41 - $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 42 + if [ $verbose_IDE == "1" ]; then + $BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 41 + fi + $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all -verbose=$verbose_IDE $SCRIPT_PATH/Firmware/Firmware.ino || exit 42 echo "$(tput sgr 0)" if [ $LANGUAGES == "ALL" ]; then @@ -1052,6 +1073,7 @@ do fi # End of "lang.bin" for MK3 and MK3S copy cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex + cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.elf else echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)" cp -f firmware_cz.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-cz.hex @@ -1061,6 +1083,7 @@ do cp -f firmware_it.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-it.hex cp -f firmware_pl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-pl.hex cp -f firmware_nl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-nl.hex + cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.elf if [ $TARGET_OS == "windows" ]; then zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex rm $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex @@ -1085,6 +1108,8 @@ do else echo "$(tput setaf 2)Copying English only firmware to PF-build-hex folder$(tput sgr 0)" cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex || exit 47 + echo "$(tput setaf 2)Copying English only elf file to PF-build-hex folder$(tput sgr 0)" + cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.elf || exit 47 fi # Cleanup Firmware From ae41d6ca400f3fbaf310b5796ffe3f46ffdf5478 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 17 Jun 2021 21:02:46 +0200 Subject: [PATCH 033/234] Change version to v2.0.0 --- PF-build.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/PF-build.sh b/PF-build.sh index b94e034e8..0f69d41c7 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 1.2.0-Build_54 +# Version: 2.0.0-Build_55 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -151,6 +151,7 @@ # 17 Jun 2021, 3d-gussner, Update PF-build.sh to work after DRracer Remove FW version parsing PR # 17 Jun 2021, 3d-gussner, Save ELF files for FW3.10.1 debugging PRs # 17 Jun 2021, 3d-gussner, Add verbose_IDE to output more information during build +# 17 Jun 2021, 3d-gussner, Change version to v2.0.0 #### Start check if OSTYPE is supported OS_FOUND=$( command -v uname) @@ -285,7 +286,7 @@ while getopts b:c:d:f:g:h:i:j:l:m:n:o:p:v:x:?h flag # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* PF-build.sh Version: 1.2.0-Build_54 *" +echo "* PF-build.sh Version: 2.0.0-Build_55 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" From b12c0e2326ede8ed7dbea7338b89dea3eeb46fe2 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 18 Jun 2021 13:46:25 +0200 Subject: [PATCH 034/234] Use atmega404 if extanded RAM or FLASH size are chosen Remove MK404 copy of lang file as it has been fixed in MK404 --- PF-build.sh | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/PF-build.sh b/PF-build.sh index 0f69d41c7..921ac82c0 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 2.0.0-Build_55 +# Version: 2.0.0-Build_56 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -152,6 +152,9 @@ # 17 Jun 2021, 3d-gussner, Save ELF files for FW3.10.1 debugging PRs # 17 Jun 2021, 3d-gussner, Add verbose_IDE to output more information during build # 17 Jun 2021, 3d-gussner, Change version to v2.0.0 +# 18 Jun 2021, 3d-gussner, Use atmega404 if extanded RAM or FLASH size are chosen +# 18 Jun 2021, 3d-gussner, Remove MK404 copy of lang file as it has been fixed in MK404 + #### Start check if OSTYPE is supported OS_FOUND=$( command -v uname) @@ -286,7 +289,7 @@ while getopts b:c:d:f:g:h:i:j:l:m:n:o:p:v:x:?h flag # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* PF-build.sh Version: 2.0.0-Build_55 *" +echo "* PF-build.sh Version: 2.0.0-Build_56 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" @@ -1068,10 +1071,6 @@ do # If the motherboard is an EINSY just copy one hexfile if [ "$MOTHERBOARD" = "BOARD_EINSY_1_0a" ]; then echo "$(tput setaf 2)Copying multi language firmware for MK3/Einsy board to PF-build-hex folder$(tput sgr 0)" - # Make a copy of "lang.bin" for MK404 MK3 and MK3S - if [ ! -z "$mk404_flag" ]; then - cp -f lang.bin $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin - fi # End of "lang.bin" for MK3 and MK3S copy cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.elf @@ -1187,16 +1186,15 @@ if [ ! -z "$mk404_flag" ]; then fi # Run MK404 with 'debugcore' and/or 'bootloader-file' -echo "MK404_DEBUG --$MK404_DEBUG--" - if [ "$MK404_DEBUG" == "atmega404" ]; then + if [[ ! -z $MK404_DEBUG && "$MK404_DEBUG" == "atmega404" || ! -z $BOARD_MEM && "$BOARD_MEM" == "0xFFFF" ]]; then MK404_options="--debugcore" - elif [ "$MK404_DEBUG" == "atmega404_no_bootloader" ]; then + fi + if [[ ! -z $MK404_DEBUG && "$MK404_DEBUG" == "atmega404_no_bootloader" || ! -z $BOARD_FLASH && "$BOARD_FLASH" != "0x3FFFF" ]]; then MK404_options='--debugcore --bootloader-file ""' fi # Run MK404 with grafics if [ ! -z "$graphics_flag" ]; then - echo "MK404_options --$MK404_options--" if [ ! -z "$MK404_options" ]; then MK404_options="${MK404_options} --colour-extrusion --extrusion Quad_HR -g " else @@ -1214,16 +1212,13 @@ echo "MK404_DEBUG --$MK404_DEBUG--" # Output some useful data echo "Printer: $MK404_PRINTER" echo "Options: $MK404_options" + echo "" + read -t 5 -p "Press $(tput setaf 2)Enter$(tput sgr 0) to start MK404" + echo "" # Change to MK404 build folder cd ../MK404/master/build -# Copy language bin file for MK3 and MK3S to xflash -# if [ -f $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin ]; then -# echo "Copy 'FW$FW-Build$BUILD-$VARIANT-lang.bin' to 'Prusa_${MK404_PRINTER}_xflash.bin'" -# dd if=/dev/zero bs=1 count=262145 | tr "\000" "\377" >Prusa_${MK404_PRINTER}_xflash.bin -# dd if=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-lang.bin of=Prusa_${MK404_PRINTER}_xflash.bin conv=notrunc -# fi #Decide which hex file to use EN_ONLY or Multi language if [ "$LANGUAGES" == "ALL" ]; then @@ -1234,6 +1229,9 @@ fi # 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" + sleep 5 ./MK404 Prusa_$MK404_PRINTER -s --terminal $MK404_options -f $MK404_firmware_file || exit 62 fi #### End of MK404 Simulator From bc98be3d29888d12e5e5250e2852da448896d3b6 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 18 Jun 2021 13:47:33 +0200 Subject: [PATCH 035/234] Documentation and version number Added some arguments and checks --- MK404-build.sh | 263 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 233 insertions(+), 30 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index 9c7a14ba9..a019d6c2c 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -1,5 +1,5 @@ #!/bin/bash -# This bash script is used to compile automatically the MK404 simulator +# This bash script is used to compile automatically and run the MK404 simulator # # Supported OS: Linux64 bit # @@ -8,33 +8,71 @@ # 1. Follow these instructions # 2. Open Ubuntu bash and get latest updates with 'sudo apt-get update' # 3. Install latest updates with 'sudo apt-get upgrade' -# 4. +# # -# Version: 0.1-Build_3 +# Version: 1.0.0-Build_6 # Change log: # 11 Feb 2021, 3d-gussner, Inital # 11 Feb 2021, 3d-gussner, Optional flags to check for updates # 12 Feb 2021, 3d-gussner, Update cmake # 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 -while getopts c:u:f:m:g:?h flag +while getopts c:f:g:m:n:p:u:v:x:?h flag do case "${flag}" in c) check_flag=${OPTARG};; - u) update_flag=${OPTARG};; - f) force_flag=${OPTARG};; - m) mk404_flag=${OPTARG};; + f) board_flash_flag=${OPTARG};; g) graphics_flag=${OPTARG};; - ?) help_flag=1;; h) help_flag=1;; + m) mk404_flag=${OPTARG};; + p) mk404_printer_flag=${OPTARG};; + n) new_build_flag=${OPTARG};; + u) update_flag=${OPTARG};; + v) firmware_version_flag=${OPTARG};; + x) board_mem_flag=${OPTARG};; + ?) help_flag=1;; esac done -echo "$check_flag" -echo "$update_flag" -echo "$force_flag" -echo "$mk404_flag" -echo "$graphics_flag" +#Debug echos +#echo "$check_flag" +#echo "$update_flag" +#echo "$new_build_flag" +#echo "$mk404_flag" +#echo "$graphics_flag" +#echo "$mk404_printer_flag" +# '?' 'h' argument usage and help +if [ "$help_flag" == "1" ] ; then +echo "***************************************" +echo "* MK404-build.sh Version: 1.0.0-Build_6 *" +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)-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)-?$(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 +echo "Example:" +echo " $(tput setaf 2)./MK404-build.sh -f 1$(tput sgr0)" +echo " Will force an update and rebuild the MK404 SIM" +echo +echo " $(tput setaf 2)./MK404-build.sh -m 1 -g 1 -v ../../../../Prusa-Firmware/PF-build-hex/FW3100-Build4481/BOAD_EINSY_1_0a/FW3100-Build4481-1_75mm_MK3S-EINSy10a-E3Dv6full.hex$(tput sgr0)" +echo " Will start MK404 with Prusa_MK3S and Prusa-Firmware 3.10.0-Build4481" +exit 1 +fi #### Start check if OSTYPE is supported OS_FOUND=$( command -v uname) @@ -57,13 +95,13 @@ if [ $TARGET_OS == "linux" ]; then else echo "$(tput setaf 1)Unsupported OS: Linux $(uname -m)" echo "Please refer to the notes of build.sh$(tput sgr0)" - exit 1 + exit 2 fi else echo "$(tput setaf 1)This script doesn't support your Operating system!" echo "Please use Linux 64-bit" echo "Read the notes of build.sh$(tput sgr0)" - exit 1 + exit 2 fi sleep 2 #### End check if OSTYPE is supported @@ -97,7 +135,7 @@ for check_package in ${packages[@]}; do done if [ "$not_installed" = "1" ]; then - exit 4 + exit 3 fi #### End Check MK404 dependencies @@ -113,8 +151,7 @@ MK404_BUILD_PATH="$MK404_PATH/build" # List few useful data echo echo "Script path :" $MK404_SCRIPT_PATH -echo "OS :" $OS -echo "OS type :" $TARGET_OS +echo "OS :" $TARGET_OS echo "" echo "MK404 path :" $MK404_PATH @@ -126,22 +163,74 @@ if [ ! -d $MK404_PATH ]; then git clone $MK404_URL $MK404_PATH fi - - - # cd $MK404_PATH -# Check for updates ... WIP +#Check MK404 agruments +#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 + MK404_PRINTER_TEMP=$mk404_printer_flag + else + echo "Following Printers are supported: MK25, MK25S, MK3 and MK3S" + exit 4 + fi +fi -# Check MK404 -if [ "$force_flag" == "1" ]; then +#Check if Build is selected with argument '-f' +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)" + 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)" + 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)" + 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)" + 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)" + else + echo "Unsupported board flash size chosen. Only '256', '384', '512', '1024' and '32M' are allowed." + exit 5 + fi +fi + +#Check if Build is selected with argument '-x' +if [ ! -z "$board_mem_flag" ] ; then + if [ "$board_mem_flag" == "8" ] ; then + BOARD_MEM="0x21FF" + echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + elif [ "$board_mem_flag" == "64" ] ; then + BOARD_MEM="0xFFFF" + echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + else + echo "Unsupported board mem size chosen. Only '8', '64' are allowed." + exit 6 + fi +fi + + +if [ "$new_build_flag" == "1" ]; then check_flag=1 update_flag=1 fi if [ "$update_flag" == "1" ]; then check_flag=1 fi + +#End Check MK404 agruments + +#Check for updates if [ "$check_flag" == "1" ]; then if [ -d $MK404_BUILD_PATH ]; then cd $MK404_BUILD_PATH @@ -159,6 +248,7 @@ if [ "$check_flag" == "1" ]; then # Get remote Commit_Number MK404_remote_GIT_COMMIT_NUMBER=$(git rev-list origin/master --count) # Output + echo "" echo "Current version : $MK404_current_version" echo "" echo "Current local hash : $MK404_local_GIT_COMMIT_HASH" @@ -166,7 +256,7 @@ if [ "$check_flag" == "1" ]; then if [ "$MK404_local_GIT_COMMIT_HASH" != "$MK404_remote_GIT_COMMIT_HASH" ]; then echo "$(tput setaf 1)" else - echo "$(tput sgr 0)" + echo "$(tput setaf 2)" fi echo "Current remote hash : $MK404_remote_GIT_COMMIT_HASH" echo "Current remote commit nr: $MK404_remote_GIT_COMMIT_NUMBER" @@ -182,7 +272,8 @@ if [ "$check_flag" == "1" ]; then echo "" fi fi -# Check for updates + +# Fetch updates and force new build if [ "$update_flag" == "1" ]; then if [ "$MK404_local_GIT_COMMIT_HASH" != "$MK404_remote_GIT_COMMIT_HASH" ]; then echo "" @@ -192,13 +283,13 @@ if [ "$update_flag" == "1" ]; then git reset --hard origin/master read -t 10 -p "$(tput setaf 2)Compiling MK404 !$(tput sgr 0)" echo "" - force_flag=1 + new_build_flag=1 fi fi # Prepare MK404 mkdir -p $MK404_BUILD_PATH -if [[ ! -f "$MK404_BUILD_PATH/Makefile" || "$force_flag" == "1" ]]; then +if [[ ! -f "$MK404_BUILD_PATH/Makefile" || "$new_build_flag" == "1" ]]; then # Init and update submodules git submodule init git submodule update @@ -207,12 +298,12 @@ fi # Make MK404 cd $MK404_BUILD_PATH -if [[ ! -f "$MK404_BUILD_PATH/MK404" || "$force_flag" == "1" ]]; then +if [[ ! -f "$MK404_BUILD_PATH/MK404" || "$new_build_flag" == "1" ]]; then make fi # Make SDcards -if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$force_flag" == "1" ]]; then +if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$new_build_flag" == "1" ]]; then cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3S_SDcard.bin cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3_SDcard.bin cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25_13_SDcard.bin @@ -221,3 +312,115 @@ if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$force_flag" == "1" ]]; cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3MMU2_SDcard.bin 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 +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" +fi + +if [ ! -z $mk404_printer_flag ]; then + if [ "$mk404_printer_flag" != "$MK404_PRINTER" ]; then + echo "$(tput setaf 3)You defined a different printer type than the firmware!" + echo "This can cause unexpected issues.$(tput sgr 0)" + echo + PS3="Select $(tput setaf 2)printer$(tput sgr 0) you want to use." + select which in "$(tput setaf 2)$MK404_PRINTER$(tput sgr 0)" "$mk404_printer_flag"; do + case $which in + $MK404_PRINTER) + echo "Set $MK404_PRINTER as printer" + break + ;; + $mk404_printer_flag) + echo "Set $(tput setaf 3)$mk404_printer_flag$(tput sgr 0) as printer" + echo "$(tput setaf 3)This firmware file isn't correct for this printer!!!$(tput sgr 0)" + echo + MK404_PRINTER=$mk404_printer_flag + read -p "Press Enter to continue." + break + ;; + *) + break + ;; + esac + done + + fi +fi + +if [ -z $MK404_PRINTER ]; then + exit 7 +fi + +if [[ "$MK404_PRINTER" == "MK25" || "$MK404_PRINTER" == "MK25S" ]]; then + MK404_PRINTER="${MK404_PRINTER}_mR13" +else + if [[ "$mk404_flag" == "2" || "$mk404_flag" == "MMU2" || "$mk404_flag" == "MMU2S" ]]; then # Check if MMU2 is selected only for MK3/S + MK404_PRINTER="${MK404_PRINTER}MMU2" + fi +fi + +# Run MK404 with 'debugcore' and/or 'bootloader-file' + if [[ ! -z $MK404_DEBUG && "$MK404_DEBUG" == "atmega404" || ! -z $BOARD_MEM && "$BOARD_MEM" == "0xFFFF" ]]; then + MK404_options="--debugcore" + fi + if [[ ! -z $MK404_DEBUG && "$MK404_DEBUG" == "atmega404_no_bootloader" || ! -z $BOARD_FLASH && "$BOARD_FLASH" != "0x3FFFF" ]]; then + MK404_options='--debugcore --bootloader-file ""' + 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 " + else + MK404_options="--colour-extrusion --extrusion Quad_HR -g " + fi + if [[ "$graphics_flag" == "1" || "$graphics_flag" == "lite" ]]; then + MK404_options="${MK404_options}lite" + elif [[ "$graphics_flag" == "2" || "$graphics_flag" == "fancy" ]]; then + MK404_options="${MK404_options}fancy" + else + echo "$(tput setaf 1)Unsupported MK404 graphics option $graphics_flag$(tput sgr 0)" + fi + fi +if [ ! -z $firmware_version_flag ]; then + MK404_firmware_file=$firmware_version_flag +fi + +#Run MK404 SIM +if [ ! -z $mk404_flag ]; then + # Output some useful data + echo "Printer : $MK404_PRINTER" + echo "Options : $MK404_options" + echo "" + read -t 5 -p "Press $(tput setaf 2)Enter$(tput sgr 0) to start MK404" + echo "" + + # Change to MK404 build folder + cd $MK404_BUILD_PATH + + # 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" + sleep 5 + ./MK404 Prusa_$MK404_PRINTER -s --terminal $MK404_options -f $MK404_firmware_file || exit 8 +fi +#### End of MK404 Simulator \ No newline at end of file From dde5cea48b6b0d75f945d22fc9062974eba349cb Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 18 Jun 2021 20:40:17 +0200 Subject: [PATCH 036/234] Default extrusion graphics to line. Thanks @vintagepc point it out Added -g 3 and 4 for more details extrusion lines Check for updates is default. Fix update if internet connection is lost. --- MK404-build.sh | 153 ++++++++++++++++++++++++++++--------------------- 1 file changed, 89 insertions(+), 64 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index a019d6c2c..3e18a1e4c 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -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 \ No newline at end of file From 7a67d578fd146fff42ad9ae6efce655e72554bfb Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Mon, 21 Jun 2021 09:16:19 +0200 Subject: [PATCH 037/234] Pf-build.sh Change atmega404 board flash argument to y Use newer version of MK404-build.sh instead start the program MK404-build.sh Change board_flash argument to 'y' and firmware_version to 'f --- MK404-build.sh | 34 +++++++++++++++++++--------------- PF-build.sh | 49 ++++++++++++++++++++++++------------------------- 2 files changed, 43 insertions(+), 40 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index 3e18a1e4c..6f9829ee4 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -10,7 +10,7 @@ # 3. Install latest updates with 'sudo apt-get upgrade' # # -# Version: 1.0.0-Build_7 +# Version: 1.0.0-Build_8 # Change log: # 11 Feb 2021, 3d-gussner, Inital # 11 Feb 2021, 3d-gussner, Optional flags to check for updates @@ -21,61 +21,65 @@ # 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. +# 21 Jun 2021, 3d-gussner, Change board_flash argument to 'y' and firmware_version to 'f' -while getopts c:f:g:m:n:p:u:v:x:?h flag +while getopts c:f:g:m:n:p:u:x:y:?h flag do case "${flag}" in c) check_flag=${OPTARG};; - f) board_flash_flag=${OPTARG};; + f) firmware_version_flag=${OPTARG};; g) graphics_flag=${OPTARG};; h) help_flag=1;; m) mk404_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};; + y) board_flash_flag=${OPTARG};; ?) help_flag=1;; esac done #Debug echos -#echo "$check_flag" -#echo "$update_flag" -#echo "$new_build_flag" -#echo "$mk404_flag" -#echo "$graphics_flag" -#echo "$mk404_printer_flag" +echo "c: $check_flag" +echo "f: $firmware_version_flag" +echo "g: $graphics_flag" +echo "m: $mk404_flag" +echo "n: $new_build_flag" +echo "p: $mk404_printer_flag" +echo "u: $update_flag" +echo "x: $board_mem_flag" +echo "y: $board_flash_flag" # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* MK404-build.sh Version: 1.0.0-Build_7 *" +echo "* MK404-build.sh Version: 1.0.0-Build_8 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-c$(tput sgr0) Check for update" -echo "$(tput setaf 2)-f$(tput sgr0) Board flash size" +echo "$(tput setaf 2)-f$(tput sgr0) Prusa-Firmware version" echo "$(tput setaf 2)-g$(tput sgr0) Start MK404 graphics" echo "$(tput setaf 2)-h$(tput sgr0) Help" 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)-y$(tput sgr0) Board flash 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] [-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 " -f : '$(tput setaf 2)path+file name$(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 " -y : '$(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 echo "Example:" echo " $(tput setaf 2)./MK404-build.sh -f 1$(tput sgr0)" diff --git a/PF-build.sh b/PF-build.sh index 921ac82c0..ce9a67f2d 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 2.0.0-Build_56 +# Version: 2.0.0-Build_57 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -154,6 +154,8 @@ # 17 Jun 2021, 3d-gussner, Change version to v2.0.0 # 18 Jun 2021, 3d-gussner, Use atmega404 if extanded RAM or FLASH size are chosen # 18 Jun 2021, 3d-gussner, Remove MK404 copy of lang file as it has been fixed in MK404 +# 21 Jun 2021, 3d-gussner, Change atmega404 board flash argument to y +# Use newer version of MK404-build.sh instead start the program #### Start check if OSTYPE is supported @@ -263,13 +265,12 @@ fi #### End prepare bash / Linux environment # Check for options/flags -while getopts b:c:d:f:g:h:i:j:l:m:n:o:p:v:x:?h flag +while getopts b:c:d:g:h:i:j:l:m:n:o:p:v:x:y:?h flag do case "${flag}" in b) build_flag=${OPTARG};; c) clean_flag=${OPTARG};; d) devel_flag=${OPTARG};; - f) board_flash_flag=${OPTARG};; g) graphics_flag=${OPTARG};; h) help_flag=1;; i) IDE_flag=${OPTARG};; @@ -281,6 +282,7 @@ while getopts b:c:d:f:g:h:i:j:l:m:n:o:p:v:x:?h flag p) prusa_flag=${OPTARG};; v) variant_flag=${OPTARG};; x) board_mem_flag=${OPTARG};; + y) board_flash_flag=${OPTARG};; ?) help_flag=1;; esac done @@ -289,14 +291,13 @@ while getopts b:c:d:f:g:h:i:j:l:m:n:o:p:v:x:?h flag # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* PF-build.sh Version: 2.0.0-Build_56 *" +echo "* PF-build.sh Version: 2.0.0-Build_57 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" echo "$(tput setaf 2)-c$(tput sgr0) Do not clean up lang build'$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" echo "$(tput setaf 2)-d$(tput sgr0) Devel build '$(tput setaf 2)GOLD$(tput sgr0)', '$(tput setaf 2)RC$(tput sgr0)', '$(tput setaf 2)BETA$(tput sgr0)', '$(tput setaf 2)ALPHA$(tput sgr0)', '$(tput setaf 2)DEBUG$(tput sgr0)', '$(tput setaf 2)DEVEL$(tput sgr0)' and '$(tput setaf 2)UNKNOWN$(tput sgr0)'" -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)-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 '$(tput setaf 2)3$(tput sgr0)' lite with Quad_HR '$(tput setaf 2)2$(tput sgr0)' fancy with Quad_HR" echo "$(tput setaf 2)-h$(tput sgr0) Help" echo "$(tput setaf 2)-i$(tput sgr0) Arduino IDE version '$(tput setaf 2)1.8.5$(tput sgr0)', '$(tput setaf 2)1.8.13$(tput sgr0)'" echo "$(tput setaf 2)-j$(tput sgr0) Arduino IDE verbose output '$(tput setaf 2)0$(tput sgr0)', '$(tput setaf 2)1$(tput sgr0) active'" @@ -307,10 +308,11 @@ echo "$(tput setaf 2)-o$(tput sgr0) Output '$(tput setaf 2)1$(tput sgr0)' force echo "$(tput setaf 2)-p$(tput sgr0) Keep Configuration_prusa.h '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" echo "$(tput setaf 2)-v$(tput sgr0) Variant '$(tput setaf 2)All$(tput sgr0)' or variant file name" 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)-y$(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)-?$(tput sgr0) Help" echo echo "Brief USAGE:" -echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-v] [-l] [-d] [-b] [-o] [-c] [-p] [-n]" +echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-b] [-c] [-d] [-g] [-i] [-j] [-l] [-m] [-n] [-o] [-p ] -[v] [-x] [-y] [-h] [-?]" echo echo "Example:" echo " $(tput setaf 2)./PF-build.sh -v All -l ALL -d GOLD$(tput sgr0)" @@ -1174,7 +1176,6 @@ echo "more information how to flash firmware https://www.prusa3d.com/drivers/ $( # Check/compile MK404 sim if [ ! -z "$mk404_flag" ]; then - ./MK404-build.sh -c1 || exit 61 # For Prusa MK2, MK2.5/S if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then @@ -1186,26 +1187,19 @@ if [ ! -z "$mk404_flag" ]; then fi # Run MK404 with 'debugcore' and/or 'bootloader-file' - if [[ ! -z $MK404_DEBUG && "$MK404_DEBUG" == "atmega404" || ! -z $BOARD_MEM && "$BOARD_MEM" == "0xFFFF" ]]; then - MK404_options="--debugcore" + if [ ! -z "$board_mem_flag" ]; then + MK404_options="-x $board_mem_flag" fi - if [[ ! -z $MK404_DEBUG && "$MK404_DEBUG" == "atmega404_no_bootloader" || ! -z $BOARD_FLASH && "$BOARD_FLASH" != "0x3FFFF" ]]; then - MK404_options='--debugcore --bootloader-file ""' + if [ ! -z "$board_flash_flag" ]; then + MK404_options="${MK404_options} -y $board_flash_flag" 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 " + if [[ "$graphics_flag" == "1" || "$graphics_flag" == "2" || "$graphics_flag" == "3" || "$graphics_flag" == "4" ]]; then + MK404_options="${MK404_options} -g $graphics_flag" else - MK404_options="--colour-extrusion --extrusion Quad_HR -g " - fi - if [[ "$graphics_flag" == "1" || "$graphics_flag" == "lite" ]]; then - MK404_options="${MK404_options}lite" - elif [[ "$graphics_flag" == "2" || "$graphics_flag" == "fancy" ]]; then - MK404_options="${MK404_options}fancy" - else - echo "$(tput setaf 1)Unsupported MK404 graphics option $graphics_flag$(tput sgr 0)" + echo "$(tput setaf 1)Unsupported MK404 graphics option $graphics_flag$(tput sgr 0)" fi fi @@ -1217,7 +1211,7 @@ if [ ! -z "$mk404_flag" ]; then echo "" # Change to MK404 build folder - cd ../MK404/master/build + #cd ../MK404/master/build #Decide which hex file to use EN_ONLY or Multi language @@ -1229,9 +1223,14 @@ fi # 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" + #sleep 5 + #./MK404 Prusa_$MK404_PRINTER -s --terminal $MK404_options -f $MK404_firmware_file || exit 62 echo "" - echo "./MK404 Prusa_$MK404_PRINTER -s --terminal $MK404_options -f $MK404_firmware_file" + echo "./MK404-build.sh -m $mk404_flag -p $MK404_PRINTER $MK404_options -f $MK404_firmware_file" sleep 5 - ./MK404 Prusa_$MK404_PRINTER -s --terminal $MK404_options -f $MK404_firmware_file || exit 62 + ./MK404-build.sh -m $mk404_flag -p $MK404_PRINTER $MK404_options -f $MK404_firmware_file|| exit 61 + fi #### End of MK404 Simulator From 8d376ebee038537c13d8b0db0ae51b471a26f89b Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Mon, 21 Jun 2021 09:22:35 +0200 Subject: [PATCH 038/234] comment out debug echos --- MK404-build.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index 6f9829ee4..9e95fa9c9 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -10,7 +10,7 @@ # 3. Install latest updates with 'sudo apt-get upgrade' # # -# Version: 1.0.0-Build_8 +# Version: 1.0.0-Build_9 # Change log: # 11 Feb 2021, 3d-gussner, Inital # 11 Feb 2021, 3d-gussner, Optional flags to check for updates @@ -40,20 +40,20 @@ while getopts c:f:g:m:n:p:u:x:y:?h flag esac done #Debug echos -echo "c: $check_flag" -echo "f: $firmware_version_flag" -echo "g: $graphics_flag" -echo "m: $mk404_flag" -echo "n: $new_build_flag" -echo "p: $mk404_printer_flag" -echo "u: $update_flag" -echo "x: $board_mem_flag" -echo "y: $board_flash_flag" +#echo "c: $check_flag" +#echo "f: $firmware_version_flag" +#echo "g: $graphics_flag" +#echo "m: $mk404_flag" +#echo "n: $new_build_flag" +#echo "p: $mk404_printer_flag" +#echo "u: $update_flag" +#echo "x: $board_mem_flag" +#echo "y: $board_flash_flag" # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* MK404-build.sh Version: 1.0.0-Build_8 *" +echo "* MK404-build.sh Version: 1.0.0-Build_9 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-c$(tput sgr0) Check for update" From 2b29e52d533554faa1734d7c76f6242ba5b8b33d Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Tue, 22 Jun 2021 09:20:48 +0200 Subject: [PATCH 039/234] Defined OUTPUT_FILENAME in one location Added _RAM- and _FLASH- as OUTPUT_FILE_SUFFIX if someone builds an atmega404 firmware Added some logic if IDE 1.8.13 is used Added some logic if Arduino_boards 1.0.4 is used Fixed typo --- MK404-build.sh | 2 +- PF-build.sh | 126 +++++++++++++++++++++++++++++-------------------- 2 files changed, 75 insertions(+), 53 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index 9e95fa9c9..66d89185c 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -409,7 +409,7 @@ fi MK404_options='--debugcore --bootloader-file ""' fi -# Run MK404 with grafics +# Run MK404 with graphics if [ ! -z "$graphics_flag" ]; then if [ ! -z "$MK404_options" ]; then MK404_options="${MK404_options} -g " diff --git a/PF-build.sh b/PF-build.sh index ce9a67f2d..74e58900f 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -297,7 +297,7 @@ echo "Arguments:" echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" echo "$(tput setaf 2)-c$(tput sgr0) Do not clean up lang build'$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" echo "$(tput setaf 2)-d$(tput sgr0) Devel build '$(tput setaf 2)GOLD$(tput sgr0)', '$(tput setaf 2)RC$(tput sgr0)', '$(tput setaf 2)BETA$(tput sgr0)', '$(tput setaf 2)ALPHA$(tput sgr0)', '$(tput setaf 2)DEBUG$(tput sgr0)', '$(tput setaf 2)DEVEL$(tput sgr0)' and '$(tput setaf 2)UNKNOWN$(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 '$(tput setaf 2)3$(tput sgr0)' lite with Quad_HR '$(tput setaf 2)2$(tput sgr0)' fancy with Quad_HR" +echo "$(tput setaf 2)-g$(tput sgr0) Start MK404 graphics '$(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)2$(tput sgr0)' fancy with Quad_HR" echo "$(tput setaf 2)-h$(tput sgr0) Help" echo "$(tput setaf 2)-i$(tput sgr0) Arduino IDE version '$(tput setaf 2)1.8.5$(tput sgr0)', '$(tput setaf 2)1.8.13$(tput sgr0)'" echo "$(tput setaf 2)-j$(tput sgr0) Arduino IDE verbose output '$(tput setaf 2)0$(tput sgr0)', '$(tput setaf 2)1$(tput sgr0) active'" @@ -351,18 +351,23 @@ if [ ! -z "$board_flash_flag" ] ; then BOARD_FLASH="0x5FFFF" BOARD_maximum_size="385024" echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $BOARD_FLASH (hex)" + OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" + 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)" + OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" elif [ "$board_flash_flag" == "1024" ] ; then BOARD_FLASH="0xFFFFF" BOARD_maximum_size="1040384" echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $BOARD_FLASH (hex)" + OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" 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)" + OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" else echo "Unsupported board flash size chosen. Only '256', '384', '512', '1024' and '32M' are allowed." exit 7 @@ -377,6 +382,7 @@ if [ ! -z "$board_mem_flag" ] ; then elif [ "$board_mem_flag" == "64" ] ; then BOARD_MEM="0xFFFF" echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_RAM-$board_mem_flag" else echo "Unsupported board mem size chosen. Only '8', '64' are allowed." exit 8 @@ -398,14 +404,20 @@ fi BUILD_ENV="1.0.6" BOARD="prusa_einsy_rambo" BOARD_PACKAGE_NAME="PrusaResearch" -BOARD_VERSION="1.0.3" +if [ "$ARDUINO_ENV" == "1.8.13" ]; then + BOARD_VERSION="1.0.4" +else + BOARD_VERSION="1.0.3" +fi #BOARD_URL="https://raw.githubusercontent.com/3d-gussner/Arduino_Boards/master/IDE_Board_Manager/package_prusa3d_index.json" BOARD_URL="https://raw.githubusercontent.com/prusa3d/Arduino_Boards/master/IDE_Board_Manager/package_prusa3d_index.json" BOARD_FILENAME="prusa3dboards" -#BOARD_FILE_URL="https://raw.githubusercontent.com/3d-gussner/Arduino_Boards/master/IDE_Board_Manager/prusa3dboards-1.0.3.tar.bz2" -BOARD_FILE_URL="https://raw.githubusercontent.com/prusa3d/Arduino_Boards/master/IDE_Board_Manager/prusa3dboards-1.0.3.tar.bz2" +#BOARD_FILE_URL="https://raw.githubusercontent.com/3d-gussner/Arduino_Boards/master/IDE_Board_Manager/prusa3dboards-$BOARD_VERSION.tar.bz2" +BOARD_FILE_URL="https://raw.githubusercontent.com/prusa3d/Arduino_Boards/master/IDE_Board_Manager/prusa3dboards-$BOARD_VERSION.tar.bz2" #PF_BUILD_FILE_URL="https://github.com/3d-gussner/PF-build-env-1/releases/download/$BUILD_ENV-WinLin/PF-build-env-WinLin-$BUILD_ENV.zip" -PF_BUILD_FILE_URL="https://github.com/prusa3d/PF-build-env/releases/download/$BUILD_ENV-WinLin/PF-build-env-WinLin-$BUILD_ENV.zip" +if [[ "$BOARD_VERSION" == "1.0.3" || "$BOARD_VERSION" == "1.0.2" || "$BOARD_VERSION" == "1.0.1" ]]; then + PF_BUILD_FILE_URL="https://github.com/prusa3d/PF-build-env/releases/download/$BUILD_ENV-WinLin/PF-build-env-WinLin-$BUILD_ENV.zip" +fi LIB="PrusaLibrary" SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" @@ -557,18 +569,20 @@ if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$P fi # Download and extract Prusa Firmware specific library files -if [ ! -f "PF-build-env-WinLin-$BUILD_ENV.zip" ]; then - echo "$(tput setaf 6)Downloading Prusa Firmware build environment...$(tput setaf 2)" - sleep 2 - wget $PF_BUILD_FILE_URL || exit 12 - echo "$(tput sgr 0)" -fi -if [ ! -e "../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]; then - echo "$(tput setaf 6)Unzipping Prusa Firmware build environment...$(tput setaf 2)" - sleep 2 - unzip -o PF-build-env-WinLin-$BUILD_ENV.zip -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 13 - echo "# PF-build-env-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt - echo "$(tput sgr0)" +if [[ "$BOARD_VERSION" == "1.0.3" || "$BOARD_VERSION" == "1.0.2" || "$BOARD_VERSION" == "1.0.1" ]]; then + if [ ! -f "PF-build-env-WinLin-$BUILD_ENV.zip" ]; then + echo "$(tput setaf 6)Downloading Prusa Firmware build environment...$(tput setaf 2)" + sleep 2 + wget $PF_BUILD_FILE_URL || exit 12 + echo "$(tput sgr 0)" + fi + if [ ! -e "../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]; then + echo "$(tput setaf 6)Unzipping Prusa Firmware build environment...$(tput setaf 2)" + sleep 2 + unzip -o PF-build-env-WinLin-$BUILD_ENV.zip -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 13 + echo "# PF-build-env-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt + echo "$(tput sgr0)" + fi fi # Check if User updated Arduino IDE 1.8.5 boardsmanager and tools @@ -850,25 +864,32 @@ do OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$BOARD" fi + #Define OUTPUT_FILENAME + OUTPUT_FILENAME=FW$FW-Build$BUILD-$VARIANT + #Check for OUTPUT_FILENAME_SUFFIX and add it + if [ ! -z $OUTPUT_FILENAME_SUFFIX ]; then + OUTPUT_FILENAME="${OUTPUT_FILENAME}$OUTPUT_FILENAME_SUFFIX" + fi + #Check if exactly the same hexfile already exists - if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex" && "$LANGUAGES" == "ALL" ]]; then + if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex" && "$LANGUAGES" == "ALL" ]]; then echo "" - ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex | xargs -n1 basename + ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex | xargs -n1 basename echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" if [ $OUTPUT == "1" ] ; then read -t 10 -p "Press Enter to continue..." fi - elif [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex" && "$LANGUAGES" == "EN_ONLY" ]]; then + elif [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.hex" && "$LANGUAGES" == "EN_ONLY" ]]; then echo "" - ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex | xargs -n1 basename + ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.hex | xargs -n1 basename echo "$(tput setaf 6)This hex file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" if [ $OUTPUT == "1" ] ; then read -t 10 -p "Press Enter to continue..." fi fi - if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip" && "$LANGUAGES" == "ALL" ]]; then + if [[ -f "$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.zip" && "$LANGUAGES" == "ALL" ]]; then echo "" - ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip | xargs -n1 basename + ls -1 $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.zip | xargs -n1 basename echo "$(tput setaf 6)This zip file to be compiled already exists! To cancel this process press CRTL+C and rename existing hex file.$(tput sgr 0)" if [ $OUTPUT == "1" ] ; then read -t 10 -p "Press Enter to continue..." @@ -877,17 +898,18 @@ do #List some useful data echo "$(tput setaf 2)$(tput setab 7) " - echo "Printer :" $MK404_PRINTER - echo "Variant :" $VARIANT - echo "Firmware :" $FW - echo "Build # :" $BUILD - echo "Dev Check :" $DEV_CHECK - echo "DEV Status :" $DEV_STATUS - echo "Motherboard:" $MOTHERBOARD - echo "Board flash:" $BOARD_FLASH - echo "Board mem :" $BOARD_MEM - echo "Languages :" $LANGUAGES + echo "Printer :" $MK404_PRINTER + echo "Variant :" $VARIANT + echo "Firmware :" $FW + echo "Build # :" $BUILD + echo "Dev Check :" $DEV_CHECK + echo "DEV Status :" $DEV_STATUS + echo "Motherboard :" $MOTHERBOARD + echo "Board flash :" $BOARD_FLASH + echo "Board mem :" $BOARD_MEM + echo "Languages :" $LANGUAGES echo "Hex-file Folder:" $OUTPUT_FOLDER + echo "Hex filename :" $OUTPUT_FILENAME echo "$(tput sgr0)" #Prepare Firmware to be compiled by copying variant as Configuration_prusa.h @@ -1074,28 +1096,28 @@ do if [ "$MOTHERBOARD" = "BOARD_EINSY_1_0a" ]; then echo "$(tput setaf 2)Copying multi language firmware for MK3/Einsy board to PF-build-hex folder$(tput sgr 0)" # End of "lang.bin" for MK3 and MK3S copy - cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex - cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.elf + cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex + cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.elf else echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)" - cp -f firmware_cz.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-cz.hex - cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-de.hex - cp -f firmware_es.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-es.hex - cp -f firmware_fr.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-fr.hex - cp -f firmware_it.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-it.hex - cp -f firmware_pl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-pl.hex - cp -f firmware_nl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-nl.hex - cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.elf + cp -f firmware_cz.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-cz.hex + cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-de.hex + cp -f firmware_es.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-es.hex + cp -f firmware_fr.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-fr.hex + cp -f firmware_it.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-it.hex + cp -f firmware_pl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-pl.hex + cp -f firmware_nl.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-nl.hex + cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.elf if [ $TARGET_OS == "windows" ]; then - zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex - rm $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex + zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-??.hex + rm $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-??.hex elif [ $TARGET_OS == "linux" ]; then # Make a copy for MK404 sim of MK2, MK2.5, MK2.5S firmware if [ ! -z "$mk404_flag" ]; then - cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex + cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex fi # End of MK2, MK2.5, MK2.5S firmware copy - zip -m -j ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.zip ../../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-??.hex + zip -m -j ../../$OUTPUT_FOLDER/$OUTPUT_FILENAME.zip ../../$OUTPUT_FOLDER/$OUTPUT_FILENAME-??.hex fi fi @@ -1109,9 +1131,9 @@ do else echo "$(tput setaf 2)Copying English only firmware to PF-build-hex folder$(tput sgr 0)" - cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex || exit 47 + cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.hex || exit 47 echo "$(tput setaf 2)Copying English only elf file to PF-build-hex folder$(tput sgr 0)" - cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.elf || exit 47 + cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.elf || exit 47 fi # Cleanup Firmware @@ -1194,7 +1216,7 @@ if [ ! -z "$mk404_flag" ]; then MK404_options="${MK404_options} -y $board_flash_flag" fi -# Run MK404 with grafics +# Run MK404 with graphics if [ ! -z "$graphics_flag" ]; then if [[ "$graphics_flag" == "1" || "$graphics_flag" == "2" || "$graphics_flag" == "3" || "$graphics_flag" == "4" ]]; then MK404_options="${MK404_options} -g $graphics_flag" @@ -1216,9 +1238,9 @@ if [ ! -z "$mk404_flag" ]; then #Decide which hex file to use EN_ONLY or Multi language if [ "$LANGUAGES" == "ALL" ]; then - MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT.hex + MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex else - MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/FW$FW-Build$BUILD-$VARIANT-EN_ONLY.hex + MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.hex fi # Start MK404 From 9f9203b2809b3ef8d0fbe130a96a284da73fb5b9 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Wed, 23 Jun 2021 20:14:30 +0200 Subject: [PATCH 040/234] Change atmega404 board flash argument to y Use newer version of MK404-build.sh instead start the program Added _RAM- and _FLASH- as OUTPUT_FILE_SUFFIX if someone builds an atmega404 firmware Added some logic if IDE 1.8.13 is used Added some logic if Arduino_boards 1.0.4 is used Fixed typo Restore original `Configuration.h` and `config.h` in case of cannceled script or failed compiling during next start of this script. use function Improve MK404 usage --- .gitignore | 2 + MK404-build.sh | 20 +- PF-build.sh | 652 ++++++++++++++++++++++++++++++++++++------------- 3 files changed, 501 insertions(+), 173 deletions(-) diff --git a/.gitignore b/.gitignore index dae307af4..f80085a0a 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,5 @@ Firmware/Doc /Firmware/Firmware.vcxproj /Firmware/Configuration_prusa_bckp.h /Firmware/variants/printers.h +Configuration.tmp +config.tmp diff --git a/MK404-build.sh b/MK404-build.sh index 66d89185c..b2efcd690 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -10,7 +10,7 @@ # 3. Install latest updates with 'sudo apt-get upgrade' # # -# Version: 1.0.0-Build_9 +# Version: 1.0.0-Build_11 # Change log: # 11 Feb 2021, 3d-gussner, Inital # 11 Feb 2021, 3d-gussner, Optional flags to check for updates @@ -28,7 +28,7 @@ while getopts c:f:g:m:n:p:u:x:y:?h flag case "${flag}" in c) check_flag=${OPTARG};; f) firmware_version_flag=${OPTARG};; - g) graphics_flag=${OPTARG};; + g) mk404_graphics_flag=${OPTARG};; h) help_flag=1;; m) mk404_flag=${OPTARG};; n) new_build_flag=${OPTARG};; @@ -42,7 +42,7 @@ while getopts c:f:g:m:n:p:u:x:y:?h flag #Debug echos #echo "c: $check_flag" #echo "f: $firmware_version_flag" -#echo "g: $graphics_flag" +#echo "g: $mk404_graphics_flag" #echo "m: $mk404_flag" #echo "n: $new_build_flag" #echo "p: $mk404_printer_flag" @@ -53,7 +53,7 @@ while getopts c:f:g:m:n:p:u:x:y:?h flag # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* MK404-build.sh Version: 1.0.0-Build_9 *" +echo "* MK404-build.sh Version: 1.0.0-Build_11 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-c$(tput sgr0) Check for update" @@ -396,7 +396,7 @@ fi if [[ "$MK404_PRINTER" == "MK25" || "$MK404_PRINTER" == "MK25S" ]]; then MK404_PRINTER="${MK404_PRINTER}_mR13" else - if [[ "$mk404_flag" == "2" || "$mk404_flag" == "MMU2" || "$mk404_flag" == "MMU2S" ]]; then # Check if MMU2 is selected only for MK3/S + if [ "$mk404_flag" == "2" ]; then # Check if MMU2 is selected only for MK3/S MK404_PRINTER="${MK404_PRINTER}MMU2" fi fi @@ -410,20 +410,20 @@ fi fi # Run MK404 with graphics - if [ ! -z "$graphics_flag" ]; then + if [ ! -z "$mk404_graphics_flag" ]; then if [ ! -z "$MK404_options" ]; then MK404_options="${MK404_options} -g " else MK404_options=" -g " fi - if [[ "$graphics_flag" == "1" || "$graphics_flag" == "lite" || "$graphics_flag" == "3" ]]; then + if [[ "$mk404_graphics_flag" == "1" || "$mk404_graphics_flag" == "lite" || "$mk404_graphics_flag" == "3" ]]; then MK404_options="${MK404_options}lite" - elif [[ "$graphics_flag" == "2" || "$graphics_flag" == "fancy" || "$graphics_flag" == "4" ]]; then + elif [[ "$mk404_graphics_flag" == "2" || "$mk404_graphics_flag" == "fancy" || "$mk404_graphics_flag" == "4" ]]; then MK404_options="${MK404_options}fancy" else - echo "$(tput setaf 1)Unsupported MK404 graphics option $graphics_flag$(tput sgr 0)" + echo "$(tput setaf 1)Unsupported MK404 graphics option $mk404_graphics_flag$(tput sgr 0)" fi - if [[ "$graphics_flag" == "3" || "$graphics_flag" == "4" ]]; then + if [[ "$mk404_graphics_flag" == "3" || "$mk404_graphics_flag" == "4" ]]; then MK404_options="${MK404_options} --colour-extrusion --extrusion Quad_HR" else MK404_options="${MK404_options} --extrusion Line" diff --git a/PF-build.sh b/PF-build.sh index 74e58900f..94a452239 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 2.0.0-Build_57 +# Version: 2.0.0-Build_59 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -156,9 +156,85 @@ # 18 Jun 2021, 3d-gussner, Remove MK404 copy of lang file as it has been fixed in MK404 # 21 Jun 2021, 3d-gussner, Change atmega404 board flash argument to y # Use newer version of MK404-build.sh instead start the program +# 22 Jun 2021, 3d-gussner, Added _RAM- and _FLASH- as OUTPUT_FILE_SUFFIX if someone builds an atmega404 firmware +# Added some logic if IDE 1.8.13 is used +# Added some logic if Arduino_boards 1.0.4 is used +# Fixed typo +# Restore original `Configuration.h` and `config.h` in case of cannceled script or failed compiling during next start of this script. +# use function +# 23 Jun 2021, 3d-gussner, Improve MK404 usage +SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" -#### Start check if OSTYPE is supported +#### Start: Failures +failures() +{ +case "$1" in + 0) echo "$(tput setaf 2)PF-build.sh finished with success$(tput sgr0)" ;; + 1) echo "$(tput setaf 1)This script doesn't support your Operating system!$(tput sgr0)" ; exit 1 ;; + 4) echo "$(tput setaf 5)Follow the instructions above $(tput sgr0)" ; exit 4 ;; + 5) echo "$(tput setaf 5)Invalid argument $(tput sgr0)" ; exit 5 ;; + 8) echo "$(tput setaf 5)Failed to download $(tput sgr0)" ; exit 8 ;; + 9) echo "$(tput setaf 5)Failed to create folder $(tput sgr0)" ; exit 9 ;; + 10) echo "$(tput setaf 5)Failed to change folder $(tput sgr0)"; exit 10 ;; + 11) echo "$(tput setaf 5)Failed to unzip $(tput sgr0)" ; exit 11 ;; + 12) echo "$(tput setaf 5)Failed to copy file $(tput sgr0)" ; exit 12 ;; + 13) echo "$(tput setaf 5)Failed to delete $(tput sgr0)" ; exit 13 ;; + 20) echo "$(tput setaf 2)Conditional stop initiated by user $(tput sgr0)" ; exit 20 ;; + 21) echo "$(tput setaf 1)PF-build.sh has been interrupted/failed. $(tput setaf 6)Restoring 'Configuration.h'$(tput sgr0)" ; sleep 5 ;; + 22) echo "$(tput setaf 1)PF-build.sh has been interrupted/failed. $(tput setaf 6)Restoring 'config.h'$(tput sgr0)" ; sleep 5 ;; + 24) echo "$(tput setaf 1)PF-build.sh stopped due to compiling errors! Try to restore modified files.$(tput sgr0)"; check_script_failed_nr1 ; check_script_failed_nr2 ; cleanup_firmware ; exit 24 ;; + 25) echo "$(tput setaf 1)Failed to execute $(tput sgr0)" ; exit 25 ;; +esac +} +#### End: Failures + +#### Start: Make backup of Configuration.h +make_backup1() +{ +if [ ! -f "$SCRIPT_PATH/Firmware/Configuration.tmp" ]; then + cp -f $SCRIPT_PATH/Firmware/Configuration.h $SCRIPT_PATH/Firmware/Configuration.tmp +fi +} +#### End: Make backup of Configuration.h + +#### Start: Make backup of config.h +make_backup2() +{ +if [ ! -f "$SCRIPT_PATH/Firmware/config.tmp" ]; then + cp -f $SCRIPT_PATH/Firmware/config.h $SCRIPT_PATH/Firmware/config.tmp +fi +} +#### End: Make backup of config.h + +#### Start: Check Check if script has been canceled or failed nr1. +check_script_failed_nr1() +{ +#Check for "Configuration.tmp" +if [ -f "$SCRIPT_PATH/Firmware/Configuration.tmp" ]; then + cp -f $SCRIPT_PATH/Firmware/Configuration.tmp $SCRIPT_PATH/Firmware/Configuration.h + #echo "Found Configuration.tmp restore Configuration.h" + failures 21 +fi +} +#### End: Check Check if script has been canceled or failed nr1. + +#### Start: Check if script has been canceled or failed nr2. +check_script_failed_nr2() +{ +#Check for "config.tmp" + #echo "No config.tmp" +if [ -f "$SCRIPT_PATH/Firmware/config.tmp" ]; then + cp -f $SCRIPT_PATH/Firmware/config.tmp $SCRIPT_PATH/Firmware/config.h + #echo "Found config.tmp restore config.h" + failures 22 +fi +} +#### End: Check if script has been canceled or failed nr2. + +#### Start: Check if OSTYPE is supported +check_OS() +{ OS_FOUND=$( command -v uname) case $( "${OS_FOUND}" | tr '[:upper:]' '[:lower:]') in @@ -186,8 +262,7 @@ if [ $TARGET_OS == "windows" ]; then Processor="32" else echo "$(tput setaf 1)Unsupported OS: Windows $(uname -m)" - echo "Please refer to the notes of build.sh$(tput sgr0)" - exit 1 + failures 1 fi # Linux elif [ $TARGET_OS == "linux" ]; then @@ -199,27 +274,35 @@ elif [ $TARGET_OS == "linux" ]; then Processor="32" else echo "$(tput setaf 1)Unsupported OS: Linux $(uname -m)" - echo "Please refer to the notes of build.sh$(tput sgr0)" - exit 1 + failures 1 fi else - echo "$(tput setaf 1)This script doesn't support your Operating system!" - echo "Please use Linux 64-bit or Windows 10 64-bit with Linux subsystem / git-bash" - echo "Read the notes of build.sh$(tput sgr0)" - exit 1 + #echo "$(tput setaf 1)This script doesn't support your Operating system!" + #echo "Please use Linux 64-bit or Windows 10 64-bit with Linux subsystem / git-bash" + #echo "Read the notes of build.sh$(tput sgr0)" + failures 1 fi -sleep 2 -#### End check if OSTYPE is supported +if [ $OUTPUT == "1" ] ; then + sleep 2 +fi +} +#### End: Check if OSTYPE is supported -#### Prepare bash environment and check if wget, zip and other needed things are available -# Check wget +#### Start: Prepare bash environment and check if wget, zip and other needed things are available +# Start: Check wget +check_wget() +{ if ! type wget > /dev/null; then echo "$(tput setaf 1)Missing 'wget' which is important to run this script" echo "Please follow these instructions https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058 to install wget$(tput sgr0)" - exit 2 + failures 4 fi +} +# End: Check wget -# Check for zip +# Start: Check for zip +check_zip() +{ if ! type zip > /dev/null; then if [ $TARGET_OS == "windows" ]; then echo "$(tput setaf 1)Missing 'zip' which is important to run this script" @@ -228,19 +311,23 @@ if ! type zip > /dev/null; then echo "Run git Bash under Administrator privilege and" echo "navigate to the directory /c/Program Files/Git/mingw64/bin," echo "you can run the command $(tput setaf 2)ln -s /c/Program Files/7-Zip/7z.exe zip.exe$(tput sgr0)" - exit 3 + failures 4 elif [ $TARGET_OS == "linux" ]; then echo "$(tput setaf 1)Missing 'zip' which is important to run this script" echo "install it with the command $(tput setaf 2)'sudo apt-get install zip'$(tput sgr0)" - #sudo apt-get update && apt-get install zip - exit 3 + failures 4 fi fi -# Check python ... needed during language build +} +# End: Check for zip + +# Start: Check python ... needed during language build +check_python() +{ if ! type python > /dev/null; then if [ $TARGET_OS == "windows" ]; then echo "$(tput setaf 1)Missing 'python3' which is important to run this script" - exit 4 + failures 4 elif [ $TARGET_OS == "linux" ]; then echo "$(tput setaf 1)Missing 'python' which is important to run this script" echo "As Python 2.x will not be maintained from 2020 please," @@ -248,30 +335,34 @@ if ! type python > /dev/null; then echo "Check which version of Python3 has been installed using 'ls /usr/bin/python3*'" echo "Use 'sudo ln -sf /usr/bin/python3.x /usr/bin/python' (where 'x' is your version number) to make it default.$(tput sgr0)" #sudo apt-get update && apt-get install python3 && ln -sf /usr/bin/python3 /usr/bin/python - exit 4 + failures 4 fi fi +} +# End: Check python ... needed during language build -# Check gawk ... needed during language build +#Start: Check gawk ... needed during language build +check_gawk() +{ if ! type gawk > /dev/null; then if [ $TARGET_OS == "linux" ]; then echo "$(tput setaf 1)Missing 'gawk' which is important to run this script" echo "install it with the command $(tput setaf 2)'sudo apt-get install gawk'." #sudo apt-get update && apt-get install gawk - exit 5 + failures 4 fi fi +} +#End: Check gawk ... needed during language build -#### End prepare bash / Linux environment - -# Check for options/flags +#### Start: Check for options/flags while getopts b:c:d:g:h:i:j:l:m:n:o:p:v:x:y:?h flag do case "${flag}" in b) build_flag=${OPTARG};; c) clean_flag=${OPTARG};; d) devel_flag=${OPTARG};; - g) graphics_flag=${OPTARG};; + g) mk404_graphics_flag=${OPTARG};; h) help_flag=1;; i) IDE_flag=${OPTARG};; j) verbose_IDE_flag=${OPTARG};; @@ -291,29 +382,43 @@ while getopts b:c:d:g:h:i:j:l:m:n:o:p:v:x:y:?h flag # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* PF-build.sh Version: 2.0.0-Build_57 *" +echo "* PF-build.sh Version: 2.0.0-Build_59 *" echo "***************************************" echo "Arguments:" -echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" -echo "$(tput setaf 2)-c$(tput sgr0) Do not clean up lang build'$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" -echo "$(tput setaf 2)-d$(tput sgr0) Devel build '$(tput setaf 2)GOLD$(tput sgr0)', '$(tput setaf 2)RC$(tput sgr0)', '$(tput setaf 2)BETA$(tput sgr0)', '$(tput setaf 2)ALPHA$(tput sgr0)', '$(tput setaf 2)DEBUG$(tput sgr0)', '$(tput setaf 2)DEVEL$(tput sgr0)' and '$(tput setaf 2)UNKNOWN$(tput sgr0)'" -echo "$(tput setaf 2)-g$(tput sgr0) Start MK404 graphics '$(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)2$(tput sgr0)' fancy with Quad_HR" -echo "$(tput setaf 2)-h$(tput sgr0) Help" -echo "$(tput setaf 2)-i$(tput sgr0) Arduino IDE version '$(tput setaf 2)1.8.5$(tput sgr0)', '$(tput setaf 2)1.8.13$(tput sgr0)'" -echo "$(tput setaf 2)-j$(tput sgr0) Arduino IDE verbose output '$(tput setaf 2)0$(tput sgr0)', '$(tput setaf 2)1$(tput sgr0) active'" -echo "$(tput setaf 2)-l$(tput sgr0) Languages '$(tput setaf 2)ALL$(tput sgr0)' for multi language or '$(tput setaf 2)EN_ONLY$(tput sgr0)' for English only" -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) New fresh build '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" -echo "$(tput setaf 2)-o$(tput sgr0) Output '$(tput setaf 2)1$(tput sgr0)' force or '$(tput setaf 2)0$(tput sgr0)' block output and delays" -echo "$(tput setaf 2)-p$(tput sgr0) Keep Configuration_prusa.h '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' yes" -echo "$(tput setaf 2)-v$(tput sgr0) Variant '$(tput setaf 2)All$(tput sgr0)' or variant file name" -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)-y$(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)-b$(tput sgr0) Build/commit number" +echo "$(tput setaf 2)-c$(tput sgr0) Do not clean up lang build" +echo "$(tput setaf 2)-d$(tput sgr0) Devel build" +echo "$(tput setaf 2)-g$(tput sgr0) Start MK404 graphics" +echo "$(tput setaf 2)-i$(tput sgr0) Arduino IDE version" +echo "$(tput setaf 2)-j$(tput sgr0) Arduino IDE verbose output" +echo "$(tput setaf 2)-l$(tput sgr0) Languages" +echo "$(tput setaf 2)-m$(tput sgr0) Start MK404 sim" +echo "$(tput setaf 2)-n$(tput sgr0) New fresh build" +echo "$(tput setaf 2)-o$(tput sgr0) Output" +echo "$(tput setaf 2)-p$(tput sgr0) Keep Configuration_prusa.h" +echo "$(tput setaf 2)-v$(tput sgr0) Variant" +echo "$(tput setaf 2)-x$(tput sgr0) Board memory size" +echo "$(tput setaf 2)-y$(tput sgr0) Board flash size" echo "$(tput setaf 2)-?$(tput sgr0) Help" -echo +echo echo "Brief USAGE:" echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-b] [-c] [-d] [-g] [-i] [-j] [-l] [-m] [-n] [-o] [-p ] -[v] [-x] [-y] [-h] [-?]" echo +echo " -b : '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" +echo " -c : '$(tput setaf 2)0$(tput sgr0)' clean up, '$(tput setaf 2)1$(tput sgr0)' keep" +echo " -d : '$(tput setaf 2)GOLD$(tput sgr0)', '$(tput setaf 2)RC$(tput sgr0)', '$(tput setaf 2)BETA$(tput sgr0)', '$(tput setaf 2)ALPHA$(tput sgr0)', '$(tput setaf 2)DEBUG$(tput sgr0)', '$(tput setaf 2)DEVEL$(tput sgr0)' and '$(tput setaf 2)UNKNOWN$(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 " -i : '$(tput setaf 2)1.8.5$(tput sgr0)', '$(tput setaf 2)1.8.13$(tput sgr0)'" +echo " -j : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes" +echo " -l : '$(tput setaf 2)ALL$(tput sgr0)' for multi language or '$(tput setaf 2)EN_ONLY$(tput sgr0)' for English only" +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 " -o : '$(tput setaf 2)1$(tput sgr0)' force or '$(tput setaf 2)0$(tput sgr0)' block output and delays" +echo " -p : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes" +echo " -v : '$(tput setaf 2)All$(tput sgr0)' or variant file name" +echo " -x : '$(tput setaf 2)8$(tput sgr0)' or '$(tput setaf 2)64$(tput sgr0)' Kb." +echo " -y : '$(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 echo "Example:" echo " $(tput setaf 2)./PF-build.sh -v All -l ALL -d GOLD$(tput sgr0)" echo " Will build all variants as multi language and final GOLD version" @@ -335,7 +440,7 @@ if [ ! -z "$verbose_IDE_flag" ]; then verbose_IDE="0" else echo "Only '0' and '1' are valid verbose_IDE values." - exit + failures 5 fi else verbose_IDE="0" @@ -370,7 +475,7 @@ if [ ! -z "$board_flash_flag" ] ; then OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" else echo "Unsupported board flash size chosen. Only '256', '384', '512', '1024' and '32M' are allowed." - exit 7 + failures 5 fi fi @@ -385,11 +490,11 @@ if [ ! -z "$board_mem_flag" ] ; then OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_RAM-$board_mem_flag" else echo "Unsupported board mem size chosen. Only '8', '64' are allowed." - exit 8 + failures 5 fi fi -#Check if Arduino IDE version is correct +#Start: Check if Arduino IDE version is correct if [ ! -z "$IDE_flag" ]; then if [[ "$IDE_flag" == "1.8.5" || "$IDE_flag" == "1.8.13" ]]; then ARDUINO_ENV="${IDE_flag}" @@ -399,8 +504,12 @@ if [ ! -z "$IDE_flag" ]; then else ARDUINO_ENV="1.8.5" fi +#End: Check if Arduino IDE version is correct +#### End: Check for options/flags -#### Set build environment +#### Start: Set build environment +set_build_env_variables() +{ BUILD_ENV="1.0.6" BOARD="prusa_einsy_rambo" BOARD_PACKAGE_NAME="PrusaResearch" @@ -419,9 +528,12 @@ if [[ "$BOARD_VERSION" == "1.0.3" || "$BOARD_VERSION" == "1.0.2" || "$BOARD_VERS PF_BUILD_FILE_URL="https://github.com/prusa3d/PF-build-env/releases/download/$BUILD_ENV-WinLin/PF-build-env-WinLin-$BUILD_ENV.zip" fi LIB="PrusaLibrary" -SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" +} +#### End: Set build environment -# List few useful data +#### Start: List few useful data +output_useful_data() +{ echo echo "Script path :" $SCRIPT_PATH echo "OS :" $OS @@ -440,15 +552,19 @@ echo "Package name:" $BOARD_PACKAGE_NAME echo "Board v. :" $BOARD_VERSION echo "Specific Lib:" $LIB echo "" +} +#### End: List few useful data -#### Start prepare building environment +#### Start: Prepare building environment -#Check if build exists and creates it if not +# Start: Check if build exists and creates it if not +check_create_build_folders() +{ if [ ! -d "../PF-build-dl" ]; then - mkdir ../PF-build-dl || exit 9 + mkdir ../PF-build-dl || failures 9 fi -cd ../PF-build-dl || exit 10 +cd ../PF-build-dl || failures 10 BUILD_ENV_PATH="$( cd "$(dirname "$0")" ; pwd -P )" # Check if PF-build-env- exists and downloads + creates it if not @@ -456,22 +572,32 @@ BUILD_ENV_PATH="$( cd "$(dirname "$0")" ; pwd -P )" if [ ! -d "../PF-build-env-$BUILD_ENV" ]; then echo "$(tput setaf 6)PF-build-env-$BUILD_ENV is missing ... creating it now for you$(tput sgr 0)" mkdir ../PF-build-env-$BUILD_ENV - sleep 5 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi fi +} +# End: Check if build exists and creates it if not -# Download and extract supported Arduino IDE depending on OS +# Start: Download and extract supported Arduino IDE depending on OS +download_prepare_arduinoIDE() +{ # Windows if [ $TARGET_OS == "windows" ]; then if [ ! -f "arduino-$ARDUINO_ENV-windows.zip" ]; then echo "$(tput setaf 6)Downloading Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" - sleep 2 - wget https://downloads.arduino.cc/arduino-$ARDUINO_ENV-windows.zip || exit 8 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi + wget https://downloads.arduino.cc/arduino-$ARDUINO_ENV-windows.zip || failures 8 echo "$(tput sgr 0)" fi if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then echo "$(tput setaf 6)Unzipping Windows 32/64-bit Arduino IDE portable...$(tput setaf 2)" - sleep 2 - unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || exit 9 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi + unzip arduino-$ARDUINO_ENV-windows.zip -d ../PF-build-env-$BUILD_ENV || failures 11 mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt echo "$(tput sgr0)" @@ -482,20 +608,29 @@ if [ $TARGET_OS == "linux" ]; then # 32 or 64 bit version if [ ! -f "arduino-$ARDUINO_ENV-linux$Processor.tar.xz" ]; then echo "$(tput setaf 6)Downloading Linux $Processor Arduino IDE portable...$(tput setaf 2)" - sleep 2 - wget --no-check-certificate https://downloads.arduino.cc/arduino-$ARDUINO_ENV-linux$Processor.tar.xz || exit 8 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi + wget --no-check-certificate https://downloads.arduino.cc/arduino-$ARDUINO_ENV-linux$Processor.tar.xz || failures 8 echo "$(tput sgr 0)" fi if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" && ! -e "../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then echo "$(tput setaf 6)Unzipping Linux $Processor Arduino IDE portable...$(tput setaf 2)" - sleep 2 - tar -xvf arduino-$ARDUINO_ENV-linux$Processor.tar.xz -C ../PF-build-env-$BUILD_ENV/ || exit 9 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi + tar -xvf arduino-$ARDUINO_ENV-linux$Processor.tar.xz -C ../PF-build-env-$BUILD_ENV/ || failures 11 mv ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor echo "# arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/arduino-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt echo "$(tput sgr0)" fi fi -# Make Arduino IDE portable +} +# End: Download and extract supported Arduino IDE depending on OS + +# Start: Make Arduino IDE portable +portable_ArduinoIDE() +{ if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/ ]; then mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/ fi @@ -518,11 +653,17 @@ fi if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/staging/ ]; then mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/staging fi +} +# End: Make Arduino IDE portable -# Change Arduino IDE preferences +# Start: Change Arduino IDE preferences +change_ArduinoIDEpreferances() +{ if [ ! -e ../PF-build-env-$BUILD_ENV/Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt ]; then echo "$(tput setaf 6)Setting $ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor Arduino IDE preferences for portable GUI usage...$(tput setaf 2)" - sleep 2 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi echo "update.check" sed -i 's/update.check = true/update.check = false/g' ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/lib/preferences.txt echo "board" @@ -537,18 +678,26 @@ if [ ! -e ../PF-build-env-$BUILD_ENV/Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TA echo "# Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor" >> ../PF-build-env-$BUILD_ENV/Preferences-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt echo "$(tput sgr0)" fi +} +# End: Change Arduino IDE preferences -# Download and extract Prusa Firmware related parts +# Start: Download and extract Prusa Firmware related parts +download_prepare_Prusa_build_files() +{ # Download and extract PrusaResearchRambo board if [ ! -f "$BOARD_FILENAME-$BOARD_VERSION.tar.bz2" ]; then echo "$(tput setaf 6)Downloading Prusa Research AVR MK3 RAMBo EINSy build environment...$(tput setaf 2)" - sleep 2 - wget $BOARD_FILE_URL || exit 10 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi + wget $BOARD_FILE_URL || failures 8 fi if [[ ! -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION" || ! -e "../PF-build-env-$BUILD_ENV/$BOARD_FILENAME-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]]; then echo "$(tput setaf 6)Unzipping $BOARD_PACKAGE_NAME Arduino IDE portable...$(tput setaf 2)" - sleep 2 - tar -xvf $BOARD_FILENAME-$BOARD_VERSION.tar.bz2 -C ../PF-build-env-$BUILD_ENV/ || exit 11 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi + tar -xvf $BOARD_FILENAME-$BOARD_VERSION.tar.bz2 -C ../PF-build-env-$BUILD_ENV/ || failures 11 if [ ! -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME ]; then mkdir ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/$BOARD_PACKAGE_NAME fi @@ -572,30 +721,44 @@ fi if [[ "$BOARD_VERSION" == "1.0.3" || "$BOARD_VERSION" == "1.0.2" || "$BOARD_VERSION" == "1.0.1" ]]; then if [ ! -f "PF-build-env-WinLin-$BUILD_ENV.zip" ]; then echo "$(tput setaf 6)Downloading Prusa Firmware build environment...$(tput setaf 2)" - sleep 2 - wget $PF_BUILD_FILE_URL || exit 12 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi + wget $PF_BUILD_FILE_URL || failures 8 echo "$(tput sgr 0)" fi if [ ! -e "../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt" ]; then echo "$(tput setaf 6)Unzipping Prusa Firmware build environment...$(tput setaf 2)" - sleep 2 - unzip -o PF-build-env-WinLin-$BUILD_ENV.zip -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 13 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi + unzip -o PF-build-env-WinLin-$BUILD_ENV.zip -d ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || failures 11 echo "# PF-build-env-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt echo "$(tput sgr0)" fi fi +} +# End: Download and extract Prusa Firmware related parts -# Check if User updated Arduino IDE 1.8.5 boardsmanager and tools +# Start: Check if User updated Arduino IDE 1.8.5 boardsmanager and tools +check_ArduinoIDE_User_interaction() +{ if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools" ]; then echo "$(tput setaf 6)Arduino IDE boards / tools have been manually updated...$" echo "Please don't update the 'Arduino AVR boards' as this will prevent running this script (tput setaf 2)" - sleep 2 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi fi if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2" ]; then echo "$(tput setaf 6)PrusaReasearch compatible tools have been manually updated...$(tput setaf 2)" - sleep 2 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi echo "$(tput setaf 6)Copying Prusa Firmware build environment to manually updated boards / tools...$(tput setaf 2)" - sleep 2 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi cp -f ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/hardware/tools/avr/avr/lib/ldscripts/avr6.xn ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor/portable/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/avr/lib/ldscripts/avr6.xn echo "# PF-build-env-portable-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor-$BUILD_ENV" >> ../PF-build-env-$BUILD_ENV/PF-build-env-portable-$BUILD_ENV-$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor.txt echo "$(tput sgr0)" @@ -604,17 +767,21 @@ if [ -d "../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Proc echo "$(tput setaf 1)Arduino IDE tools have been updated manually to a non supported version!!!" echo "Delete ../PF-build-env-$BUILD_ENV and start the script again" echo "Script will not continue until this have been fixed $(tput setaf 2)" - sleep 2 + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi echo "$(tput sgr0)" - exit 14 + failures 4 fi - - +} +# End: Check if User updated Arduino IDE 1.8.5 boardsmanager and tools +# +#### End: prepare bash / Linux environment #### End prepare building - -#### Start -cd $SCRIPT_PATH +#### Start: Getting arguments for command line compiling +get_arguments() +{ # Check if git is available if type git > /dev/null; then @@ -643,8 +810,8 @@ if [ -z "$variant_flag" ] ; then ;; "Quit") echo "You chose to stop" - exit 22 - ;; + failures 20 + ;; *) echo "$(tput setaf 1)This is not a valid variant$(tput sgr0)" ;; @@ -664,7 +831,7 @@ else echo "Only $(tput setaf 2)'All'$(tput sgr0) and file names below are allowed as variant '-v' argument.$(tput setaf 2)" ls -1 $SCRIPT_PATH/Firmware/variants/*.h | xargs -n1 basename echo "$(tput sgr0)" - exit 23 + failures 4 fi fi @@ -697,7 +864,7 @@ else else echo "$(tput setaf 1)Language argument is wrong!$(tput sgr0)" echo "Only $(tput setaf 2)'ALL'$(tput sgr0) or $(tput setaf 2)'EN_ONLY'$(tput sgr0) are allowed as language '-l' argument!" - exit 24 + failures 5 fi fi #Check if DEV_STATUS is selected via argument '-d' @@ -709,7 +876,7 @@ if [ ! -z "$devel_flag" ] ; then else echo "$(tput setaf 1)Development argument is wrong!$(tput sgr0)" echo "Only $(tput setaf 2)'GOLD', 'RC', 'BETA', 'ALPHA', 'DEVEL', 'DEBUG' or 'UNKNOWN' $(tput sgr0) are allowed as devel '-d' argument!$(tput sgr0)" - exit 25 + failures 5 fi fi @@ -723,19 +890,17 @@ if [ ! -z "$build_flag" ] ; then else echo "$(tput setaf 1)Build number argument is wrong!$(tput sgr0)" echo "Only $(tput setaf 2)'Auto' (git needed) or numbers $(tput sgr0) are allowed as build '-b' argument!$(tput sgr0)" - exit 26 - + failures 5 fi echo "New Build number is: $BUILD" fi -# check if script has been started with arguments -if [[ "$#" -eq "0" || "$output_flag" == 1 ]] ; then +#Check if Output is selecetd via argument '-o' +if [[ -z "$output_flag" || "$output_flag" == 1 ]] ; then OUTPUT=1 else OUTPUT=0 fi -#echo "Output is:" $OUTPUT #Check git branch has changed if [ ! -z "git_available" ]; then @@ -756,32 +921,44 @@ else fi fi fi +} +#### End: Getting arguments for command line compiling -#Set BUILD_ENV_PATH -cd ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || exit 27 +#### Start: Set needed Paths +set_paths() +{ +cd ../PF-build-env-$BUILD_ENV/$ARDUINO_ENV-$BOARD_VERSION-$TARGET_OS-$Processor || failures 10 BUILD_ENV_PATH="$( pwd -P )" cd ../.. #Checkif BUILD_PATH exists and if not creates it if [ ! -d "Prusa-Firmware-build" ]; then - mkdir Prusa-Firmware-build || exit 28 + mkdir Prusa-Firmware-build || failures 9 fi #Set the BUILD_PATH for Arduino IDE -cd Prusa-Firmware-build || exit 29 +cd Prusa-Firmware-build || failures 10 BUILD_PATH="$( pwd -P )" +} +#### End: Set needed Paths -#Check git branch has changed +#### Start: Check git branch has changed +check_branch_changed() +{ if [ "$CLEAN_PF_FW_BUILD" == "1" ]; then read -t 10 -p "Branch changed, cleaning Prusa-Firmware-build folder" rm -r * else echo "Nothing to clean up" fi +} +#### End: Check git branch has changed -for v in ${VARIANTS[*]} -do +#### Start: Prepare code for compiling + +prepare_code_for_compiling() +{ VARIANT=$(basename "$v" ".h") MK404_PRINTER=$(grep --max-count=1 "\bPRINTER_TYPE\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3 | cut -d '_' -f2) # Find firmware version in Configuration.h file and use it to generate the hex filename @@ -797,7 +974,10 @@ do # Find and replace build version in Configuration.h file BUILD_ORG=$(grep --max-count=1 "\bFW_COMMIT_NR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) echo "Original build number: $BUILD_ORG" - sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD/g" $SCRIPT_PATH/Firmware/Configuration.h + if [ "$BUILD_ORG" != "$BUILD" ]; then + echo "New build number : $BUILD" + sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD/g" $SCRIPT_PATH/Firmware/Configuration.h + fi fi # Check if the motherboard is an EINSY and if so only one hex file will generated MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) @@ -852,14 +1032,18 @@ do else DEV_STATUS=$DEV_STATUS_SELECTED fi - #Prepare hex files folders +} +#### End: Prepare code for compiling + +prepare_hex_folders() +{ if [ ! -d "$SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" ]; then - mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD || exit 28 + mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD || failures 9 fi OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$MOTHERBOARD" if [ "$BOARD" != "prusa_einsy_rambo" ]; then if [ ! -d "$SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$BOARD" ]; then - mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$BOARD || exit 28 + mkdir -p $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/$BOARD || failures 9 fi OUTPUT_FOLDER="PF-build-hex/FW$FW-Build$BUILD/$BOARD" fi @@ -895,8 +1079,12 @@ do read -t 10 -p "Press Enter to continue..." fi fi - - #List some useful data +} +#### End: Prepare hex files folder + +#### Start: List usefull data +list_usefull_data() +{ echo "$(tput setaf 2)$(tput setab 7) " echo "Printer :" $MK404_PRINTER echo "Variant :" $VARIANT @@ -912,15 +1100,21 @@ do echo "Hex filename :" $OUTPUT_FILENAME echo "$(tput sgr0)" - #Prepare Firmware to be compiled by copying variant as Configuration_prusa.h +} +#### End: List usefull data + +#### Start: Prepare Firmware to be compiled +prepare_variant_for_compiling() +{ + # Copy variant as Configuration_prusa.h if [ ! -f "$SCRIPT_PATH/Firmware/Configuration_prusa.h" ]; then - cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 31 + cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || failures 12 else echo "$(tput setaf 6)Configuration_prusa.h already exist it will be overwritten in 10 seconds by the chosen variant.$(tput sgr 0)" if [ $OUTPUT == "1" ] ; then read -t 10 -p "Press Enter to continue..." fi - cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 31 + cp -f $SCRIPT_PATH/Firmware/variants/$VARIANT.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || failures 12 fi #Prepare Configuration.h to use the correct FW_DEV_VERSION to prevent LCD messages when connecting with OctoPrint @@ -949,10 +1143,16 @@ do #New fresh PF-Firmware-build if [ "$new_build_flag" == "1" ]; then - rm -r -f $BUILD_PATH/* || exit 54 + rm -r -f $BUILD_PATH/* || failures 13 fi - # Prepare Board mem and flash modifications +} +#### End: Prepare Firmware to be compiled +#### End of Prepare building + +#### Start: Compiling EN Prusa Firmware +compile_en_firmware() +{ ## Check board mem size CURRENT_BOARD_MEM=$(grep "#define RAMEND" $BUILD_ENV_PATH/hardware/tools/avr/avr/include/avr/iom2560.h | sed -e's/.* //g'|cut -d ' ' -f3|tr -d $'\n') if [ $CURRENT_BOARD_MEM != "0x21FF" ] ; then @@ -1042,12 +1242,16 @@ do fi if [ $verbose_IDE == "1" ]; then - $BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || exit 41 + $BUILD_ENV_PATH/arduino-builder -dump-prefs -debug-level 10 -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all $SCRIPT_PATH/Firmware/Firmware.ino || failures 24 fi - $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all -verbose=$verbose_IDE $SCRIPT_PATH/Firmware/Firmware.ino || exit 42 - echo "$(tput sgr 0)" + $BUILD_ENV_PATH/arduino-builder -compile -hardware $ARDUINO/hardware -hardware $ARDUINO/portable/packages -tools $ARDUINO/tools-builder -tools $ARDUINO/hardware/tools/avr -tools $ARDUINO/portable/packages -built-in-libraries $ARDUINO/libraries -libraries $ARDUINO/portable/sketchbook/libraries -fqbn=$BOARD_PACKAGE_NAME:avr:$BOARD -build-path=$BUILD_PATH -warnings=all -verbose=$verbose_IDE $SCRIPT_PATH/Firmware/Firmware.ino || failures 24 +} +#### End: Compiling EN Prusa Firmware - if [ $LANGUAGES == "ALL" ]; then +#### Start: Create and save Multi Language Prusa Firmware +create_multi_firmware() +{ + #if [ $LANGUAGES == "ALL" ]; then echo "$(tput setaf 2)" echo "Building multi language firmware" $MULTI_LANGUAGE_CHECK @@ -1057,7 +1261,7 @@ do fi cd $SCRIPT_PATH/lang echo "$(tput setaf 3)" - ./config.sh || exit 43 + ./config.sh || failures 25 echo "$(tput sgr 0)" # Check if previous languages and firmware build exist and if so clean them up if [ -f "lang_en.tmp" ]; then @@ -1082,11 +1286,11 @@ do fi # build languages echo "$(tput setaf 3)" - ./lang-build.sh || exit 44 + ./lang-build.sh || failures 25 # build community languages - ./lang-community.sh || exit 45 + ./lang-community.sh || failures 25 # Combine compiled firmware with languages - ./fw-build.sh || exit 46 + ./fw-build.sh || failures 25 cp not_tran.txt not_tran_$VARIANT.txt cp not_used.txt not_used_$VARIANT.txt echo "$(tput sgr 0)" @@ -1124,44 +1328,53 @@ do # Cleanup after build if [[ -z "$clean_flag" || "$clean_flag" == "0" ]]; then echo "$(tput setaf 3)" - ./fw-clean.sh || exit 51 - ./lang-clean.sh || exit 52 + ./fw-clean.sh || failures 25 + ./lang-clean.sh || failures 25 echo "$(tput sgr 0)" fi +} +#### End: Create and save Multi Language Prusa Firmware - else +#### Start: Save EN_ONLY language Prusa Firmware +save_en_firmware() +{ + #else echo "$(tput setaf 2)Copying English only firmware to PF-build-hex folder$(tput sgr 0)" - cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.hex || exit 47 + cp -f $BUILD_PATH/Firmware.ino.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.hex || failures 12 echo "$(tput setaf 2)Copying English only elf file to PF-build-hex folder$(tput sgr 0)" - cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.elf || exit 47 - fi + cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.elf || failures 12 + #fi +} +#### End: Save EN_ONLY language Prusa Firmware - # Cleanup Firmware +#### Start: Cleanup Firmware +cleanup_firmware() +{ if [[ -z "$prusa_flag" || "$prusa_flag" == "0" ]]; then - rm $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 53 + rm $SCRIPT_PATH/Firmware/Configuration_prusa.h || failures 13 fi # Delete dupblicates if find $SCRIPT_PATH/lang/ -name '*RAMBo10a*.txt' -printf 1 -quit | grep -q 1 then - rm $SCRIPT_PATH/lang/*RAMBo10a*.txt + rm $SCRIPT_PATH/lang/*RAMBo10a*.txt || failures 13 fi # MK2 not supported in this branch if find $SCRIPT_PATH/lang/ -name '*MK2-RAMBo13a*' -printf 1 -quit | grep -q 1 then - rm $SCRIPT_PATH/lang/*MK2-RAMBo13a*.txt + rm $SCRIPT_PATH/lang/*MK2-RAMBo13a*.txt || failures 13 fi if find $SCRIPT_PATH/lang/ -name 'not_tran.txt' -printf 1 -quit | grep -q 1 then - rm $SCRIPT_PATH/lang/not_tran.txt + rm $SCRIPT_PATH/lang/not_tran.txt || failures 13 fi if find $SCRIPT_PATH/lang/ -name 'not_used.txt' -printf 1 -quit | grep -q 1 then - rm $SCRIPT_PATH/lang/not_used.txt + rm $SCRIPT_PATH/lang/not_used.txt || failures 13 fi #New fresh PF-Firmware-build if [ "$new_build_flag" == "1" ]; then - rm -r -f $BUILD_PATH/* || exit 54 + rm -r -f $BUILD_PATH/* || failures 13 fi # Restore files to previous state @@ -1175,7 +1388,18 @@ do sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE ${MULTI_LANGUAGE_CHECK}/g" $SCRIPT_PATH/Firmware/config.h if [ $OUTPUT == "1" ] ; then - sleep 5 + sleep 2 + fi + #Check for "Configuration.tmp" and delete it + if [ -e "$SCRIPT_PATH/Firmware/Configuration.tmp" ]; then + rm $SCRIPT_PATH/Firmware/Configuration.tmp + fi + #Check for "config.tmp" and delete it + if [ -e "$SCRIPT_PATH/Firmware/config.tmp" ]; then + rm $SCRIPT_PATH/Firmware/config.tmp + fi + if [ $OUTPUT == "1" ] ; then + sleep 2 fi # Restore build env files to previous state @@ -1183,29 +1407,78 @@ do sed -i -- "s/^prusa_einsy_rambo.upload.maximum_size.*/prusa_einsy_rambo.upload.maximum_size=253952/g" $BUILD_ENV_PATH/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION/boards.txt sed -i -- "s/^#define RAMEND.*/#define RAMEND 0x21FF/g" $BUILD_ENV_PATH/hardware/tools/avr/avr/include/avr/iom2560.h -done +} +#### End: Prepare code for compiling +#done -# Switch to hex path and list build files +#### Start: Finish script +# List hex path and list build files +finish_pf-build() +{ cd $SCRIPT_PATH +cd .. echo "$(tput setaf 2) " echo " " +failures 0 echo "Build done, please use Slic3rPE > 1.41.0 to upload the firmware" echo "more information how to flash firmware https://www.prusa3d.com/drivers/ $(tput sgr 0)" -#### End building +echo +echo "Files:" +ls -r -h $SCRIPT_PATH/../PF-build-hex/FW$FW-Build$BUILD/* +} +#### End: Finish script +#### End: building -#### MK404 Simulator - +####Start: MK404 Simulator +MK404_SIM() +{ +cd $SCRIPT_PATH # Check/compile MK404 sim -if [ ! -z "$mk404_flag" ]; then +if [[ "$output_flag" == "1" || -z "$output_flag" ]]; then + if [[ -z "$mk404_flag" && "$VARIANTS" != "All " ]]; then + echo + read -t 10 -n 1 -p "Do you want to start MK404? Y/$(tput setaf 2)n$(tput sgr 0)" mk404_start + if [ "$mk404_start" == "Y" ]; then + echo + read -t 10 -n 1 -p "Do you want to start MK404 with or without MMU2S? $(tput setaf 2)1$(tput sgr 0)/2" mk404_choose1 + if [ "$mk404_choose1" == "1" ]; then + mk404_flag=1 + elif [ "$mk404_choose1" == "2" ]; then + mk404_flag=2 + fi + echo + echo "Choose MK404 graphics" + echo "0 = no graphics" + echo "1 = lite" + echo "2 = fancy" + echo "3 = lite with Quad_HR" + echo "4 = fancy lite with Quad_HR" + read -t 10 -n 1 -p "Which one do you want? $(tput setaf 2)1$(tput sgr 0)/2/3/4" mk404_choose2 + if [ "$mk404_choose2" == "1" ]; then + mk404_graphics_flag=1 + elif [ "$mk404_choose2" == "2" ]; then + mk404_graphics_flag=2 + elif [ "$mk404_choose2" == "3" ]; then + mk404_graphics_flag=3 + elif [ "$mk404_choose2" == "4" ]; then + mk404_graphics_flag=4 + fi + fi + echo + fi +fi + +# For MMU2S + if [[ "$mk404_flag" == "2" || "$mk404_flag" == "MMU2" || "$mk404_flag" == "MMU2S" ]]; then # Check if MMU2 is selected only for MK3/S + mk404_flag=2 + fi + +if [[ ! -z "$mk404_flag" && "$VARIANTS" != "All " ]]; then # For Prusa MK2, MK2.5/S if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then MK404_PRINTER="${MK404_PRINTER}_mR13" - else - if [[ "$mk404_flag" == "2" || "$mk404_flag" == "MMU2" || "$mk404_flag" == "MMU2S" ]]; then # Check if MMU2 is selected only for MK3/S - MK404_PRINTER="${MK404_PRINTER}MMU2" - fi fi # Run MK404 with 'debugcore' and/or 'bootloader-file' @@ -1217,11 +1490,11 @@ if [ ! -z "$mk404_flag" ]; then fi # Run MK404 with graphics - if [ ! -z "$graphics_flag" ]; then - if [[ "$graphics_flag" == "1" || "$graphics_flag" == "2" || "$graphics_flag" == "3" || "$graphics_flag" == "4" ]]; then - MK404_options="${MK404_options} -g $graphics_flag" + if [ ! -z "$mk404_graphics_flag" ]; then + if [[ "$mk404_graphics_flag" == "1" || "$mk404_graphics_flag" == "2" || "$mk404_graphics_flag" == "3" || "$mk404_graphics_flag" == "4" ]]; then + MK404_options="${MK404_options} -g $mk404_graphics_flag" else - echo "$(tput setaf 1)Unsupported MK404 graphics option $graphics_flag$(tput sgr 0)" + echo "$(tput setaf 1)Unsupported MK404 graphics option $mk404_graphics_flag$(tput sgr 0)" fi fi @@ -1229,7 +1502,7 @@ if [ ! -z "$mk404_flag" ]; then echo "Printer: $MK404_PRINTER" echo "Options: $MK404_options" echo "" - read -t 5 -p "Press $(tput setaf 2)Enter$(tput sgr 0) to start MK404" + #read -t 5 -p "Press $(tput setaf 2)Enter$(tput sgr 0) to start MK404" echo "" # Change to MK404 build folder @@ -1237,11 +1510,11 @@ if [ ! -z "$mk404_flag" ]; then #Decide which hex file to use EN_ONLY or Multi language -if [ "$LANGUAGES" == "ALL" ]; then - MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex -else - MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.hex -fi + if [ "$LANGUAGES" == "ALL" ]; then + MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex + else + MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.hex + fi # Start MK404 # default with serial output and terminal to manipulate it via terminal @@ -1251,8 +1524,61 @@ fi #./MK404 Prusa_$MK404_PRINTER -s --terminal $MK404_options -f $MK404_firmware_file || exit 62 echo "" echo "./MK404-build.sh -m $mk404_flag -p $MK404_PRINTER $MK404_options -f $MK404_firmware_file" - sleep 5 - ./MK404-build.sh -m $mk404_flag -p $MK404_PRINTER $MK404_options -f $MK404_firmware_file|| exit 61 - + if [ $OUTPUT == "1" ] ; then + sleep 2 + fi + ./MK404-build.sh -m $mk404_flag -p $MK404_PRINTER $MK404_options -f $MK404_firmware_file|| failures 25 fi -#### End of MK404 Simulator +} +#### End: MK404 Simulator + + +#### Check OS and needed apps +echo "Check OS" +check_OS +check_wget +check_zip +check_python +check_gawk + +#### Check for options/flags +echo "Check for options" + +#### Prepare build environment +echo "Prepare build env" +get_arguments +set_build_env_variables +output_useful_data +check_create_build_folders + +#### Download/set needed apps and dependencies +download_prepare_arduinoIDE +portable_ArduinoIDE +change_ArduinoIDEpreferances +download_prepare_Prusa_build_files +check_ArduinoIDE_User_interaction + +#### Start +set_paths +check_branch_changed + +for v in ${VARIANTS[*]} +do + check_script_failed_nr1 + check_script_failed_nr2 + make_backup1 + make_backup2 + prepare_code_for_compiling + prepare_hex_folders + list_usefull_data + prepare_variant_for_compiling + compile_en_firmware + if [ $LANGUAGES == "ALL" ]; then + create_multi_firmware + else + save_en_firmware + fi + cleanup_firmware +done +finish_pf-build +MK404_SIM From 17d7fdf333475b001d4a50b15165b1b6b4fd949d Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 24 Jun 2021 05:50:20 +0200 Subject: [PATCH 041/234] Fix MK404 user interaction not to show if compiling 'All' variants --- PF-build.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/PF-build.sh b/PF-build.sh index 94a452239..22a8ada54 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 2.0.0-Build_59 +# Version: 2.0.0-Build_60 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -163,6 +163,7 @@ # Restore original `Configuration.h` and `config.h` in case of cannceled script or failed compiling during next start of this script. # use function # 23 Jun 2021, 3d-gussner, Improve MK404 usage +# 24 Jun 2021, 3d-gussner, Fix MK404 user interaction not to show if compiling 'All' variants SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" @@ -382,7 +383,7 @@ while getopts b:c:d:g:h:i:j:l:m:n:o:p:v:x:y:?h flag # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* PF-build.sh Version: 2.0.0-Build_59 *" +echo "* PF-build.sh Version: 2.0.0-Build_60 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number" @@ -806,6 +807,7 @@ if [ -z "$variant_flag" ] ; then "All") VARIANT="All" VARIANTS=${options[*]} + variant_flag="All" break ;; "Quit") @@ -1436,7 +1438,7 @@ MK404_SIM() cd $SCRIPT_PATH # Check/compile MK404 sim if [[ "$output_flag" == "1" || -z "$output_flag" ]]; then - if [[ -z "$mk404_flag" && "$VARIANTS" != "All " ]]; then + if [[ -z "$mk404_flag" && "$variant_flag" != "All" ]]; then echo read -t 10 -n 1 -p "Do you want to start MK404? Y/$(tput setaf 2)n$(tput sgr 0)" mk404_start if [ "$mk404_start" == "Y" ]; then @@ -1474,7 +1476,7 @@ fi mk404_flag=2 fi -if [[ ! -z "$mk404_flag" && "$VARIANTS" != "All " ]]; then +if [[ ! -z "$mk404_flag" && "$variant_flag" != "All " ]]; then # For Prusa MK2, MK2.5/S if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then From 9fd9ce34a9f74bfc923b9d5432f943c1424cc84a Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 24 Jun 2021 07:29:54 +0200 Subject: [PATCH 042/234] MK404 is only supported on Linux at this moment. --- PF-build.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/PF-build.sh b/PF-build.sh index 22a8ada54..f091d045f 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 2.0.0-Build_60 +# Version: 2.0.0-Build_61 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -164,6 +164,7 @@ # use function # 23 Jun 2021, 3d-gussner, Improve MK404 usage # 24 Jun 2021, 3d-gussner, Fix MK404 user interaction not to show if compiling 'All' variants +# 24 Jun 2021, 3d-gussner, MK404 is only supported on Linux at this moment. SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" @@ -383,7 +384,7 @@ while getopts b:c:d:g:h:i:j:l:m:n:o:p:v:x:y:?h flag # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* PF-build.sh Version: 2.0.0-Build_60 *" +echo "* PF-build.sh Version: 2.0.0-Build_61 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number" @@ -1583,4 +1584,6 @@ do cleanup_firmware done finish_pf-build -MK404_SIM +if [ $TARGET_OS == "linux" ]; then + MK404_SIM +fi \ No newline at end of file From 153de8e1dbe7d64f8465d6151b54950ae6e22ec0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 10 Jul 2021 17:01:13 +0000 Subject: [PATCH 043/234] Remove redundant lines --- Firmware/ultralcd.cpp | 4 +--- Firmware/ultralcd.h | 11 ----------- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 81fef9674..9df919af7 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -241,9 +241,7 @@ static void lcd_detect_IRsensor(); #endif //IR_SENSOR_ANALOG static void lcd_selftest_error(TestError error, const char *_error_1, const char *_error_2); static void lcd_colorprint_change(); -#ifdef SNMM -static int get_ext_nr(); -#endif //SNMM + #if defined (SNMM) || defined(SNMM_V2) static void fil_load_menu(); static void fil_unload_menu(); diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 68b933d02..5e39b34db 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -162,15 +162,6 @@ void lcd_commands(); extern bool bSettings; // flag (i.e. 'fake parameter') for 'lcd_hw_setup_menu()' function void lcd_hw_setup_menu(void); // NOT static due to using inside "util" module ("nozzle_diameter_check()") - -void change_extr(int extr); - -#ifdef SNMM -void extr_unload_all(); -void extr_unload_used(); -#endif //SNMM -void extr_unload(); - enum class FilamentAction : uint_least8_t { None, //!< 'none' state is used as flag for (filament) autoLoad (i.e. opposite for 'autoLoad' state) @@ -218,8 +209,6 @@ void lcd_pinda_calibration_menu(); void lcd_calibrate_pinda(); void lcd_temp_calibration_set(); -void display_loading(); - void lcd_set_degree(); #if (LANG_MODE != 0) From 4580b8a78cd3e3cde543be1269348c8be1f825cc Mon Sep 17 00:00:00 2001 From: "D.R.racer" Date: Fri, 16 Jul 2021 07:37:11 +0200 Subject: [PATCH 044/234] Version changed (3.10.1 build 4587) --- Firmware/Configuration.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index efdc63ee8..76daa96c0 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -18,10 +18,10 @@ extern PGM_P sPrinterName; // Firmware version #define FW_MAJOR 3 #define FW_MINOR 10 -#define FW_REVISION 0 -#define FW_VERSION STR(FW_MAJOR) "." STR(FW_MINOR) "." STR(FW_REVISION) +#define FW_REVISION 1 +#define FW_VERSION STR(FW_MAJOR) "." STR(FW_MINOR) "." STR(FW_REVISION) "-RC1" -#define FW_COMMIT_NR 4481 +#define FW_COMMIT_NR 4587 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. From ffb74126373fedfebc132944501398a99a633b9e Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Sat, 17 Jul 2021 19:06:58 +0200 Subject: [PATCH 045/234] Fix fresh build --- MK404-build.sh | 9 ++++++++- PF-build.sh | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index b2efcd690..79c191df4 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -305,9 +305,16 @@ if [ "$update_flag" == "1" ]; then fi # Prepare MK404 -mkdir -p $MK404_BUILD_PATH +if [ ! -d $MK404_BUILD_PATH ]; then + mkdir -p $MK404_BUILD_PATH +fi + if [[ ! -f "$MK404_BUILD_PATH/Makefile" || "$new_build_flag" == "1" ]]; then # Init and update submodules + if [ -d $MK404_BUILD_PATH ]; then + rm -rf $MK404_BUILD_PATH + mkdir -p $MK404_BUILD_PATH + fi git submodule init git submodule update cmake -B$MK404_BUILD_PATH -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" diff --git a/PF-build.sh b/PF-build.sh index f091d045f..5cc0b34e2 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -1449,6 +1449,8 @@ if [[ "$output_flag" == "1" || -z "$output_flag" ]]; then mk404_flag=1 elif [ "$mk404_choose1" == "2" ]; then mk404_flag=2 + else + mk404_flag=1 #default fi echo echo "Choose MK404 graphics" @@ -1457,7 +1459,7 @@ if [[ "$output_flag" == "1" || -z "$output_flag" ]]; then echo "2 = fancy" echo "3 = lite with Quad_HR" echo "4 = fancy lite with Quad_HR" - read -t 10 -n 1 -p "Which one do you want? $(tput setaf 2)1$(tput sgr 0)/2/3/4" mk404_choose2 + read -t 10 -n 1 -p "Which one do you want? $(tput setaf 2)0$(tput sgr 0)/1/2/3/4" mk404_choose2 if [ "$mk404_choose2" == "1" ]; then mk404_graphics_flag=1 elif [ "$mk404_choose2" == "2" ]; then @@ -1466,6 +1468,10 @@ if [[ "$output_flag" == "1" || -z "$output_flag" ]]; then mk404_graphics_flag=3 elif [ "$mk404_choose2" == "4" ]; then mk404_graphics_flag=4 + elif [ "$mk404_choose2" == "0" ]; then + mk404_graphics_flag="" + else + mk404_graphics_flag="" #default fi fi echo From 16602f40033d280fcc4853dc25a56a52c2fb14e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Thu, 24 Jun 2021 17:02:18 +0000 Subject: [PATCH 046/234] change boolean to bool --- Firmware/Marlin_main.cpp | 4 ++-- Firmware/Servo.cpp | 2 +- Firmware/cmdqueue.cpp | 2 +- Firmware/cmdqueue.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d1bc83a15..0ea90a257 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -375,7 +375,7 @@ bool target_direction; //Insert variables if CHDK is defined #ifdef CHDK unsigned long chdkHigh = 0; -boolean chdkActive = false; +bool chdkActive = false; #endif //! @name RAM save/restore printing @@ -9091,7 +9091,7 @@ Sigma_Exit: } else { #if EXTRUDERS > 1 - boolean make_move = false; + bool make_move = false; #endif if (code_seen('F')) { #if EXTRUDERS > 1 diff --git a/Firmware/Servo.cpp b/Firmware/Servo.cpp index 5f8c7efe3..bcb4b074f 100644 --- a/Firmware/Servo.cpp +++ b/Firmware/Servo.cpp @@ -231,7 +231,7 @@ static void finISR(timer16_Sequence_t timer) #endif } -static boolean isTimerActive(timer16_Sequence_t timer) +static bool isTimerActive(timer16_Sequence_t timer) { // returns true if any servo is active on this timer for(uint8_t channel=0; channel < SERVOS_PER_TIMER; channel++) { diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index 3bde33362..b4ea9be41 100755 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -23,7 +23,7 @@ bool cmdbuffer_front_already_processed = false; bool cmdqueue_serial_disabled = false; int serial_count = 0; //index of character read from serial line -boolean comment_mode = false; +bool comment_mode = false; char *strchr_pointer; // just a pointer to find chars in the command string like X, Y, Z, E, etc unsigned long TimeSent = _millis(); diff --git a/Firmware/cmdqueue.h b/Firmware/cmdqueue.h index bb9e174dc..dfd2fee9b 100644 --- a/Firmware/cmdqueue.h +++ b/Firmware/cmdqueue.h @@ -49,7 +49,7 @@ extern bool cmdqueue_serial_disabled; extern uint32_t sdpos_atomic; extern int serial_count; -extern boolean comment_mode; +extern bool comment_mode; extern char *strchr_pointer; extern unsigned long TimeSent; From 710852a1f28d08a43a51daffd6fb5a1958cbeaa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Mon, 19 Jul 2021 18:02:40 +0000 Subject: [PATCH 047/234] Change nrFiles from int16_t to uint16_t --- Firmware/cardreader.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/cardreader.h b/Firmware/cardreader.h index f7e3acc94..617f35124 100644 --- a/Firmware/cardreader.h +++ b/Firmware/cardreader.h @@ -135,7 +135,7 @@ private: bool autostart_stilltocheck; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware. - int16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory. + uint16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory. char* diveDirName; bool diveSubfolder (const char *&fileName); From 31b913cddb36f9df03c7d8cebea22303b8d3fcf7 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sun, 4 Jul 2021 17:03:45 +0200 Subject: [PATCH 048/234] Correct the C implementation for MultiU16X8toH16 The comment behind the ASM MultiU16X8toH16 was misleading. It actually computes ((a<<8)*b)>>16, or (a*b)>>8. Correct the comment and C reference implementation accordingly. --- Firmware/speed_lookuptable.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/speed_lookuptable.h b/Firmware/speed_lookuptable.h index 21c6c767f..b72eb18b8 100644 --- a/Firmware/speed_lookuptable.h +++ b/Firmware/speed_lookuptable.h @@ -8,7 +8,7 @@ extern const uint16_t speed_lookuptable_slow[256][2] PROGMEM; #ifndef _NO_ASM -// intRes = intIn1 * intIn2 >> 16 +// intRes = intIn1 * intIn2 >> 8 // uses: // r26 to store 0 // r27 to store the byte 1 of the 24 bit result @@ -82,7 +82,7 @@ asm volatile ( \ static inline void MultiU16X8toH16(uint16_t& intRes, uint8_t& charIn1, uint16_t& intIn2) { - intRes = ((uint32_t)charIn1 * (uint32_t)intIn2) >> 16; + intRes = ((uint32_t)charIn1 * (uint32_t)intIn2) >> 8; } static inline void MultiU24X24toH16(uint16_t& intRes, uint32_t& longIn1, uint32_t& longIn2) From d853c19a2146b7b1e5af11ed5a6422f1800cc544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Fri, 2 Jul 2021 17:07:01 +0000 Subject: [PATCH 049/234] Use fabs() instead of abs() when using floats This saves 514 bytes of flash memory --- Firmware/Marlin_main.cpp | 8 ++++---- Firmware/mesh_bed_calibration.cpp | 4 ++-- Firmware/planner.cpp | 2 +- Firmware/temperature.cpp | 2 +- Firmware/ultralcd.cpp | 12 ++++++------ 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 0ea90a257..6de0e3df7 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5503,7 +5503,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) plan_buffer_line_curposXYZE(3000 / 60); st_synchronize(); - while (abs(degBed() - PINDA_MIN_T) > 1) { + while (fabs(degBed() - PINDA_MIN_T) > 1) { delay_keep_alive(1000); serialecho_temperatures(); } @@ -9694,7 +9694,7 @@ void mesh_plan_buffer_line(const float &x, const float &y, const float &z, const int n_segments = 0; if (mbl.active) { - float len = abs(dx) + abs(dy); + float len = fabs(dx) + fabs(dy); if (len > 0) // Split to 3cm segments or shorter. n_segments = int(ceil(len / 30.f)); @@ -11240,7 +11240,7 @@ void uvlo_tiny() planner_abort_hard(); // Allow for small roundoffs to be ignored - if(abs(current_position[Z_AXIS] - eeprom_read_float((float*)(EEPROM_UVLO_TINY_CURRENT_POSITION_Z))) >= 1.f/cs.axis_steps_per_unit[Z_AXIS]) + if(fabs(current_position[Z_AXIS] - eeprom_read_float((float*)(EEPROM_UVLO_TINY_CURRENT_POSITION_Z))) >= 1.f/cs.axis_steps_per_unit[Z_AXIS]) { // Clean the input command queue, inhibit serial processing using saved_printing cmdqueue_reset(); @@ -12028,7 +12028,7 @@ void M600_wait_for_user(float HotendTempBckp) { break; case 2: //waiting for nozzle to reach target temperature - if (abs(degTargetHotend(active_extruder) - degHotend(active_extruder)) < 1) { + if (fabs(degTargetHotend(active_extruder) - degHotend(active_extruder)) < 1) { lcd_display_message_fullscreen_P(_T(MSG_PRESS_TO_UNLOAD)); waiting_start_time = _millis(); wait_for_user_state = 0; diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index ef83e5735..6ddf31ff0 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -993,7 +993,7 @@ bool find_bed_induction_sensor_point_z(float minimum_z, uint8_t n_iter, int // we have to let the planner know where we are right now as it is not where we said to go. update_current_position_z(); //printf_P(PSTR("Zs: %f, Z: %f, delta Z: %f"), z_bckp, current_position[Z_AXIS], (z_bckp - current_position[Z_AXIS])); - if (abs(current_position[Z_AXIS] - z_bckp) < 0.025) { + if (fabs(current_position[Z_AXIS] - z_bckp) < 0.025) { //printf_P(PSTR("PINDA triggered immediately, move Z higher and repeat measurement\n")); current_position[Z_AXIS] += 0.5; go_to_current(homing_feedrate[Z_AXIS]/60); @@ -1019,7 +1019,7 @@ bool find_bed_induction_sensor_point_z(float minimum_z, uint8_t n_iter, int // SERIAL_ECHOPGM("Bed find_bed_induction_sensor_point_z low, height: "); // MYSERIAL.print(current_position[Z_AXIS], 5); // SERIAL_ECHOLNPGM(""); - float dz = i?abs(current_position[Z_AXIS] - (z / i)):0; + float dz = i?fabs(current_position[Z_AXIS] - (z / i)):0; z += current_position[Z_AXIS]; //printf_P(PSTR("Z[%d] = %d, dz=%d\n"), i, (int)(current_position[Z_AXIS] * 1000), (int)(dz * 1000)); //printf_P(PSTR("Z- measurement deviation from avg value %f um\n"), dz); diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index b6d012b24..d5a2a4e5c 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -1095,7 +1095,7 @@ Having the real displacement of the head, we can calculate the total movement le */ block->use_advance_lead = extruder_advance_K > 0 && delta_mm[E_AXIS] >= 0 - && abs(delta_mm[Z_AXIS]) < 0.5; + && fabs(delta_mm[Z_AXIS]) < 0.5; if (block->use_advance_lead) { #ifdef LA_FLOWADJ // M221/FLOW should change uniformly the extrusion thickness diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 3765589b8..3fd48b4fd 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -472,7 +472,7 @@ void __attribute__((noinline)) PID_autotune(float temp, int extruder, int ncycle //SERIAL_ECHOPGM("s. Difference between current and ambient T: "); //MYSERIAL.println(input - temp_ambient); - if (abs(input - temp_ambient) < 5.0) { + if (fabs(input - temp_ambient) < 5.0) { temp_runaway_stop(false, (extruder<0)); pid_tuning_finished = true; return; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 81fef9674..273c25380 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -4794,7 +4794,7 @@ static void wait_preheat() delay_keep_alive(2000); lcd_display_message_fullscreen_P(_T(MSG_WIZARD_HEATING)); lcd_set_custom_characters(); - while (abs(degHotend(0) - degTargetHotend(0)) > 3) { + while (fabs(degHotend(0) - degTargetHotend(0)) > 3) { lcd_display_message_fullscreen_P(_T(MSG_WIZARD_HEATING)); lcd_set_cursor(0, 4); @@ -7760,7 +7760,7 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) { eeprom_write_word(((uint16_t*)((axis == X_AXIS)?EEPROM_BELTSTATUS_X:EEPROM_BELTSTATUS_Y)), sg1); current_position_final = st_get_position_mm(axis); - measured_axis_length[0] = abs(current_position_final - current_position_init); + measured_axis_length[0] = fabs(current_position_final - current_position_init); // first measurement end and second measurement begin @@ -7777,7 +7777,7 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) { current_position_init = st_get_position_mm(axis); - measured_axis_length[1] = abs(current_position_final - current_position_init); + measured_axis_length[1] = fabs(current_position_final - current_position_init); tmc2130_home_exit(); @@ -7785,7 +7785,7 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) { for(uint_least8_t i = 0; i < 2; i++){ //check if measured axis length corresponds to expected length printf_P(_N("Measured axis length:%.3f\n"), measured_axis_length[i]); - if (abs(measured_axis_length[i] - axis_length) > max_error_mm) { + if (fabs(measured_axis_length[i] - axis_length) > max_error_mm) { enable_endstops(false); const char *_error_1; @@ -7804,9 +7804,9 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) { } } - printf_P(_N("Axis length difference:%.3f\n"), abs(measured_axis_length[0] - measured_axis_length[1])); + printf_P(_N("Axis length difference:%.3f\n"), fabs(measured_axis_length[0] - measured_axis_length[1])); - if (abs(measured_axis_length[0] - measured_axis_length[1]) > 1) { //check if difference between first and second measurement is low + if (fabs(measured_axis_length[0] - measured_axis_length[1]) > 1) { //check if difference between first and second measurement is low //loose pulleys const char *_error_1; From 1888c783cb710f715866c43d823c343eb70410de Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 29 Jun 2021 11:32:40 +0200 Subject: [PATCH 050/234] Print an error on unknown D-codes This follows the same convention of M/G codes, so that the user knowns that the D-code has been either handled or ignored. --- Firmware/Marlin_main.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 6de0e3df7..68e4ad4dd 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -9521,6 +9521,9 @@ Sigma_Exit: #endif //FILAMENT_SENSOR #endif //DEBUG_DCODES + + default: + printf_P(PSTR("Unknown D code: %s\n"), cmdbuffer + bufindr + CMDHDRSIZE); } } From 47b1e6ccefa2b9c12ca647ec4e55d248d1611446 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 29 Jun 2021 11:33:58 +0200 Subject: [PATCH 051/234] Remove spourious trailing whitespace in errors --- Firmware/Marlin_main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 68e4ad4dd..d0b7522c9 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5810,7 +5810,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) fCheckModeInit(); // alternatively invoke printer reset break; default: - printf_P(PSTR("Unknown G code: %s \n"), cmdbuffer + bufindr + CMDHDRSIZE); + printf_P(PSTR("Unknown G code: %s\n"), cmdbuffer + bufindr + CMDHDRSIZE); } // printf_P(_N("END G-CODE=%u\n"), gcode_in_progress); gcode_in_progress = 0; @@ -5833,7 +5833,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) /*for (++strchr_pointer; *strchr_pointer == ' ' || *strchr_pointer == '\t'; ++strchr_pointer);*/ if (*(strchr_pointer+index) < '0' || *(strchr_pointer+index) > '9') { - printf_P(PSTR("Invalid M code: %s \n"), cmdbuffer + bufindr + CMDHDRSIZE); + printf_P(PSTR("Invalid M code: %s\n"), cmdbuffer + bufindr + CMDHDRSIZE); } else { @@ -8936,7 +8936,7 @@ Sigma_Exit: #### End of M-Commands */ default: - printf_P(PSTR("Unknown M code: %s \n"), cmdbuffer + bufindr + CMDHDRSIZE); + printf_P(PSTR("Unknown M code: %s\n"), cmdbuffer + bufindr + CMDHDRSIZE); } // printf_P(_N("END M-CODE=%u\n"), mcode_in_progress); mcode_in_progress = 0; From d04ea859fb3a55e04dadc1025abbae7db9e5a56e Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Fri, 2 Jul 2021 22:22:52 +0200 Subject: [PATCH 052/234] Consolidate "Unknown X-Code" to save 16 bytes --- Firmware/Marlin_main.cpp | 6 +++--- Firmware/messages.c | 1 + Firmware/messages.h | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d0b7522c9..8131c4a97 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5810,7 +5810,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) fCheckModeInit(); // alternatively invoke printer reset break; default: - printf_P(PSTR("Unknown G code: %s\n"), cmdbuffer + bufindr + CMDHDRSIZE); + printf_P(MSG_UNKNOWN_CODE, 'G', cmdbuffer + bufindr + CMDHDRSIZE); } // printf_P(_N("END G-CODE=%u\n"), gcode_in_progress); gcode_in_progress = 0; @@ -8936,7 +8936,7 @@ Sigma_Exit: #### End of M-Commands */ default: - printf_P(PSTR("Unknown M code: %s\n"), cmdbuffer + bufindr + CMDHDRSIZE); + printf_P(MSG_UNKNOWN_CODE, 'M', cmdbuffer + bufindr + CMDHDRSIZE); } // printf_P(_N("END M-CODE=%u\n"), mcode_in_progress); mcode_in_progress = 0; @@ -9523,7 +9523,7 @@ Sigma_Exit: #endif //DEBUG_DCODES default: - printf_P(PSTR("Unknown D code: %s\n"), cmdbuffer + bufindr + CMDHDRSIZE); + printf_P(MSG_UNKNOWN_CODE, 'D', cmdbuffer + bufindr + CMDHDRSIZE); } } diff --git a/Firmware/messages.c b/Firmware/messages.c index 6248cbe84..486d78ccd 100644 --- a/Firmware/messages.c +++ b/Firmware/messages.c @@ -204,3 +204,4 @@ const char MSG_M112_KILL[] PROGMEM_N1 = "M112 called. Emergency Stop."; ////c=20 const char MSG_ADVANCE_K[] PROGMEM_N1 = "Advance K:"; ////c=13 const char MSG_POWERPANIC_DETECTED[] PROGMEM_N1 = "POWER PANIC DETECTED"; ////c=20 const char MSG_LCD_STATUS_CHANGED[] PROGMEM_N1 = "LCD status changed"; +const char MSG_UNKNOWN_CODE[] PROGMEM_N1 = "Unknown %c code: %s\n"; diff --git a/Firmware/messages.h b/Firmware/messages.h index dfac1c7c6..e12a4d187 100644 --- a/Firmware/messages.h +++ b/Firmware/messages.h @@ -204,6 +204,7 @@ extern const char MSG_M112_KILL[]; extern const char MSG_ADVANCE_K[]; extern const char MSG_POWERPANIC_DETECTED[]; extern const char MSG_LCD_STATUS_CHANGED[]; +extern const char MSG_UNKNOWN_CODE[]; #if defined(__cplusplus) } From bbe62b136a16ed2ae01cc32114bd951ad848df77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 26 Jun 2021 08:47:03 +0000 Subject: [PATCH 053/234] Remove unused Sound_Save() function declaration --- Firmware/sound.h | 1 - 1 file changed, 1 deletion(-) diff --git a/Firmware/sound.h b/Firmware/sound.h index a80d01550..ab053a050 100644 --- a/Firmware/sound.h +++ b/Firmware/sound.h @@ -19,7 +19,6 @@ extern eSOUND_MODE eSoundMode; extern void Sound_Init(void); extern void Sound_Default(void); -extern void Sound_Save(void); extern void Sound_CycleState(void); extern void Sound_MakeSound(eSOUND_TYPE eSoundType); extern void Sound_MakeCustom(uint16_t ms,uint16_t tone_ ,bool critical); From 538ce06bf036eb45b0b3bbef6fa50bd694f0c3a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 27 Jun 2021 09:31:38 +0000 Subject: [PATCH 054/234] Remove unused function lcd_choose_color() --- Firmware/ultralcd.cpp | 79 ------------------------------------------- Firmware/ultralcd.h | 1 - 2 files changed, 80 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 273c25380..658e6b01f 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -6326,85 +6326,6 @@ void unload_filament(bool automatic) } -unsigned char lcd_choose_color() { - //function returns index of currently chosen item - //following part can be modified from 2 to 255 items: - //----------------------------------------------------- - unsigned char items_no = 2; - const char *item[items_no]; - item[0] = "Orange"; - item[1] = "Black"; - //----------------------------------------------------- - uint_least8_t active_rows; - static int first = 0; - int enc_dif = 0; - unsigned char cursor_pos = 1; - enc_dif = lcd_encoder_diff; - lcd_clear(); - lcd_putc_at(0, 1, '>'); - - active_rows = items_no < 3 ? items_no : 3; - lcd_consume_click(); - while (1) { - lcd_puts_at_P(0, 0, PSTR("Choose color:")); - for (uint_least8_t i = 0; i < active_rows; i++) { - lcd_set_cursor(1, i+1); - lcd_print(item[first + i]); - } - - manage_heater(); - manage_inactivity(true); - proc_commands(); - if (abs((enc_dif - lcd_encoder_diff)) > 12) { - - if (enc_dif > lcd_encoder_diff) { - cursor_pos--; - } - - if (enc_dif < lcd_encoder_diff) { - cursor_pos++; - } - - if (cursor_pos > active_rows) { - cursor_pos = active_rows; - Sound_MakeSound(e_SOUND_TYPE_BlindAlert); - if (first < items_no - active_rows) { - first++; - lcd_clear(); - } - } - - if (cursor_pos < 1) { - cursor_pos = 1; - Sound_MakeSound(e_SOUND_TYPE_BlindAlert); - if (first > 0) { - first--; - lcd_clear(); - } - } - lcd_putc_at(0, 1, ' '); - lcd_putc_at(0, 2, ' '); - lcd_putc_at(0, 3, ' '); - lcd_putc_at(0, cursor_pos, '>'); - Sound_MakeSound(e_SOUND_TYPE_EncoderMove); - enc_dif = lcd_encoder_diff; - _delay(100); - - } - - if (lcd_clicked()) { - Sound_MakeSound(e_SOUND_TYPE_ButtonEcho); - switch(cursor_pos + first - 1) { - case 0: return 1; break; - case 1: return 0; break; - default: return 99; break; - } - } - - } - -} - #include "xflash.h" #ifdef LCD_TEST diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 68b933d02..1f0577618 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -42,7 +42,6 @@ void lcd_pause_usb_print(); void lcd_resume_print(); void lcd_print_stop(); void prusa_statistics(int _message, uint8_t _col_nr = 0); -unsigned char lcd_choose_color(); void lcd_load_filament_color_check(); //void lcd_mylang(); From eb9c8c8c20c66f7ab9156124803b5304952ab446 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Thu, 24 Jun 2021 17:20:55 +0000 Subject: [PATCH 055/234] Improve mc_arc() parameters - Make the mc_arc() function declaration consistent with the definition - isclockwise is supposed to be bool type, given how it is used. --- Firmware/Marlin.h | 2 +- Firmware/Marlin_main.cpp | 2 +- Firmware/motion_control.cpp | 2 +- Firmware/motion_control.h | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index c2c5ca933..9bda145b8 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -246,7 +246,7 @@ void finishAndDisableSteppers(); //put an ASCII command at the begin of the current buffer, read from flash #define enquecommand_front_P(cmd) enquecommand_front(cmd, true) -void prepare_arc_move(char isclockwise); +void prepare_arc_move(bool isclockwise); void clamp_to_software_endstops(float target[3]); void refresh_cmd_timeout(void); diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 8131c4a97..023b646fa 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -9751,7 +9751,7 @@ void prepare_move() set_current_to_destination(); } -void prepare_arc_move(char isclockwise) { +void prepare_arc_move(bool isclockwise) { float r = hypot(offset[X_AXIS], offset[Y_AXIS]); // Compute arc radius for mc_arc // Trace the arc diff --git a/Firmware/motion_control.cpp b/Firmware/motion_control.cpp index b26cbafc8..91d0bc641 100644 --- a/Firmware/motion_control.cpp +++ b/Firmware/motion_control.cpp @@ -26,7 +26,7 @@ // The arc is approximated by generating a huge number of tiny, linear segments. The length of each // segment is configured in settings.mm_per_arc_segment. void mc_arc(float *position, float *target, float *offset, uint8_t axis_0, uint8_t axis_1, - uint8_t axis_linear, float feed_rate, float radius, uint8_t isclockwise, uint8_t extruder) + uint8_t axis_linear, float feed_rate, float radius, bool isclockwise, uint8_t extruder) { // int acceleration_manager_was_enabled = plan_is_acceleration_manager_enabled(); // plan_set_acceleration_manager_enabled(false); // disable acceleration management for the duration of the arc diff --git a/Firmware/motion_control.h b/Firmware/motion_control.h index ca50f8098..8f5f6fff6 100644 --- a/Firmware/motion_control.h +++ b/Firmware/motion_control.h @@ -26,7 +26,7 @@ // offset == offset from current xyz, axis_XXX defines circle plane in tool space, axis_linear is // the direction of helical travel, radius == circle radius, isclockwise boolean. Used // for vector transformation direction. -void mc_arc(float *position, float *target, float *offset, unsigned char axis_0, unsigned char axis_1, - unsigned char axis_linear, float feed_rate, float radius, unsigned char isclockwise, uint8_t extruder); +void mc_arc(float *position, float *target, float *offset, uint8_t axis_0, uint8_t axis_1, + uint8_t axis_linear, float feed_rate, float radius, bool isclockwise, uint8_t extruder); #endif From 31c8e4bc4c3857e9546706f599d87e6902b0c157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 19 Jun 2021 13:40:50 +0000 Subject: [PATCH 056/234] * Remove redundant externs already included with temperature.h * Add ifdefs in Dcodes.cpp when using extern variables --- Firmware/Dcodes.cpp | 18 ++++++------------ Firmware/temperature.h | 2 +- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/Firmware/Dcodes.cpp b/Firmware/Dcodes.cpp index f9f3c5895..d99a2c890 100644 --- a/Firmware/Dcodes.cpp +++ b/Firmware/Dcodes.cpp @@ -538,26 +538,20 @@ const char* dcode_9_ADC_name(uint8_t i) return 0; } -#ifdef AMBIENT_THERMISTOR -extern int current_temperature_raw_ambient; -#endif //AMBIENT_THERMISTOR - -#ifdef VOLT_PWR_PIN -extern int current_voltage_raw_pwr; -#endif //VOLT_PWR_PIN - -#ifdef VOLT_BED_PIN -extern int current_voltage_raw_bed; -#endif //VOLT_BED_PIN - uint16_t dcode_9_ADC_val(uint8_t i) { switch (i) { +#ifdef SHOW_TEMP_ADC_VALUES case 0: return current_temperature_raw[0]; +#endif //SHOW_TEMP_ADC_VALUES case 1: return 0; +#ifdef SHOW_TEMP_ADC_VALUES case 2: return current_temperature_bed_raw; +#endif //SHOW_TEMP_ADC_VALUES +#ifdef PINDA_THERMISTOR case 3: return current_temperature_raw_pinda; +#endif //PINDA_THERMISTOR #ifdef VOLT_PWR_PIN case 4: return current_voltage_raw_pwr; #endif //VOLT_PWR_PIN diff --git a/Firmware/temperature.h b/Firmware/temperature.h index 0bf944724..f862b1dfe 100755 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -67,7 +67,7 @@ bool has_temperature_compensation(); #endif #ifdef AMBIENT_THERMISTOR -//extern int current_temperature_raw_ambient; +extern int current_temperature_raw_ambient; extern float current_temperature_ambient; #endif From 3cfd706fffdafc91ee3f9976cd4c41f2afcc7b8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 20 Jun 2021 14:20:36 +0000 Subject: [PATCH 057/234] Remove useless extern in cmdqueue.cpp --- Firmware/cmdqueue.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index b4ea9be41..31eeaa489 100755 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -2,8 +2,6 @@ #include "cardreader.h" #include "ultralcd.h" -extern bool Stopped; - // Reserve BUFSIZE lines of length MAX_CMD_SIZE plus CMDBUFFER_RESERVE_FRONT. char cmdbuffer[BUFSIZE * (MAX_CMD_SIZE + 1) + CMDBUFFER_RESERVE_FRONT]; // Head of the circular buffer, where to read. From 6aee17b4ca2e7da7cf42fc22259dfab41aadb614 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 20 Jun 2021 14:41:33 +0000 Subject: [PATCH 058/234] lcd_change_fil_state has two extern's in Marlin.h, only one needed. --- Firmware/Marlin.h | 1 - 1 file changed, 1 deletion(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 9bda145b8..ca6c69186 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -350,7 +350,6 @@ extern unsigned long t_fan_rising_edge; extern bool mesh_bed_leveling_flag; extern bool mesh_bed_run_from_menu; -extern int8_t lcd_change_fil_state; // save/restore printing extern bool saved_printing; extern uint8_t saved_printing_type; From d087973e000e4cbb9ab80b119f6b3fa5d67a3f6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 20 Jun 2021 14:49:48 +0000 Subject: [PATCH 059/234] Remove redundant extern variable is_usb_printing from tmc2130.cpp This extern variable is included from Marlin.h --- Firmware/tmc2130.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index dbce5ea07..163a09b71 100755 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -243,8 +243,6 @@ uint8_t tmc2130_sample_diag() return mask; } -extern bool is_usb_printing; - void tmc2130_st_isr() { if (tmc2130_mode == TMC2130_MODE_SILENT || tmc2130_sg_stop_on_crash == false) return; From 400f673fe0b898d0e3ec8c43fd2011f9320cf20c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 20 Jun 2021 15:00:14 +0000 Subject: [PATCH 060/234] Remove redundant extern variable lcd_encoder from menu.cpp This extern variable is included from lcd.h --- Firmware/menu.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/Firmware/menu.cpp b/Firmware/menu.cpp index fe58686cf..8eb504a8b 100755 --- a/Firmware/menu.cpp +++ b/Firmware/menu.cpp @@ -14,8 +14,6 @@ #include "static_assert.h" #include "sound.h" -extern int32_t lcd_encoder; - #define MENU_DEPTH_MAX 7 static menu_record_t menu_stack[MENU_DEPTH_MAX]; From 8af9f788220e09fe97e43c88e095e95aa734760e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Mon, 26 Jul 2021 16:31:34 +0000 Subject: [PATCH 061/234] Optimize farm_mode init in setup() This saves 28 bytes of flash memory --- Firmware/Marlin_main.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 023b646fa..5ae899c97 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1101,8 +1101,10 @@ void setup() setup_powerhold(); farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE); - if (farm_mode == 0xFF) + if (farm_mode == 0xFF) { farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode + eeprom_update_byte((uint8_t*)EEPROM_FARM_MODE, farm_mode); + } if (farm_mode) { no_response = true; //we need confirmation by recieving PRUSA thx @@ -1440,13 +1442,6 @@ void setup() enable_z(); #endif - farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE); - if (farm_mode == 0xFF) farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode - if (farm_mode) - { - prusa_statistics(8); - } - // Enable Toshiba FlashAir SD card / WiFi enahanced card. card.ToshibaFlashAir_enable(eeprom_read_byte((unsigned char*)EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY) == 1); From b1972fdcee97808a2f523193d0292c2e10864c50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Wed, 28 Jul 2021 16:47:47 +0000 Subject: [PATCH 062/234] Fixes https://github.com/prusa3d/Prusa-Firmware/issues/3252 --- Firmware/ultralcd.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 658e6b01f..ef5cf1e5b 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -8844,6 +8844,22 @@ void menu_lcd_lcdupdate_func(void) #if (SDCARDDETECT > 0) if ((IS_SD_INSERTED != lcd_oldcardstatus)) { + if(menu_menu == lcd_sdcard_menu) { + // If the user is either inside the submenus + // 1. 'Print from SD' --> and SD card is removed + // 2. 'No SD card' --> and SD card is inserted + // + // 1. 'Print from SD': We want to back out of this submenu + // and instead show the submenu title 'No SD card'. + // + // 2. 'No SD card': When the user inserts the SD card we want + // to back out of this submenu. Not only to show + // 'Print from SD' submenu title but also because the user + // will be prompted with another menu with the sorted list of files. + // Without backing out of the menu, the list will appear empty and + // The user will need to back out of two nested submenus. + menu_back(); + } lcd_draw_update = 2; lcd_oldcardstatus = IS_SD_INSERTED; lcd_refresh(); // to maybe revive the LCD if static electricity killed it. @@ -8861,8 +8877,6 @@ void menu_lcd_lcdupdate_func(void) } else { - if(menu_menu==lcd_sdcard_menu) - menu_back(); card.release(); LCD_MESSAGERPGM(_i("Card removed"));////MSG_SD_REMOVED c=20 } From e779803261351a30f805c5a856dcfdd169c6a7d1 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 29 Jul 2021 10:57:05 +0200 Subject: [PATCH 063/234] Add/fix few functions Check MK404 for latest stable release instead of dev branch --- MK404-build.sh | 506 ++++++++++++++++++++++++++++--------------------- PF-build.sh | 332 ++++++++++++++++---------------- 2 files changed, 467 insertions(+), 371 deletions(-) diff --git a/MK404-build.sh b/MK404-build.sh index 79c191df4..4402a444c 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -10,7 +10,7 @@ # 3. Install latest updates with 'sudo apt-get upgrade' # # -# Version: 1.0.0-Build_11 +# Version: 1.0.0-Build_13 # Change log: # 11 Feb 2021, 3d-gussner, Inital # 11 Feb 2021, 3d-gussner, Optional flags to check for updates @@ -23,6 +23,27 @@ # 18 Jun 2021, 3d-gussner, Check for updates is default. Fix update if internet connection is lost. # 21 Jun 2021, 3d-gussner, Change board_flash argument to 'y' and firmware_version to 'f' +#### Start: Failures +failures() +{ +case "$1" in + 0) echo "$(tput setaf 2)MK404-build.sh finished with success$(tput sgr0)" ;; + 2) echo "$(tput setaf 1)Unsupported OS: Linux $(uname -m)" ; echo "Please refer to the notes of MK404-build.sh$(tput sgr0)" ; exit 2 ;; + 3) echo "$(tput setaf 1)This script doesn't support your Operating system!"; echo "Please use Linux 64-bit"; echo "Read the notes of MK404-build.sh$(tput sgr0)" ; exit 2 ;; + 4) echo "$(tput setaf 1)Some packages are missing please install these!$(tput sgr0)" ; exit 4 ;; + 5) echo "$(tput setaf 1)Wrong printer chosen.$(tput sgr0) Following Printers are supported: MK25, MK25S, MK3 and MK3S" ; exit 5 ;; + 6) echo "$(tput setaf 1)Unsupported board flash size chosen.$(tput sgr0) Only '256', '384', '512', '1024' and '32M' are allowed." ; exit 6 ;; + 7) echo "$(tput setaf 1)Unsupported board mem size chosen.$(tput sgr0) Only '8', '16', '32' and '64' are allowed." ; exit 7 ;; + 8) echo "$(tput setaf 1)No firmware version file selected!$(tput sgr0)" ; echo "Add argument -f with path and hex filename to start MK404" ; exit 8 ;; + 9) echo "$(tput setaf 1)Tried to determine MK404 printer from hex file, but failed!$(tput sgr0)" ; "Add argument -p with 'MK25', 'MK25S', 'MK3' or 'MK3S' to start MK404" ; exit 9 ;; + 10) echo "$(tput setaf 1)Missing printer$(tput sgr0)" ; exit 10 ;; +esac +} +#### End: Failures + +#### Start: Check options +##check_options() +##{ while getopts c:f:g:m:n:p:u:x:y:?h flag do case "${flag}" in @@ -53,7 +74,7 @@ while getopts c:f:g:m:n:p:u:x:y:?h flag # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* MK404-build.sh Version: 1.0.0-Build_11 *" +echo "* MK404-build.sh Version: 1.0.0-Build_13 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-c$(tput sgr0) Check for update" @@ -78,124 +99,32 @@ echo " -m : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' y 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 " -x : '$(tput setaf 2)8$(tput sgr0)' or '$(tput setaf 2)64$(tput sgr0)' Kb." +echo " -x : '$(tput setaf 2)8$(tput sgr0)',$(tput setaf 2)16$(tput sgr0)',$(tput setaf 2)32$(tput sgr0)' or '$(tput setaf 2)64$(tput sgr0)' Kb." echo " -y : '$(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 echo "Example:" echo " $(tput setaf 2)./MK404-build.sh -f 1$(tput sgr0)" echo " Will force an update and rebuild the MK404 SIM" echo -echo " $(tput setaf 2)./MK404-build.sh -m 1 -g 1 -v ../../../../Prusa-Firmware/PF-build-hex/FW3100-Build4481/BOAD_EINSY_1_0a/FW3100-Build4481-1_75mm_MK3S-EINSy10a-E3Dv6full.hex$(tput sgr0)" +echo " $(tput setaf 2)./MK404-build.sh -m 1 -g 1 -f ../../../../Prusa-Firmware/PF-build-hex/FW3100-Build4481/BOARD_EINSY_1_0a/FW3100-Build4481-1_75mm_MK3S-EINSy10a-E3Dv6full.hex$(tput sgr0)" echo " Will start MK404 with Prusa_MK3S and Prusa-Firmware 3.10.0-Build4481" exit 1 fi -#### Start check if OSTYPE is supported -OS_FOUND=$( command -v uname) -case $( "${OS_FOUND}" | tr '[:upper:]' '[:lower:]') in - linux*) - TARGET_OS="linux" - ;; - *) - TARGET_OS='unknown' - ;; -esac -# Linux -if [ $TARGET_OS == "linux" ]; then - if [ $(uname -m) == "x86_64" ]; then - echo "$(tput setaf 2)Linux 64-bit found$(tput sgr0)" - Processor="64" - #elif [[ $(uname -m) == "i386" || $(uname -m) == "i686" ]]; then - # echo "$(tput setaf 2)Linux 32-bit found$(tput sgr0)" - # Processor="32" - else - echo "$(tput setaf 1)Unsupported OS: Linux $(uname -m)" - echo "Please refer to the notes of build.sh$(tput sgr0)" - exit 2 - fi -else - echo "$(tput setaf 1)This script doesn't support your Operating system!" - echo "Please use Linux 64-bit" - echo "Read the notes of build.sh$(tput sgr0)" - exit 2 -fi -sleep 2 -#### End check if OSTYPE is supported - -#### Check MK404 dependencies -packages=( -"libelf-dev" -"gcc-7" -"gcc-avr" -"libglew-dev" -"freeglut3-dev" -"libsdl-sound1.2-dev" -"libpng-dev" -"cmake" -"zip" -"wget" -"git" -"build-essential" -"lcov" -"mtools" -) - -for check_package in ${packages[@]}; do - if dpkg-query -W -f'${db:Status-Abbrev}\n' $check_package 2>/dev/null \ - | grep -q '^.i $'; then - echo "$(tput setaf 2)$check_package: Installed$(tput sgr0)" - else - echo "$(tput setaf 1)$check_package: Not installed use $(tput setaf 3)'sudo apt install $check_package'$(tput setaf 1) to install missing package$(tput sgr0)" - not_installed=1; - fi -done - -if [ "$not_installed" = "1" ]; then - exit 3 -fi -#### End Check MK404 dependencies - -#### Set build environment -MK404_SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" -MK404_URL="https://github.com/vintagepc/MK404.git" -MK404_owner="vintagepc" -MK404_project="MK404" -MK404_PATH="$MK404_SCRIPT_PATH/../MK404/master" -MK404_BUILD_PATH="$MK404_PATH/build" - - -# List few useful data -echo -echo "Script path :" $MK404_SCRIPT_PATH -echo "OS :" $TARGET_OS -echo "" -echo "MK404 path :" $MK404_PATH - -# Clone MK404 if needed -if [ ! -d $MK404_PATH ]; then - #release_url=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/$MK404_owner/$MK404_project/releases/latest) - #release_tag=$(basename $release_url) - #git clone -b $release_tag -- https://github.com/$MK404_owner/$MK404_project.git $MK404_PATH - git clone $MK404_URL $MK404_PATH -fi - -# -cd $MK404_PATH - #Check MK404 agruments #Set Check for updates as default check_flag=1 -#Check mk404_printer_flag +#Start: 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 MK404_PRINTER_TEMP=$mk404_printer_flag else - echo "Following Printers are supported: MK25, MK25S, MK3 and MK3S" - exit 4 + failures 5 fi fi +#End: Check mk404_printer_flag -#Check if Build is selected with argument '-f' +#Start: Check if Build is selected with argument '-f' if [ ! -z "$board_flash_flag" ] ; then if [ "$board_flash_flag" == "256" ] ; then BOARD_FLASH="0x3FFFF" @@ -213,26 +142,32 @@ if [ ! -z "$board_flash_flag" ] ; then BOARD_FLASH="0x1FFFFFF" 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 + failures 6 fi fi +#End: Check if Build is selected with argument '-f' -#Check if Build is selected with argument '-x' +#Start: Check if Build is selected with argument '-x' if [ ! -z "$board_mem_flag" ] ; then if [ "$board_mem_flag" == "8" ] ; then BOARD_MEM="0x21FF" echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + elif [ "$board_mem_flag" == "16" ] ; then + BOARD_MEM="0x3DFF" + echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + elif [ "$board_mem_flag" == "32" ] ; then + BOARD_MEM="0x7DFF" + echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" elif [ "$board_mem_flag" == "64" ] ; then BOARD_MEM="0xFFFF" echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" else - echo "Unsupported board mem size chosen. Only '8', '64' are allowed." - exit 6 + failures 7 fi fi +#End: Check if Build is selected with argument '-x' - +#Start: Check if new build is selected if [ "$new_build_flag" == "1" ]; then check_flag=1 update_flag=1 @@ -240,102 +175,7 @@ fi if [ "$update_flag" == "1" ]; then check_flag=1 fi - -#End Check MK404 agruments - -#Check for updates -if [ "$check_flag" == "1" ]; then - if [ -d $MK404_BUILD_PATH ]; then - cd $MK404_BUILD_PATH - MK404_current_version=$( command ./MK404 --version | grep "MK404" | cut -f 4 -d " ") - cd $MK404_PATH - else - echo "Cannot check current version as it has not been build." - fi -# Get local Commit_Hash - MK404_local_GIT_COMMIT_HASH=$(git log --pretty=format:"%H" -1) -# Get local Commit_Number - MK404_local_GIT_COMMIT_NUMBER=$(git rev-list HEAD --count) -# Get remote Commit_Hash - MK404_remote_GIT_COMMIT_HASH=$(git ls-remote --heads $(git config --get remote.origin.url) | grep "refs/heads/master" | cut -f 1) -# Get remote Commit_Number - MK404_remote_GIT_COMMIT_NUMBER=$(git rev-list origin/master --count) -# Output - echo "" - echo "Current version : $MK404_current_version" - echo "" - echo "Current local hash : $MK404_local_GIT_COMMIT_HASH" - echo "Current local commit nr : $MK404_local_GIT_COMMIT_NUMBER" - if [ "$MK404_local_GIT_COMMIT_HASH" != "$MK404_remote_GIT_COMMIT_HASH" ]; then - echo "$(tput setaf 1)" - else - echo "$(tput setaf 2)" - fi - echo "Current remote hash : $MK404_remote_GIT_COMMIT_HASH" - echo "Current remote commit nr: $MK404_remote_GIT_COMMIT_NUMBER" - echo "$(tput sgr 0)" - -# Check for updates - 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 - fi -fi - -# Fetch updates and force new build -if [ "$update_flag" == "1" ]; then - 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 - -# Prepare MK404 -if [ ! -d $MK404_BUILD_PATH ]; then - mkdir -p $MK404_BUILD_PATH -fi - -if [[ ! -f "$MK404_BUILD_PATH/Makefile" || "$new_build_flag" == "1" ]]; then -# Init and update submodules - if [ -d $MK404_BUILD_PATH ]; then - rm -rf $MK404_BUILD_PATH - mkdir -p $MK404_BUILD_PATH - fi - git submodule init - git submodule update - cmake -B$MK404_BUILD_PATH -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" -fi - -# Make MK404 -cd $MK404_BUILD_PATH -if [[ ! -f "$MK404_BUILD_PATH/MK404" || "$new_build_flag" == "1" ]]; then - make -fi - -# Make SDcards -if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$new_build_flag" == "1" ]]; then - cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3S_SDcard.bin - cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3_SDcard.bin - cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25_13_SDcard.bin - cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25S_13_SDcard.bin - cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3SMMU2_SDcard.bin - cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3MMU2_SDcard.bin -fi - +#End: Check if new build is selected # Prepare run MK404 #Check MK404_Printer @@ -357,15 +197,11 @@ if [ ! -z $firmware_version_flag ]; 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 + failures 8 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 + failures 9 fi if [ ! -z $mk404_printer_flag ]; then @@ -397,7 +233,7 @@ if [ ! -z $mk404_printer_flag ]; then fi if [ -z $MK404_PRINTER ]; then - exit 9 + failures 10 fi if [[ "$MK404_PRINTER" == "MK25" || "$MK404_PRINTER" == "MK25S" ]]; then @@ -440,7 +276,230 @@ if [ ! -z $firmware_version_flag ]; then MK404_firmware_file=" -f $firmware_version_flag" fi -#Run MK404 SIM +#End: Check MK404 agruments +##} +#### End: Check for options/flags + +#### Start: Check if OSTYPE is supported +check_OS() +{ +OS_FOUND=$( command -v uname) +case $( "${OS_FOUND}" | tr '[:upper:]' '[:lower:]') in + linux*) + TARGET_OS="linux" + ;; + *) + TARGET_OS='unknown' + ;; +esac +# Linux +if [ $TARGET_OS == "linux" ]; then + if [ $(uname -m) == "x86_64" ]; then + echo "$(tput setaf 2)Linux 64-bit found$(tput sgr0)" + Processor="64" + #elif [[ $(uname -m) == "i386" || $(uname -m) == "i686" ]]; then + # echo "$(tput setaf 2)Linux 32-bit found$(tput sgr0)" + # Processor="32" + else + failures 2 + fi +else + failures 3 +fi +sleep 2 +} +#### End: Check if OSTYPE is supported + +#### Start: Check MK404 dependencies +check_packages() +{ +packages=( +"libelf-dev" +"gcc-7" +"gcc-avr" +"libglew-dev" +"freeglut3-dev" +"libsdl-sound1.2-dev" +"libpng-dev" +"cmake" +"zip" +"wget" +"git" +"build-essential" +"lcov" +"mtools" +) + +for check_package in ${packages[@]}; do + if dpkg-query -W -f'${db:Status-Abbrev}\n' $check_package 2>/dev/null \ + | grep -q '^.i $'; then + echo "$(tput setaf 2)$check_package: Installed$(tput sgr0)" + else + echo "$(tput setaf 1)$check_package: Not installed use $(tput setaf 3)'sudo apt install $check_package'$(tput setaf 1) to install missing package$(tput sgr0)" + not_installed=1; + fi +done + +if [ "$not_installed" = "1" ]; then + failures 4 +fi +} +#### End: Check MK404 dependencies + +#### Start: Set build environment +set_build_env_variables() +{ +MK404_SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" +MK404_URL="https://github.com/vintagepc/MK404.git" +MK404_owner="vintagepc" +MK404_project="MK404" +MK404_PATH="$MK404_SCRIPT_PATH/../MK404/master" +MK404_BUILD_PATH="$MK404_PATH/build" +} +#### End: Set build environment + +#### Start: List few useful data +output_useful_data() +{ +echo +echo "Script path :" $MK404_SCRIPT_PATH +echo "OS :" $TARGET_OS +echo "" +echo "MK404 path :" $MK404_PATH +} +#### End: List few useful data + +#### Start: Clone MK404 if needed +get_MK404() +{ +if [ ! -d $MK404_PATH ]; then + #release_url=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/$MK404_owner/$MK404_project/releases/latest) + #release_tag=$(basename $release_url) + #git clone -b $release_tag -- https://github.com/$MK404_owner/$MK404_project.git $MK404_PATH + git clone $MK404_URL $MK404_PATH +fi +} +#### End: Clone MK404 if needed + +#### Start: Check for updates +check_for_updates() +{ +if [ "$check_flag" == "1" ]; then + if [ -d $MK404_BUILD_PATH ]; then + cd $MK404_BUILD_PATH + MK404_current_version=$( command ./MK404 --version | grep "MK404" | cut -f 4 -d " ") + cd $MK404_PATH + else + echo "Cannot check current version as it has not been build." + fi +# Get local Commit_Hash + MK404_local_GIT_COMMIT_HASH=$(git log --pretty=format:"%H" -1) +# Get local Commit_Number + MK404_local_GIT_COMMIT_NUMBER=$(git rev-list HEAD --count) +# Get latest release + MK404_release_url=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/$MK404_owner/$MK404_project/releases/latest) + MK404_release_tag=$(basename $MK404_release_url) +# Get remote Commit_Hash + #MK404_remote_GIT_COMMIT_HASH=$(git ls-remote --heads $(git config --get remote.origin.url) | grep "refs/heads/master" | cut -f 1) + MK404_remote_GIT_COMMIT_HASH=$(git ls-remote | grep "refs/tags/$MK404_release_tag" | cut -f 1) +# Get remote Commit_Number + MK404_remote_GIT_COMMIT_NUMBER=$(git rev-list $MK404_release_tag --count) +# Output + echo "" + echo "Current version : $MK404_current_version" + echo "" + echo "Current local hash : $MK404_local_GIT_COMMIT_HASH" + echo "Current local commit nr : $MK404_local_GIT_COMMIT_NUMBER" + if [ "$MK404_local_GIT_COMMIT_HASH" != "$MK404_remote_GIT_COMMIT_HASH" ]; then + echo "$(tput setaf 1)" + else + echo "$(tput setaf 2)" + fi + echo "Latest release tag : $MK404_release_tag" + echo "Latest release hash : $MK404_remote_GIT_COMMIT_HASH" + echo "Latest remote commit nr : $MK404_remote_GIT_COMMIT_NUMBER" + echo "$(tput sgr 0)" + +# Check for updates + 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 + fi +fi +} +#### End: Check for updates + +#### Start: Fetch updates and force new build +fetch_updates() +{ +if [ "$update_flag" == "1" ]; then + 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 $MK404_release_tag + read -t 10 -p "$(tput setaf 2)Compiling MK404 !$(tput sgr 0)" + echo "" + new_build_flag=1 + fi + fi +fi +} +#### End: Fetch updates and force new build + +#### Start: Prepare MK404 build +prepare_MK404() +{ +if [ ! -d $MK404_BUILD_PATH ]; then + mkdir -p $MK404_BUILD_PATH +fi +} +#### End: Prepare MK404 build + +#### Start: Build MK404 +build_MK404() +{ +if [[ ! -f "$MK404_BUILD_PATH/Makefile" || "$new_build_flag" == "1" ]]; then +# Init and update submodules + if [ -d $MK404_BUILD_PATH ]; then + rm -rf $MK404_BUILD_PATH + mkdir -p $MK404_BUILD_PATH + fi + git submodule init + git submodule update + cmake -B$MK404_BUILD_PATH -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" +fi + +# Make MK404 +cd $MK404_BUILD_PATH +if [[ ! -f "$MK404_BUILD_PATH/MK404" || "$new_build_flag" == "1" ]]; then + make +fi + +# Make SDcards +if [[ ! -f "$MK404_BUILD_PATH/Prusa_MK3S_SDcard.bin" || "$new_build_flag" == "1" ]]; then + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3S_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25_13_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK25S_13_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3SMMU2_SDcard.bin + cmake --build $MK404_BUILD_PATH --config Release --target Prusa_MK3MMU2_SDcard.bin +fi +} +#### End: Build MK404 + + +#### Start: Run MK404 SIM +run_MK404_SIM() +{ if [ ! -z $mk404_flag ]; then # Output some useful data echo "Printer : $MK404_PRINTER" @@ -459,4 +518,29 @@ if [ ! -z $mk404_flag ]; then sleep 5 ./MK404 Prusa_$MK404_PRINTER -s --terminal $MK404_options $MK404_firmware_file || exit 10 fi -#### End of MK404 Simulator \ No newline at end of file +} +#### End: Run MK404 SIM + +#### Check OS and needed packages +echo "Check OS" +check_OS +check_packages + +#### Check for options/flags +echo "Check for options" + +#### Prepare build environment +echo "Prepare build env" +set_build_env_variables +output_useful_data +get_MK404 + +# +cd $MK404_PATH + +check_for_updates +fetch_updates +prepare_MK404 +build_MK404 +run_MK404_SIM +#### End of MK404 Simulator diff --git a/PF-build.sh b/PF-build.sh index 5cc0b34e2..78b2cb6fb 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 2.0.0-Build_61 +# Version: 2.0.0-Build_63 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -191,6 +191,177 @@ esac } #### End: Failures +#### Start: Check for options/flags +##check_options() +##{ +while getopts b:c:d:g:h:i:j:l:m:n:o:p:v:x:y:?h flag + do + case "${flag}" in + b) build_flag=${OPTARG};; + c) clean_flag=${OPTARG};; + d) devel_flag=${OPTARG};; + g) mk404_graphics_flag=${OPTARG};; + h) help_flag=1;; + i) IDE_flag=${OPTARG};; + j) verbose_IDE_flag=${OPTARG};; + l) language_flag=${OPTARG};; + m) mk404_flag=${OPTARG};; + n) new_build_flag=${OPTARG};; + o) output_flag=${OPTARG};; + p) prusa_flag=${OPTARG};; + v) variant_flag=${OPTARG};; + x) board_mem_flag=${OPTARG};; + y) board_flash_flag=${OPTARG};; + ?) help_flag=1;; + esac + done + +# +# '?' 'h' argument usage and help +if [ "$help_flag" == "1" ] ; then +echo "***************************************" +echo "* PF-build.sh Version: 2.0.0-Build_63 *" +echo "***************************************" +echo "Arguments:" +echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number" +echo "$(tput setaf 2)-c$(tput sgr0) Do not clean up lang build" +echo "$(tput setaf 2)-d$(tput sgr0) Devel build" +echo "$(tput setaf 2)-g$(tput sgr0) Start MK404 graphics" +echo "$(tput setaf 2)-i$(tput sgr0) Arduino IDE version" +echo "$(tput setaf 2)-j$(tput sgr0) Arduino IDE verbose output" +echo "$(tput setaf 2)-l$(tput sgr0) Languages" +echo "$(tput setaf 2)-m$(tput sgr0) Start MK404 sim" +echo "$(tput setaf 2)-n$(tput sgr0) New fresh build" +echo "$(tput setaf 2)-o$(tput sgr0) Output" +echo "$(tput setaf 2)-p$(tput sgr0) Keep Configuration_prusa.h" +echo "$(tput setaf 2)-v$(tput sgr0) Variant" +echo "$(tput setaf 2)-x$(tput sgr0) Board memory size" +echo "$(tput setaf 2)-y$(tput sgr0) Board flash size" +echo "$(tput setaf 2)-?$(tput sgr0) Help" +echo +echo "Brief USAGE:" +echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-b] [-c] [-d] [-g] [-i] [-j] [-l] [-m] [-n] [-o] [-p ] -[v] [-x] [-y] [-h] [-?]" +echo +echo " -b : '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" +echo " -c : '$(tput setaf 2)0$(tput sgr0)' clean up, '$(tput setaf 2)1$(tput sgr0)' keep" +echo " -d : '$(tput setaf 2)GOLD$(tput sgr0)', '$(tput setaf 2)RC$(tput sgr0)', '$(tput setaf 2)BETA$(tput sgr0)', '$(tput setaf 2)ALPHA$(tput sgr0)', '$(tput setaf 2)DEBUG$(tput sgr0)', '$(tput setaf 2)DEVEL$(tput sgr0)' and '$(tput setaf 2)UNKNOWN$(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 " -i : '$(tput setaf 2)1.8.5$(tput sgr0)', '$(tput setaf 2)1.8.13$(tput sgr0)'" +echo " -j : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes" +echo " -l : '$(tput setaf 2)ALL$(tput sgr0)' for multi language or '$(tput setaf 2)EN_ONLY$(tput sgr0)' for English only" +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 " -o : '$(tput setaf 2)1$(tput sgr0)' force or '$(tput setaf 2)0$(tput sgr0)' block output and delays" +echo " -p : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes" +echo " -v : '$(tput setaf 2)All$(tput sgr0)' or variant file name" +echo " -x : '$(tput setaf 2)8$(tput sgr0)' or '$(tput setaf 2)64$(tput sgr0)' Kb." +echo " -y : '$(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 +echo "Example:" +echo " $(tput setaf 2)./PF-build.sh -v All -l ALL -d GOLD$(tput sgr0)" +echo " Will build all variants as multi language and final GOLD version" +echo +echo " $(tput setaf 2) ./PF-build.sh -v 1_75mm_MK3S-EINSy10a-E3Dv6full.h -b Auto -l ALL -d GOLD -o 1 -c 1 -p 1 -n 1$(tput sgr0)" +echo " Will build MK3S multi language final GOLD firmware " +echo " with current commit count number and output extra information," +echo " not delete lang build temporary files, keep Configuration_prusa.h and build with new fresh build folder." +echo +exit 6 +fi + +#Check if verbose_IDE is selected with argument '-j' + +if [ ! -z "$verbose_IDE_flag" ]; then + if [ $verbose_IDE_flag == "1" ]; then + verbose_IDE="1" + elif [ $verbose_IDE_flag == "0" ]; then + verbose_IDE="0" + else + echo "Only '0' and '1' are valid verbose_IDE values." + failures 5 + fi +else + verbose_IDE="0" +fi + +#Check if Build is selected with argument '-f' +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)" + 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)" + OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" + + 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)" + OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" + elif [ "$board_flash_flag" == "1024" ] ; then + BOARD_FLASH="0xFFFFF" + BOARD_maximum_size="1040384" + echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $BOARD_FLASH (hex)" + OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" + 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)" + OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" + else + echo "Unsupported board flash size chosen. Only '256', '384', '512', '1024' and '32M' are allowed." + failures 5 + fi +fi + +#Check if Build is selected with argument '-x' +if [ ! -z "$board_mem_flag" ] ; then + if [ "$board_mem_flag" == "8" ] ; then + BOARD_MEM="0x21FF" + echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + elif [ "$board_mem_flag" == "16" ] ; then + BOARD_MEM="0x3DFF" + echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_RAM-$board_mem_flag" + elif [ "$board_mem_flag" == "32" ] ; then + BOARD_MEM="0x7DFF" + echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_RAM-$board_mem_flag" + elif [ "$board_mem_flag" == "64" ] ; then + BOARD_MEM="0xFFFF" + echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" + OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_RAM-$board_mem_flag" + else + echo "Unsupported board mem size chosen. Only '8', '64' are allowed." + failures 5 + fi +fi + +#Start: Check if Arduino IDE version is correct +if [ ! -z "$IDE_flag" ]; then + if [[ "$IDE_flag" == "1.8.5" || "$IDE_flag" == "1.8.13" ]]; then + ARDUINO_ENV="${IDE_flag}" + else + ARDUINO_ENV="1.8.5" + fi +else + ARDUINO_ENV="1.8.5" +fi +#End: Check if Arduino IDE version is correct + +#Start: Check if Output is selecetd via argument '-o' +if [[ -z "$output_flag" || "$output_flag" == 1 ]] ; then + OUTPUT=1 +else + OUTPUT=0 +fi +#End: Check if Output is selecetd via argument '-o' +##} +#### End: Check for options/flags + #### Start: Make backup of Configuration.h make_backup1() { @@ -357,158 +528,6 @@ fi } #End: Check gawk ... needed during language build -#### Start: Check for options/flags -while getopts b:c:d:g:h:i:j:l:m:n:o:p:v:x:y:?h flag - do - case "${flag}" in - b) build_flag=${OPTARG};; - c) clean_flag=${OPTARG};; - d) devel_flag=${OPTARG};; - g) mk404_graphics_flag=${OPTARG};; - h) help_flag=1;; - i) IDE_flag=${OPTARG};; - j) verbose_IDE_flag=${OPTARG};; - l) language_flag=${OPTARG};; - m) mk404_flag=${OPTARG};; - n) new_build_flag=${OPTARG};; - o) output_flag=${OPTARG};; - p) prusa_flag=${OPTARG};; - v) variant_flag=${OPTARG};; - x) board_mem_flag=${OPTARG};; - y) board_flash_flag=${OPTARG};; - ?) help_flag=1;; - esac - done - -# -# '?' 'h' argument usage and help -if [ "$help_flag" == "1" ] ; then -echo "***************************************" -echo "* PF-build.sh Version: 2.0.0-Build_61 *" -echo "***************************************" -echo "Arguments:" -echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number" -echo "$(tput setaf 2)-c$(tput sgr0) Do not clean up lang build" -echo "$(tput setaf 2)-d$(tput sgr0) Devel build" -echo "$(tput setaf 2)-g$(tput sgr0) Start MK404 graphics" -echo "$(tput setaf 2)-i$(tput sgr0) Arduino IDE version" -echo "$(tput setaf 2)-j$(tput sgr0) Arduino IDE verbose output" -echo "$(tput setaf 2)-l$(tput sgr0) Languages" -echo "$(tput setaf 2)-m$(tput sgr0) Start MK404 sim" -echo "$(tput setaf 2)-n$(tput sgr0) New fresh build" -echo "$(tput setaf 2)-o$(tput sgr0) Output" -echo "$(tput setaf 2)-p$(tput sgr0) Keep Configuration_prusa.h" -echo "$(tput setaf 2)-v$(tput sgr0) Variant" -echo "$(tput setaf 2)-x$(tput sgr0) Board memory size" -echo "$(tput setaf 2)-y$(tput sgr0) Board flash size" -echo "$(tput setaf 2)-?$(tput sgr0) Help" -echo -echo "Brief USAGE:" -echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-b] [-c] [-d] [-g] [-i] [-j] [-l] [-m] [-n] [-o] [-p ] -[v] [-x] [-y] [-h] [-?]" -echo -echo " -b : '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" -echo " -c : '$(tput setaf 2)0$(tput sgr0)' clean up, '$(tput setaf 2)1$(tput sgr0)' keep" -echo " -d : '$(tput setaf 2)GOLD$(tput sgr0)', '$(tput setaf 2)RC$(tput sgr0)', '$(tput setaf 2)BETA$(tput sgr0)', '$(tput setaf 2)ALPHA$(tput sgr0)', '$(tput setaf 2)DEBUG$(tput sgr0)', '$(tput setaf 2)DEVEL$(tput sgr0)' and '$(tput setaf 2)UNKNOWN$(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 " -i : '$(tput setaf 2)1.8.5$(tput sgr0)', '$(tput setaf 2)1.8.13$(tput sgr0)'" -echo " -j : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes" -echo " -l : '$(tput setaf 2)ALL$(tput sgr0)' for multi language or '$(tput setaf 2)EN_ONLY$(tput sgr0)' for English only" -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 " -o : '$(tput setaf 2)1$(tput sgr0)' force or '$(tput setaf 2)0$(tput sgr0)' block output and delays" -echo " -p : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes" -echo " -v : '$(tput setaf 2)All$(tput sgr0)' or variant file name" -echo " -x : '$(tput setaf 2)8$(tput sgr0)' or '$(tput setaf 2)64$(tput sgr0)' Kb." -echo " -y : '$(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 -echo "Example:" -echo " $(tput setaf 2)./PF-build.sh -v All -l ALL -d GOLD$(tput sgr0)" -echo " Will build all variants as multi language and final GOLD version" -echo -echo " $(tput setaf 2) ./PF-build.sh -v 1_75mm_MK3S-EINSy10a-E3Dv6full.h -b Auto -l ALL -d GOLD -o 1 -c 1 -p 1 -n 1$(tput sgr0)" -echo " Will build MK3S multi language final GOLD firmware " -echo " with current commit count number and output extra information," -echo " not delete lang build temporary files, keep Configuration_prusa.h and build with new fresh build folder." -echo -exit 6 -fi - -#Check if verbose_IDE is selected with argument '-j' - -if [ ! -z "$verbose_IDE_flag" ]; then - if [ $verbose_IDE_flag == "1" ]; then - verbose_IDE="1" - elif [ $verbose_IDE_flag == "0" ]; then - verbose_IDE="0" - else - echo "Only '0' and '1' are valid verbose_IDE values." - failures 5 - fi -else - verbose_IDE="0" -fi - -#Check if Build is selected with argument '-f' -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)" - 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)" - OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" - - 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)" - OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" - elif [ "$board_flash_flag" == "1024" ] ; then - BOARD_FLASH="0xFFFFF" - BOARD_maximum_size="1040384" - echo "Board flash size : $board_flash_flag Kb, $BOARD_maximum_size bytes, $BOARD_FLASH (hex)" - OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" - 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)" - OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_FLASH-$board_flash_flag" - else - echo "Unsupported board flash size chosen. Only '256', '384', '512', '1024' and '32M' are allowed." - failures 5 - fi -fi - -#Check if Build is selected with argument '-x' -if [ ! -z "$board_mem_flag" ] ; then - if [ "$board_mem_flag" == "8" ] ; then - BOARD_MEM="0x21FF" - echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" - elif [ "$board_mem_flag" == "64" ] ; then - BOARD_MEM="0xFFFF" - echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" - OUTPUT_FILENAME_SUFFIX="${OUTPUT_FILENAME_SUFFIX}_RAM-$board_mem_flag" - else - echo "Unsupported board mem size chosen. Only '8', '64' are allowed." - failures 5 - fi -fi - -#Start: Check if Arduino IDE version is correct -if [ ! -z "$IDE_flag" ]; then - if [[ "$IDE_flag" == "1.8.5" || "$IDE_flag" == "1.8.13" ]]; then - ARDUINO_ENV="${IDE_flag}" - else - ARDUINO_ENV="1.8.5" - fi -else - ARDUINO_ENV="1.8.5" -fi -#End: Check if Arduino IDE version is correct -#### End: Check for options/flags - #### Start: Set build environment set_build_env_variables() { @@ -898,13 +917,6 @@ if [ ! -z "$build_flag" ] ; then echo "New Build number is: $BUILD" fi -#Check if Output is selecetd via argument '-o' -if [[ -z "$output_flag" || "$output_flag" == 1 ]] ; then - OUTPUT=1 -else - OUTPUT=0 -fi - #Check git branch has changed if [ ! -z "git_available" ]; then BRANCH="" From 1095b265702684acdfd81518792f3401fc60f838 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 25 May 2021 00:26:32 +0200 Subject: [PATCH 064/234] Add several low-level debugging tools --- tools/README.md | 37 +++++++++++ tools/dump_eeprom | 17 +++++ tools/dump_sram | 17 +++++ tools/elf_mem_map | 153 ++++++++++++++++++++++++++++++++++++++++++++ tools/noreset | 12 ++++ tools/update_eeprom | 54 ++++++++++++++++ 6 files changed, 290 insertions(+) create mode 100644 tools/README.md create mode 100755 tools/dump_eeprom create mode 100755 tools/dump_sram create mode 100755 tools/elf_mem_map create mode 100755 tools/noreset create mode 100755 tools/update_eeprom diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 000000000..2b4c7b828 --- /dev/null +++ b/tools/README.md @@ -0,0 +1,37 @@ +# Host debugging tools for Prusa MK3 firmware + +## Tools + +### ``dump_eeprom`` + +Dump the content of the entire EEPROM using the D3 command. +Requires ``printcore`` from [Pronterface]. + +### ``dump_sram`` + +Dump the content of the entire SRAM using the D2 command. +Requires ``printcore`` from [Pronterface]. + +### ``elf_mem_map`` + +Generate a symbol table map starting directly from an ELF firmware with DWARF2 debugging information (which is the default using the stock board definition). + +When used along with a memory dump obtained from the D2 g-code, show the value of each symbol which is within the address range. + +This assumes the running firmware generating the dump and the elf file are the same. +Requires Python3 and the [pyelftools](https://github.com/eliben/pyelftools) module. + +### ``update_eeprom`` + +Given one EEPROM dump, convert the dump to update instructions that can be sent to a printer. + +Given two EEPROM dumps, produces only the required instructions needed to update the contents from the first to the second. This is currently quite crude and assumes dumps are aligned (starting from the same address or same stride). + +Optionally writes the instructions to the specified port (requires ``printcore`` from [Pronterface]). + +### ``noreset`` + +Set the required TTY flags on the specified port to avoid reset-on-connect for *subsequent* requests (issuing this command might still cause the printer to reset). + + +[Pronterface]: https://github.com/kliment/Printrun diff --git a/tools/dump_eeprom b/tools/dump_eeprom new file mode 100755 index 000000000..5e5464167 --- /dev/null +++ b/tools/dump_eeprom @@ -0,0 +1,17 @@ +#!/bin/sh +prg=$(basename "$0") +port="$1" +if [ -z "$port" -o "$port" = "-h" ] +then + echo "usage: $0 " >&2 + echo "Connect to and dump the content of the EEPROM using D3 to stdout" >&2 + exit 1 +fi + +set -e +tmp=$(mktemp) +trap "rm -f \"$tmp\"" EXIT + +echo D3 > "$tmp" +printcore -v "$port" "$tmp" 2>&1 | \ + sed -ne '/^RECV: D3 /,/RECV: ok$/s/^RECV: //p' diff --git a/tools/dump_sram b/tools/dump_sram new file mode 100755 index 000000000..93ef4e926 --- /dev/null +++ b/tools/dump_sram @@ -0,0 +1,17 @@ +#!/bin/sh +prg=$(basename "$0") +port="$1" +if [ -z "$port" -o "$port" = "-h" ] +then + echo "usage: $0 " >&2 + echo "Connect to and dump the content of the SRAM using D2 to stdout" >&2 + exit 1 +fi + +set -e +tmp=$(mktemp) +trap "rm -f \"$tmp\"" EXIT + +echo D2 > "$tmp" +printcore -v "$port" "$tmp" 2>&1 | \ + sed -ne '/^RECV: D2 /,/RECV: ok$/s/^RECV: //p' diff --git a/tools/elf_mem_map b/tools/elf_mem_map new file mode 100755 index 000000000..46f1e1c1e --- /dev/null +++ b/tools/elf_mem_map @@ -0,0 +1,153 @@ +#!/usr/bin/env python3 +import argparse +import elftools.elf.elffile +import elftools.dwarf.descriptions +from struct import unpack + +SRAM_OFFSET = 0x800000 +EEPROM_OFFSET = 0x810000 +FILL_BYTE = b'\0' + + +def get_elf_globals(path): + fd = open(path, "rb") + if fd is None: + return + elffile = elftools.elf.elffile.ELFFile(fd) + if elffile is None or not elffile.has_dwarf_info(): + return + + # probably not needed, since we're decoding expressions manually + elftools.dwarf.descriptions.set_global_machine_arch(elffile.get_machine_arch()) + dwarfinfo = elffile.get_dwarf_info() + + grefs = [] + for CU in dwarfinfo.iter_CUs(): + for DIE in CU.iter_DIEs(): + # handle only variable types + if DIE.tag != 'DW_TAG_variable': + continue + if 'DW_AT_name' not in DIE.attributes: + continue + if 'DW_AT_location' not in DIE.attributes: + continue + if 'DW_AT_type' not in DIE.attributes: + continue + + # handle locations encoded directly as DW_OP_addr (leaf globals) + at_loc = DIE.attributes['DW_AT_location'] + if at_loc.form != 'DW_FORM_block1' or at_loc.value[0] != 3: + continue + loc = (at_loc.value[1]) + (at_loc.value[2] << 8) \ + + (at_loc.value[3] << 16) + (at_loc.value[4] << 24) + if loc < SRAM_OFFSET or loc >= EEPROM_OFFSET: + continue + loc -= SRAM_OFFSET + + # variable name + name = DIE.attributes['DW_AT_name'].value.decode('ascii') + + # recurse on type to find the leaf definition + type_DIE = DIE + while 'DW_AT_type' in type_DIE.attributes: + type_DIE = type_DIE.get_DIE_from_attribute('DW_AT_type') + byte_size = type_DIE.attributes.get('DW_AT_byte_size') + if byte_size is None: + continue + size = byte_size.value + + grefs.append([name, loc, size]) + + return grefs + + +def decode_dump(path): + fd = open(path, 'r') + if fd is None: + return None + + buf_addr = None # starting address + buf_data = None # data + + for line in fd: + tokens = line.split(maxsplit=1) + if len(tokens) == 0 or tokens[0] == 'ok': + break + elif len(tokens) < 2 or tokens[0] == 'D2': + continue + + addr = int.from_bytes(bytes.fromhex(tokens[0]), 'big') + data = bytes.fromhex(tokens[1]) + + if buf_addr is None: + buf_addr = addr + buf_data = data + else: + # grow buffer as needed + if addr < buf_addr: + buf_data = FILL_BYTE * (buf_addr - addr) + buf_addr = addr + addr_end = addr + len(data) + buf_end = buf_addr + len(buf_data) + if addr_end > buf_end: + buf_data += FILL_BYTE * (addr_end - buf_end) + + # replace new part + rep_start = addr - buf_addr + rep_end = rep_start + len(data) + buf_data = buf_data[:rep_start] + data + buf_data[rep_end:] + + return (buf_addr, buf_data) + + +def annotate_refs(grefs, addr, data, width=45): + for name, loc, size in grefs: + if loc < addr: + continue + if loc + size > addr + len(data): + continue + + pos = loc-addr + buf = data[pos:pos+size] + + buf_repr = '' + if len(buf) in [1, 2, 4]: + # attempt to decode as integers + buf_repr += ' I:' + str(int.from_bytes(buf, 'big')).rjust(10) + if len(buf) in [4, 8]: + # attempt to decode as floats + buf_repr += ' F:' + '{:10.3f}'.format(unpack('f', buf)[0]) + + print('{:04x} {} {:4}{} R:{}'.format(loc, name.ljust(width), size, + buf_repr, buf.hex())) + + +def print_map(grefs): + print('OFFSET\tSIZE\tNAME') + for name, loc, size in grefs: + print('{:x}\t{}\t{}'.format(loc, size, name)) + + +def main(): + ap = argparse.ArgumentParser(description=""" + Generate a symbol table map starting directly from an ELF + firmware with DWARF2 debugging information. + When used along with a memory dump obtained from the D2 g-code, + show the value of each symbol which is within the address range. + """) + ap.add_argument('elf', help='ELF file containing DWARF2 debugging information') + g = ap.add_mutually_exclusive_group(required=True) + g.add_argument('dump', nargs='?', help='RAM dump obtained from D2 g-code') + g.add_argument('--map', action='store_true', help='dump global memory map') + args = ap.parse_args() + + grefs = get_elf_globals(args.elf) + grefs = list(sorted(grefs, key=lambda x: x[1])) + if args.dump is None: + print_map(grefs) + else: + addr, data = decode_dump(args.dump) + annotate_refs(grefs, addr, data) + +if __name__ == '__main__': + exit(main()) diff --git a/tools/noreset b/tools/noreset new file mode 100755 index 000000000..3fd324169 --- /dev/null +++ b/tools/noreset @@ -0,0 +1,12 @@ +#!/bin/sh +prg=$(basename "$0") +port="$1" +if [ -z "$port" -o "$port" = "-h" ] +then + echo "usage: $0 " >&2 + echo "Set TTY flags on to avoid reset-on-connect" >&2 + exit 1 +fi + +set -e +stty -F "$port" -hup diff --git a/tools/update_eeprom b/tools/update_eeprom new file mode 100755 index 000000000..a72f9d714 --- /dev/null +++ b/tools/update_eeprom @@ -0,0 +1,54 @@ +#!/bin/sh +prg=$(basename "$0") + +# parse arguments +while getopts f:h optname +do + case $optname in + f) port="$OPTARG" ;; + *) help=1 ;; + esac +done +shift `expr $OPTIND - 1` + +old="$1" +new="$2" + +if [ -z "$old" -o "$help" = "-h" -o "$#" -gt 2 ] +then + echo "usage: $0 [-f ] []" >&2 + echo "Convert to instructions to update instructions." >&2 + echo "With , generate instructions to update EEPROM changes only." >&2 + echo "Optionally write such changes directly if if given." >&2 + exit 1 +fi + +set -e +instr=$(mktemp) +trap "rm -f \"$instr\"" EXIT + +convert() +{ + sed -ne 's/^\([0-9a-f]\{4\}\) \([0-9a-f ]*\)$/D3 Ax\1 C16 X\2/p' "$@" +} + +if [ -z "$new" ]; then + # convert the instructions to updates + convert "$old" > "$instr" +else + tmp1=$(mktemp) + tmp2=$(mktemp) + trap "rm -f \"$tmp1\" \"$tmp2\"" EXIT + + convert "$old" > "$tmp1" + convert "$new" > "$tmp2" + + comm -13 "$tmp1" "$tmp2" > "$instr" +fi + +# write the instructions if requested +if [ -z "$port" ]; then + cat "$instr" +else + printcore -v "$port" "$instr" +fi From 4c6339ac4697e99e6190a8603a746759e6fe4c81 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 2 Jun 2021 17:01:29 +0200 Subject: [PATCH 065/234] elf_mem_map: decode correctly void pointers --- tools/elf_mem_map | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 46f1e1c1e..a4301f979 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -47,11 +47,15 @@ def get_elf_globals(path): # variable name name = DIE.attributes['DW_AT_name'].value.decode('ascii') - # recurse on type to find the leaf definition + # recurse on type to find the final storage definition type_DIE = DIE - while 'DW_AT_type' in type_DIE.attributes: + byte_size = None + while True: + if 'DW_AT_byte_size' in type_DIE.attributes: + byte_size = type_DIE.attributes.get('DW_AT_byte_size') + if 'DW_AT_type' not in type_DIE.attributes: + break type_DIE = type_DIE.get_DIE_from_attribute('DW_AT_type') - byte_size = type_DIE.attributes.get('DW_AT_byte_size') if byte_size is None: continue size = byte_size.value From c321ba482137810ed6832fdb7a2ceb93a03b3590 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 2 Jun 2021 17:15:21 +0200 Subject: [PATCH 066/234] elf_mem_map: also dump gaps between known regions --- tools/elf_mem_map | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index a4301f979..69f084280 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -104,7 +104,9 @@ def decode_dump(path): return (buf_addr, buf_data) -def annotate_refs(grefs, addr, data, width=45): +def annotate_refs(grefs, addr, data, width=45, gaps=True): + last_pos = None + for name, loc, size in grefs: if loc < addr: continue @@ -112,7 +114,8 @@ def annotate_refs(grefs, addr, data, width=45): continue pos = loc-addr - buf = data[pos:pos+size] + end_pos = pos + size + buf = data[pos:end_pos] buf_repr = '' if len(buf) in [1, 2, 4]: @@ -122,8 +125,16 @@ def annotate_refs(grefs, addr, data, width=45): # attempt to decode as floats buf_repr += ' F:' + '{:10.3f}'.format(unpack('f', buf)[0]) + if gaps and last_pos is not None and last_pos < pos: + # decode gaps + gap_size = pos - last_pos + gap_buf = data[last_pos:pos] + print('{:04x} {} {:4} R:{}'.format(last_pos, "*UNKNOWN*".ljust(width), + gap_size, gap_buf.hex())) + print('{:04x} {} {:4}{} R:{}'.format(loc, name.ljust(width), size, buf_repr, buf.hex())) + last_pos = end_pos def print_map(grefs): From f2192dc5e6a97b04415b1d8f6592d3ce9317a601 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 2 Jun 2021 17:24:11 +0200 Subject: [PATCH 067/234] elf_mem_dump: fix unknown address --- tools/elf_mem_map | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 69f084280..ddfd5706f 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -105,8 +105,7 @@ def decode_dump(path): def annotate_refs(grefs, addr, data, width=45, gaps=True): - last_pos = None - + last_end = None for name, loc, size in grefs: if loc < addr: continue @@ -125,16 +124,16 @@ def annotate_refs(grefs, addr, data, width=45, gaps=True): # attempt to decode as floats buf_repr += ' F:' + '{:10.3f}'.format(unpack('f', buf)[0]) - if gaps and last_pos is not None and last_pos < pos: + if gaps and last_end is not None and last_end < pos: # decode gaps - gap_size = pos - last_pos - gap_buf = data[last_pos:pos] - print('{:04x} {} {:4} R:{}'.format(last_pos, "*UNKNOWN*".ljust(width), + gap_size = pos - last_end + gap_buf = data[last_end:pos] + print('{:04x} {} {:4} R:{}'.format(addr+last_end, "*UNKNOWN*".ljust(width), gap_size, gap_buf.hex())) print('{:04x} {} {:4}{} R:{}'.format(loc, name.ljust(width), size, buf_repr, buf.hex())) - last_pos = end_pos + last_end = end_pos def print_map(grefs): From 40b737e33d98f0b56c2dfee94dcd53563a39fd19 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 2 Jun 2021 18:13:43 +0200 Subject: [PATCH 068/234] elf_mem_map: switch to a named tuple for extensibility --- tools/elf_mem_map | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index ddfd5706f..aad957b99 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -2,6 +2,7 @@ import argparse import elftools.elf.elffile import elftools.dwarf.descriptions +from collections import namedtuple from struct import unpack SRAM_OFFSET = 0x800000 @@ -9,6 +10,9 @@ EEPROM_OFFSET = 0x810000 FILL_BYTE = b'\0' +Entry = namedtuple('Entry', ['name', 'loc', 'size']) + + def get_elf_globals(path): fd = open(path, "rb") if fd is None: @@ -60,7 +64,7 @@ def get_elf_globals(path): continue size = byte_size.value - grefs.append([name, loc, size]) + grefs.append(Entry(name, loc, size)) return grefs @@ -106,14 +110,14 @@ def decode_dump(path): def annotate_refs(grefs, addr, data, width=45, gaps=True): last_end = None - for name, loc, size in grefs: - if loc < addr: + for entry in grefs: + if entry.loc < addr: continue - if loc + size > addr + len(data): + if entry.loc + entry.size > addr + len(data): continue - pos = loc-addr - end_pos = pos + size + pos = entry.loc-addr + end_pos = pos + entry.size buf = data[pos:end_pos] buf_repr = '' @@ -131,15 +135,15 @@ def annotate_refs(grefs, addr, data, width=45, gaps=True): print('{:04x} {} {:4} R:{}'.format(addr+last_end, "*UNKNOWN*".ljust(width), gap_size, gap_buf.hex())) - print('{:04x} {} {:4}{} R:{}'.format(loc, name.ljust(width), size, - buf_repr, buf.hex())) + print('{:04x} {} {:4}{} R:{}'.format(entry.loc, entry.name.ljust(width), + entry.size, buf_repr, buf.hex())) last_end = end_pos def print_map(grefs): print('OFFSET\tSIZE\tNAME') - for name, loc, size in grefs: - print('{:x}\t{}\t{}'.format(loc, size, name)) + for entry in grefs: + print('{:x}\t{}\t{}'.format(entry.loc, entry.size, entry.name)) def main(): @@ -156,7 +160,7 @@ def main(): args = ap.parse_args() grefs = get_elf_globals(args.elf) - grefs = list(sorted(grefs, key=lambda x: x[1])) + grefs = list(sorted(grefs, key=lambda x: x.loc)) if args.dump is None: print_map(grefs) else: From 1de3fa51c9662e2b6f79aedb959c62f229bec3f3 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 2 Jun 2021 18:26:33 +0200 Subject: [PATCH 069/234] elf_mem_map: decode doubles correctly --- tools/elf_mem_map | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index aad957b99..32f178dc6 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -126,7 +126,8 @@ def annotate_refs(grefs, addr, data, width=45, gaps=True): buf_repr += ' I:' + str(int.from_bytes(buf, 'big')).rjust(10) if len(buf) in [4, 8]: # attempt to decode as floats - buf_repr += ' F:' + '{:10.3f}'.format(unpack('f', buf)[0]) + typ = 'f' if len(buf) == 4 else 'd' + buf_repr += ' F:' + '{:10.3f}'.format(unpack(typ, buf)[0]) if gaps and last_end is not None and last_end < pos: # decode gaps From 29b8c89ec2a7df5cf9dfcef693702890fe1c65e0 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 2 Jun 2021 18:30:25 +0200 Subject: [PATCH 070/234] elf_mem_map: decode arrays (first dimension) --- tools/elf_mem_map | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 32f178dc6..e518083d4 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -54,17 +54,33 @@ def get_elf_globals(path): # recurse on type to find the final storage definition type_DIE = DIE byte_size = None + array_len = None while True: if 'DW_AT_byte_size' in type_DIE.attributes: byte_size = type_DIE.attributes.get('DW_AT_byte_size') if 'DW_AT_type' not in type_DIE.attributes: break type_DIE = type_DIE.get_DIE_from_attribute('DW_AT_type') + if type_DIE.tag == 'DW_TAG_array_type': + # fetch the first dimension (if known) + range_DIE = next(type_DIE.iter_children()) + if range_DIE.tag == 'DW_TAG_subrange_type' and \ + 'DW_AT_upper_bound' in range_DIE.attributes: + array_len = range_DIE.attributes['DW_AT_upper_bound'].value + 1 if byte_size is None: continue size = byte_size.value - grefs.append(Entry(name, loc, size)) + if array_len is None or array_len == 1: + # plain entry + grefs.append(Entry(name, loc, size)) + elif size == 1: + # string + grefs.append(Entry('{}[]'.format(name), loc, array_len)) + else: + # expand array entries + for i in range(array_len): + grefs.append(Entry('{}[{}]'.format(name, i), loc+size*i, size)) return grefs From 2718dbb42cbd3671a43fd52fe23547b121c4a6c8 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 2 Jun 2021 18:57:14 +0200 Subject: [PATCH 071/234] elf_mem_map: array n-dimensional expansion --- tools/elf_mem_map | 45 +++++++++++++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index e518083d4..fdfc6dadb 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -13,6 +13,15 @@ FILL_BYTE = b'\0' Entry = namedtuple('Entry', ['name', 'loc', 'size']) +def array_inc(loc, dim, idx=0): + if idx == len(dim): + return True + loc[idx] += 1 + if loc[idx] == dim[idx]: + loc[idx] = 0 + return array_inc(loc, dim, idx+1) + return False + def get_elf_globals(path): fd = open(path, "rb") if fd is None: @@ -54,7 +63,7 @@ def get_elf_globals(path): # recurse on type to find the final storage definition type_DIE = DIE byte_size = None - array_len = None + array_dim = [] while True: if 'DW_AT_byte_size' in type_DIE.attributes: byte_size = type_DIE.attributes.get('DW_AT_byte_size') @@ -62,25 +71,37 @@ def get_elf_globals(path): break type_DIE = type_DIE.get_DIE_from_attribute('DW_AT_type') if type_DIE.tag == 'DW_TAG_array_type': - # fetch the first dimension (if known) - range_DIE = next(type_DIE.iter_children()) - if range_DIE.tag == 'DW_TAG_subrange_type' and \ - 'DW_AT_upper_bound' in range_DIE.attributes: - array_len = range_DIE.attributes['DW_AT_upper_bound'].value + 1 + # fetch array dimensions (if known) + for range_DIE in type_DIE.iter_children(): + if range_DIE.tag == 'DW_TAG_subrange_type' and \ + 'DW_AT_upper_bound' in range_DIE.attributes: + array_dim.append(range_DIE.attributes['DW_AT_upper_bound'].value + 1) if byte_size is None: continue size = byte_size.value - if array_len is None or array_len == 1: + if len(array_dim) == 0 or (len(array_dim) == 1 and array_dim[0] == 1): # plain entry grefs.append(Entry(name, loc, size)) - elif size == 1: - # string - grefs.append(Entry('{}[]'.format(name), loc, array_len)) + elif len(array_dim) == 1 and size == 1: + # likely string, avoid expansion + grefs.append(Entry('{}[]'.format(name), loc, array_dim[0])) else: # expand array entries - for i in range(array_len): - grefs.append(Entry('{}[{}]'.format(name, i), loc+size*i, size)) + array_pos = loc + array_loc = [0] * len(array_dim) + while True: + # location index + sfx = '' + for d in range(len(array_dim)): + sfx += '[{}]'.format(array_loc[d]) + + grefs.append(Entry(name + sfx, array_pos, size)) + + # advance + array_pos += size + if array_inc(array_loc, array_dim): + break return grefs From c311266a83e9f289c6ae3710cc1758d4bc8731b4 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 2 Jun 2021 19:26:29 +0200 Subject: [PATCH 072/234] elf_mem_map: handle abstract locations --- tools/elf_mem_map | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index fdfc6dadb..6d08abb95 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -40,11 +40,10 @@ def get_elf_globals(path): # handle only variable types if DIE.tag != 'DW_TAG_variable': continue - if 'DW_AT_name' not in DIE.attributes: - continue if 'DW_AT_location' not in DIE.attributes: continue - if 'DW_AT_type' not in DIE.attributes: + if 'DW_AT_name' not in DIE.attributes and \ + 'DW_AT_abstract_origin' not in DIE.attributes: continue # handle locations encoded directly as DW_OP_addr (leaf globals) @@ -57,7 +56,18 @@ def get_elf_globals(path): continue loc -= SRAM_OFFSET - # variable name + # variable name/type + if 'DW_AT_name' not in DIE.attributes and \ + 'DW_AT_abstract_origin' in DIE.attributes: + DIE = DIE.get_DIE_from_attribute('DW_AT_abstract_origin') + if 'DW_AT_location' in DIE.attributes: + # duplicate reference (handled directly), skip + continue + if 'DW_AT_name' not in DIE.attributes: + continue + if 'DW_AT_type' not in DIE.attributes: + continue + name = DIE.attributes['DW_AT_name'].value.decode('ascii') # recurse on type to find the final storage definition From 1181e784849f9dd594e73fa05aed24927e7ad542 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 2 Jun 2021 20:46:21 +0200 Subject: [PATCH 073/234] elf_mem_map: handle all pointer types correctly --- tools/elf_mem_map | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 6d08abb95..dc985ab0c 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -75,12 +75,12 @@ def get_elf_globals(path): byte_size = None array_dim = [] while True: - if 'DW_AT_byte_size' in type_DIE.attributes: + if byte_size is None and 'DW_AT_byte_size' in type_DIE.attributes: byte_size = type_DIE.attributes.get('DW_AT_byte_size') if 'DW_AT_type' not in type_DIE.attributes: break type_DIE = type_DIE.get_DIE_from_attribute('DW_AT_type') - if type_DIE.tag == 'DW_TAG_array_type': + if len(array_dim) == 0 and type_DIE.tag == 'DW_TAG_array_type': # fetch array dimensions (if known) for range_DIE in type_DIE.iter_children(): if range_DIE.tag == 'DW_TAG_subrange_type' and \ From bb8d171f34aef97e7f8cdaa245e61bcdd57d34bc Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 2 Jun 2021 21:07:22 +0200 Subject: [PATCH 074/234] elf_mem_map: decode integers with correct endianness --- tools/elf_mem_map | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index dc985ab0c..f4d187d10 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -170,7 +170,7 @@ def annotate_refs(grefs, addr, data, width=45, gaps=True): buf_repr = '' if len(buf) in [1, 2, 4]: # attempt to decode as integers - buf_repr += ' I:' + str(int.from_bytes(buf, 'big')).rjust(10) + buf_repr += ' I:' + str(int.from_bytes(buf, 'little')).rjust(10) if len(buf) in [4, 8]: # attempt to decode as floats typ = 'f' if len(buf) == 4 else 'd' From 9ddb5991f2ecc6f950bcb5e52a8999dc0a6df56e Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 2 Jun 2021 21:58:49 +0200 Subject: [PATCH 075/234] elf_mem_map: allow to disable gap dumps --- tools/elf_mem_map | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index f4d187d10..281566e88 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -202,6 +202,8 @@ def main(): show the value of each symbol which is within the address range. """) ap.add_argument('elf', help='ELF file containing DWARF2 debugging information') + ap.add_argument('--no-gaps', action='store_true', + help='do not dump memory inbetween known symbols') g = ap.add_mutually_exclusive_group(required=True) g.add_argument('dump', nargs='?', help='RAM dump obtained from D2 g-code') g.add_argument('--map', action='store_true', help='dump global memory map') @@ -213,7 +215,7 @@ def main(): print_map(grefs) else: addr, data = decode_dump(args.dump) - annotate_refs(grefs, addr, data) + annotate_refs(grefs, addr, data, gaps=not args.no_gaps) if __name__ == '__main__': exit(main()) From 615e8575bb1883518cb0d7280d8205748c3f1ab0 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 16:29:22 +0200 Subject: [PATCH 076/234] elf_mem_map: decode structs --- tools/elf_mem_map | 141 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 110 insertions(+), 31 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 281566e88..2d96221c9 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -11,6 +11,7 @@ FILL_BYTE = b'\0' Entry = namedtuple('Entry', ['name', 'loc', 'size']) +Member = namedtuple('Member', ['name', 'off', 'size']) def array_inc(loc, dim, idx=0): @@ -22,7 +23,54 @@ def array_inc(loc, dim, idx=0): return array_inc(loc, dim, idx+1) return False -def get_elf_globals(path): +def get_type_size(type_DIE): + while True: + if 'DW_AT_byte_size' in type_DIE.attributes: + return type_DIE, type_DIE.attributes.get('DW_AT_byte_size').value + if 'DW_AT_type' not in type_DIE.attributes: + return None + type_DIE = type_DIE.get_DIE_from_attribute('DW_AT_type') + +def get_type_arrsize(type_DIE): + size = get_type_size(type_DIE) + if size is None: + return None + byte_size = size[1] + if size[0].tag != 'DW_TAG_pointer_type': + array_DIE = get_type_def(type_DIE, 'DW_TAG_array_type') + if array_DIE is not None: + for range_DIE in array_DIE.iter_children(): + if range_DIE.tag == 'DW_TAG_subrange_type' and \ + 'DW_AT_upper_bound' in range_DIE.attributes: + dim = range_DIE.attributes['DW_AT_upper_bound'].value + 1 + byte_size *= dim + return byte_size + +def get_type_def(type_DIE, type_tag): + while True: + if type_DIE.tag == type_tag: + return type_DIE + if 'DW_AT_type' not in type_DIE.attributes: + return None + type_DIE = type_DIE.get_DIE_from_attribute('DW_AT_type') + +def get_FORM_block1(attr): + if attr.form != 'DW_FORM_block1': + return None + if attr.value[0] == 3: # OP_addr + return int.from_bytes(attr.value[1:], 'little') + if attr.value[0] == 35: # OP_plus_uconst (ULEB128) + v = 0 + s = 0 + for b in attr.value[1:]: + v |= b + s += 7 + if not b & 0x100: + break + return v + return None + +def get_elf_globals(path, expand_structs, struct_gaps=True): fd = open(path, "rb") if fd is None: return @@ -47,12 +95,8 @@ def get_elf_globals(path): continue # handle locations encoded directly as DW_OP_addr (leaf globals) - at_loc = DIE.attributes['DW_AT_location'] - if at_loc.form != 'DW_FORM_block1' or at_loc.value[0] != 3: - continue - loc = (at_loc.value[1]) + (at_loc.value[2] << 8) \ - + (at_loc.value[3] << 16) + (at_loc.value[4] << 24) - if loc < SRAM_OFFSET or loc >= EEPROM_OFFSET: + loc = get_FORM_block1(DIE.attributes['DW_AT_location']) + if loc is None or loc < SRAM_OFFSET or loc >= EEPROM_OFFSET: continue loc -= SRAM_OFFSET @@ -70,32 +114,65 @@ def get_elf_globals(path): name = DIE.attributes['DW_AT_name'].value.decode('ascii') - # recurse on type to find the final storage definition - type_DIE = DIE - byte_size = None - array_dim = [] - while True: - if byte_size is None and 'DW_AT_byte_size' in type_DIE.attributes: - byte_size = type_DIE.attributes.get('DW_AT_byte_size') - if 'DW_AT_type' not in type_DIE.attributes: - break - type_DIE = type_DIE.get_DIE_from_attribute('DW_AT_type') - if len(array_dim) == 0 and type_DIE.tag == 'DW_TAG_array_type': - # fetch array dimensions (if known) - for range_DIE in type_DIE.iter_children(): - if range_DIE.tag == 'DW_TAG_subrange_type' and \ - 'DW_AT_upper_bound' in range_DIE.attributes: - array_dim.append(range_DIE.attributes['DW_AT_upper_bound'].value + 1) - if byte_size is None: + # get final storage size + size = get_type_size(DIE) + if size is None: continue - size = byte_size.value + byte_size = size[1] + + # fetch array dimensions (if known) + array_dim = [] + array_DIE = get_type_def(DIE, 'DW_TAG_array_type') + if array_DIE is not None: + for range_DIE in array_DIE.iter_children(): + if range_DIE.tag == 'DW_TAG_subrange_type' and \ + 'DW_AT_upper_bound' in range_DIE.attributes: + array_dim.append(range_DIE.attributes['DW_AT_upper_bound'].value + 1) + + # fetch structure members (one level only) + members = [] + if expand_structs and size[0].tag != 'DW_TAG_pointer_type': + struct_DIE = get_type_def(DIE, 'DW_TAG_structure_type') + if struct_DIE is not None: + for member_DIE in struct_DIE.iter_children(): + if member_DIE.tag == 'DW_TAG_member' and 'DW_AT_name' in member_DIE.attributes: + m_name = member_DIE.attributes['DW_AT_name'].value.decode('ascii') + m_off = get_FORM_block1(member_DIE.attributes['DW_AT_data_member_location']) + m_size = get_type_arrsize(member_DIE) + members.append(Member(m_name, m_off, m_size)) + + if struct_gaps and len(members): + # fill gaps in the middle + members = list(sorted(members, key=lambda x: x.off)) + last_end = 0 + for member in members: + if member.off > last_end: + members.append(Member('*UNKNOWN*', last_end, member.off - last_end)) + last_end = member.off + member.size + + if struct_gaps and len(members): + # fill gap at the end + members = list(sorted(members, key=lambda x: x.off)) + last = members[-1] + last_end = last.off + last.size + if byte_size > last_end: + members.append(Member('*UNKNOWN*', last_end, byte_size - last_end)) + + + def expand_members(entry, members): + if len(members) == 0: + grefs.append(entry) + else: + for member in members: + grefs.append(Entry(entry.name + '.' + member.name, + entry.loc + member.off, member.size)) if len(array_dim) == 0 or (len(array_dim) == 1 and array_dim[0] == 1): # plain entry - grefs.append(Entry(name, loc, size)) - elif len(array_dim) == 1 and size == 1: + expand_members(Entry(name, loc, byte_size), members) + elif len(array_dim) == 1 and byte_size == 1: # likely string, avoid expansion - grefs.append(Entry('{}[]'.format(name), loc, array_dim[0])) + grefs.append(Entry(name + '[]', loc, array_dim[0])) else: # expand array entries array_pos = loc @@ -106,10 +183,10 @@ def get_elf_globals(path): for d in range(len(array_dim)): sfx += '[{}]'.format(array_loc[d]) - grefs.append(Entry(name + sfx, array_pos, size)) + expand_members(Entry(name + sfx, array_pos, byte_size), members) # advance - array_pos += size + array_pos += byte_size if array_inc(array_loc, array_dim): break @@ -204,12 +281,14 @@ def main(): ap.add_argument('elf', help='ELF file containing DWARF2 debugging information') ap.add_argument('--no-gaps', action='store_true', help='do not dump memory inbetween known symbols') + ap.add_argument('--no-expand-structs', action='store_true', + help='do not decode structure data') g = ap.add_mutually_exclusive_group(required=True) g.add_argument('dump', nargs='?', help='RAM dump obtained from D2 g-code') g.add_argument('--map', action='store_true', help='dump global memory map') args = ap.parse_args() - grefs = get_elf_globals(args.elf) + grefs = get_elf_globals(args.elf, expand_structs=not args.no_expand_structs) grefs = list(sorted(grefs, key=lambda x: x.loc)) if args.dump is None: print_map(grefs) From 1d82d2da641aea497d19f483ce5de7c386cbc4c8 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 16:49:45 +0200 Subject: [PATCH 077/234] get_elf_map: do not reprocess members twice --- tools/elf_mem_map | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 2d96221c9..cde11dafd 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -145,7 +145,8 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): # fill gaps in the middle members = list(sorted(members, key=lambda x: x.off)) last_end = 0 - for member in members: + for n in range(len(members)): + member = members[n] if member.off > last_end: members.append(Member('*UNKNOWN*', last_end, member.off - last_end)) last_end = member.off + member.size From a5635997b281e24f789dee211a8c13101943feb7 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 17:06:36 +0200 Subject: [PATCH 078/234] elf_mem_map: allow to annotate overlapping regions for clarity --- tools/elf_mem_map | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index cde11dafd..b3b599787 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -233,7 +233,7 @@ def decode_dump(path): return (buf_addr, buf_data) -def annotate_refs(grefs, addr, data, width=45, gaps=True): +def annotate_refs(grefs, addr, data, width=45, gaps=True, overlaps=True): last_end = None for entry in grefs: if entry.loc < addr: @@ -254,12 +254,16 @@ def annotate_refs(grefs, addr, data, width=45, gaps=True): typ = 'f' if len(buf) == 4 else 'd' buf_repr += ' F:' + '{:10.3f}'.format(unpack(typ, buf)[0]) - if gaps and last_end is not None and last_end < pos: - # decode gaps - gap_size = pos - last_end - gap_buf = data[last_end:pos] - print('{:04x} {} {:4} R:{}'.format(addr+last_end, "*UNKNOWN*".ljust(width), - gap_size, gap_buf.hex())) + if last_end is not None: + if gaps and last_end < pos: + # decode gaps + gap_size = pos - last_end + gap_buf = data[last_end:pos] + print('{:04x} {} {:4} R:{}'.format(addr+last_end, "*UNKNOWN*".ljust(width), + gap_size, gap_buf.hex())) + if overlaps and last_end > pos + 1: + gap_size = pos - last_end + print('{:04x} {} {:4}'.format(addr+last_end, "*OVERLAP*".ljust(width), gap_size)) print('{:04x} {} {:4}{} R:{}'.format(entry.loc, entry.name.ljust(width), entry.size, buf_repr, buf.hex())) @@ -284,6 +288,8 @@ def main(): help='do not dump memory inbetween known symbols') ap.add_argument('--no-expand-structs', action='store_true', help='do not decode structure data') + ap.add_argument('--overlaps', action='store_true', + help='annotate overlaps greater than 1 byte') g = ap.add_mutually_exclusive_group(required=True) g.add_argument('dump', nargs='?', help='RAM dump obtained from D2 g-code') g.add_argument('--map', action='store_true', help='dump global memory map') @@ -295,7 +301,9 @@ def main(): print_map(grefs) else: addr, data = decode_dump(args.dump) - annotate_refs(grefs, addr, data, gaps=not args.no_gaps) + annotate_refs(grefs, addr, data, + gaps=not args.no_gaps, + overlaps=args.overlaps) if __name__ == '__main__': exit(main()) From 7f76f62af91f31acdf51cb5956afff1c76eb1ad8 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 17:17:00 +0200 Subject: [PATCH 079/234] elf_mem_map: fix uleb128 decoding (fixes incorrect member offsets) --- tools/elf_mem_map | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index b3b599787..28681167a 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -63,10 +63,10 @@ def get_FORM_block1(attr): v = 0 s = 0 for b in attr.value[1:]: - v |= b - s += 7 - if not b & 0x100: + v |= (b & 0x7f) << s + if b & 0x80 == 0: break + s += 7 return v return None From 29513a369d69418d2d4a297a3b18b142bb4c86cf Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 17:22:25 +0200 Subject: [PATCH 080/234] elf_mem_map: allow to customize the name column's width --- tools/elf_mem_map | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 28681167a..7a14c2009 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -233,7 +233,7 @@ def decode_dump(path): return (buf_addr, buf_data) -def annotate_refs(grefs, addr, data, width=45, gaps=True, overlaps=True): +def annotate_refs(grefs, addr, data, width=46, gaps=True, overlaps=True): last_end = None for entry in grefs: if entry.loc < addr: @@ -290,6 +290,8 @@ def main(): help='do not decode structure data') ap.add_argument('--overlaps', action='store_true', help='annotate overlaps greater than 1 byte') + ap.add_argument('--name-width', type=int, default=46, + help='set name column width') g = ap.add_mutually_exclusive_group(required=True) g.add_argument('dump', nargs='?', help='RAM dump obtained from D2 g-code') g.add_argument('--map', action='store_true', help='dump global memory map') @@ -302,6 +304,7 @@ def main(): else: addr, data = decode_dump(args.dump) annotate_refs(grefs, addr, data, + width=args.name_width, gaps=not args.no_gaps, overlaps=args.overlaps) From 776b82a6db7ad7110432b16e413841f4c0f206de Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 17:51:02 +0200 Subject: [PATCH 081/234] elf_mem_map: expand member arrays --- tools/elf_mem_map | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 7a14c2009..cb08ca5e9 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -138,8 +138,39 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): if member_DIE.tag == 'DW_TAG_member' and 'DW_AT_name' in member_DIE.attributes: m_name = member_DIE.attributes['DW_AT_name'].value.decode('ascii') m_off = get_FORM_block1(member_DIE.attributes['DW_AT_data_member_location']) - m_size = get_type_arrsize(member_DIE) - members.append(Member(m_name, m_off, m_size)) + m_byte_size = get_type_size(member_DIE)[1] + + # still expand member arrays + m_array_dim = [] + m_array_DIE = get_type_def(member_DIE, 'DW_TAG_array_type') + if m_array_DIE is not None: + for range_DIE in m_array_DIE.iter_children(): + if range_DIE.tag == 'DW_TAG_subrange_type' and \ + 'DW_AT_upper_bound' in range_DIE.attributes: + m_array_dim.append(range_DIE.attributes['DW_AT_upper_bound'].value + 1) + + if len(m_array_dim) == 0 or (len(m_array_dim) == 1 and m_array_dim[0] == 1): + # plain entry + members.append(Member(m_name, m_off, m_byte_size)) + elif len(m_array_dim) == 1 and m_byte_size == 1: + # likely string, avoid expansion + members.append(Member(m_name + '[]', m_off, m_array_dim[0])) + else: + # expand array entries + m_array_pos = m_off + m_array_loc = [0] * len(m_array_dim) + while True: + # location index + sfx = '' + for d in range(len(m_array_dim)): + sfx += '[{}]'.format(m_array_loc[d]) + + members.append(Member(m_name + sfx, m_array_pos, m_byte_size)) + + # advance + if array_inc(m_array_loc, m_array_dim): + break + m_array_pos += m_byte_size if struct_gaps and len(members): # fill gaps in the middle @@ -187,9 +218,9 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): expand_members(Entry(name + sfx, array_pos, byte_size), members) # advance - array_pos += byte_size if array_inc(array_loc, array_dim): break + array_pos += byte_size return grefs From cb4f5cff9f8c451eabc169857ef47d98deb16b9b Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 17:54:11 +0200 Subject: [PATCH 082/234] elf_mem_map: improve display of array-of-strings --- tools/elf_mem_map | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index cb08ca5e9..86058618a 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -149,6 +149,9 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): 'DW_AT_upper_bound' in range_DIE.attributes: m_array_dim.append(range_DIE.attributes['DW_AT_upper_bound'].value + 1) + # likely string, remove one dimension + if m_byte_size == 1 and len(m_array_dim) > 1: + m_byte_size *= m_array_dim.pop() if len(m_array_dim) == 0 or (len(m_array_dim) == 1 and m_array_dim[0] == 1): # plain entry members.append(Member(m_name, m_off, m_byte_size)) @@ -199,6 +202,9 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): grefs.append(Entry(entry.name + '.' + member.name, entry.loc + member.off, member.size)) + # likely string, remove one dimension + if byte_size == 1 and len(array_dim) > 1: + byte_size *= array_dim.pop() if len(array_dim) == 0 or (len(array_dim) == 1 and array_dim[0] == 1): # plain entry expand_members(Entry(name, loc, byte_size), members) From 71ef94da2e3a6810a4711541d6b17dca8462abe9 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 18:03:36 +0200 Subject: [PATCH 083/234] elf_mem_map: improve alignment of arrays --- tools/elf_mem_map | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 86058618a..b6aec2c60 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -149,8 +149,8 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): 'DW_AT_upper_bound' in range_DIE.attributes: m_array_dim.append(range_DIE.attributes['DW_AT_upper_bound'].value + 1) - # likely string, remove one dimension if m_byte_size == 1 and len(m_array_dim) > 1: + # likely string, remove one dimension m_byte_size *= m_array_dim.pop() if len(m_array_dim) == 0 or (len(m_array_dim) == 1 and m_array_dim[0] == 1): # plain entry @@ -166,7 +166,7 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): # location index sfx = '' for d in range(len(m_array_dim)): - sfx += '[{}]'.format(m_array_loc[d]) + sfx += '[{}]'.format(str(m_array_loc[d]).rjust(len(str(m_array_dim[d]-1)), '0')) members.append(Member(m_name + sfx, m_array_pos, m_byte_size)) @@ -202,8 +202,8 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): grefs.append(Entry(entry.name + '.' + member.name, entry.loc + member.off, member.size)) - # likely string, remove one dimension if byte_size == 1 and len(array_dim) > 1: + # likely string, remove one dimension byte_size *= array_dim.pop() if len(array_dim) == 0 or (len(array_dim) == 1 and array_dim[0] == 1): # plain entry @@ -219,7 +219,7 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): # location index sfx = '' for d in range(len(array_dim)): - sfx += '[{}]'.format(array_loc[d]) + sfx += '[{}]'.format(str(array_loc[d]).rjust(len(str(array_dim[d]-1)), '0')) expand_members(Entry(name + sfx, array_pos, byte_size), members) From c875aef49ccdec2edda4a908c31bfbde1bf47c56 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 18:03:50 +0200 Subject: [PATCH 084/234] elf_mem_map: increase width again to fit new output --- tools/elf_mem_map | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index b6aec2c60..3bd0f23e5 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -270,7 +270,7 @@ def decode_dump(path): return (buf_addr, buf_data) -def annotate_refs(grefs, addr, data, width=46, gaps=True, overlaps=True): +def annotate_refs(grefs, addr, data, width, gaps=True, overlaps=True): last_end = None for entry in grefs: if entry.loc < addr: @@ -327,7 +327,7 @@ def main(): help='do not decode structure data') ap.add_argument('--overlaps', action='store_true', help='annotate overlaps greater than 1 byte') - ap.add_argument('--name-width', type=int, default=46, + ap.add_argument('--name-width', type=int, default=50, help='set name column width') g = ap.add_mutually_exclusive_group(required=True) g.add_argument('dump', nargs='?', help='RAM dump obtained from D2 g-code') From d1720cba512c60940a615f3826cb6477f46ea9dc Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 19:10:52 +0200 Subject: [PATCH 085/234] elf_mem_map: reduce some duplication --- tools/elf_mem_map | 148 ++++++++++++++++++++++++---------------------- 1 file changed, 78 insertions(+), 70 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 3bd0f23e5..26694c807 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -70,6 +70,82 @@ def get_FORM_block1(attr): return v return None + +def get_array_dims(DIE): + array_DIE = get_type_def(DIE, 'DW_TAG_array_type') + if array_DIE is None: + return [] + + array_dim = [] + for range_DIE in array_DIE.iter_children(): + if range_DIE.tag == 'DW_TAG_subrange_type' and \ + 'DW_AT_upper_bound' in range_DIE.attributes: + array_dim.append(range_DIE.attributes['DW_AT_upper_bound'].value + 1) + return array_dim + + +def get_struct_members(DIE, size, expand_structs, struct_gaps): + if not expand_structs or size[0].tag == 'DW_TAG_pointer_type': + return [] + struct_DIE = get_type_def(DIE, 'DW_TAG_structure_type') + if struct_DIE is None: + return [] + + members = [] + for member_DIE in struct_DIE.iter_children(): + if member_DIE.tag == 'DW_TAG_member' and 'DW_AT_name' in member_DIE.attributes: + m_name = member_DIE.attributes['DW_AT_name'].value.decode('ascii') + m_off = get_FORM_block1(member_DIE.attributes['DW_AT_data_member_location']) + m_byte_size = get_type_size(member_DIE)[1] + + # still expand member arrays + m_array_dim = get_array_dims(member_DIE) + + if m_byte_size == 1 and len(m_array_dim) > 1: + # likely string, remove one dimension + m_byte_size *= m_array_dim.pop() + if len(m_array_dim) == 0 or (len(m_array_dim) == 1 and m_array_dim[0] == 1): + # plain entry + members.append(Member(m_name, m_off, m_byte_size)) + elif len(m_array_dim) == 1 and m_byte_size == 1: + # likely string, avoid expansion + members.append(Member(m_name + '[]', m_off, m_array_dim[0])) + else: + # expand array entries + m_array_pos = m_off + m_array_loc = [0] * len(m_array_dim) + while True: + # location index + sfx = '' + for d in range(len(m_array_dim)): + sfx += '[{}]'.format(str(m_array_loc[d]).rjust(len(str(m_array_dim[d]-1)), '0')) + members.append(Member(m_name + sfx, m_array_pos, m_byte_size)) + # advance + if array_inc(m_array_loc, m_array_dim): + break + m_array_pos += m_byte_size + + if struct_gaps and len(members): + # fill gaps in the middle + members = list(sorted(members, key=lambda x: x.off)) + last_end = 0 + for n in range(len(members)): + member = members[n] + if member.off > last_end: + members.append(Member('*UNKNOWN*', last_end, member.off - last_end)) + last_end = member.off + member.size + + if struct_gaps and len(members): + # fill gap at the end + members = list(sorted(members, key=lambda x: x.off)) + last = members[-1] + last_end = last.off + last.size + if size[1] > last_end: + members.append(Member('*UNKNOWN*', last_end, byte_size - last_end)) + + return members + + def get_elf_globals(path, expand_structs, struct_gaps=True): fd = open(path, "rb") if fd is None: @@ -121,78 +197,10 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): byte_size = size[1] # fetch array dimensions (if known) - array_dim = [] - array_DIE = get_type_def(DIE, 'DW_TAG_array_type') - if array_DIE is not None: - for range_DIE in array_DIE.iter_children(): - if range_DIE.tag == 'DW_TAG_subrange_type' and \ - 'DW_AT_upper_bound' in range_DIE.attributes: - array_dim.append(range_DIE.attributes['DW_AT_upper_bound'].value + 1) + array_dim = get_array_dims(DIE) # fetch structure members (one level only) - members = [] - if expand_structs and size[0].tag != 'DW_TAG_pointer_type': - struct_DIE = get_type_def(DIE, 'DW_TAG_structure_type') - if struct_DIE is not None: - for member_DIE in struct_DIE.iter_children(): - if member_DIE.tag == 'DW_TAG_member' and 'DW_AT_name' in member_DIE.attributes: - m_name = member_DIE.attributes['DW_AT_name'].value.decode('ascii') - m_off = get_FORM_block1(member_DIE.attributes['DW_AT_data_member_location']) - m_byte_size = get_type_size(member_DIE)[1] - - # still expand member arrays - m_array_dim = [] - m_array_DIE = get_type_def(member_DIE, 'DW_TAG_array_type') - if m_array_DIE is not None: - for range_DIE in m_array_DIE.iter_children(): - if range_DIE.tag == 'DW_TAG_subrange_type' and \ - 'DW_AT_upper_bound' in range_DIE.attributes: - m_array_dim.append(range_DIE.attributes['DW_AT_upper_bound'].value + 1) - - if m_byte_size == 1 and len(m_array_dim) > 1: - # likely string, remove one dimension - m_byte_size *= m_array_dim.pop() - if len(m_array_dim) == 0 or (len(m_array_dim) == 1 and m_array_dim[0] == 1): - # plain entry - members.append(Member(m_name, m_off, m_byte_size)) - elif len(m_array_dim) == 1 and m_byte_size == 1: - # likely string, avoid expansion - members.append(Member(m_name + '[]', m_off, m_array_dim[0])) - else: - # expand array entries - m_array_pos = m_off - m_array_loc = [0] * len(m_array_dim) - while True: - # location index - sfx = '' - for d in range(len(m_array_dim)): - sfx += '[{}]'.format(str(m_array_loc[d]).rjust(len(str(m_array_dim[d]-1)), '0')) - - members.append(Member(m_name + sfx, m_array_pos, m_byte_size)) - - # advance - if array_inc(m_array_loc, m_array_dim): - break - m_array_pos += m_byte_size - - if struct_gaps and len(members): - # fill gaps in the middle - members = list(sorted(members, key=lambda x: x.off)) - last_end = 0 - for n in range(len(members)): - member = members[n] - if member.off > last_end: - members.append(Member('*UNKNOWN*', last_end, member.off - last_end)) - last_end = member.off + member.size - - if struct_gaps and len(members): - # fill gap at the end - members = list(sorted(members, key=lambda x: x.off)) - last = members[-1] - last_end = last.off + last.size - if byte_size > last_end: - members.append(Member('*UNKNOWN*', last_end, byte_size - last_end)) - + members = get_struct_members(DIE, size, expand_structs, struct_gaps) def expand_members(entry, members): if len(members) == 0: From 7bdee552ce91bf133fb2fb7e00f87f668630bf01 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 20:36:19 +0200 Subject: [PATCH 086/234] elf_mem_map: add declaration position in --map --- tools/elf_mem_map | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 26694c807..f29a58cfd 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -10,7 +10,7 @@ EEPROM_OFFSET = 0x810000 FILL_BYTE = b'\0' -Entry = namedtuple('Entry', ['name', 'loc', 'size']) +Entry = namedtuple('Entry', ['name', 'loc', 'size', 'declpos']) Member = namedtuple('Member', ['name', 'off', 'size']) @@ -160,6 +160,8 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): grefs = [] for CU in dwarfinfo.iter_CUs(): + file_entries = dwarfinfo.line_program_for_CU(CU).header["file_entry"] + for DIE in CU.iter_DIEs(): # handle only variable types if DIE.tag != 'DW_TAG_variable': @@ -196,6 +198,16 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): continue byte_size = size[1] + # location of main definition + declpos = '' + if 'DW_AT_decl_file' in DIE.attributes and \ + 'DW_AT_decl_line' in DIE.attributes: + line = DIE.attributes['DW_AT_decl_line'].value + fname = DIE.attributes['DW_AT_decl_file'].value + if fname and fname - 1 < len(file_entries): + fname = file_entries[fname-1].name.decode('ascii') + declpos = '{}:{}'.format(fname, line) + # fetch array dimensions (if known) array_dim = get_array_dims(DIE) @@ -208,17 +220,18 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): else: for member in members: grefs.append(Entry(entry.name + '.' + member.name, - entry.loc + member.off, member.size)) + entry.loc + member.off, member.size, + entry.declpos)) if byte_size == 1 and len(array_dim) > 1: # likely string, remove one dimension byte_size *= array_dim.pop() if len(array_dim) == 0 or (len(array_dim) == 1 and array_dim[0] == 1): # plain entry - expand_members(Entry(name, loc, byte_size), members) + expand_members(Entry(name, loc, byte_size, declpos), members) elif len(array_dim) == 1 and byte_size == 1: # likely string, avoid expansion - grefs.append(Entry(name + '[]', loc, array_dim[0])) + grefs.append(Entry(name + '[]', loc, array_dim[0], declpos)) else: # expand array entries array_pos = loc @@ -229,7 +242,7 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): for d in range(len(array_dim)): sfx += '[{}]'.format(str(array_loc[d]).rjust(len(str(array_dim[d]-1)), '0')) - expand_members(Entry(name + sfx, array_pos, byte_size), members) + expand_members(Entry(name + sfx, array_pos, byte_size, declpos), members) # advance if array_inc(array_loc, array_dim): @@ -316,9 +329,9 @@ def annotate_refs(grefs, addr, data, width, gaps=True, overlaps=True): def print_map(grefs): - print('OFFSET\tSIZE\tNAME') + print('OFFSET\tSIZE\tNAME\tDECLPOS') for entry in grefs: - print('{:x}\t{}\t{}'.format(entry.loc, entry.size, entry.name)) + print('{:x}\t{}\t{}\t{}'.format(entry.loc, entry.size, entry.name, entry.declpos)) def main(): From 676b925c5f33a0a5f08bbcfb17941068965cb1b6 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 20:56:14 +0200 Subject: [PATCH 087/234] elf_mem_map: cleanup --- tools/elf_mem_map | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index f29a58cfd..998366e92 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -84,9 +84,7 @@ def get_array_dims(DIE): return array_dim -def get_struct_members(DIE, size, expand_structs, struct_gaps): - if not expand_structs or size[0].tag == 'DW_TAG_pointer_type': - return [] +def get_struct_members(DIE, entry, expand_structs, struct_gaps): struct_DIE = get_type_def(DIE, 'DW_TAG_structure_type') if struct_DIE is None: return [] @@ -140,8 +138,8 @@ def get_struct_members(DIE, size, expand_structs, struct_gaps): members = list(sorted(members, key=lambda x: x.off)) last = members[-1] last_end = last.off + last.size - if size[1] > last_end: - members.append(Member('*UNKNOWN*', last_end, byte_size - last_end)) + if entry.size > last_end: + members.append(Member('*UNKNOWN*', last_end, entry.size - last_end)) return members @@ -212,7 +210,11 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): array_dim = get_array_dims(DIE) # fetch structure members (one level only) - members = get_struct_members(DIE, size, expand_structs, struct_gaps) + entry = Entry(name, loc, byte_size, declpos) + if not expand_structs or size[0].tag == 'DW_TAG_pointer_type': + members = [] + else: + members = get_struct_members(DIE, entry, expand_structs, struct_gaps) def expand_members(entry, members): if len(members) == 0: @@ -228,10 +230,11 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): byte_size *= array_dim.pop() if len(array_dim) == 0 or (len(array_dim) == 1 and array_dim[0] == 1): # plain entry - expand_members(Entry(name, loc, byte_size, declpos), members) + expand_members(entry, members) elif len(array_dim) == 1 and byte_size == 1: # likely string, avoid expansion - grefs.append(Entry(name + '[]', loc, array_dim[0], declpos)) + grefs.append(Entry(entry.name + '[]', entry.loc, + array_dim[0], entry.declpos)) else: # expand array entries array_pos = loc @@ -241,9 +244,8 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): sfx = '' for d in range(len(array_dim)): sfx += '[{}]'.format(str(array_loc[d]).rjust(len(str(array_dim[d]-1)), '0')) - - expand_members(Entry(name + sfx, array_pos, byte_size, declpos), members) - + expand_members(Entry(entry.name + sfx, array_pos, + byte_size, entry.declpos), members) # advance if array_inc(array_loc, array_dim): break From 54e24036a88c3d9ac758b1413361a8b8ff1232f3 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 21:54:42 +0200 Subject: [PATCH 088/234] elf_mem_map: add qdirstat output for space visualization --- tools/elf_mem_map | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 998366e92..079adf358 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -4,6 +4,7 @@ import elftools.elf.elffile import elftools.dwarf.descriptions from collections import namedtuple from struct import unpack +import re SRAM_OFFSET = 0x800000 EEPROM_OFFSET = 0x810000 @@ -336,6 +337,43 @@ def print_map(grefs): print('{:x}\t{}\t{}\t{}'.format(entry.loc, entry.size, entry.name, entry.declpos)) +def print_qdirstat(grefs): + print('[qdirstat 1.0 cache file]') + + entries = {} + for entry in grefs: + paths = list(filter(None, re.split(r'[\[\].]', entry.name))) + base = entries + for i in range(len(paths) - 1): + name = paths[i] + if name not in base: + base[name] = {} + base = base[name] + name = paths[-1] + base[name] = entry.size + + def walker(root, prefix): + files = [] + dirs = [] + + for name, entries in root.items(): + if type(entries) == int: + files.append([name, entries]) + else: + dirs.append([name, entries]) + + # print files + print('D\t{}\t{}\t0x0'.format(prefix, 0)) + for name, size in files: + print('F\t{}\t{}\t0x0'.format(name, size)) + + # recurse directories + for name, entries in dirs: + walker(entries, prefix + '/' + name) + + walker(entries, '/') + + def main(): ap = argparse.ArgumentParser(description=""" Generate a symbol table map starting directly from an ELF @@ -355,12 +393,16 @@ def main(): g = ap.add_mutually_exclusive_group(required=True) g.add_argument('dump', nargs='?', help='RAM dump obtained from D2 g-code') g.add_argument('--map', action='store_true', help='dump global memory map') + g.add_argument('--qdirstat', action='store_true', + help='dump qdirstat-compatible size usage map') args = ap.parse_args() grefs = get_elf_globals(args.elf, expand_structs=not args.no_expand_structs) grefs = list(sorted(grefs, key=lambda x: x.loc)) - if args.dump is None: + if args.map: print_map(grefs) + elif args.qdirstat: + print_qdirstat(grefs) else: addr, data = decode_dump(args.dump) annotate_refs(grefs, addr, data, From 9958c449e347578f06c810d058539467b510f437 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 22:29:11 +0200 Subject: [PATCH 089/234] elf_mem_map: remove DWARF version except in help Fix version to DWARF3, which is what we actually support. --- tools/README.md | 2 +- tools/elf_mem_map | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/README.md b/tools/README.md index 2b4c7b828..02f4813fe 100644 --- a/tools/README.md +++ b/tools/README.md @@ -14,7 +14,7 @@ Requires ``printcore`` from [Pronterface]. ### ``elf_mem_map`` -Generate a symbol table map starting directly from an ELF firmware with DWARF2 debugging information (which is the default using the stock board definition). +Generate a symbol table map starting directly from an ELF firmware with DWARF debugging information (which is the default using the stock board definition). When used along with a memory dump obtained from the D2 g-code, show the value of each symbol which is within the address range. diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 079adf358..65a95732d 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -377,11 +377,11 @@ def print_qdirstat(grefs): def main(): ap = argparse.ArgumentParser(description=""" Generate a symbol table map starting directly from an ELF - firmware with DWARF2 debugging information. + firmware with DWARF3 debugging information. When used along with a memory dump obtained from the D2 g-code, show the value of each symbol which is within the address range. """) - ap.add_argument('elf', help='ELF file containing DWARF2 debugging information') + ap.add_argument('elf', help='ELF file containing DWARF debugging information') ap.add_argument('--no-gaps', action='store_true', help='do not dump memory inbetween known symbols') ap.add_argument('--no-expand-structs', action='store_true', From 9917689fdfe572e2462b3bcc3a69837575959f16 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 22:45:01 +0200 Subject: [PATCH 090/234] tools: update documentation for elf_mem_map --- tools/README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/README.md b/tools/README.md index 02f4813fe..e79115016 100644 --- a/tools/README.md +++ b/tools/README.md @@ -14,9 +14,13 @@ Requires ``printcore`` from [Pronterface]. ### ``elf_mem_map`` -Generate a symbol table map starting directly from an ELF firmware with DWARF debugging information (which is the default using the stock board definition). +Generate a symbol table map with decoded information starting directly from an ELF firmware with DWARF debugging information (which is the default using the stock board definition). -When used along with a memory dump obtained from the D2 g-code, show the value of each symbol which is within the address range. +When used along with a memory dump obtained from the D2 g-code, show the value of each symbol which is within the address range of the dump. + +When used with ``--map`` and a single elf file, generate a map consisting of memory location and source location for each statically-addressed variable. + +With ``--qdirstat`` and a single elf file, generate a [qdirstat](https://github.com/shundhammer/qdirstat) compatible cache file which can be loaded to inspect memory utilization interactively in a treemap. This assumes the running firmware generating the dump and the elf file are the same. Requires Python3 and the [pyelftools](https://github.com/eliben/pyelftools) module. From d98e1b1cd98faab573413e6e31e97f2f8198b92d Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 5 Jun 2021 23:03:56 +0200 Subject: [PATCH 091/234] elf_mem_map: uniquify file names in qdirstat output --- tools/elf_mem_map | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 65a95732d..f3ea03d03 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -350,6 +350,8 @@ def print_qdirstat(grefs): base[name] = {} base = base[name] name = paths[-1] + if name in base: + name = '{}_{:x}'.format(entry.name, entry.loc) base[name] = entry.size def walker(root, prefix): From 8ec4104840bb26f1c96a3268c91953ba6c92ed3b Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sun, 6 Jun 2021 12:20:50 +0200 Subject: [PATCH 092/234] elf_mem_map: do not output registers in qdirstat output --- tools/elf_mem_map | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index f3ea03d03..2a7e8c308 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -6,6 +6,7 @@ from collections import namedtuple from struct import unpack import re +SRAM_START = 0x200 SRAM_OFFSET = 0x800000 EEPROM_OFFSET = 0x810000 FILL_BYTE = b'\0' @@ -342,6 +343,10 @@ def print_qdirstat(grefs): entries = {} for entry in grefs: + # do not output registers when looking at space usage + if entry.loc < SRAM_START: + continue + paths = list(filter(None, re.split(r'[\[\].]', entry.name))) base = entries for i in range(len(paths) - 1): From 9f40fa68347ca6ace7669d7fe6a2ec08a2e41e3d Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Mon, 14 Jun 2021 16:03:02 +0200 Subject: [PATCH 093/234] elf_mem_map: parse D23 output directly --- tools/elf_mem_map | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index 2a7e8c308..b0a7db186 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -4,6 +4,7 @@ import elftools.elf.elffile import elftools.dwarf.descriptions from collections import namedtuple from struct import unpack +import sys import re SRAM_START = 0x200 @@ -264,12 +265,26 @@ def decode_dump(path): buf_addr = None # starting address buf_data = None # data - for line in fd: - tokens = line.split(maxsplit=1) - if len(tokens) == 0 or tokens[0] == 'ok': - break - elif len(tokens) < 2 or tokens[0] == 'D2': + in_dump = False + for line in enumerate(fd): + line = (line[0], line[1].rstrip()) + tokens = line[1].split(maxsplit=1) + if not in_dump: + if len(tokens) > 0 and tokens[0] in ['D2', 'D23']: + in_dump = True continue + else: + if len(tokens) < 1: + print('malformed line {}: {}'.format(*line), file=sys.stderr) + continue + elif tokens[0] == 'ok': + break + elif tokens[0] == 'reason:': + # ignored + continue + elif not re.match(r'[0-9a-fA-F]', tokens[0]): + print('malformed line {}: {}'.format(*line), file=sys.stderr) + continue addr = int.from_bytes(bytes.fromhex(tokens[0]), 'big') data = bytes.fromhex(tokens[1]) From 06eab4ac11f3f62c1f3edf54f872696b949ec7e3 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 22 Jun 2021 16:58:04 +0200 Subject: [PATCH 094/234] Handle XFLASH (D21) and serial (D23) dumps in elf_mem_map, add dump2bin - Uniformly parse D2/D21/D23 dump types. - Add dump2bin to parse/convert a dump into metadata and binary. - Move the parsing into it's own module in order to be shared. --- tools/dump2bin | 59 +++++++++++++++++ tools/elf_mem_map | 75 ++++----------------- tools/lib/avr.py | 4 ++ tools/lib/dump.py | 165 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 242 insertions(+), 61 deletions(-) create mode 100755 tools/dump2bin create mode 100644 tools/lib/avr.py create mode 100644 tools/lib/dump.py diff --git a/tools/dump2bin b/tools/dump2bin new file mode 100755 index 000000000..c7ab3603b --- /dev/null +++ b/tools/dump2bin @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +import argparse +import os, sys + +from lib.dump import decode_dump + + +def main(): + # parse the arguments + ap = argparse.ArgumentParser(description=""" + Parse and decode a memory dump obtained from the D2/D21/D23 g-code + into readable metadata and binary. The output binary is padded and + extended to fit the original address range. + """) + ap.add_argument('-i', dest='info', action='store_true', + help='display crash info only') + ap.add_argument('dump') + ap.add_argument('output', nargs='?') + args = ap.parse_args() + + # decode the dump data + dump = decode_dump(args.dump) + if dump is None: + return os.EX_DATAERR + + # output descriptors + if args.info: + o_fd = None + o_md = sys.stdout + elif args.output is None: + o_fd = sys.stdout.buffer + o_md = sys.stderr + else: + o_fd = open(args.output, 'wb') + o_md = sys.stdout + + # output binary + if o_fd: + o_fd.write(dump.data) + o_fd.close() + + # metadata + print(' dump type: {typ}\n' + 'crash reason: {reason}\n' + ' registers: {regs}\n' + ' PC: {pc}\n' + ' SP: {sp}\n' + ' ranges: {ranges}'.format( + typ=dump.typ, + reason=dump.reason.name if dump.reason is not None else 'N/A', + regs=dump.regs, + pc='{:#x}'.format(dump.pc) if dump.pc is not None else 'N/A', + sp='{:#x}'.format(dump.sp) if dump.sp is not None else 'N/A', + ranges=str(dump.ranges)), + file=o_md) + + +if __name__ == '__main__': + exit(main()) diff --git a/tools/elf_mem_map b/tools/elf_mem_map index b0a7db186..cb6e423c3 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -4,13 +4,10 @@ import elftools.elf.elffile import elftools.dwarf.descriptions from collections import namedtuple from struct import unpack -import sys -import re +import os -SRAM_START = 0x200 -SRAM_OFFSET = 0x800000 -EEPROM_OFFSET = 0x810000 -FILL_BYTE = b'\0' +from lib.dump import decode_dump +from lib.avr import * Entry = namedtuple('Entry', ['name', 'loc', 'size', 'declpos']) @@ -257,59 +254,6 @@ def get_elf_globals(path, expand_structs, struct_gaps=True): return grefs -def decode_dump(path): - fd = open(path, 'r') - if fd is None: - return None - - buf_addr = None # starting address - buf_data = None # data - - in_dump = False - for line in enumerate(fd): - line = (line[0], line[1].rstrip()) - tokens = line[1].split(maxsplit=1) - if not in_dump: - if len(tokens) > 0 and tokens[0] in ['D2', 'D23']: - in_dump = True - continue - else: - if len(tokens) < 1: - print('malformed line {}: {}'.format(*line), file=sys.stderr) - continue - elif tokens[0] == 'ok': - break - elif tokens[0] == 'reason:': - # ignored - continue - elif not re.match(r'[0-9a-fA-F]', tokens[0]): - print('malformed line {}: {}'.format(*line), file=sys.stderr) - continue - - addr = int.from_bytes(bytes.fromhex(tokens[0]), 'big') - data = bytes.fromhex(tokens[1]) - - if buf_addr is None: - buf_addr = addr - buf_data = data - else: - # grow buffer as needed - if addr < buf_addr: - buf_data = FILL_BYTE * (buf_addr - addr) - buf_addr = addr - addr_end = addr + len(data) - buf_end = buf_addr + len(buf_data) - if addr_end > buf_end: - buf_data += FILL_BYTE * (addr_end - buf_end) - - # replace new part - rep_start = addr - buf_addr - rep_end = rep_start + len(data) - buf_data = buf_data[:rep_start] + data + buf_data[rep_end:] - - return (buf_addr, buf_data) - - def annotate_refs(grefs, addr, data, width, gaps=True, overlaps=True): last_end = None for entry in grefs: @@ -426,8 +370,17 @@ def main(): elif args.qdirstat: print_qdirstat(grefs) else: - addr, data = decode_dump(args.dump) - annotate_refs(grefs, addr, data, + # fetch the memory data + dump = decode_dump(args.dump) + if dump is None: + return os.EX_DATAERR + + # strip padding, if present + addr_start = dump.ranges[0][0] + addr_end = dump.ranges[-1][0]+dump.ranges[-1][1] + data = dump.data[addr_start:addr_end] + + annotate_refs(grefs, addr_start, data, width=args.name_width, gaps=not args.no_gaps, overlaps=args.overlaps) diff --git a/tools/lib/avr.py b/tools/lib/avr.py new file mode 100644 index 000000000..57f34479a --- /dev/null +++ b/tools/lib/avr.py @@ -0,0 +1,4 @@ +SRAM_START = 0x200 +SRAM_SIZE = 0x2000 +SRAM_OFFSET = 0x800000 +EEPROM_OFFSET = 0x810000 diff --git a/tools/lib/dump.py b/tools/lib/dump.py new file mode 100644 index 000000000..1c541a2a3 --- /dev/null +++ b/tools/lib/dump.py @@ -0,0 +1,165 @@ +import sys +import re +import enum +import struct +from . import avr + + +FILL_BYTE = b'\0' # used to fill memory gaps in the dump + +class CrashReason(enum.IntEnum): + MANUAL = 0 + STACK_ERROR = 1 + WATCHDOG = 2 + BAD_ISR = 3 + +class Dump(): + def __init__(self, typ, reason, regs, pc, sp, data, ranges): + self.typ = typ + self.reason = reason + self.regs = regs + self.pc = pc + self.sp = sp + self.data = data + self.ranges = ranges + + +# expand the buffer identified by addr+data to fill the region start+size +def region_expand(addr, data, start, size): + if start < addr: + data = FILL_BYTE * (addr - start) + data + addr = start + end = start + size + data_end = addr + len(data) + if end > data_end: + data += FILL_BYTE * (data_end - end) + return addr, data + + +def merge_ranges(ranges): + ranges = list(sorted(ranges, key=lambda x: x[0])) + if len(ranges) < 2: + return ranges + + ret = [ranges[0]] + for cur in ranges[1:]: + last = ret[-1] + last_end = last[0] + last[1] + if last_end < cur[0]: + ret.append(cur) + else: + cur_end = cur[0] + cur[1] + last = (last[0], max(last_end, cur_end) - last[0]) + ret[-1] = last + return ret + + +def decode_dump(path): + fd = open(path, 'r') + if fd is None: + return None + + buf_addr = None # starting address + buf_data = None # data + + typ = None # dump type + reason = None # crash reason + regs = None # registers present + pc = None # PC address + sp = None # SP address + ranges = [] # dumped ranges + + in_dump = False + for line in enumerate(fd): + line = (line[0], line[1].rstrip()) + tokens = line[1].split(maxsplit=1) + + def line_error(): + print('malformed line {}: {}'.format(*line), file=sys.stderr) + + # handle metadata + if not in_dump: + if len(tokens) > 0 and tokens[0] in ['D2', 'D21', 'D23']: + in_dump = True + typ = tokens[0] + continue + else: + if len(tokens) == 0: + line_error() + continue + elif tokens[0] == 'ok': + break + elif tokens[0] == 'error:' and len(tokens) == 2: + values = tokens[1].split(' ') + if typ == 'D23' and len(values) >= 3: + reason = CrashReason(int(values[0], 0)) + pc = int(values[1], 0) + sp = int(values[2], 0) + else: + line_error() + continue + elif len(tokens) != 2 or not re.match(r'^[0-9a-fA-F]+$', tokens[0]): + line_error() + continue + + # decode hex data + addr = int.from_bytes(bytes.fromhex(tokens[0]), 'big') + data = bytes.fromhex(tokens[1]) + ranges.append((addr, len(data))) + + if buf_addr is None: + buf_addr = addr + buf_data = data + else: + # grow buffer as needed + buf_addr, buf_data = region_expand(buf_addr, buf_data, + addr, len(data)) + + # replace new part + rep_start = addr - buf_addr + rep_end = rep_start + len(data) + buf_data = buf_data[:rep_start] + data + buf_data[rep_end:] + + # merge continuous ranges + ranges = merge_ranges(ranges) + + if typ == 'D2': + # D2 doesn't guarantee registers to be present + regs = len(ranges) > 0 and \ + ranges[0][0] == 0 and \ + ranges[0][1] >= avr.SRAM_START + + # fill to fit for easy loading + buf_addr, buf_data = region_expand( + buf_addr, buf_data, 0, avr.SRAM_START + avr.SRAM_SIZE) + + elif typ == 'D23': + # check if the dump is complete + if len(ranges) != 1 or ranges[0][0] != 0 or \ + ranges[0][1] != avr.SRAM_START + avr.SRAM_SIZE: + print('warning: incomplete D23 dump', file=sys.stderr) + else: + regs = True + if reason is None: + print('warning: no error line in D23', file=sys.stderr) + + elif typ == 'D21': + if len(ranges) != 1 or len(buf_data) != (avr.SRAM_START + avr.SRAM_SIZE + 256): + print('error: incomplete D21 dump', file=sys.stderr) + return None + + # decode the header structure + magic, regs_present, crash_reason, pc, sp = struct.unpack(' Date: Tue, 22 Jun 2021 17:02:22 +0200 Subject: [PATCH 095/234] Add GDB utility functions to load/inspect binary dumps --- tools/utils.gdb | 82 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 tools/utils.gdb diff --git a/tools/utils.gdb b/tools/utils.gdb new file mode 100644 index 000000000..495480362 --- /dev/null +++ b/tools/utils.gdb @@ -0,0 +1,82 @@ +# -*- gdb-script -*- + +define load_dump + restore $arg0 binary 0x800000 + set $pc = (((unsigned long)$arg1) - 2) << 1 + set $sp = $arg2 + where +end + +document load_dump +Load a crash dump, setup PC/SP and show the current backtrace +Usage: load_dump +end + + +define sp_skip + if $argc == 0 + set $shift = 3 + else + set $shift = $arg0 + end + set $new_pc = ((((unsigned long)*(uint8_t*)($sp+$shift+1)) << 16) + \ + (((unsigned long)*(uint8_t*)($sp+$shift+2)) << 8) + \ + (((unsigned long)*(uint8_t*)($sp+$shift+3)) << 0)) << 1 + set $new_sp = $sp+$shift+3 + select-frame 0 + set $saved_pc = $pc + set $saved_sp = $sp + set $pc = $new_pc + set $sp = $new_sp + where +end + +document sp_skip +TODO +end + + +define sp_restore + select-frame 0 + set $pc = $saved_pc + set $sp = $saved_sp + where +end + +document sp_restore +TODO +end + + +define sp_test + sp_skip $arg0 + set $pc = $saved_pc + set $sp = $saved_sp +end + +document sp_test +TODO +end + + +define sp_scan + dont-repeat + + if $argc == 0 + set $sp_end = 0x802200 + else + set $sp_end = $arg0 + end + + set $sp_pos = $sp + while $sp_pos < ($sp_end-4) + set $sp_off = $sp_pos - $sp + printf "**** scanning %#x (+%u) ****\n", $sp_pos, $sp_off + sp_test $sp_off + set $sp_pos += 1 + end +end + +document sp_scan +TODO +end From 11a6ac2f4fc41b1231efec63fdfe4746fb994710 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 22 Jun 2021 17:08:32 +0200 Subject: [PATCH 096/234] dump parsing: refuse to continue on incomplete D23 dumps We should try harder to handle incomplete D21/D23 dumps in the future, but until D21 handled too, bail in D23 as well. --- tools/lib/dump.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/lib/dump.py b/tools/lib/dump.py index 1c541a2a3..8d6b10595 100644 --- a/tools/lib/dump.py +++ b/tools/lib/dump.py @@ -137,9 +137,10 @@ def decode_dump(path): # check if the dump is complete if len(ranges) != 1 or ranges[0][0] != 0 or \ ranges[0][1] != avr.SRAM_START + avr.SRAM_SIZE: - print('warning: incomplete D23 dump', file=sys.stderr) - else: - regs = True + print('error: incomplete D23 dump', file=sys.stderr) + return None + + regs = True if reason is None: print('warning: no error line in D23', file=sys.stderr) From 43b9a2d3df162930752c0b9d128ecfceac905a9c Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 22 Jun 2021 17:12:24 +0200 Subject: [PATCH 097/234] dump: do not hard-code constants --- tools/lib/dump.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/lib/dump.py b/tools/lib/dump.py index 8d6b10595..5d2ea7248 100644 --- a/tools/lib/dump.py +++ b/tools/lib/dump.py @@ -5,7 +5,8 @@ import struct from . import avr -FILL_BYTE = b'\0' # used to fill memory gaps in the dump +FILL_BYTE = b'\0' # used to fill memory gaps in the dump +DUMP_MAGIC = 0x55525547 # XFLASH dump magic class CrashReason(enum.IntEnum): MANUAL = 0 @@ -151,7 +152,7 @@ def decode_dump(path): # decode the header structure magic, regs_present, crash_reason, pc, sp = struct.unpack(' Date: Tue, 22 Jun 2021 17:56:42 +0200 Subject: [PATCH 098/234] tools: Add/fix documentation --- tools/README.md | 4 ++++ tools/elf_mem_map | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/README.md b/tools/README.md index e79115016..30648d0d2 100644 --- a/tools/README.md +++ b/tools/README.md @@ -25,6 +25,10 @@ With ``--qdirstat`` and a single elf file, generate a [qdirstat](https://github. This assumes the running firmware generating the dump and the elf file are the same. Requires Python3 and the [pyelftools](https://github.com/eliben/pyelftools) module. +### ``dump2bin`` + +Parse and decode a memory dump obtained from the D2/D21/D23 g-code into readable metadata and binary. The output binary is padded and extended to fit the original address range. + ### ``update_eeprom`` Given one EEPROM dump, convert the dump to update instructions that can be sent to a printer. diff --git a/tools/elf_mem_map b/tools/elf_mem_map index cb6e423c3..df3fc0f5b 100755 --- a/tools/elf_mem_map +++ b/tools/elf_mem_map @@ -344,7 +344,7 @@ def main(): ap = argparse.ArgumentParser(description=""" Generate a symbol table map starting directly from an ELF firmware with DWARF3 debugging information. - When used along with a memory dump obtained from the D2 g-code, + When used along with a memory dump obtained from the D2/D21/D23 g-code, show the value of each symbol which is within the address range. """) ap.add_argument('elf', help='ELF file containing DWARF debugging information') From c79b1dcbfa6b112383543198681a7f827b0b61f0 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 22 Jun 2021 17:59:41 +0200 Subject: [PATCH 099/234] tools: add dump_crash to recover XFLASH crash dumps --- tools/README.md | 5 +++++ tools/dump_crash | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100755 tools/dump_crash diff --git a/tools/README.md b/tools/README.md index 30648d0d2..63c1731d2 100644 --- a/tools/README.md +++ b/tools/README.md @@ -12,6 +12,11 @@ Requires ``printcore`` from [Pronterface]. Dump the content of the entire SRAM using the D2 command. Requires ``printcore`` from [Pronterface]. +### ``dump_crash`` + +Dump the content of the last crash dump on MK3+ printers using D21. +Requires ``printcore`` from [Pronterface]. + ### ``elf_mem_map`` Generate a symbol table map with decoded information starting directly from an ELF firmware with DWARF debugging information (which is the default using the stock board definition). diff --git a/tools/dump_crash b/tools/dump_crash new file mode 100755 index 000000000..f74e8bf21 --- /dev/null +++ b/tools/dump_crash @@ -0,0 +1,17 @@ +#!/bin/sh +prg=$(basename "$0") +port="$1" +if [ -z "$port" -o "$port" = "-h" ] +then + echo "usage: $0 " >&2 + echo "Connect to and dump the content of last crash using D21 to stdout" >&2 + exit 1 +fi + +set -e +tmp=$(mktemp) +trap "rm -f \"$tmp\"" EXIT + +echo D21 > "$tmp" +printcore -v "$port" "$tmp" 2>&1 | \ + sed -ne '/^RECV: D21 /,/RECV: ok$/s/^RECV: //p' From a697d00647d0ca85da8d0128850b4edef578869c Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 22 Jun 2021 18:01:21 +0200 Subject: [PATCH 100/234] tools: add __pycache__ to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index dae307af4..26411502d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ .project .cproject Debug +__pycache__ Firmware/Configuration_prusa.h Firmware/Doc /Firmware/.vs/Firmware/v14 From 1b22aac9fcc68662cf22129bafc02c8197471426 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Thu, 1 Jul 2021 13:16:02 +0200 Subject: [PATCH 101/234] tools: add xfimg2dump --- tools/README.md | 4 ++++ tools/lib/dump.py | 6 ++++-- tools/xfimg2dump | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100755 tools/xfimg2dump diff --git a/tools/README.md b/tools/README.md index 63c1731d2..50516dacd 100644 --- a/tools/README.md +++ b/tools/README.md @@ -34,6 +34,10 @@ Requires Python3 and the [pyelftools](https://github.com/eliben/pyelftools) modu Parse and decode a memory dump obtained from the D2/D21/D23 g-code into readable metadata and binary. The output binary is padded and extended to fit the original address range. +### ``xfimg2dump`` + +Extract a crash dump from an external flash image and output the same format produced by the D21 g-code. + ### ``update_eeprom`` Given one EEPROM dump, convert the dump to update instructions that can be sent to a printer. diff --git a/tools/lib/dump.py b/tools/lib/dump.py index 5d2ea7248..7ce756060 100644 --- a/tools/lib/dump.py +++ b/tools/lib/dump.py @@ -5,8 +5,10 @@ import struct from . import avr -FILL_BYTE = b'\0' # used to fill memory gaps in the dump -DUMP_MAGIC = 0x55525547 # XFLASH dump magic +FILL_BYTE = b'\0' # used to fill memory gaps in the dump +DUMP_MAGIC = 0x55525547 # XFLASH dump magic +DUMP_OFFSET = 0x3d000 # XFLASH dump offset +DUMP_SIZE = 0x2300 # XFLASH dump size class CrashReason(enum.IntEnum): MANUAL = 0 diff --git a/tools/xfimg2dump b/tools/xfimg2dump new file mode 100755 index 000000000..e1fe75ac5 --- /dev/null +++ b/tools/xfimg2dump @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +import argparse +import struct +import os, sys + +from lib.dump import DUMP_MAGIC, DUMP_OFFSET, DUMP_SIZE + + +def error(msg): + print(msg, file=sys.stderr) + +def main(): + # parse the arguments + ap = argparse.ArgumentParser(description=""" + Extract a crash dump from an external flash image and output + the same format produced by the D21 g-code. + """) + ap.add_argument('image') + args = ap.parse_args() + + # read the image + off = DUMP_OFFSET + with open(args.image, 'rb') as fd: + fd.seek(off) + data = fd.read(DUMP_SIZE) + if len(data) != DUMP_SIZE: + error('incorrect image size') + return os.EX_DATAERR + + # check for magic header + magic, = struct.unpack(' Date: Fri, 2 Jul 2021 20:57:12 +0200 Subject: [PATCH 102/234] tools: document functions in utils.gdb --- tools/utils.gdb | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/tools/utils.gdb b/tools/utils.gdb index 495480362..1d2922e16 100644 --- a/tools/utils.gdb +++ b/tools/utils.gdb @@ -9,7 +9,7 @@ end document load_dump Load a crash dump, setup PC/SP and show the current backtrace -Usage: load_dump +Usage: load_dump end @@ -32,7 +32,9 @@ define sp_skip end document sp_skip -TODO +Decode the PC address at SP+offset, then show the resulting stack. +The default (and minimum) offset is 3. +Usage: sp_skip [off] end @@ -44,7 +46,8 @@ define sp_restore end document sp_restore -TODO +Undo an sp_skip move (restore existing PC/SP positions) +Usage: sp_restore end @@ -55,7 +58,9 @@ define sp_test end document sp_test -TODO +Attempt to decode the PC address at SP+offset, then show the resulting stack. +The default (and minimum) offset is 3. +Usage: sp_test [off] end @@ -78,5 +83,7 @@ define sp_scan end document sp_scan -TODO +Attempt to decode PC at any location starting from the SP+3 and up to SP-end +(by default the end of the SRAM) and show the resulting stack at all locations. +Usage: sp_scan [SP-end] end From 6afc87d3c8603d9ad2848101bbfdb39de827a6e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Fri, 30 Jul 2021 23:16:03 +0000 Subject: [PATCH 103/234] Reduce unnecessary LCD CGRAM writes --- Firmware/lcd.cpp | 38 -------------------------------------- Firmware/lcd.h | 6 ------ Firmware/mmu.cpp | 3 --- Firmware/ultralcd.cpp | 22 ---------------------- Firmware/ultralcd.h | 3 --- 5 files changed, 72 deletions(-) diff --git a/Firmware/lcd.cpp b/Firmware/lcd.cpp index 37b70f1a1..bffaaa7f0 100644 --- a/Firmware/lcd.cpp +++ b/Firmware/lcd.cpp @@ -644,8 +644,6 @@ uint8_t lcd_status_update_delay = 0; lcd_longpress_func_t lcd_longpress_func = 0; -lcd_charsetup_func_t lcd_charsetup_func = 0; - lcd_lcdupdate_func_t lcd_lcdupdate_func = 0; static ShortTimer buttonBlanking; @@ -718,8 +716,6 @@ void lcd_update_enable(uint8_t enabled) lcd_next_update_millis = _millis() - 1; // Full update. lcd_clear(); - if (lcd_charsetup_func) - lcd_charsetup_func(); lcd_update(2); } else { @@ -924,28 +920,6 @@ const uint8_t lcd_chardata_clock[8] PROGMEM = { B00000, B00000}; //thanks Sonny Mounicou -const uint8_t lcd_chardata_arrup[8] PROGMEM = { - B00100, - B01110, - B11111, - B00000, - B00000, - B00000, - B00000, - B00000}; - -const uint8_t lcd_chardata_arrdown[8] PROGMEM = { - B00000, - B00000, - B00000, - B00000, - B00000, - B10001, - B01010, - B00100}; - - - void lcd_set_custom_characters(void) { lcd_createChar_P(LCD_STR_BEDTEMP[0], lcd_chardata_bedTemp); @@ -956,13 +930,6 @@ void lcd_set_custom_characters(void) lcd_createChar_P(LCD_STR_FOLDER[0], lcd_chardata_folder); lcd_createChar_P(LCD_STR_FEEDRATE[0], lcd_chardata_feedrate); lcd_createChar_P(LCD_STR_CLOCK[0], lcd_chardata_clock); - //lcd_createChar_P(LCD_STR_ARROW_UP[0], lcd_chardata_arrup); - //lcd_createChar_P(LCD_STR_ARROW_DOWN[0], lcd_chardata_arrdown); -} - -void lcd_set_custom_characters_arrows(void) -{ - lcd_createChar_P(1, lcd_chardata_arrdown); } const uint8_t lcd_chardata_arr2down[8] PROGMEM = { @@ -990,8 +957,3 @@ void lcd_set_custom_characters_nextpage(void) lcd_createChar_P(2, lcd_chardata_confirm); } -void lcd_set_custom_characters_degree(void) -{ - lcd_createChar_P(1, lcd_chardata_degree); -} - diff --git a/Firmware/lcd.h b/Firmware/lcd.h index 65bb9dc92..09ff26dc0 100644 --- a/Firmware/lcd.h +++ b/Firmware/lcd.h @@ -112,8 +112,6 @@ extern uint8_t lcd_status_update_delay; extern lcd_longpress_func_t lcd_longpress_func; extern bool lcd_longpress_trigger; -extern lcd_charsetup_func_t lcd_charsetup_func; - extern lcd_lcdupdate_func_t lcd_lcdupdate_func; @@ -199,14 +197,10 @@ private: #define LCD_STR_FOLDER "\x05" #define LCD_STR_FEEDRATE "\x06" #define LCD_STR_CLOCK "\x07" -#define LCD_STR_ARROW_UP "\x0B" -#define LCD_STR_ARROW_DOWN "\x01" #define LCD_STR_ARROW_RIGHT "\x7E" //from the default character set extern void lcd_set_custom_characters(void); -extern void lcd_set_custom_characters_arrows(void); extern void lcd_set_custom_characters_nextpage(void); -extern void lcd_set_custom_characters_degree(void); //! @brief Consume click event inline void lcd_consume_click() diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index abc84c34d..8cd50f879 100755 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -728,9 +728,6 @@ void manage_response(bool move_axes, bool turn_off_nozzle, uint8_t move) screen=0; } - lcd_set_degree(); - - //5 seconds delay for (uint8_t i = 0; i < 5; i++) { if (lcd_clicked()) { diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 658e6b01f..03426e769 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3232,7 +3232,6 @@ void lcd_adjust_z() { #ifdef PINDA_THERMISTOR bool lcd_wait_for_pinda(float temp) { - lcd_set_custom_characters_degree(); setAllTargetHotends(0); setTargetBed(0); LongTimer pinda_timeout; @@ -3255,7 +3254,6 @@ bool lcd_wait_for_pinda(float temp) { break; } } - lcd_set_custom_characters_arrows(); lcd_update_enable(true); return target_temp_reached; } @@ -3263,7 +3261,6 @@ bool lcd_wait_for_pinda(float temp) { void lcd_wait_for_heater() { lcd_display_message_fullscreen_P(_T(MSG_WIZARD_HEATING)); - lcd_set_degree(); lcd_set_cursor(0, 4); lcd_print(LCD_STR_THERMOMETER[0]); lcd_print(ftostr3(degHotend(active_extruder))); @@ -3273,7 +3270,6 @@ void lcd_wait_for_heater() { } void lcd_wait_for_cool_down() { - lcd_set_custom_characters_degree(); setAllTargetHotends(0); setTargetBed(0); int fanSpeedBckp = fanSpeed; @@ -3292,12 +3288,10 @@ void lcd_wait_for_cool_down() { lcd_print(ftostr3(degBed())); lcd_print("/0"); lcd_print(LCD_STR_DEGREE); - lcd_set_custom_characters(); delay_keep_alive(1000); serialecho_temperatures(); } fanSpeed = fanSpeedBckp; - lcd_set_custom_characters_arrows(); lcd_update_enable(true); } @@ -3440,7 +3434,6 @@ static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg, if (multi_screen) { // Display the "next screen" indicator character. - // lcd_set_custom_characters_arrows(); lcd_set_custom_characters_nextpage(); lcd_set_cursor(19, 3); // Display the down arrow. @@ -4421,10 +4414,6 @@ static void lcd_fsensor_state_set() } #endif //FILAMENT_SENSOR -void lcd_set_degree() { - lcd_set_custom_characters_degree(); -} - #if (LANG_MODE != 0) void menu_setlang(unsigned char lang) @@ -4793,7 +4782,6 @@ static void wait_preheat() plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 60); delay_keep_alive(2000); lcd_display_message_fullscreen_P(_T(MSG_WIZARD_HEATING)); - lcd_set_custom_characters(); while (fabs(degHotend(0) - degTargetHotend(0)) > 3) { lcd_display_message_fullscreen_P(_T(MSG_WIZARD_HEATING)); @@ -8596,10 +8584,8 @@ void ultralcd_init() lcd_init(); lcd_refresh(); lcd_longpress_func = menu_lcd_longpress_func; - lcd_charsetup_func = menu_lcd_charsetup_func; lcd_lcdupdate_func = menu_lcd_lcdupdate_func; menu_menu = lcd_status_screen; - menu_lcd_charsetup_func(); SET_INPUT(BTN_EN1); SET_INPUT(BTN_EN2); @@ -8812,14 +8798,6 @@ void menu_lcd_longpress_func(void) } } -void menu_lcd_charsetup_func(void) -{ - if (menu_menu == lcd_status_screen) - lcd_set_custom_characters_degree(); - else - lcd_set_custom_characters_arrows(); -} - static inline bool z_menu_expired() { return (menu_menu == lcd_babystep_z diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 1f0577618..090bc6d4a 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -5,7 +5,6 @@ #include "config.h" extern void menu_lcd_longpress_func(void); -extern void menu_lcd_charsetup_func(void); extern void menu_lcd_lcdupdate_func(void); // Call with a false parameter to suppress the LCD update from various places like the planner or the temp control. @@ -219,8 +218,6 @@ void lcd_temp_calibration_set(); void display_loading(); -void lcd_set_degree(); - #if (LANG_MODE != 0) void lcd_language(); #endif From da2c80244035a46416b32bf442f749891c007de1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 1 Aug 2021 11:10:03 +0000 Subject: [PATCH 104/234] Add two defines and use LCD_STR_DEGREE with consistency This saves 12 bytes of flash and 2 bytes of SRAM --- Firmware/lcd.cpp | 4 ++-- Firmware/lcd.h | 20 +++++++++++--------- Firmware/ultralcd.cpp | 16 ++++++++-------- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/Firmware/lcd.cpp b/Firmware/lcd.cpp index bffaaa7f0..4dfb00634 100644 --- a/Firmware/lcd.cpp +++ b/Firmware/lcd.cpp @@ -953,7 +953,7 @@ const uint8_t lcd_chardata_confirm[8] PROGMEM = { void lcd_set_custom_characters_nextpage(void) { - lcd_createChar_P(1, lcd_chardata_arr2down); - lcd_createChar_P(2, lcd_chardata_confirm); + lcd_createChar_P(LCD_STR_ARROW_2_DOWN[0], lcd_chardata_arr2down); + lcd_createChar_P(LCD_STR_CONFIRM[0], lcd_chardata_confirm); } diff --git a/Firmware/lcd.h b/Firmware/lcd.h index 09ff26dc0..6b715896d 100644 --- a/Firmware/lcd.h +++ b/Firmware/lcd.h @@ -189,15 +189,17 @@ private: //Custom characters defined in the first 8 characters of the LCD -#define LCD_STR_BEDTEMP "\x00" -#define LCD_STR_DEGREE "\x01" -#define LCD_STR_THERMOMETER "\x02" -#define LCD_STR_UPLEVEL "\x03" -#define LCD_STR_REFRESH "\x04" -#define LCD_STR_FOLDER "\x05" -#define LCD_STR_FEEDRATE "\x06" -#define LCD_STR_CLOCK "\x07" -#define LCD_STR_ARROW_RIGHT "\x7E" //from the default character set +#define LCD_STR_BEDTEMP "\x00" +#define LCD_STR_DEGREE "\x01" +#define LCD_STR_ARROW_2_DOWN "\x01" +#define LCD_STR_THERMOMETER "\x02" +#define LCD_STR_CONFIRM "\x02" +#define LCD_STR_UPLEVEL "\x03" +#define LCD_STR_REFRESH "\x04" +#define LCD_STR_FOLDER "\x05" +#define LCD_STR_FEEDRATE "\x06" +#define LCD_STR_CLOCK "\x07" +#define LCD_STR_ARROW_RIGHT "\x7E" //from the default character set extern void lcd_set_custom_characters(void); extern void lcd_set_custom_characters_nextpage(void); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 03426e769..d19072bee 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3246,7 +3246,7 @@ bool lcd_wait_for_pinda(float temp) { lcd_print(ftostr3(current_temperature_pinda)); lcd_print('/'); lcd_print(ftostr3(temp)); - lcd_print(LCD_STR_DEGREE); + lcd_print(LCD_STR_DEGREE[0]); delay_keep_alive(1000); serialecho_temperatures(); if (pinda_timeout.expired(8 * 60 * 1000ul)) { //PINDA cooling from 60 C to 35 C takes about 7 minutes @@ -3266,7 +3266,7 @@ void lcd_wait_for_heater() { lcd_print(ftostr3(degHotend(active_extruder))); lcd_print('/'); lcd_print(ftostr3(degTargetHotend(active_extruder))); - lcd_print(LCD_STR_DEGREE); + lcd_print(LCD_STR_DEGREE[0]); } void lcd_wait_for_cool_down() { @@ -3281,13 +3281,13 @@ void lcd_wait_for_cool_down() { lcd_print(LCD_STR_THERMOMETER[0]); lcd_print(ftostr3(degHotend(0))); lcd_print("/0"); - lcd_print(LCD_STR_DEGREE); + lcd_print(LCD_STR_DEGREE[0]); lcd_set_cursor(9, 4); lcd_print(LCD_STR_BEDTEMP[0]); lcd_print(ftostr3(degBed())); lcd_print("/0"); - lcd_print(LCD_STR_DEGREE); + lcd_print(LCD_STR_DEGREE[0]); delay_keep_alive(1000); serialecho_temperatures(); } @@ -3436,8 +3436,8 @@ static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg, // Display the "next screen" indicator character. lcd_set_custom_characters_nextpage(); lcd_set_cursor(19, 3); - // Display the down arrow. - lcd_print(char(1)); + // Display the double down arrow. + lcd_print(LCD_STR_ARROW_2_DOWN[0]); } nlines = row; @@ -3478,7 +3478,7 @@ void lcd_show_fullscreen_message_and_wait_P(const char *msg) if (!multi_screen) { lcd_set_cursor(19, 3); // Display the confirm char. - lcd_print(char(2)); + lcd_print(LCD_STR_CONFIRM[0]); } // Wait for 5 seconds before displaying the next text. for (uint8_t i = 0; i < 100; ++ i) { @@ -3504,7 +3504,7 @@ void lcd_show_fullscreen_message_and_wait_P(const char *msg) lcd_set_cursor(19, 3); // Display the confirm char. - lcd_print(char(2)); + lcd_print(LCD_STR_CONFIRM[0]); } } } From 158877e73616320814ede663f2e53b1e9ac438ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 1 Aug 2021 11:20:29 +0000 Subject: [PATCH 105/234] Remove one space from Support -> Temperatures menu Saves 2 bytes of flash memory --- Firmware/ultralcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index d19072bee..74cc26fc6 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1703,7 +1703,7 @@ static void lcd_menu_temperatures_line(const char *ipgmLabel, int value){ static const size_t maxChars = 15; char tmp[maxChars]; pgmtext_with_colon(ipgmLabel, tmp, maxChars); - lcd_printf_P(PSTR(" %s%3d\x01 \n"), tmp, value); // no need to add -14.14 to string alignment + lcd_printf_P(PSTR(" %s%3d\x01\n"), tmp, value); // no need to add -14.14 to string alignment } //! @brief Show Temperatures From da910fe86172572c328d3dc076818f6e0a0c752b Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Mon, 2 Aug 2021 08:34:35 +0200 Subject: [PATCH 106/234] Switch to arduino_boards v1.0.4 --- PF-build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PF-build.sh b/PF-build.sh index 78b2cb6fb..a72ad676a 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -537,7 +537,7 @@ BOARD_PACKAGE_NAME="PrusaResearch" if [ "$ARDUINO_ENV" == "1.8.13" ]; then BOARD_VERSION="1.0.4" else - BOARD_VERSION="1.0.3" + BOARD_VERSION="1.0.4" fi #BOARD_URL="https://raw.githubusercontent.com/3d-gussner/Arduino_Boards/master/IDE_Board_Manager/package_prusa3d_index.json" BOARD_URL="https://raw.githubusercontent.com/prusa3d/Arduino_Boards/master/IDE_Board_Manager/package_prusa3d_index.json" From 2554d219255c23ae5621efeb9295fe9c9d76cceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Mon, 2 Aug 2021 12:20:10 +0000 Subject: [PATCH 107/234] Use uint8_t when using axis enum Saves 76 bytes of flash memory --- Firmware/Marlin.h | 4 ++-- Firmware/Marlin_main.cpp | 12 ++++++------ Firmware/ultralcd.cpp | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index c2c5ca933..e6c5685d0 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -294,9 +294,9 @@ extern int8_t lcd_change_fil_state; extern float default_retraction; #ifdef TMC2130 -void homeaxis(int axis, uint8_t cnt = 1, uint8_t* pstep = 0); +void homeaxis(uint8_t axis, uint8_t cnt = 1, uint8_t* pstep = 0); #else -void homeaxis(int axis, uint8_t cnt = 1); +void homeaxis(uint8_t axis, uint8_t cnt = 1); #endif //TMC2130 diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d1bc83a15..32dc71062 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2034,9 +2034,9 @@ DEFINE_PGM_READ_ANY(signed char, byte); #define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \ static const PROGMEM type array##_P[3] = \ { X_##CONFIG, Y_##CONFIG, Z_##CONFIG }; \ -static inline type array(int axis) \ +static inline type array(uint8_t axis) \ { return pgm_read_any(&array##_P[axis]); } \ -type array##_ext(int axis) \ +type array##_ext(uint8_t axis) \ { return pgm_read_any(&array##_P[axis]); } XYZ_CONSTS_FROM_CONFIG(float, base_min_pos, MIN_POS); @@ -2046,7 +2046,7 @@ XYZ_CONSTS_FROM_CONFIG(float, max_length, MAX_LENGTH); XYZ_CONSTS_FROM_CONFIG(float, home_retract_mm, HOME_RETRACT_MM); XYZ_CONSTS_FROM_CONFIG(signed char, home_dir, HOME_DIR); -static void axis_is_at_home(int axis) { +static void axis_is_at_home(uint8_t axis) { current_position[axis] = base_home_pos(axis) + cs.add_homing[axis]; min_pos[axis] = base_min_pos(axis) + cs.add_homing[axis]; max_pos[axis] = base_max_pos(axis) + cs.add_homing[axis]; @@ -2362,9 +2362,9 @@ static void check_Z_crash(void) #endif //TMC2130 #ifdef TMC2130 -void homeaxis(int axis, uint8_t cnt, uint8_t* pstep) +void homeaxis(uint8_t axis, uint8_t cnt, uint8_t* pstep) #else -void homeaxis(int axis, uint8_t cnt) +void homeaxis(uint8_t axis, uint8_t cnt) #endif //TMC2130 { bool endstops_enabled = enable_endstops(true); //RP: endstops should be allways enabled durring homing @@ -2835,7 +2835,7 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon { current_position[X_AXIS] = 0;current_position[Y_AXIS] = 0; - int x_axis_home_dir = home_dir(X_AXIS); + uint8_t x_axis_home_dir = home_dir(X_AXIS); plan_set_position_curposXYZE(); destination[X_AXIS] = 1.5 * max_length(X_AXIS) * x_axis_home_dir;destination[Y_AXIS] = 1.5 * max_length(Y_AXIS) * home_dir(Y_AXIS); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 81fef9674..d7b2a02cc 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -161,8 +161,8 @@ static void lcd_belttest_v(); static void lcd_selftest_v(); #ifdef TMC2130 -static void reset_crash_det(unsigned char axis); -static bool lcd_selfcheck_axis_sg(unsigned char axis); +static void reset_crash_det(uint8_t axis); +static bool lcd_selfcheck_axis_sg(uint8_t axis); #else static bool lcd_selfcheck_axis(int _axis, int _travel); static bool lcd_selfcheck_pulleys(int axis); @@ -7706,14 +7706,14 @@ bool lcd_selftest() #ifdef TMC2130 -static void reset_crash_det(unsigned char axis) { +static void reset_crash_det(uint8_t axis) { current_position[axis] += 10; plan_buffer_line_curposXYZE(manual_feedrate[0] / 60); st_synchronize(); if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_DET)) tmc2130_sg_stop_on_crash = true; } -static bool lcd_selfcheck_axis_sg(unsigned char axis) { +static bool lcd_selfcheck_axis_sg(uint8_t axis) { // each axis length is measured twice float axis_length, current_position_init, current_position_final; float measured_axis_length[2]; From a54a133968156d194e294e3a196ee15b9dbc1a65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Mon, 2 Aug 2021 19:20:51 +0000 Subject: [PATCH 108/234] Use memset instead of nested for-loop to zero a 2d array Saves 26 bytes of flash memory and removes two 'int' types --- Firmware/mesh_bed_leveling.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Firmware/mesh_bed_leveling.cpp b/Firmware/mesh_bed_leveling.cpp index 344d41e3f..aa969340c 100644 --- a/Firmware/mesh_bed_leveling.cpp +++ b/Firmware/mesh_bed_leveling.cpp @@ -10,9 +10,7 @@ mesh_bed_leveling::mesh_bed_leveling() { reset(); } void mesh_bed_leveling::reset() { active = 0; - for (int y = 0; y < MESH_NUM_Y_POINTS; y++) - for (int x = 0; x < MESH_NUM_X_POINTS; x++) - z_values[y][x] = 0; + memset(z_values, 0, sizeof(float) * MESH_NUM_X_POINTS * MESH_NUM_Y_POINTS); } static inline bool vec_undef(const float v[2]) From 05ed5b9668eb341116102e79b3a849a81f081c6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Tue, 3 Aug 2021 21:35:28 +0000 Subject: [PATCH 109/234] Improve lcd_selftest_screen_step() parameter types Saves 62 bytes of flash memory --- Firmware/ultralcd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index d7b2a02cc..91010b691 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -207,7 +207,7 @@ enum class TestError : uint_least8_t }; static int lcd_selftest_screen(TestScreen screen, int _progress, int _progress_scale, bool _clear, int _delay); -static void lcd_selftest_screen_step(int _row, int _col, int _state, const char *_name, const char *_indicator); +static void lcd_selftest_screen_step(uint8_t _row, uint8_t _col, uint8_t _state, const char *_name, const char *_indicator); static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite, bool _default=false); @@ -8547,7 +8547,7 @@ static int lcd_selftest_screen(TestScreen screen, int _progress, int _progress_s return (_progress >= _progress_scale * 2) ? 0 : _progress; } -static void lcd_selftest_screen_step(int _row, int _col, int _state, const char *_name_PROGMEM, const char *_indicator) +static void lcd_selftest_screen_step(uint8_t _row, uint8_t _col, uint8_t _state, const char *_name_PROGMEM, const char *_indicator) { lcd_set_cursor(_col, _row); uint8_t strlenNameP = strlen_P(_name_PROGMEM); From 1946c58d21cf60cdbeeb2d49a4769e96e7981f58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Tue, 3 Aug 2021 21:46:11 +0000 Subject: [PATCH 110/234] 1. Remove redundant variable 'inters' 2. 'gh' variable can be 1 byte instead of 2 This saves 26 bytes of flash memory --- Firmware/ultralcd.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 91010b691..e580eba3e 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -610,15 +610,14 @@ void lcdui_print_status_line(void) else if ((IS_SD_PRINTING) && (custom_message_type == CustomMsg::Status)) { // If printing from SD, show what we are printing const char* longFilenameOLD = (card.longFilename[0] ? card.longFilename : card.filename); if(strlen(longFilenameOLD) > LCD_WIDTH) { - int inters = 0; - int gh = scrollstuff; - while (((gh - scrollstuff) < LCD_WIDTH) && (inters == 0)) { + uint8_t gh = scrollstuff; + while (((gh - scrollstuff) < LCD_WIDTH)) { if (longFilenameOLD[gh] == '\0') { lcd_set_cursor(gh - scrollstuff, 3); lcd_print(longFilenameOLD[gh - 1]); scrollstuff = 0; gh = scrollstuff; - inters = 1; + break; } else { lcd_set_cursor(gh - scrollstuff, 3); lcd_print(longFilenameOLD[gh - 1]); From 8d7d1698ee1e86812f06518889e68b2912300754 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Tue, 3 Aug 2021 21:48:26 +0000 Subject: [PATCH 111/234] Remove unused global variable 'chunkHead' No change in memory on my end, but it is one less 'int' :) --- Firmware/Marlin_main.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 32dc71062..06d38a782 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1759,7 +1759,6 @@ void trace(); #define CHUNK_SIZE 64 // bytes #define SAFETY_MARGIN 1 char chunk[CHUNK_SIZE+SAFETY_MARGIN]; -int chunkHead = 0; void serial_read_stream() { From b716c208d783c106353443b066408ebfcb258d24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Tue, 3 Aug 2021 22:42:01 +0000 Subject: [PATCH 112/234] Various optimisation to change int to uint8_t This commit saves 174 bytes of flash memory --- Firmware/Marlin_main.cpp | 12 ++++++------ Firmware/lcd.cpp | 2 +- Firmware/mesh_bed_calibration.cpp | 2 +- Firmware/planner.cpp | 2 +- Firmware/tmc2130.cpp | 2 +- Firmware/ultralcd.cpp | 6 +++--- Firmware/ultralcd.h | 2 +- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 06d38a782..493ad68f2 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5293,7 +5293,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) */ case 75: { - for (int i = 40; i <= 110; i++) + for (uint8_t i = 40; i <= 110; i++) printf_P(_N("%d %.2f"), i, temp_comp_interpolation(i)); } break; @@ -7791,8 +7791,8 @@ Sigma_Exit: */ case 300: // M300 { - int beepS = code_seen('S') ? code_value() : 110; - int beepP = code_seen('P') ? code_value() : 1000; + uint16_t beepS = code_seen('S') ? code_value() : 110; + uint16_t beepP = code_seen('P') ? code_value() : 1000; if (beepS > 0) { #if BEEPER > 0 @@ -11487,8 +11487,8 @@ void restore_print_from_eeprom(bool mbl_was_active) { depth = eeprom_read_byte((uint8_t*)EEPROM_DIR_DEPTH); MYSERIAL.println(int(depth)); - for (int i = 0; i < depth; i++) { - for (int j = 0; j < 8; j++) { + for (uint8_t i = 0; i < depth; i++) { + for (uint8_t j = 0; j < 8; j++) { dir_name[j] = eeprom_read_byte((uint8_t*)EEPROM_DIRS + j + 8 * i); } dir_name[8] = '\0'; @@ -11497,7 +11497,7 @@ void restore_print_from_eeprom(bool mbl_was_active) { card.chdir(dir_name, false); } - for (int i = 0; i < 8; i++) { + for (uint8_t i = 0; i < 8; i++) { filename[i] = eeprom_read_byte((uint8_t*)EEPROM_FILENAME + i); } filename[8] = '\0'; diff --git a/Firmware/lcd.cpp b/Firmware/lcd.cpp index 37b70f1a1..024f973f9 100644 --- a/Firmware/lcd.cpp +++ b/Firmware/lcd.cpp @@ -344,7 +344,7 @@ void lcd_createChar_P(uint8_t location, const uint8_t* charmap) { location &= 0x7; // we only have 8 locations 0-7 lcd_command(LCD_SETCGRAMADDR | (location << 3)); - for (int i=0; i<8; i++) + for (uint8_t i = 0; i < 8; i++) lcd_send(pgm_read_byte(&charmap[i]), HIGH); } diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index ef83e5735..f97851059 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -2240,7 +2240,7 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level /// Retry point scanning if a point with bad data appears. /// Bad data could be cause by "cold" sensor. /// This behavior vanishes after few point scans so retry will help. - for (int retries = 0; retries <= 1; ++retries) { + for (uint8_t retries = 0; retries <= 1; ++retries) { bool retry = false; for (int k = 0; k < 4; ++k) { // Don't let the manage_inactivity() function remove power from the motors. diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index b6d012b24..5c89a5456 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -1023,7 +1023,7 @@ Having the real displacement of the head, we can calculate the total movement le // Calculate speed in mm/second for each axis. No divide by zero due to previous checks. float inverse_second = feed_rate * inverse_millimeters; - int moves_queued = moves_planned(); + uint8_t moves_queued = moves_planned(); // slow down when de buffer starts to empty, rather than wait at the corner for a buffer refill #ifdef SLOWDOWN diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index dbce5ea07..30712379e 100755 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -911,7 +911,7 @@ void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac1000) uint8_t s = 0; //current segment int8_t b; //encoded bit value int8_t dA; //delta value - int i; //microstep index + uint8_t i; //microstep index uint32_t reg = 0; //tmc2130 register tmc2130_wr_MSLUTSTART(axis, 0, amp); for (i = 0; i < 256; i++) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index e580eba3e..5ed326a04 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -693,7 +693,7 @@ void lcdui_print_status_line(void) } // Fill the rest of line to have nice and clean output - for(int fillspace = 0; fillspace < LCD_WIDTH; fillspace++) + for(uint8_t fillspace = 0; fillspace < LCD_WIDTH; fillspace++) if ((lcd_status_message[fillspace] <= 31 )) lcd_print(' '); } @@ -2737,7 +2737,7 @@ void lcd_menu_statistics() } -static void _lcd_move(const char *name, int axis, int min, int max) +static void _lcd_move(const char *name, uint8_t axis, int min, int max) { if (homing_flag || mesh_bed_leveling_flag) { @@ -3920,7 +3920,7 @@ static void prusa_statistics_case0(uint8_t statnr){ prusa_stat_printinfo(); } -void prusa_statistics(int _message, uint8_t _fil_nr) { +void prusa_statistics(uint8_t _message, uint8_t _fil_nr) { #ifdef DEBUG_DISABLE_PRUSA_STATISTICS return; #endif //DEBUG_DISABLE_PRUSA_STATISTICS diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 68b933d02..06763556b 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -41,7 +41,7 @@ void lcd_pause_print(); void lcd_pause_usb_print(); void lcd_resume_print(); void lcd_print_stop(); -void prusa_statistics(int _message, uint8_t _col_nr = 0); +void prusa_statistics(uint8_t _message, uint8_t _col_nr = 0); unsigned char lcd_choose_color(); void lcd_load_filament_color_check(); //void lcd_mylang(); From db1e5a203b60393ae810cd1e4e3a3d10c049def1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Fri, 6 Aug 2021 15:03:35 +0000 Subject: [PATCH 113/234] Change temp_runaway_status from float to uint8_t and its enum Saves 90 bytes of flash, and 12 bytes of SRAM --- Firmware/temperature.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 3765589b8..7e48575a7 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -204,7 +204,7 @@ static float analog2tempAmbient(int raw); #endif static void updateTemperaturesFromRawValues(); -enum TempRunawayStates +enum TempRunawayStates : uint8_t { TempRunaway_INACTIVE = 0, TempRunaway_PREHEAT = 1, @@ -220,7 +220,7 @@ enum TempRunawayStates //=========================================================================== #if (defined (TEMP_RUNAWAY_BED_HYSTERESIS) && TEMP_RUNAWAY_BED_TIMEOUT > 0) || (defined (TEMP_RUNAWAY_EXTRUDER_HYSTERESIS) && TEMP_RUNAWAY_EXTRUDER_TIMEOUT > 0) -static float temp_runaway_status[4]; +static uint8_t temp_runaway_status[4]; static float temp_runaway_target[4]; static float temp_runaway_timer[4]; static int temp_runaway_error_counter[4]; From e6a7abf2c1a3991b3b18815a92df3c54f6de5346 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Fri, 6 Aug 2021 15:08:46 +0000 Subject: [PATCH 114/234] Change temp_runaway_timer from float to uint32_t Saves 32 bytes of flash Also change temp_runaway_error_counter from int to uint16_t to be specific --- Firmware/temperature.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 7e48575a7..abeaa2646 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -222,8 +222,8 @@ enum TempRunawayStates : uint8_t #if (defined (TEMP_RUNAWAY_BED_HYSTERESIS) && TEMP_RUNAWAY_BED_TIMEOUT > 0) || (defined (TEMP_RUNAWAY_EXTRUDER_HYSTERESIS) && TEMP_RUNAWAY_EXTRUDER_TIMEOUT > 0) static uint8_t temp_runaway_status[4]; static float temp_runaway_target[4]; -static float temp_runaway_timer[4]; -static int temp_runaway_error_counter[4]; +static uint32_t temp_runaway_timer[4]; +static uint16_t temp_runaway_error_counter[4]; static void temp_runaway_check(int _heater_id, float _target_temperature, float _current_temperature, float _output, bool _isbed); static void temp_runaway_stop(bool isPreheat, bool isBed); @@ -1244,7 +1244,7 @@ void temp_runaway_check(int _heater_id, float _target_temperature, float _curren { float __delta; float __hysteresis = 0; - int __timeout = 0; + uint16_t __timeout = 0; bool temp_runaway_check_active = false; static float __preheat_start[2] = { 0,0}; //currently just bed and one extruder static int __preheat_counter[2] = { 0,0}; From cf8a16baa17dffb656ca5119729f2090c4b7bfb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 21 Aug 2021 14:34:02 +0000 Subject: [PATCH 115/234] Remove one call to lcd_timeoutToStatus.start Saves 8 bytes of Flash memory This call is redundant and when moving between menus it gets called multiple times which results in waste of clock cycles. lcd_timeoutToStatus.start() is called from menu_lcd_lcdupdate_func() which is enough. --- Firmware/lcd.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Firmware/lcd.cpp b/Firmware/lcd.cpp index 37b70f1a1..2398e33b7 100644 --- a/Firmware/lcd.cpp +++ b/Firmware/lcd.cpp @@ -741,7 +741,6 @@ void lcd_buttons_update(void) if (READ(BTN_ENC) == 0) { //button is pressed - lcd_timeoutToStatus.start(); if (!buttonBlanking.running() || buttonBlanking.expired(BUTTON_BLANKING_TIME)) { buttonBlanking.start(); safetyTimer.start(); From b37e289a8f63f47575d546a63a944c93e46436bf Mon Sep 17 00:00:00 2001 From: "David E. Weekly" Date: Sun, 22 Aug 2021 12:25:50 -0700 Subject: [PATCH 116/234] Fix typos & small grammar changes Applied some gentle love to make this read better to a native English speaker. No meaningful change in content. --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 108214c0d..f12f0d210 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ _Note: Multi language build is not supported._ **a.** Install `"Arduino Software IDE"` from the official website `https://www.arduino.cc -> Software->Downloads` - _It is recommended to use version `"1.8.5"`, as it is used on out build server to produce official builds._ + _It is recommended to use version `"1.8.5"`, as it is used on our build server to produce official builds._ **b.** Setup Arduino to use Prusa Rambo board definition @@ -118,7 +118,7 @@ _notes: Script and instructions contributed by 3d-gussner. Use at your own risk. - to install zip run `sudo apt-get install zip` - to install dos2unix run `sudo apt-get install dos2unix` - run `dos2unix PF-build.sh` to convert the windows line endings to unix line endings - - add few lines at the top of `~/.bashrc` by running `sudo nano ~/.bashrc` + - add a few lines at the top of `~/.bashrc` by running `sudo nano ~/.bashrc` export OS="Linux" export JAVA_TOOL_OPTIONS="-Djava.net.preferIPv4Stack=true" @@ -134,14 +134,14 @@ _notes: Script and instructions contributed by 3d-gussner. Use at your own risk. - Example: You files are under `C:\Users\\Downloads\Prusa-Firmware-MK3` - use under Ubuntu the following command `cd /mnt/c/Users//Downloads/Prusa-Firmware-MK3` to change to the right folder -- Unix and windows have different line endings (LF vs CRLF), try dos2unix to convert +- Unix and Windows have different line endings (LF vs CRLF), use dos2unix to convert - This should fix the `"$'\r': command not found"` error - to install run `apt-get install dos2unix` - If your Windows isn't in English the Paths may look different Example in other languages - English `/mnt/c/Users//Downloads/Prusa-Firmware-MK3` will be on a German Windows`/mnt/c/Anwender//Downloads/Prusa-Firmware-MK3` #### Compile Prusa-firmware with Ubuntu/Debian Linux subsystem installed -- open Ubuntu bash +- open Ubuntu bash shell - change to your source code folder (case sensitive) - run `./PF-build.sh` - follow the instructions @@ -211,14 +211,14 @@ Q:I built firmware using Arduino and I see "?" instead of numbers in printer use A:Step 1.c was omitted or you updated Arduino and now platform.txt located somewhere in your user profile is used. -Q:I built firmware using Arduino and printer now speaks Klingon (nonsense characters and symbols are displayed @^#$&*°;~ÿ) +Q:I built firmware using Arduino and my printer now speaks "Klingon" (nonsense characters and symbols are displayed @^#$&*°;~ÿ) A:Step 2.c was omitted. -Q:What environment does Prusa use to build the firmware in the first place? +Q:What environment does Prusa use to build its official firmware releases? -A:Our production builds are 99.9% equivalent to https://github.com/prusa3d/Prusa-Firmware#linux this is also easiest way to build as only one step is needed - run single script, which downloads patched Arduino from github, builds using it, then extracts translated strings and creates language variants (for MK2x) or language hex file for external SPI flash (MK3x). But you need Linux or Linux in virtual machine. This is also what happens when you open pull request to our repository - all variants are built by Travis http://travis-ci.org/ (to check for compilation errors). You can see, what is happening in .travis.yml. It would be also possible to get hex built by travis, only deploy step is missing in .travis.yml. You can get inspiration how to deploy hex by travis and how to setup travis in https://github.com/prusa3d/MM-control-01/ repository. Final hex is located in ./lang/firmware.hex Community reproduced this for Windows in https://github.com/prusa3d/Prusa-Firmware#using-linux-subsystem-under-windows-10-64-bit or https://github.com/prusa3d/Prusa-Firmware#using-git-bash-under-windows-10-64-bit . +A:Our production builds are 99.9% equivalent to https://github.com/prusa3d/Prusa-Firmware#linux this is also easiest way to build as only one step is needed - run a single script, which downloads patched Arduino from GitHub, builds using it, then extracts translated strings and creates language variants (for MK2x) or language hex file for external SPI flash (MK3x). But you need Linux or Linux in a virtual machine. This is also what happens when you open a pull request to our repository - all variants are built by Travis http://travis-ci.org/ (to check for compilation errors). You can see, what is happening in .travis.yml. It would be also possible to get hex built by Travis, only the deploy step is missing in .travis.yml. You can find inspiration on how to deploy hex in Travis and how to setup Travis in https://github.com/prusa3d/MM-control-01/ repository. The final hex is located in ./lang/firmware.hex - community reproduced this for Windows in https://github.com/prusa3d/Prusa-Firmware#using-linux-subsystem-under-windows-10-64-bit or https://github.com/prusa3d/Prusa-Firmware#using-git-bash-under-windows-10-64-bit . -Q:Why are build instructions for Arduino mess. +Q:Why are build instructions for Arduino a mess? -Y:We are too lazy to ship proper board definition for Arduino. We plan to switch to cmake + ninja to be inherently multiplatform, easily integrate build tools, suport more IDEs, get 10 times shorter build times and be able to update compiler whenever we want. +Y:We are too lazy to ship a proper board definition for Arduino. We plan to switch to CMake + ninja to be inherently multiplatform, easily integrate build tools, suport more IDEs, get 10 times shorter build times and be able to update compiler whenever we want. From eff9cd9f219d1031c9e664a04d67af22d7258345 Mon Sep 17 00:00:00 2001 From: EV3R4 Date: Mon, 27 Sep 2021 19:13:26 +0200 Subject: [PATCH 117/234] Typo: M84 docs --- Firmware/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 023b646fa..bfcd741d1 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6887,7 +6887,7 @@ Sigma_Exit: - `X` - X axis - `Y` - Y axis - `Z` - Z axis - - `E` - Exruder + - `E` - Extruder ### M18 - Disable steppers M18: Disable all stepper motors Equal to M84 (compatibility) From 05e0c1e1d3ed20a26f82f2db5b9aa99ab64c6b97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Tue, 12 Oct 2021 21:52:19 +0000 Subject: [PATCH 118/234] Fix build error if PINDA_THERMISTOR is not defined temp_cal_active variable is not defined in this scope --- Firmware/Marlin_main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 023b646fa..f4461e827 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3103,7 +3103,7 @@ static void gcode_G80() bool magnet_elimination = (eeprom_read_byte((uint8_t*)EEPROM_MBL_MAGNET_ELIMINATION) > 0); #ifndef PINDA_THERMISTOR - if (run == false && temp_cal_active == true && calibration_status_pinda() == true && target_temperature_bed >= 50) + if (run == false && eeprom_read_byte((uint8_t *)EEPROM_TEMP_CAL_ACTIVE) && calibration_status_pinda() == true && target_temperature_bed >= 50) { temp_compensation_start(); run = true; @@ -3337,7 +3337,7 @@ static void gcode_G80() // SERIAL_ECHOLNPGM("clean up finished "); #ifndef PINDA_THERMISTOR - if(temp_cal_active == true && calibration_status_pinda() == true) temp_compensation_apply(); //apply PINDA temperature compensation + if(eeprom_read_byte((uint8_t *)EEPROM_TEMP_CAL_ACTIVE) && calibration_status_pinda() == true) temp_compensation_apply(); //apply PINDA temperature compensation #endif babystep_apply(); // Apply Z height correction aka baby stepping before mesh bed leveing gets activated. // SERIAL_ECHOLNPGM("babystep applied"); From f8410d8f3cbe95591b8bc1d105b682d24beaeebe Mon Sep 17 00:00:00 2001 From: Panayiotis-git <32783577+Panayiotis-git@users.noreply.github.com> Date: Wed, 30 Jun 2021 00:27:23 +0300 Subject: [PATCH 119/234] Print temperatures only if filament loading is still active --- Firmware/ultralcd.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 81fef9674..50f1a78db 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -2317,8 +2317,10 @@ void mFilamentItem(uint16_t nTemp, uint16_t nTempBed) } } - lcd_set_cursor(0, 0); - lcdui_print_temp(LCD_STR_THERMOMETER[0], (int) degHotend(0), (int) degTargetHotend(0)); + if (bFilamentWaitingFlag) { + lcd_set_cursor(0, 0); + lcdui_print_temp(LCD_STR_THERMOMETER[0], (int) degHotend(0), (int) degTargetHotend(0)); + } if (lcd_clicked()) { From 13732f162b00ba77880e2c21f36663567342a1b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Tue, 5 Oct 2021 22:28:26 +0000 Subject: [PATCH 120/234] Fix build error when TMC2130_SERVICE_CODES_M910_M918 is enabled (cherry picked from commit 6ed4b79cc6685f31b6914881008e036424dab2eb) --- Firmware/Marlin_main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d1bc83a15..2d53b1cd9 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -8625,7 +8625,7 @@ Sigma_Exit: */ case 910: { - tmc2130_init(); + tmc2130_init(TMCInitParams(false, FarmOrUserECool())); } break; @@ -8692,7 +8692,7 @@ Sigma_Exit: { tmc2130_mode = TMC2130_MODE_NORMAL; update_mode_profile(); - tmc2130_init(); + tmc2130_init(TMCInitParams(false, FarmOrUserECool())); } break; @@ -8704,7 +8704,7 @@ Sigma_Exit: { tmc2130_mode = TMC2130_MODE_SILENT; update_mode_profile(); - tmc2130_init(); + tmc2130_init(TMCInitParams(false, FarmOrUserECool())); } break; From be79e3791f372856163b2e7815ca96f2d6e3fe92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 21 Aug 2021 14:47:29 +0000 Subject: [PATCH 121/234] Fixes #3262 Make sure to call lcd_timeoutToStatus.start() when the SD card is inserted into the printer after it was removed beforehand. (cherry picked from commit 6795843f153aa064f087f80990419a946cdfe857) --- Firmware/cardreader.cpp | 1 - Firmware/ultralcd.cpp | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/cardreader.cpp b/Firmware/cardreader.cpp index 41fee385f..dbcb4e2ba 100644 --- a/Firmware/cardreader.cpp +++ b/Firmware/cardreader.cpp @@ -1030,7 +1030,6 @@ void CardReader::presort() { lcd_update(2); KEEPALIVE_STATE(NOT_BUSY); - lcd_timeoutToStatus.start(); } void CardReader::flush_presort() { diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 50f1a78db..dfaa04ca3 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -8939,6 +8939,7 @@ void menu_lcd_lcdupdate_func(void) LCD_MESSAGERPGM(_T(WELCOME_MSG)); bMain=false; // flag (i.e. 'fake parameter') for 'lcd_sdcard_menu()' function menu_submenu(lcd_sdcard_menu); + lcd_timeoutToStatus.start(); } else { From fb025bba058a03461e01fdef1444834d4d7dade1 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 7 Dec 2021 11:06:08 +0100 Subject: [PATCH 122/234] Introduce severity levels for alert messages Use the internal lcd_status_message_level for multiple severity levels of alert messages. This is needed to distinguish between non-critical alerts (such as FAN ERROR) from critical ones (any heater issue). During a failure scenario, a critical error MUST NOT be overridden by a lower-level one. As such LCD_STATUS_CRITICAL is currently used for all heater-related errors that result in a safety full-stop. --- Firmware/ultralcd.cpp | 20 ++++++++++++-------- Firmware/ultralcd.h | 13 ++++++++++--- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index dfaa04ca3..fcce9b199 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -8813,18 +8813,22 @@ void lcd_updatestatus(const char *message){ lcd_draw_update = 1; } -void lcd_setalertstatuspgm(const char* message) +void lcd_setalertstatuspgm(const char* message, uint8_t severity) { - lcd_setstatuspgm(message); - lcd_status_message_level = 1; - lcd_return_to_status(); + if (severity > lcd_status_message_level) { + lcd_setstatuspgm(message); + lcd_status_message_level = severity; + lcd_return_to_status(); + } } -void lcd_setalertstatus(const char* message) +void lcd_setalertstatus(const char* message, uint8_t severity) { - lcd_setstatus(message); - lcd_status_message_level = 1; - lcd_return_to_status(); + if (severity > lcd_status_message_level) { + lcd_setstatus(message); + lcd_status_message_level = severity; + lcd_return_to_status(); + } } void lcd_reset_alert_level() diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 68b933d02..e3683576e 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -12,13 +12,20 @@ extern void menu_lcd_lcdupdate_func(void); void ultralcd_init(); void lcd_setstatus(const char* message); void lcd_setstatuspgm(const char* message); + +//! LCD status severities +#define LCD_STATUS_CRITICAL 2 //< Heater failure +#define LCD_STATUS_ALERT 1 //< Other hardware issue +#define LCD_STATUS_NONE 0 //< No alert message set + //! return to the main status screen and display the alert message //! Beware - it has sideeffects: //! - always returns the display to the main status screen //! - always makes lcd_reset (which is slow and causes flicker) -//! - does not update the message if there is already one (i.e. lcd_status_message_level > 0) -void lcd_setalertstatus(const char* message); -void lcd_setalertstatuspgm(const char* message); +//! - does not update the message if there is one with the same (or higher) severity present +void lcd_setalertstatus(const char* message, uint8_t severity = LCD_STATUS_ALERT); +void lcd_setalertstatuspgm(const char* message, uint8_t severity = LCD_STATUS_ALERT); + //! only update the alert message on the main status screen //! has no sideeffects, may be called multiple times void lcd_updatestatus(const char *message); From 57abffda1b1810048bbc5647a928acc56deb1675 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 7 Dec 2021 11:09:58 +0100 Subject: [PATCH 123/234] Update temperature-related error message to use LCD_STATUS_CRITICAL --- Firmware/temperature.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 3765589b8..c753db194 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -1483,13 +1483,12 @@ uint8_t last_alert_sent_to_lcd = LCDALERT_NONE; //! update the current temperature error message //! @param type short error abbreviation (PROGMEM) -//! @param func optional lcd update function (lcd_setalertstatus when first setting the error) -void temp_update_messagepgm(const char* PROGMEM type, void (*func)(const char*) = lcd_updatestatus) +void temp_update_messagepgm(const char* PROGMEM type) { char msg[LCD_WIDTH]; strcpy_P(msg, PSTR("Err: ")); strcat_P(msg, type); - (*func)(msg); + lcd_setalertstatus(msg, LCD_STATUS_CRITICAL); } //! signal a temperature error on both the lcd and serial @@ -1497,7 +1496,7 @@ void temp_update_messagepgm(const char* PROGMEM type, void (*func)(const char*) //! @param e optional extruder index for hotend errors void temp_error_messagepgm(const char* PROGMEM type, uint8_t e = EXTRUDERS) { - temp_update_messagepgm(type, lcd_setalertstatus); + temp_update_messagepgm(type); SERIAL_ERROR_START; From a3915b57b9f7984164876a7ba70c1c8196b7556f Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 7 Dec 2021 11:11:06 +0100 Subject: [PATCH 124/234] Improve temp_runaway_stop robustness Remove most of the duplicated code inside temp_runaway_stop(), making it identical to the other temperature handlers. Move the lower-level functions required to stop the entirety of the machine into UnconditionalStop(). Reuse this function inside lcd_print_stop(). Set the LCD alert message before calling Stop(), as done in other safety handlers, so that the error is visible while the printer is stopping. This also avoids other temporary status messages to appear before the real issue is shown and/or STEALING the first CRITICAL alert level before we do. --- Firmware/Marlin.h | 6 ++++-- Firmware/Marlin_main.cpp | 37 +++++++++++++++++++++++++++++++++++++ Firmware/temperature.cpp | 37 ++++++++++--------------------------- Firmware/temperature.h | 2 +- Firmware/ultralcd.cpp | 25 +++++++------------------ 5 files changed, 59 insertions(+), 48 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index c2c5ca933..85c4dae10 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -236,10 +236,12 @@ void update_currents(); void get_coordinates(); void prepare_move(); void kill(const char *full_screen_message = NULL, unsigned char id = 0); -void Stop(); -bool IsStopped(); void finishAndDisableSteppers(); +void UnconditionalStop(); // Stop heaters, motion and clear current print status +void Stop(); // Emergency stop used by overtemp functions which allows recovery +bool IsStopped(); // Returns true if the print has been stopped + //put an ASCII command at the end of the current buffer, read from flash #define enquecommand_P(cmd) enquecommand(cmd, true) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 2d53b1cd9..5fb82577d 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -10154,6 +10154,31 @@ void kill(const char *full_screen_message, unsigned char id) } // Wait for reset } +void UnconditionalStop() +{ + CRITICAL_SECTION_START; + + // Disable all heaters and unroll the temperature wait loop stack + disable_heater(); + + // Clear any saved printing state + cancel_saved_printing(); + + // Abort the planner + planner_abort_hard(); + + // Reset the queue + cmdqueue_reset(); + cmdqueue_serial_disabled = false; + + // Reset the sd status + card.sdprinting = false; + card.closefile(); + + st_reset_timer(); + CRITICAL_SECTION_END; +} + // Stop: Emergency stop used by overtemp functions which allows recovery // // In addition to stopping the print, this prevents subsequent G[0-3] commands to be @@ -10166,15 +10191,27 @@ void kill(const char *full_screen_message, unsigned char id) // the addition of disabling the headers) could allow true recovery in the future. void Stop() { + // Keep disabling heaters disable_heater(); + + // Call the regular stop function if that's the first time during a new print if(Stopped == false) { Stopped = true; lcd_print_stop(); Stopped_gcode_LastN = gcode_LastN; // Save last g_code for restart + + // Eventually report the stopped status (though this is usually overridden by a + // higher-priority alert status message) SERIAL_ERROR_START; SERIAL_ERRORLNRPGM(MSG_ERR_STOPPED); LCD_MESSAGERPGM(_T(MSG_STOPPED)); } + + // Return to the status screen to stop any pending menu action which could have been + // started by the user while stuck in the Stopped state. This also ensures the NEW + // error is immediately shown. + if (menu_menu != lcd_status_screen) + lcd_return_to_status(); } bool IsStopped() { return Stopped; }; diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index c753db194..f84d966e0 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -1381,33 +1381,15 @@ void temp_runaway_check(int _heater_id, float _target_temperature, float _curren void temp_runaway_stop(bool isPreheat, bool isBed) { - cancel_heatup = true; - quickStop(); - if (card.sdprinting) + disable_heater(); + Sound_MakeCustom(200,0,true); + + if (isPreheat) { - card.sdprinting = false; - card.closefile(); - } - // Clean the input command queue - // This is necessary, because in command queue there can be commands which would later set heater or bed temperature. - cmdqueue_reset(); - - disable_heater(); - disable_x(); - disable_y(); - disable_e0(); - disable_e1(); - disable_e2(); - manage_heater(); - lcd_update(0); - Sound_MakeCustom(200,0,true); - - if (isPreheat) - { - Stop(); - isBed ? LCD_ALERTMESSAGEPGM("BED PREHEAT ERROR") : LCD_ALERTMESSAGEPGM("PREHEAT ERROR"); + lcd_setalertstatuspgm(isBed? PSTR("BED PREHEAT ERROR") : PSTR("PREHEAT ERROR"), LCD_STATUS_CRITICAL); SERIAL_ERROR_START; isBed ? SERIAL_ERRORLNPGM(" THERMAL RUNAWAY ( PREHEAT HEATBED)") : SERIAL_ERRORLNPGM(" THERMAL RUNAWAY ( PREHEAT HOTEND)"); + #ifdef EXTRUDER_ALTFAN_DETECT altfanStatus.altfanOverride = 1; //full speed #endif //EXTRUDER_ALTFAN_DETECT @@ -1418,22 +1400,23 @@ void temp_runaway_stop(bool isPreheat, bool isBed) #else //FAN_SOFT_PWM analogWrite(FAN_PIN, 255); #endif //FAN_SOFT_PWM - fanSpeed = 255; - delayMicroseconds(2000); } else { - isBed ? LCD_ALERTMESSAGEPGM("BED THERMAL RUNAWAY") : LCD_ALERTMESSAGEPGM("THERMAL RUNAWAY"); + lcd_setalertstatuspgm(isBed? PSTR("BED THERMAL RUNAWAY") : PSTR("THERMAL RUNAWAY"), LCD_STATUS_CRITICAL); SERIAL_ERROR_START; isBed ? SERIAL_ERRORLNPGM(" HEATBED THERMAL RUNAWAY") : SERIAL_ERRORLNPGM(" HOTEND THERMAL RUNAWAY"); } + + Stop(); } #endif void disable_heater() { + cancel_heatup = true; setAllTargetHotends(0); setTargetBed(0); #if defined(TEMP_0_PIN) && TEMP_0_PIN > -1 diff --git a/Firmware/temperature.h b/Firmware/temperature.h index 0bf944724..a2d1db2bd 100755 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -220,7 +220,7 @@ FORCE_INLINE bool isCoolingBed() { #define CHECK_ALL_HEATERS (checkAllHotends()||(target_temperature_bed!=0)) int getHeaterPower(int heater); -void disable_heater(); +void disable_heater(); // Disable all heaters and unroll the temperature wait loop stack void updatePID(); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index fcce9b199..782fe7b3c 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -7089,25 +7089,15 @@ static void lcd_sd_updir() void lcd_print_stop() { - if (!card.sdprinting) { - SERIAL_ECHOLNRPGM(MSG_OCTOPRINT_CANCEL); // for Octoprint + if (!IsStopped()) { + // Stop the print if we didn't already due to an error + if (!card.sdprinting) { + SERIAL_ECHOLNRPGM(MSG_OCTOPRINT_CANCEL); // for Octoprint + } + UnconditionalStop(); } - cmdqueue_serial_disabled = false; //for when canceling a print with a fancheck - - CRITICAL_SECTION_START; - - // Clear any saved printing state - cancel_saved_printing(); - - // Abort the planner/queue/sd - planner_abort_hard(); - cmdqueue_reset(); - card.sdprinting = false; - card.closefile(); - st_reset_timer(); - - CRITICAL_SECTION_END; + // TODO: all the following should be moved in the main marlin loop! #ifdef MESH_BED_LEVELING mbl.active = false; //also prevents undoing the mbl compensation a second time in the second planner_abort_hard() #endif @@ -7122,7 +7112,6 @@ void lcd_print_stop() lcd_commands_type = LcdCommands::Idle; lcd_cooldown(); //turns off heaters and fan; goes to status screen. - cancel_heatup = true; //unroll temperature wait loop stack. current_position[Z_AXIS] += 10; //lift Z. plan_buffer_line_curposXYZE(manual_feedrate[Z_AXIS] / 60); From 36a7b5ca569ba82b2c4d7d4c7c2686c82a3193e0 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 7 Dec 2021 11:21:51 +0100 Subject: [PATCH 125/234] Avoid redundant checks in lcd_setalertstatus* --- Firmware/ultralcd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 782fe7b3c..81f0097c8 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -8805,7 +8805,7 @@ void lcd_updatestatus(const char *message){ void lcd_setalertstatuspgm(const char* message, uint8_t severity) { if (severity > lcd_status_message_level) { - lcd_setstatuspgm(message); + lcd_updatestatuspgm(message); lcd_status_message_level = severity; lcd_return_to_status(); } @@ -8814,7 +8814,7 @@ void lcd_setalertstatuspgm(const char* message, uint8_t severity) void lcd_setalertstatus(const char* message, uint8_t severity) { if (severity > lcd_status_message_level) { - lcd_setstatus(message); + lcd_updatestatus(message); lcd_status_message_level = severity; lcd_return_to_status(); } From 7ff117d0c4d2ba03772d6a8244e004e7fedda94c Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 7 Dec 2021 11:35:35 +0100 Subject: [PATCH 126/234] temp_runaway_stop: remove spourious space in error message --- Firmware/temperature.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index f84d966e0..c53242aef 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -1388,7 +1388,7 @@ void temp_runaway_stop(bool isPreheat, bool isBed) { lcd_setalertstatuspgm(isBed? PSTR("BED PREHEAT ERROR") : PSTR("PREHEAT ERROR"), LCD_STATUS_CRITICAL); SERIAL_ERROR_START; - isBed ? SERIAL_ERRORLNPGM(" THERMAL RUNAWAY ( PREHEAT HEATBED)") : SERIAL_ERRORLNPGM(" THERMAL RUNAWAY ( PREHEAT HOTEND)"); + isBed ? SERIAL_ERRORLNPGM(" THERMAL RUNAWAY (PREHEAT HEATBED)") : SERIAL_ERRORLNPGM(" THERMAL RUNAWAY (PREHEAT HOTEND)"); #ifdef EXTRUDER_ALTFAN_DETECT altfanStatus.altfanOverride = 1; //full speed From 78f856c8d6dd0dbc7d259f45679a8b85d7c2cb01 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 7 Dec 2021 16:56:39 +0100 Subject: [PATCH 127/234] Do not unconditionally overwrite the status message in check_file() No function should touch the status message directly without checking the message severity level first. Replace the strcpy_P with lcd_setstatuspgm(). --- Firmware/ultralcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 81f0097c8..e88e2285e 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -8593,7 +8593,7 @@ static bool check_file(const char* filename) { cmdqueue_serial_disabled = false; card.printingHasFinished(); - strncpy_P(lcd_status_message, _T(WELCOME_MSG), LCD_WIDTH); + lcd_setstatuspgm(_T(WELCOME_MSG)); lcd_finishstatus(); return result; } From 83693bf4ccea3bfec23ef38e9478e4da6dae1363 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Tue, 7 Dec 2021 17:42:27 +0100 Subject: [PATCH 128/234] Remove useless assignment in lcd_cooldown The current filament action will be aborted by lcd_return_to_status() --- Firmware/ultralcd.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index e88e2285e..bc35e6a0c 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1399,7 +1399,6 @@ static void lcd_cooldown() setAllTargetHotends(0); setTargetBed(0); fanSpeed = 0; - eFilamentAction = FilamentAction::None; lcd_return_to_status(); } From 32d8d892f5792bc5d3f8ced45c9da63c8ca73972 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Fri, 10 Dec 2021 01:43:59 +0100 Subject: [PATCH 129/234] Actually call UnconditionalStop() in Stop()->lcd_print_stop() Remove incorrect check introduced during development. --- Firmware/ultralcd.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index bc35e6a0c..50bdeb970 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -7088,13 +7088,10 @@ static void lcd_sd_updir() void lcd_print_stop() { - if (!IsStopped()) { - // Stop the print if we didn't already due to an error - if (!card.sdprinting) { - SERIAL_ECHOLNRPGM(MSG_OCTOPRINT_CANCEL); // for Octoprint - } - UnconditionalStop(); + if (!card.sdprinting) { + SERIAL_ECHOLNRPGM(MSG_OCTOPRINT_CANCEL); // for Octoprint } + UnconditionalStop(); // TODO: all the following should be moved in the main marlin loop! #ifdef MESH_BED_LEVELING From 320835a1b7b29a7f3e01710e346dd0895600e0e5 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Fri, 10 Dec 2021 01:46:20 +0100 Subject: [PATCH 130/234] Do not cancel wait-for-temperature loops in disable_heaters() Partially revert previous change: cancelling a single loop would often advance the gcode stream to the next wait-for loop if executed at the beginning of an SD print, implicitly turning off the flag again. Cancel the loop directly in UnconditionalStop() which stops the command queue as well in an atomic way, handling this correctly. --- Firmware/Marlin_main.cpp | 3 ++- Firmware/temperature.cpp | 1 - Firmware/temperature.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 5fb82577d..30c205895 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -294,7 +294,7 @@ uint8_t newFanSpeed = 0; bool powersupply = true; #endif -bool cancel_heatup = false ; +bool cancel_heatup = false; int8_t busy_state = NOT_BUSY; static long prev_busy_signal_ms = -1; @@ -10160,6 +10160,7 @@ void UnconditionalStop() // Disable all heaters and unroll the temperature wait loop stack disable_heater(); + cancel_heatup = true; // Clear any saved printing state cancel_saved_printing(); diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index c53242aef..87ffc6149 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -1416,7 +1416,6 @@ void temp_runaway_stop(bool isPreheat, bool isBed) void disable_heater() { - cancel_heatup = true; setAllTargetHotends(0); setTargetBed(0); #if defined(TEMP_0_PIN) && TEMP_0_PIN > -1 diff --git a/Firmware/temperature.h b/Firmware/temperature.h index a2d1db2bd..b0e035d78 100755 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -220,7 +220,7 @@ FORCE_INLINE bool isCoolingBed() { #define CHECK_ALL_HEATERS (checkAllHotends()||(target_temperature_bed!=0)) int getHeaterPower(int heater); -void disable_heater(); // Disable all heaters and unroll the temperature wait loop stack +void disable_heater(); // Disable all heaters void updatePID(); From 3849f9785a98c5454531a85484c589f637b86260 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Fri, 10 Dec 2021 01:51:43 +0100 Subject: [PATCH 131/234] Make cancel_heatup also abort cooldown in M190 This matches the expected behavior, as already implemented in wait_for_heater(). --- Firmware/Marlin_main.cpp | 2 +- Firmware/ultralcd.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 30c205895..527df0a7e 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6751,7 +6751,7 @@ Sigma_Exit: target_direction = isHeatingBed(); // true if heating, false if cooling KEEPALIVE_STATE(NOT_BUSY); - while ( (target_direction)&&(!cancel_heatup) ? (isHeatingBed()) : (isCoolingBed()&&(CooldownNoWait==false)) ) + while ( (!cancel_heatup) && (target_direction ? (isHeatingBed()) : (isCoolingBed()&&(CooldownNoWait==false))) ) { if(( _millis() - codenum) > 1000 ) //Print Temp Reading every 1 second while heating up. { diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 50bdeb970..daac8d71c 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -7104,6 +7104,7 @@ void lcd_print_stop() pause_time = 0; save_statistics(total_filament_used, t); + // reset current command lcd_commands_step = 0; lcd_commands_type = LcdCommands::Idle; From 785d94ab3ac471e6281396a3be5a5ab2240a4a76 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 16 Dec 2021 09:32:38 +0100 Subject: [PATCH 132/234] Add links to RepRap Gcode wiki for new Dcodes D20-D23 --- Firmware/Marlin_main.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 527df0a7e..66e866aba 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -9329,7 +9329,7 @@ Sigma_Exit: #ifdef XFLASH_DUMP /*! - ### D20 - Generate an offline crash dump + ### D20 - Generate an offline crash dump D20: Generate an offline crash dump Generate a crash dump for later retrival. #### Usage @@ -9348,7 +9348,7 @@ Sigma_Exit: }; /*! - ### D21 - Print crash dump to serial + ### D21 - Print crash dump to serial D21: Print crash dump to serial Output the complete crash dump (if present) to the serial. #### Usage @@ -9363,7 +9363,7 @@ Sigma_Exit: }; /*! - ### D22 - Clear crash dump state + ### D22 - Clear crash dump state D22: Clear crash dump state Clear an existing internal crash dump. #### Usage @@ -9377,7 +9377,7 @@ Sigma_Exit: #ifdef EMERGENCY_SERIAL_DUMP /*! - ### D23 - Request emergency dump on serial + ### D23 - Request emergency dump on serial D23: Request emergency dump on serial On boards without offline dump support, request online dumps to the serial port on firmware faults. When online dumps are enabled, the FW will dump memory on the serial before resetting. #### Usage From 1c1e69e555a6da785087ab3865b4f8f6f0423d12 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 16 Dec 2021 11:23:44 +0100 Subject: [PATCH 133/234] Update FW crash message --- Firmware/Marlin_main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 66e866aba..5a57808d0 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1011,7 +1011,8 @@ static void fw_crash_init() eeprom_read_byte((uint8_t*)EEPROM_FW_CRASH_FLAG) != 0xFF) { lcd_show_fullscreen_message_and_wait_P( - _i("FIRMWARE CRASH!\n" + _i("FW crash detected! " + "You can continue printing. " "Debug data available for analysis. " "Contact support to submit details.")); } From add4872292ea34550ee2443f18840b18dd921487 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Thu, 16 Dec 2021 11:52:35 +0100 Subject: [PATCH 134/234] Update po files before release --- lang/po/Firmware.pot | 406 ++++++++++++++++++++--------------------- lang/po/Firmware_cs.po | 404 ++++++++++++++++++++-------------------- lang/po/Firmware_de.po | 406 ++++++++++++++++++++--------------------- lang/po/Firmware_es.po | 406 ++++++++++++++++++++--------------------- lang/po/Firmware_fr.po | 406 ++++++++++++++++++++--------------------- lang/po/Firmware_it.po | 406 ++++++++++++++++++++--------------------- lang/po/Firmware_nl.po | 406 ++++++++++++++++++++--------------------- lang/po/Firmware_pl.po | 406 ++++++++++++++++++++--------------------- lang/po/new/cs.po | 404 ++++++++++++++++++++-------------------- lang/po/new/de.po | 406 ++++++++++++++++++++--------------------- lang/po/new/es.po | 406 ++++++++++++++++++++--------------------- lang/po/new/fr.po | 406 ++++++++++++++++++++--------------------- lang/po/new/it.po | 406 ++++++++++++++++++++--------------------- lang/po/new/nl.po | 406 ++++++++++++++++++++--------------------- lang/po/new/pl.po | 406 ++++++++++++++++++++--------------------- 15 files changed, 3043 insertions(+), 3043 deletions(-) diff --git a/lang/po/Firmware.pot b/lang/po/Firmware.pot index be15e20ea..368612a31 100644 --- a/lang/po/Firmware.pot +++ b/lang/po/Firmware.pot @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: en\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:03 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:03 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:50:53 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:50:53 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr "" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr "" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "" @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "" # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "" # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "" # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr "" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "" @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "" # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "" # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "" @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "" # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "" # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "" # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "" # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "" @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "" # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "" # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "" # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "" # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "" # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "" @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "" # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "" @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "" # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "" @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "" @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "" @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "" # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "" # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "" # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "" @@ -776,7 +776,7 @@ msgid "Mode" msgstr "" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "" # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "" @@ -816,7 +816,7 @@ msgid "High power" msgstr "" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "" # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "" @@ -866,12 +866,12 @@ msgid "No" msgstr "" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "" # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "" @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "" # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "" # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "" # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "" @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "" # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "" # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "" @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "" @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "" # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "" # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "" @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "" @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "" # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "" # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "" @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "" @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "" # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "" # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "" # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "" # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "" # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "" # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "" # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "" @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "" # MSG_SET_TEMPERATURE c=19 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "" @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "" @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "" @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "" # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "" # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "" # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "" # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "" # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "" # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "" # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "" # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "" @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "" # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "" # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "" # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "" # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "" # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "" # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "" # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "" # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "" # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "" @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "" # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "" @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "" # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "" # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "" # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "" diff --git a/lang/po/Firmware_cs.po b/lang/po/Firmware_cs.po index 8804159ed..b369aac9f 100644 --- a/lang/po/Firmware_cs.po +++ b/lang/po/Firmware_cs.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: cs\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:08 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:08 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:50:57 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:50:57 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 nebo starsi" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS 0.3 nebo starsi" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 nebo novejsi" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS 0.4 a novejsi" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "neznamy stav" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "[0;0] odsazeni bodu" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "POZOR:\x0aCrash detekce\x0adeaktivovana ve\x0aStealth modu" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Doladeni Z:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Vse OK" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Vse je hotovo." # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Okoli" @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "a stisknete tlacitko" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "Dojely oba Z voziky k~hornimu dorazu?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "AutoZavedeni fil." # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "Automaticke zavadeni filamentu je mozne pouze pri zapnutem filament senzoru..." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "Automaticke zavadeni filamentu aktivni, stisknete tlacitko a vlozte filament..." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Delka osy" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "Osa" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Podlozka/Topeni" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Zahrivani bedu" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Korekce podlozky" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Test remenu" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Detekovan vypadek proudu.Obnovit tisk?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Kalibruji vychozi p." # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Kalibrace XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Kalibrovat Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Zkalibrovat" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Zrusit" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Kalibrace XYZ. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Kalibruji Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Kalibrace Z. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Kalibrace OK" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "Kalibrace" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "Karta vyjmuta" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Kontroluji soubor" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Barva neni cista" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Zchladit" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Kopirovat vybrany jazyk?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "" # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Zvolte filament pro kalibraci prvni vrstvy z nasledujiciho menu" @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Detekovan naraz." # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Detekovan naraz. Obnovit tisk?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "Naraz" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Pouze aktualni" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Datum:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Komunitni prekl." # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Vypnout motory" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "Pokr." # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Chcete opakovat posledni krok a pozmenit vzdalenost mezi tryskou a podlozkou?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "Korekce E:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Vysunout fil." # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "Vysouvam filament" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Kon. spinac nesepnut" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "Koncovy spinac" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "Konc. spinace" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Chyba - Doslo k prepisu staticke pameti" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Strihani" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Strihani filamentu" # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "CHYBA: Filament senzor nereaguje, zkontrolujte prosim zapojeni." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "CHYBA:" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "Levy vent.:" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "Selhani MMU" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "F. autozav." # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Selhani" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Filament vytlacen a spravne barvy?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Filament nezaveden" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Senzor filamentu" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Spotrebovano filam." # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Cas tisku" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "FS reakce" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "Soubor nekompletni. Pokracovat?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Kal. prvni vrstvy" # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Nejdriv pomoci selftestu zkontoluji nejcastejsi chyby vznikajici pri sestaveni tiskarny." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Opravte chybu a pote stisknete tlacitko na jednotce MMU." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Prutok" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Predni tiskovy vent?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Vpredu [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Predni/levy vent." # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Topeni/Termistor" # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Zahrivani preruseno bezpecnostnim casovacem." @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Vymenit filament" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Zmena uspesna!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Vymena ok?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Kontrola podlozky" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Kontrola endstopu" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Kontrola hotend" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Kontrola osy Y" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Kontrola osy Z" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Nyni provedu xyz kalibraci. Zabere to priblizne 12 min." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Nyni provedu z kalibraci." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Informace" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Vlozte filament" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Ahoj, jsem vase tiskarna Original Prusa i3. Provedu vas kratkym procesem nastaveni, ve kterem zkalibrujeme osu Z. Pak budete moct zacit tisknout." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Mate-li vice tiskovych platu, kalibrujte je v menu Nastaveni - HW nastaveni - Tiskove platy" @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Levy vent na trysce?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Vlevo" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Vlevo [um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Korekce lin." @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Doladeni osy Z" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Vlozte filament (nezavadejte) do extruderu a stisknete tlacitko" @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Zavest filament" # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Cisteni barvy" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "Opakovani" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Uvolnena remenicka" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "Zavest do trysky" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. Pokracuji v tisku..." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Pokracuji v nahrivani..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "Merene zkos." @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "Selhani MMU" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "Zavedeni MMU selhalo" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "MMU selhani zav" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Pokracuji..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "Mod" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "MK3 firmware detekovan na MK3S tiskarne" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Tichy" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "MMU potrebuje zasah uzivatele." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "MMU vyp. proudu" @@ -816,7 +816,7 @@ msgid "High power" msgstr "Vys. vykon" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU2 pripojeno" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "Posunout osu" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Posunout X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Posunout Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Posunout Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Bez pohybu." # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "Zadna SD karta" @@ -866,12 +866,12 @@ msgid "No" msgstr "Ne" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "Nezapojeno" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Vysla nova verze firmware:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Netoci se" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Nyni zkalibruji vzdalenost mezi koncem trysky a povrchem podlozky." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Nyni predehreji trysku pro PLA." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Tryska" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Neplatne hodnoty nastaveni. Bude pouzito vychozi PID, Esteps atd." # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Nyni odstrante testovaci vytisk z tiskoveho platu." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "V. trysky" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Pozastavit tisk" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "PID kal." # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "PID kal. ukoncena" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "PID kalibrace" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "Nahrivani PINDA" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Umistete list papiru na podlozku a udrzujte jej pod tryskou behem mereni prvnich 4 bodu. Pokud tryska zachyti papir, okamzite vypnete tiskarnu." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Prosim ocistete podlozku a stisknete tlacitko." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Zkontrolujte:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Prosim nahlednete do prirucky 3D tiskare a opravte problem. Pote obnovte Pruvodce restartovanim tiskarny." # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Prosim otevrete idler a manualne odstrante filament." @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Prosim vyjmete urychlene filament" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Prosim vyjmete filament a pote stisknete tlacitko." @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Odstrante prosim tiskovy plat z podlozky." # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Nejprve spustte kalibraci XYZ." # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Prosim aktualizujte firmware ve vasi MMU2 jednotce. Cekam na reset." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Prosim cekejte" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Nejprve prosim sundejte transportni soucastky." @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Predehrejte trysku!" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Predehrev" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Predehrev trysky. Prosim cekejte." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Prosim aktualizujte." # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Pro nahrati trysky a pokracovani stisknete tlacitko." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Tisk prerusen" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Predehrev k zavedeni" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Predehrev k vyjmuti" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "Tiskovy vent.:" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Tisk z SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "Stisknete tlacitko" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Tisk pozastaven" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Pro pokracovani nahrivani trysky stisknete tlacitko." @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "Tiskarna nebyla jeste zkalibrovana. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Postup kalibrace." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "Tiskovy v." # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Prosim vlozte filament do extruderu a stisknete tlacitko k jeho zavedeni" # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Prosim vlozte filament do prvni trubicky MMU a stisknete tlacitko k jeho zavedeni" # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Prosim nejdriv zavedte filament" # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Vzadu [um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "Prosim vyjmete filament a zopakujte tuto akci" # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Prosim zkontrolujte zapojeni IR senzoru a vyjmuty filament" # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Obnovovani tisku" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Vyjmete stary filament a stisknete tlacitko pro zavedeni noveho." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "Reset XYZ kalibr." @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Obnoveni tisku" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Vpravo [um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Spusteni Pruvodce vymaze ulozene vysledky vsech kalibraci a spusti kalibracni proces od zacatku. Pokracovat?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "SD karta" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Vpravo" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Hledam kalibracni bod podlozky" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Vyber jazyka" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Self test start" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "Selftest" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Chyba Selftestu!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Selftest selhal" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Pro kalibraci presneho rehomovani bude nyni spusten selftest." # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Vyberte teplotu predehrati trysky ktera odpovida vasemu materialu." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Nastavte teplotu:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Nastaveni" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Stav konc. spin." # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Nektere soubory nebudou setrideny. Maximalni pocet souboru ve slozce pro setrideni je 100." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Cas" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Tezke zkos." @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "Abeceda" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Trideni souboru" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Zvuk" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Vyskytl se problem, srovnavam osu Z ..." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "Jednou" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Rychlost" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Toci se" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Je vyzadovana stabilni pokojova teplota 21-26C a pevna podlozka." # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Statistika" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "ZASTAVENO." # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "Podpora" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Prohozene" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Zvolte filament:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Tepl. kal." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Zvolte teplotu, ktera odpovida vasemu materialu." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Teplot. kalibrace" # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Teplotni kalibrace selhala" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "Teplotni kalibrace dokoncena a je nyni aktivni. Teplotni kalibraci je mozno deaktivovat v menu Nastaveni->Tepl. kal." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Senzor overen, vyjmete filament." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "Teplota" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "Teploty" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "Je potreba kalibrovat osu Z. Prosim postupujte dle prirucky, kapitola Zaciname, sekce Postup kalibrace." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Filament celkem" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Celkovy cas tisku" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Ladit" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Celkem selhani" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "k zavedeni filamentu" # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "k vyjmuti filamentu" @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "Celkem" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Pouzite behem tisku" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Napeti" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "neznamy" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Ceka se na uzivatele" # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "Cekani na zchladnuti trysky a podlozky." # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "Cekani na zchladnuti PINDA" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Varovani: doslo ke zmene typu tiskarny a motherboardu." # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Varovani: doslo ke zmene typu motherboardu." # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Varovani: doslo ke zmene typu tiskarny." # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Bylo vysunuti filamentu uspesne?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Chyba zapojeni" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "Pruvodce" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "Detaily XYZ kal." @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Pruvodce muzete kdykoliv znovu spustit z menu Kalibrace -> Pruvodce" # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Kalibrace XYZ v poradku. Zkoseni bude automaticky vyrovnano pri tisku." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Kalibrace XYZ v poradku. X/Y osy mirne zkosene. Dobra prace!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "Korekce X:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Kalibrace XYZ v poradku. X/Y osy jsou kolme. Gratuluji!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Kalibrace XYZ nepresna. Pravy predni bod moc vpredu." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Zavest vse" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "Kalibrace XYZ selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "Kalibrace XYZ selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Y vzdalenost od min" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "Tiskarna zacne tisknout lomenou caru. Otacenim tlacitka nastavte optimalni vysku. Postupujte podle obrazku v handbooku (kapitola Kalibrace)." # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "Overeni selhalo, vyjmete filament a zkuste znovu." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Korekce Y:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "Zpet" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "Kontrola" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Falesne spusteni" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "MK3S firmware detekovan na tiskarne MK3" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "MMU mod" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Probiha zmena modu..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "Tryska" # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "" @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "G-code je pripraven pro jiny typ tiskarny. Prosim preslicujte model znovu. Tisk zrusen." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-code je pripraven pro novejsi firmware. Pokracovat?" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "G-code je pripraven pro novejsi firmware. Prosim aktualizujte firmware. Tisk zrusen." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Predehrev ke strihu" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Predehrev k vysunuti" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Prumer trysky tiskarny se lisi od G-code. Pokracovat?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "Prumer trysky tiskarny se lisi od G-code. Prosim zkontrolujte nastaveni. Tisk zrusen." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Prejmenovat" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Vybrat" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "Senzor info" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Tiskove platy" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Korekce Z:" diff --git a/lang/po/Firmware_de.po b/lang/po/Firmware_de.po index 2a759a72b..f37b31849 100644 --- a/lang/po/Firmware_de.po +++ b/lang/po/Firmware_de.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:13 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:13 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:51:01 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:51:01 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 oder aelter" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS 0.3 oder aelter" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 oder neuer" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS 0.4 oder neuer" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "Status unbekannt" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "[0;0] Punktversatz" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "WARNUNG:\x0aCrash Erkennung\x0adeaktiviert im\x0aStealth Modus" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Z Anpassen:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Alles richtig" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Alles abgeschlossen. Viel Spass beim Drucken!" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Raumtemp." @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "und Knopf druecken" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "Sind linke+rechte Z- Schlitten ganz oben?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "Startposition" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "AutoLaden Filament" # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "Automatisches Laden Filament nur bei eingeschaltetem Fil. sensor verfuegbar..." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "Automatisches Laden Filament ist aktiv, Knopf druecken und Filament einlegen..." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Achsenlaenge" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "Achse" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Bett/Heizung" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Bett aufwaermen" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Ausgleich Bett ok" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Riementest" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Stromausfall! Druck wiederherstellen?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Kalibriere Start" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Kalibrierung XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Kalibrierung Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Kalibrieren" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Abbruch" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "XYZ Kalibrieren: Drehen Sie den Knopf bis der obere Anschlag erreicht wird. Anschliessend den Knopf druecken." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Kalibrierung Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Z Kalibrieren: Drehen Sie den Knopf bis der obere Anschlag erreicht wird. Anschliessend den Knopf druecken." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Kalibrierung OK" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "Kalibrierung" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "SD Karte entfernt" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Ueberpruefe Datei" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Falsche Farbe" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Abkuehlen" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Gewaehlte Sprache kopieren?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "Crash Erk." # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Waehlen Sie ein Filament fuer Erste Schichtkalibrierung aus und waehlen Sie es im On-Screen-Menu aus." @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Crash erkannt." # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Crash erkannt. Druck fortfuehren?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Aktuelles" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Datum:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Von der Community" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Motoren aus" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "" # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Moechten Sie den letzten Schritt wiederholen, um den Abstand zwischen Duese und Druckbett neu einzustellen?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "E-Korrektur:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Filamentauswurf" # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "werfe Filament aus" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Ende nicht getroffen" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "Endanschlag" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "Endschalter" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Fehler - statischer Speicher wurde ueberschrieben" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Messer" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Schneide filament" # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "FEHLER: Filament- sensor reagiert nicht, bitte Verbindung pruefen." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "FEHLER:" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "Extruder Luefter:" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "Extruder Info" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "MMU-Fehler" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "F. autoladen" # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Fehlerstatistik" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Filament extrudiert mit richtiger Farbe?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Fil. nicht geladen" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Filamentsensor" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Filament benutzt" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Druckzeit" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "FS Aktion" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "Datei unvollstaendig Trotzdem fortfahren?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Erste-Schicht Kal." # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Zunaechst fuehre ich den Selbsttest durch, um die haeufigsten Probleme beim Zusammenbau zu ueberpruefen." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Beseitigen Sie das Problem und druecken Sie dann den Knopf am MMU." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Durchfluss" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Teile Luefter?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Vorne [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Teile/Extr. Luefter" # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Heizung/Thermistor" # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Heizung durch Sicherheitstimer deaktiviert." @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Filament-Wechsel" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Wechsel erfolgr.!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Wechsel ok?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Pruefe Bett" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Pruefe Endschalter" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Pruefe Duese" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Pruefe Y Achse" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Pruefe Z Achse" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Ich werde jetzt die XYZ-Kalibrierung durchfuehren. Es wird ca. 12 Minuten dauern." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Ich werde jetzt die Z Kalibrierung durchfuehren." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Infoanzeige" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Filament einlegen" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Hallo, ich bin Ihr Original Prusa i3 Drucker. Ich werde Sie durch einen kurzen Einrichtungsprozess fuehren, bei dem die Z-Achse kalibriert wird. Danach sind Sie bereit fuer den Druck." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Wenn Sie zusaetzliche Stahlbleche haben, kalibrieren Sie deren Voreinstellungen unter Einstellungen - HW Setup - Stahlbleche." @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Extruder Luefter?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Links" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Links [um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Lineare Korrektur" @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Z einstellen" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Stecken Sie das Filament (nicht laden) in den Extruder und druecken Sie dann den Knopf." @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Filament laden" # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Lade Farbe" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "Wiederholung" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Lose Riemenscheibe" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "In Nozzle laden" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "MeshBett Ausgleich" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. Position wiederherstellen..." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Temperatur wiederherstellen..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "Schraeglauf" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "MMU Fehler" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "MMU Ladefehler" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "MMU Ladefehler" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Weiterdrucken..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "Modus" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "MK3-Firmware am MK3S-Drucker erkannt" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Leise" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "MMU erfordert Benutzereingriff." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "MMU Netzfehler" @@ -816,7 +816,7 @@ msgid "High power" msgstr "Hohe leist" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU2 verbunden" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "Achse bewegen" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Bewege X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Bewege Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Bewege Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Keine Bewegung." # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "Keine SD Karte" @@ -866,12 +866,12 @@ msgid "No" msgstr "Nein" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "Nicht angeschlossen" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Neue Firmware- Version verfuegbar:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Dreht sich nicht" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Jetzt werde ich den Abstand zwischen Duesenspitze und Druckbett kalibrieren." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Jetzt werde ich die Duese fuer PLA vorheizen." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Duese" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Alte Einstellungen gefunden. Standard PID, E-Steps u.s.w. werden gesetzt." # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Testdruck jetzt von Stahlblech entfernen." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "Duesevent." @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Druck pausieren" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "PID Kal." # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "PID Kalib. fertig" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "PID Kalibrierung" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "PINDA erwaermen" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Legen Sie ein Blatt Papier unter die Duese waehrend der Kalibrierung der ersten 4 Punkte. Wenn die Duese das Papier erfasst, den Drucker sofort ausschalten." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Bitte reinigen Sie das Heizbett und druecken Sie dann den Knopf." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Bitte entfernen Sie ueberstehendes Filament von der Duese. Klicken wenn sauber." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Bitte pruefe:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Bitte lesen Sie unser Handbuch und beheben Sie das Problem. Fahren Sie dann mit dem Assistenten fort, indem Sie den Drucker neu starten." # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Bitte Spannrolle oeffnen und Fila- ment von Hand entfernen" @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Bitte ziehen Sie das Filament sofort heraus" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Bitte Filament entfernen und dann den Knopf druecken" @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Bitte entfernen Sie das Stahlblech vom Heizbett." # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Bitte zuerst XYZ Kalibrierung ausfuehren." # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Bitte aktualisieren Sie die Firmware in der MMU2. Warte auf Reset." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Bitte warten" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Bitte zuerst Transportsicherungen entfernen." @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Duese vorheizen!" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Vorheizen" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Vorheizen der Duese. Bitte warten." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Bitte aktualisieren." # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Bitte druecken Sie den Knopf um die Duese vorzuheizen und fortzufahren." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Druck abgebrochen" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Heizen zum Laden" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Heizen zum Entladen" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "Druckvent.:" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Drucken von SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "Knopf druecken zum" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Druck pausiert" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Druecken Sie den Knopf um die Duesentemperatur wiederherzustellen" @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "Drucker wurde noch nicht kalibriert. Bitte folgen Sie dem Handbuch, Kapitel Erste Schritte, Abschnitt Kalibrie- rungsablauf." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "Druckvent." # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Bitte legen Sie das Filament in den Extruder ein und druecken Sie dann den Knopf, um es zu laden." # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Bitte stecken Sie das Filament in den ersten Schlauch der MMU und druecken Sie dann den Knopf, um es zu laden." # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Bitte laden Sie zuerst das Filament." # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Hinten [um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "Bitte entladen Sie erst das Filament und versuchen Sie es nochmal." # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Bitte IR Sensor Verbindungen ueber- pruefen und Filament entladen ist." # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Druck wiederherst" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Entfernen Sie das alte Filament und druecken Sie den Knopf, um das neue zu laden." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "Reset XYZ Kalibr." @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Druck fortgesetzt" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Rechts [um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Der Assistent wird die aktuellen Kalibrierungsdaten loeschen und von vorne beginnen. Weiterfahren?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "SD Karte" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Rechts" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Suche Bett Kalibrierpunkt" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Waehle Sprache" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "Selbsttest OK" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Selbsttest start" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "Selbsttest" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Selbsttest Fehler!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Selbsttest Error" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Selbsttest im Gang, um die genaue Rueck- kehr zum Nullpunkt ohne Sensor zu kalibrieren" # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Bitte Vorheiztemperatur auswaehlen, die Ihrem Material entspricht." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Temp. einstellen:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Einstellungen" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Endschalter Status" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Einige Dateien wur- den nicht sortiert. Max. Dateien pro Verzeichnis = 100." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Zeit" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Sehr Schraeg" @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Sortiere Dateien" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "Laut" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "Leicht Schraeg" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Ton" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "Maengel" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Fehler aufgetreten, Z-Kalibrierung erforderlich..." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "Einmal" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Geschwindigkeit" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Dreht sich" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Stabile Umgebungs- temperatur 21-26C und feste Stand- flaeche erforderlich" # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Statistiken" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "GESTOPPT." # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Ausgetauscht" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Filament auswaehlen:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Temp Kalib." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Waehlen Sie die Temperatur, die zu Ihrem Material passt." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Temp. kalibrieren" # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Temperaturkalibrierung fehlgeschlagen" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "Temp.kalibrierung ist fertig + aktiv. Temp.kalibrierung kann ausgeschaltet werden im Menu Einstellungen -> Temp.kal." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Sensor ueberprueft, entladen Sie jetzt das Filament." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "Temperatur" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "Temperaturen" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "Es ist noch not- wendig die Z- Kalibrierung aus- zufuehren. Bitte befolgen Sie das Handbuch, Kapitel Erste Schritte, Abschnitt Kalibrierablauf." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Gesamtes Filament" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Gesamte Druckzeit" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Feineinstellung" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Gesamte Fehler" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "Filament laden" # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "um Filament entladen" @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "Gesamt" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Beim Druck benutzt" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Spannungen" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "unbekannt" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Warte auf Benutzer.." # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "Warten bis Heizung und Bett abgekuehlt sind" # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "Warten, bis PINDA- Sonde abgekuehlt ist" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Warnung: Druckertyp und Platinentyp wurden beide geaendert." # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Warnung: Platinentyp wurde geaendert." # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Warnung: Druckertyp wurde geaendert." # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Konnten Sie das Filament entnehmen?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Verdrahtungsfehler" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "Assistent" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "XYZ Kal. Details" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Sie koennen den Assistenten immer im Menu neu starten: Kalibrierung -> Assistent" # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "XYZ Kalibrierung in Ordnung. Schraeglauf wird automatisch korrigiert." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "XYZ Kalibrierung in Ordnung. X/Y Achsen sind etwas schraeg. Gut gemacht!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "Verzoegerung" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "X-Korrektur:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "XYZ-Kalibrierung ok. X/Y-Achsen sind senkrecht zueinander Glueckwunsch!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "XYZ-Kalibrierung beeintraechtigt. Vordere Kalibrierpunkte nicht erreichbar." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "XYZ-Kalibrierung beeintraechtigt. Rechter vorderer Kalibrierpunkt nicht erreichbar." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Alle laden" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "XYZ-Kalibrierung fehlgeschlagen. Bett-Kalibrierpunkt nicht gefunden." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "XYZ-Kalibrierung fehlgeschlagen. Vordere Kalibrierpunkte nicht erreichbar." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "XYZ-Kalibrierung fehlgeschlagen. Rechter vorderer Kalibrierpunkt ist nicht erreichbar." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Y Entfernung vom Min" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "Der Drucker beginnt mit dem Drucken einer Zickzacklinie. Drehen Sie den Knopf, bis Sie die optimale Hoehe erreicht haben. Ueberpruefen Sie die Bilder im Handbuch (Kapitel Kalibrierung)." # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "Ueberpruefung fehl- geschlagen, entladen Sie das Filament und versuchen Sie es erneut." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Y-Korrektur:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "Zurueck" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "Kontrolle" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Falschtriggerung" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "Gitter" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "MK3S-Firmware auf MK3-Drucker erkannt" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "MMU Mod." # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Moduswechsel erfolgt..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "Duese D." # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "G-Code ist fuer einen anderen Level geslict. Fortfahren?" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "G-Code ist fuer einen anderen Level geslict. Bitte slicen Sie das Modell erneut. Druck abgebrochen." @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "G-Code ist fuer einen anderen Drucker geslict. Bitte slicen Sie das Modell erneut. Druck abgebrochen." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-Code ist fuer eine neuere Firmware geslict. Fortfahren?" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "G-Code ist fuer eine neuere Firmware geslict. Bitte die Firmware updaten. Druck abgebrochen." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Heizen zum Schnitt" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Heizen zum Auswurf" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Der Durchmesser der Druckerduese weicht vom G-Code ab. Fortfahren?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "Der Durchmesser der Druckerduese weicht vom G-Code ab. Bitte ueberpruefen Sie den Wert in den Einstellungen. Druck abgebrochen." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "%s Level erwartet" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Umbenennen" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Auswahl" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "Sensor Info" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Stahlbleche" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Z-Korrektur:" diff --git a/lang/po/Firmware_es.po b/lang/po/Firmware_es.po index a28eb8612..9eca4ab90 100644 --- a/lang/po/Firmware_es.po +++ b/lang/po/Firmware_es.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:17 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:17 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:51:04 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:51:04 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 o mayor" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS 0.3 o mayor" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 o mas nueva" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS 0.4 o mas nueva" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "estado desconocido" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "[0;0] punto offset" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "ATENCION:\x0aDec. choque\x0adesactivada en\x0aModo silencio" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Ajustar-Z:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Todo bien" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Terminado! Feliz impresion!" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Ambiente" @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "y presione el dial" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "Carros Z izq./der. estan arriba maximo?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "Llevar al origen" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "Carga auto. filam." # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "La carga automatica solo funciona si el sensor de filamento esta activado..." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "La carga automatica esta activada, pulse el dial e inserte el filamento..." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Longitud del eje" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "Eje" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Base/Calentador" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Calentando Base" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Corr. de la cama" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Test cinturon" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Se fue la luz. Re- anudar la impresion?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Calibrar pos.inicial" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Calibrar XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Calibrar Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Calibrar" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Cancelar" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Calibrando XYZ. Gira el dial para subir el extrusor hasta tocar los topes superiores. Despues haz clic." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Calibrando Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Calibrando Z. Gira el dial para subir el extrusor hasta tocar los topes superiores. Despues haz clic." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Calibracion OK" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "Calibracion" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "Tarjeta retirada" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Verif. archivo" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Color no homogeneo" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Enfriar" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Copiar idioma seleccionado?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "Det. choque" # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Escoge un filamento para la Calibracion de la Primera Capa y seleccionalo en el menu en pantalla." @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Choque detectado." # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Choque detectado. Continuar impresion?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "Choque" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Actual" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Fecha:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Desde la comunidad" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Apagar motores" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "" # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Quieres repetir el ultimo paso para reajustar la distancia boquilla-base?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "Corregir-E:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Expulsar fil." # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "Expulsando filamento" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Endstop no alcanzado" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Error - se ha sobre-escrito la memoria estatica" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Cuchillo" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Corte de filament" # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "ERROR:Sensor de fi- lamento no responde Por favor, comprue- ba la conexion." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "Vent.extrusor:" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "Info. del extrusor" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "Extruir" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "Total Fallos MMU" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "Autocarg.fil." # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Estadistica Fallos" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Es nitido el color nuevo?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Fil. no introducido" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Sensor de filamento" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Filamento usado" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Tiempo de imp." @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "FS accion" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "Archivo incompleto. ?Continuar de todos modos?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Cal. primera cap." # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Primero, hare el Selftest para comprobar los problemas de montaje mas comunes." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Corrige el problema y pulsa el boton en la unidad MMU." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Flujo" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Vent. frontal?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Frontal [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Vents. front/izqui" # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Calentador/Termistor" # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Calentadores desactivados por el temporizador de seguridad." @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Cambiar filamento" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Cambio correcto!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Cambio correcto?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Control base cal." # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Control endstops" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Control fusor" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Control sensor Y" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Control sensor Z" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "Filamento" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Hare la calibracion XYZ. Tardara 12 min. aproximadamente." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Voy a hacer Calibracion Z ahora." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Monitorizar" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Introducir filamento" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Hola, soy tu impresora Original Prusa i3. Te guiare a traves de un breve proceso de configuracion, en el que se calibrara el eje Z. Despues, estaras listo para imprimir." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Si tienes planchas de acero adicionales, calibra sus ajustes en Ajustes - Ajustes HW - Planchas acero." @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Vent. izquierdo?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Izquierda" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Izquierda [um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Correc. Linealidad" @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Micropaso Eje Z" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Inserte el filamento (no lo cargue) en el extrusor y luego presione el dial." @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Introducir filam." # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Cambiando color" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "Iteracion" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Polea suelta" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "Cargar a boquilla" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "Nivela. Mesh Level" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. Restaurando posicion..." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Restaurando temperatura..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "No a escuadra" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "Fallos MMU" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "Carga MMU fallida" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "Carga MMU falla" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Resumiendo..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "Modo" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "Firmware MK3 detectado en impresora MK3S" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Acallar" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "MMU necesita atencion del usuario." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "Fallo red MMU" @@ -816,7 +816,7 @@ msgid "High power" msgstr "Rend.pleno" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU2 conectado" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "Mover ejes" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Mover X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Mover Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Mover Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Sin movimiento" # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "No hay tarjeta SD" @@ -866,12 +866,12 @@ msgid "No" msgstr "" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "No hay conexion" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Nuevo firmware disponible:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Ventilador no gira" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Voy a calibrar la distancia entre la punta de la boquilla y la superficie de la base." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Ahora precalentare la boquilla para PLA." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Boquilla" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Se han encontrado ajustes anteriores. Se ajustara el PID, los pasos del extrusor, etc" # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Ahora retira la prueba de la lamina de acero." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "Vent. capa" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Pausar impresion" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "Cal. PID" # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "Cal. PID terminada" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "Calibracion PID" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "Calentando PINDA" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Colocar una hoja de papel sobre la superficie de impresion durante la calibracion de los primeros 4 puntos. Si la boquilla mueve el papel, apagar impresora inmediatamente." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Limpia la superficie de la base, por favor, y luego presione el dial." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Limpia boquilla para calibracion. Click cuando acabes." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Controla:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Lee el manual y resuelve el problema. Despues, reinicia la impresora y continua con el Wizard" # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Por favor abate el rodillo de empuje (idler) y retira el filamento manualmente." @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Por favor retire el filamento de inmediato" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Por favor quite el filamento y luego presione el dial." @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Por favor retire la chapa de acero de la base calefactable." # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Por favor realiza la calibracion XYZ primero." # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Por favor actualice el firmware en tu MMU2. Esperando el reseteo." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Por Favor Espere" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Por favor retira los soportes de envio primero." @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Precalienta extrusor" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Precalentar" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Precalentando nozzle. Espera por favor." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Actualize por favor" # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Pulsa el dial para precalentar la boquilla y continue." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Impresion cancelada" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Precalent. cargar" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Precalent. descargar" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "Vent.fusor:" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Menu tarjeta SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "Pulsa el dial" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Impresion en pausa" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Presione el dial para continuar con la temperatura de la boquilla." @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "Impresora no esta calibrada todavia. Por favor usa el manual capitulo Primeros pasos Calibracion flujo." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "Vent. extr" # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Por favor, coloca el filamento en el extrusor, luego presiona el dial para cargarlo." # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Por favor, coloca el filamento en el primer tubo de la MMU, luego pulsa el dial para cargarlo." # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Por favor, cargar primero el filamento." # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Trasera [um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "Primero descargue el filamento, luego repita esta accion." # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Por favor comprueba la conexion del IR sensor y filamento esta descargado." # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Recuper. impresion" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Retire el filamento viejo y presione el dial para comenzar a cargar el nuevo filamento." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "" @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Continuan. impresion" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Derecha [um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "Puerto RPi" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Ejecutar el Wizard borrara los valores de calibracion actuales y comenzara de nuevo. Continuar?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "Tarj. SD" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Derecha" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Buscando punto de calibracion base" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Cambiar el idioma" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Iniciar Selftest" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Error Selftest!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Fallo Selftest" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Se realizara el auto-test para calibrar con precision la vuelta a la posicion inicial sin sensores." # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Selecciona la temperatura para precalentar la boquilla que se ajuste a tu material." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Establecer temp.:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Configuracion" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Mostrar endstops" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Algunos archivos no se ordenaran. Maximo 100 archivos por carpeta para ordenar." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Fecha" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Severo sesgar" @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "Alfabet" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Ordenando archivos" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "Alto" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "Ligera sesgar" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Sonido" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "Falla" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Problema encontrado, nivelacion Z forzosa ..." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "Una vez" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Velocidad" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Ventilador girando" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Se necesita una temperatura ambiente ente 21 y 26C y un soporte rigido." # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Estadisticas" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "PARADA" # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "Soporte" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Intercambiado" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Selecciona filam.:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Cal. temp." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Selecciona la temperatura adecuada a tu material." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Calibracion temp." # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Fallo de la calibracion de temperatura" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "Calibracion temperatura terminada. Haz clic para continuar." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Sensor verificado, retire el filamento ahora." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "Temperatura" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "Temperaturas" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "Todavia es necesario hacer una calibracion Z. Por favor siga el manual, capitulo Primeros pasos, seccion Calibracion del flujo." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Filamento total" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Tiempo total" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Ajustar" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Fallos totales" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "para cargar el fil." # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "para descargar fil." @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Usado en impresion" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Voltajes" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "desconocido" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Esperando ordenes..." # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "Esperando enfriamiento de la base y extrusor." # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "Esperando a que se enfrie la sonda PINDA" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Aviso: tanto el tipo de impresora como el tipo de la placa han cambiado." # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Cuidado: el tipo de placa ha cambiado." # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Cuidado: Ha cambiado el tipo de impresora." # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Se descargo con exito el filamento?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Error de conexion" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "Detalles cal. XYZ" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Siempre puedes acceder al asistente desde Calibracion -> Wizard" # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Calibracion XYZ correcta. La inclinacion se corregira automaticamente." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Calibracion XYZ correcta. Los ejes X / Y estan ligeramente inclinados. Buen trabajo!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "Expirar" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "Corregir-X:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Calibracion XYZ ok. Ejes X/Y perpendiculares. Enhorabuena!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Calibrazion XYZ comprometida. Puntos frontales no alcanzables." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Calibrazion XYZ comprometida. Punto frontal derecho no alcanzable." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Intr. todos fil." # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Calibracion XYZ fallada. Puntos de calibracion en la base no encontrados." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "Calibracion XYZ fallada. Puntos frontales no alcanzables." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "Calibracion XYZ fallad. Punto frontal derecho no alcanzable." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Dist. en Y desde min" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "La impresora comenzara a imprimir una linea en zig-zag. Gira el dial hasta que la linea alcance la altura optima. Mira las fotos del manual (Capitulo de calibracion)." # c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "La verificacion fallo, retire el filamento e intente nuevamente." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Corregir-Y:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "atras" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "Comprobaciones" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Falsa activacion" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "Malla" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "Firmware MK3S detectado en impresora MK3" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "Modo MMU" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Cambio de modo progresando ..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "D-boquilla" # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "Codigo G laminado para un nivel diferente. ?Continuar?" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "Codigo G laminado para un nivel diferente. Por favor relamina el modelo de nuevo. Impresion cancelada." @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "Codigo G laminado para una impresora diferente. Por favor relamina el modelo de nuevo. Impresion cancelada." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "Codigo G laminado para nuevo firmware. ?Continuar?" # c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "Codigo G laminado para nuevo firmware. Por favor actualiza el firmware. Impresion cancelada." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Precalent. laminar" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Precalent. expulsar" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Diametro nozzle impresora difiere de cod.G. ?Continuar?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "Diametro nozzle Impresora difiere de cod.G. Comprueba los valores en ajustes. Impresion cancelada." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "%s nivel esperado" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Renombrar" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Seleccionar" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "Info sensor" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Lamina de acero" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Corregir-Z:" diff --git a/lang/po/Firmware_fr.po b/lang/po/Firmware_fr.po index 253b1ef1f..f180be5a0 100644 --- a/lang/po/Firmware_fr.po +++ b/lang/po/Firmware_fr.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:21 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:21 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:51:08 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:51:08 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 ou +ancien" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS v0.3 ou +ancien" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 ou +recent" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS v0.4 ou +recent" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "Etat inconnu" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "Offset point [0;0]" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "ATTENTION:\x0aDetection de crash\x0adesactivee en\x0amode furtif" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Ajuster Z:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Tout est correct" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Tout est pret. Bonne impression!" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Ambiant" @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "et appuyez sur le bouton" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "Z~carriages gauche + droite tout en haut?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "Mise a 0 des axes" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "Autocharge du fil." # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "Chargement auto du filament uniquement si le capteur de filament est active." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "Chargement auto. du fil. active, appuyez sur le bouton et inserez le fil." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Longueur de l'axe" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "Axe" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Lit/Chauffage" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Chauffe du lit" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Reglage plateau" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Test de courroie" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Coupure detectee. Reprendre impres.?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Calib. mise a 0" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Calibrer XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Calibrer Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Calibrer" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Annuler" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Calibration de XYZ. Tournez le bouton pour faire monter l'extrudeur dans l'axe Z jusqu'aux butees. Cliquez une fois fait." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Calibration Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Calibration de Z. Tournez le bouton pour faire monter l'extrudeur dans l'axe Z jusqu'aux butees. Cliquez une fois fait." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Calibration terminee" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "Carte retiree" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Verific. fichier" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Couleur incorrecte" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Refroidissement" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Copier la langue choisie?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "Detect.crash" # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Choisissez un filament pour la Calibration de la Premiere Couche et selectionnez-le depuis le menu a l'ecran." @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Crash detecte." # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Crash detecte. Poursuivre l'impression?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Actuel" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Date:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Fait de community" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Desactiver moteurs" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "" # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Voulez-vous refaire l'etape pour reajuster la hauteur entre la buse et le plateau chauffant?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "Correct-E:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Remonter le fil." # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "Le fil. remonte" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Butee non atteinte" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "Butee" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "Butees" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Erreur - la memoire statique a ete ecrasee" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Coupeur" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Je coupe filament" # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "ERREUR: Le capteur de filament ne repond pas, verifiez le branchement." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "ERREUR:" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "Ventilo extrudeur:" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "Infos extrudeur" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "Extrudeur" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "Stat. d'echec MMU" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "F. autocharg." # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Stat. d'echec" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Filament extrude et avec bonne couleur?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Filament non charge" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Capteur de filament" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Filament utilise" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Temps d'impression" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "Fichier incomplet. Continuer qd meme?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Cal. 1ere couche" # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "D'abord, je vais lancer le Auto-test pour verifier les problemes d'assemblage les plus communs." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Corrigez le probleme et appuyez sur le bouton sur la MMU." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Flux" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Ventilo impr avant?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Avant [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Ventilos avt/gauche" # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Chauffage/Thermistor" # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Chauffage desactivee par le compteur de securite." @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Changer filament" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Changement reussi!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Change correctement?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Verif. plateau chauf" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Verification butees" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Verif. du hotend" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Verification axe Y" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Verification axe Z" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Je vais maintenant lancer la calibration XYZ. Cela prendra 12 min environ." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Je vais maintenant lancer la calibration Z." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Ecran d'info" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Inserez le filament" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Bonjour, je suis votre imprimante Original Prusa i3. Je vais vous accompagner au cours d'un bref processus de reglage, qui permettra de calibrer le Z-axis. Apres cela, tout sera pret pour imprimer." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Si vous avez d'autres feuilles d'acier, calibrez leurs pre-reglages dans Reglages - Config HW - Plaque en acier." @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Ventilo gauche?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Gauche" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Gauche [um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Correction lin." @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Ajuster Z en dir." # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Veuillez inserer le filament ( ne le chargez pas) dans l'extrudeur, puis appuyez sur le bouton." @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Charger filament" # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Charg. de la couleur" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Poulie lache" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "Charger la buse" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. Reprise de la position ..." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Rechauffage de la buse..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "Var. mesuree" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "Echecs MMU" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "Def. charg. MMU" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "Def. charg. MMU" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Reprise ..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "Firmware MK3 detecte sur imprimante MK3S" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Furtif" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "Le MMU necessite l'attention de l'utilisateur." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "Def. alim. MMU" @@ -816,7 +816,7 @@ msgid "High power" msgstr "Haut.puiss" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU2 connecte" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "Moteur" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "Deplacer l'axe" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Deplacer X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Deplacer Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Deplacer Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Pas de mouvement." # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "Pas de carte SD" @@ -866,12 +866,12 @@ msgid "No" msgstr "Non" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "Non connecte" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Nouvelle version de firmware disponible:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Ne tourne pas" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Maintenant je vais calibrer la distance entre la pointe de la buse et la surface du plateau chauffant." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Maintenant je vais prechauffer la buse pour du PLA." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Buse" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Anciens reglages trouves. Le PID, les Esteps etc. par defaut seront regles" # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Retirez maintenant l'impression de test de la plaque en acier." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "Vent. buse" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Pause de l'impr." # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "Calib. PID" # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "Calib. PID terminee" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "Calibration PID" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "Chauffe de la PINDA" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Placez une feuille de papier sous la buse pendant la calibration des 4 premiers points. Si la buse accroche le papier, eteignez vite l'imprimante." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Nettoyez plateau chauffant en acier et appuyez sur le bouton." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Nettoyez la buse pour la calibration. Cliquez une fois fait." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Verifiez:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Merci de consulter notre manuel et de corriger le probleme. Poursuivez alors l'assistant en redemarrant l'imprimante." # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Ouvrez l'idler et retirez le filament manuellement." @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Retirez immediatement le filament" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Veuillez retirer le filament puis appuyez sur le bouton." @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Retirez la plaque en acier du plateau chauffant." # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Veuillez d'abord lancer la calibration XYZ." # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Veuillez mettre a jour le firmware de votre MMU2. En attente d'un reset." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Merci de patienter" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Retirez d'abord les protections de transport." @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Prechauffez la buse!" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Prechauffage" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Prechauffage de la buse. Merci de patienter." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Mettez a jour le FW." # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Appuyez sur le bouton pour prechauffer la buse et continuer." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Impression annulee" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Chauffe pour charger" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Chauf.pour decharger" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "Vent. impr:" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Impr. depuis la SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "App. sur sur bouton" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Impression en pause" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Appuyez sur le bouton pour rechauffer la buse." @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "L'imprimante n'a pas encore ete calibree. Suivez le manuel, chapitre Premiers pas, section Processus de calibration." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "Vent. impr" # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Veuillez inserer le filament dans l'extrudeur, puis appuyez sur le bouton pour le charger." # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Veuillez inserer le filament dans le premier tube du MMU, puis appuyez sur le bouton pour le charger." # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Veuillez d'abord charger un filament." # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Arriere [um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "SVP, dechargez le filament et reessayez." # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "SVP, verifiez la connexion du capteur IR et decharge le filament." # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Recup. impression" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Retirez l'ancien filament puis appuyez sur le bouton pour charger le nouveau." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "Reinit. calib. XYZ" @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Reprise de l'impr." # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Droite [um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "Port RPi" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Lancement de l'Assistant supprimera les resultats actuels de calibration et commencera du debut. Continuer?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "Carte SD" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Droite" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Recherche point calibration du plateau" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Choisir langue" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "Auto-test OK" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Debut auto-test" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "Auto-test" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Erreur auto-test!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Echec de l'auto-test" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Le Selftest sera lance pour calibrer la remise a zero precise sans capteur" # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Selectionnez la temperature de prechauffage de la buse qui correspond a votre materiau." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Regler temp.:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Reglages" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Afficher butees" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Certains fichiers ne seront pas tries. Max 100 fichiers tries par dossier." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Heure" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Deviat.sev." @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Tri des fichiers" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "Fort" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "Deviat.leg." @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Son" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "Fins" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Probleme rencontre, cliquez sur le bouton pour niveller l'axe Z..." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "1 fois" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Vitesse" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Tourne" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Une temperature ambiante stable de 21-26C et un support stable sont requis." # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Statistiques" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "ARRETE." # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Echange" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Choix du filament:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Calib. Temp." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Selectionnez la temperature qui correspond a votre materiau." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Calibration temp." # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Echec de la calibration en temperature" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "La calibration en temperature est terminee et activee. La calibration en temperature peut etre desactivee dans le menu Reglages-> Cal. Temp." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Capteur verifie, retirez le filament maintenant." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "Il faut toujours effectuer la Calibration Z. Veuillez suivre le manuel, chapitre Premiers pas, section Processus de calibration." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Filament total" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Temps total impr." # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Regler" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Total des echecs" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "pour charger le fil." # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "pour decharger fil." @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "Totale" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Utilise pdt impr." # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Tensions" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "inconnu" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Attente utilisateur." # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "Attente du refroidissement des buse et plateau chauffant" # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "Attente du refroidissement de la sonde PINDA" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Attention: Types d'imprimante et de carte mere modifies" # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Attention: Type de carte mere modifie." # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Attention: Type d'imprimante modifie" # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Dechargement du filament reussi?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Erreur de cablage" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "Assistant" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "Details calib. XYZ" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Vous pouvez toujours relancer l'Assistant dans Calibration > Assistant." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Calibration XYZ OK. L'ecart sera corrige automatiquement." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Calibration XYZ OK. Les axes X/Y sont legerement non perpendiculaires. Bon boulot!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "Correct-X:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Calibration XYZ OK. Les axes X/Y sont perpendiculaires. Felicitations!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Calibration XYZ compromise. Les points de calibration en avant ne sont pas atteignables." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Calibration XYZ compromise. Le point de calibration avant droit n'est pas atteignable." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Charger un par un" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Echec calibration XYZ. Le point de calibration du plateau n'a pas ete trouve." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "Echec calibration XYZ. Les points de calibration en avant ne sont pas atteignables." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "Echec calibration XYZ. Le point de calibration avant droit n'est pas atteignable." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Distance Y du min" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "L'imprimante commencera a imprimer une ligne en zig-zag. Tournez le bouton jusqu'a atteindre la hauteur optimale. Consultez les photos dans le manuel (chapitre Calibration)." # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "Verification en echec, retirez le filament et reessayez." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Correct-Y:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "Retour" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "Verifications" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Faux declenchement" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "Firmware MK3S detecte sur imprimante MK3" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "Mode MMU" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Changement de mode en cours..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "Diam. buse" # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "Le G-code a ete prepare pour un niveau different. Continuer?" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "Le G-code a ete prepare pour un niveau different. Veuillez decouper le modele a nouveau. L'impression a ete annulee." @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "Le G-code a ete prepare pour une autre version de l'imprimante. Veuillez decouper le modele a nouveau. L'impression a ete annulee." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "Le G-code a ete prepare pour une version plus recente du firmware. Continuer?" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "Le G-code a ete prepare pour une version plus recente du firmware. Veuillez mettre a jour le firmware. L'impression annulee." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Chauffe pour couper" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Chauf. pour remonter" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Diametre de la buse dans les reglages ne correspond pas a celui dans le G-Code. Continuer?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "Diametre de la buse dans les reglages ne correspond pas a celui dans le G-Code. Merci de verifier le parametre dans les reglages. Impression annulee." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "niveau %s attendu" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Renommer" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Selectionner" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "Info capteur" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Plaques en acier" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Correct-Z:" diff --git a/lang/po/Firmware_it.po b/lang/po/Firmware_it.po index eff0362b9..9318873f7 100644 --- a/lang/po/Firmware_it.po +++ b/lang/po/Firmware_it.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:24 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:24 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:51:11 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:51:11 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 o inferiore" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS 0.3 o inferiore" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 o superiore" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS 0.4 o superiore" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "stato sconosciuto" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "[0;0] punto offset" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "ATTENZIONE:\x0aRilev. impatto\x0adisattivato in\x0aModalita silenziosa" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Compensaz. Z:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Nessun errore" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Tutto fatto. Buona stampa!" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Ambiente" @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "e cliccare manopola" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "I carrelli Z sin/des sono altezza max?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "Trova origine" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "Autocaric. filam." # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "Caricamento automatico filamento disponibile solo con il sensore attivo..." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "Caricamento automatico attivo, premi la manopola e inserisci il filam." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Lunghezza dell'asse" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "Assi" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Piano/Riscald." @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Riscald. piano" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Correz. liv.piano" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Test cinghie" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Blackout rilevato. Recuperare stampa?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Calibrazione Home" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Calibra XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Calibra Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Calibra" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Annulla" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Calibrazione XYZ. Ruotare la manopola per alzare il carrello Z fino all'altezza massima. Click per terminare." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Calibrando Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Calibrazione Z. Ruotare la manopola per alzare il carrello Z fino all'altezza massima. Click per terminare." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Calibr. completa" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "Calibrazione" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "SD rimossa" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Verifica file" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Colore non puro" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Raffredda" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Copiare la lingua selezionata?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "Rileva.crash" # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Scegli un filamento per la calibrazione del primo strato e selezionalo nel menu sullo schermo." @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Rilevato impatto." # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Scontro rilevato. Riprendere la stampa?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "Impatto" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Attuale" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Data:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Contribuiti" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Disabilita motori" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "" # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Desideri ripetere l'ultimo passaggio per migliorare la distanza fra ugello e piatto?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "Correzione-E:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Espelli fil." # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "Espellendo filamento" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Finec. fuori portata" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "Finecorsa" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "Finecorsa" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Errore - la memoria statica e' stata sovrascritta" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Tagliatr." # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Tagliando filam." # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "ERRORE: il sensore filam. non risponde,Controllare conness." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "ERRORE:" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "Ventola estrusore:" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "Info estrusore" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "Estrusore" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "Stat.fall. MMU" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "Autocar.fil." # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Stat. fallimenti" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Filamento estruso e con colore corretto?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Fil. non caricato" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Sensore filam." # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Fil. utilizzato" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Tempo di stampa" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "Azione FS" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "File incompleto. Continuare comunque?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Cal. primo strato" # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Per primo avviero l'autotest per controllare gli errori di assemblaggio piu comuni." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Risolvere il problema e premere il bottone sull'unita MMU." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Flusso" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Ventola frontale?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Fronte [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Ventola frontale/sin" # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Riscald./Termist." # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Riscaldamento fermato dal timer di sicurezza." @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Cambia filamento" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Cambio riuscito!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Cambio corretto?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Verifica piano" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Verifica finecorsa" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Verifica ugello" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Verifica asse Y" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Verifica asse Z" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "Filamento" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Adesso avviero una Calibrazione XYZ. Puo durare circa 12 min." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Adesso avviero la Calibrazione Z." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Schermata info" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Inserire filamento" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Ciao, sono la tua stampante Original Prusa i3. Ti guidero attraverso un rapido processo in cui verra calibrato l'asse Z. Poi, sarai pronto a stampare." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Se hai piastre d'acciaio aggiuntive, calibra i preset in Impostazioni - Setup HW - Piastre in Acciaio." @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Vent SX hotend?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Sinistra" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Sinistra [um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Correzione lineare" @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Compensazione Z" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Inserire filamento (senza caricarlo) nell'estrusore e premere la manopola." @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Carica filamento" # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Caricando colore" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "Iterazione" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Puleggia lenta" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "Carica ugello" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "Liv. griglia piano" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. riprendendo la posizione..." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Ripristino temperatura..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "Dev. misurata" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "Fallimenti MMU" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "Caricam. MMU fallito" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "Car MMU falliti" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Riprendendo..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "Mod." # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "Firmware MK3 rilevato su stampante MK3S" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Silenz." # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "Il MMU richiede attenzione dall'utente." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "Manc. corr. MMU" @@ -816,7 +816,7 @@ msgid "High power" msgstr "Forte" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU2 connessa" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "Motore" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "Muovi asse" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Sposta X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Sposta Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Sposta Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Nessun movimento." # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "Nessuna SD" @@ -866,12 +866,12 @@ msgid "No" msgstr "" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "Non connesso" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Nuova vers. firmware disponibile:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Non gira" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Adesso calibro la distanza fra ugello e superfice del piatto." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Adesso preriscaldero l'ugello per PLA." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Ugello" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Sono state trovate impostazioni vecchie. Verranno impostati i valori predefiniti di PID, Esteps etc." # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Ora rimuovete la stampa di prova dalla piastra in acciaio." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "Vent. estr" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Metti in pausa" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "Calibrazione PID" # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "Calib. PID completa" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "Calibrazione PID" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "Riscaldamento PINDA" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Posizionare un foglio sotto l'ugello durante la calibrazione dei primi 4 punti. In caso l'ugello muova il foglio spegnere subito la stampante." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Per favore pulisci il piatto, poi premi la manopola." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Pulire l'ugello per la calibrazione, poi fare click." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Verifica:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Per favore consulta il nostro manuale per risolvere il problema. Poi riprendi il Wizard dopo aver riavviato la stampante." # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Aprire la guida filam. e rimuovere il filam. a mano" @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Estrarre il filamento immediatamente" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Rimuovi il filamento e quindi premi la manopola." @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Rimuovete la piastra di acciaio dal piano riscaldato" # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Esegui la calibrazione XYZ prima." # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Aggiorna il firmware sul tuo MMU2. In attesa di reset." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Attendere" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Per favore rimuovete i materiali da spedizione" @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Prerisc. ugello!" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Preriscalda" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Preriscaldando l'ugello. Attendere prego." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Prego aggiornare." # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Premete la manopola per preriscaldare l'ugello e continuare." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Stampa interrotta" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Preriscald. carico" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Preriscald. scarico" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "Vent.stam:" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Stampa da SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "Premere la manopola" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Stampa in pausa" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Premete la manopola per recuperare la temperatura dell'ugello." @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "Stampante non ancora calibrata. Si prega di seguire il manuale, capitolo Primi Passi, sezione Sequenza di Calibrazione." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "Vent.stamp" # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Inserisci il filamento nell'estrusore, poi premi la manopola per caricarlo." # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Per favore inserisci il filamento nel primo tubo del MMU, poi premi la manopola per caricarlo." # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Per favore prima carica il filamento." # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Retro [um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "Scaricare prima il filamento, poi ripetere l'operazione." # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Controllare il collegamento al sensore e rimuovere il filamento." # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Recupero stampa" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Rimuovi il filamento precedente e premi la manopola per caricare il nuovo filamento." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "Reset calibr. XYZ." @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Riprendi stampa" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Destra [um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "Porta RPi" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Se avvi il Wizard perderai la calibrazione preesistente e dovrai ricominciare dall'inizio. Continuare?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "Mem. SD" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Destra" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Ricerca punti calibrazione piano" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Seleziona lingua" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "Autotest OK" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Avvia autotest" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "Autotest" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Errore Autotest!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Autotest fallito" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Verra effettuato un self test per calibrare l'homing senza sensori" # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Selezionate la temperatura per il preriscaldamento dell'ugello adatta al vostro materiale." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Imposta temperatura:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Impostazioni" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Stato finecorsa" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Alcuni file non saranno ordinati. Il numero massimo di file in una cartella e 100 perche siano ordinati." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Cron." # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Devia.grave" @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "Alfabeti" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Ordinando i file" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "Forte" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "Devia.lieve" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Suono" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "Esaurim" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Sono stati rilevati problemi, avviato livellamento Z ..." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "Singolo" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Velocita" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Gira" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Sono necessari una temperatura ambiente di 21-26C e una superficie rigida." # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Statistiche" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "ARRESTATO." # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "Supporto" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Scambiato" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Seleziona il filam.:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Calib. temp." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Seleziona la temperatura appropriata per il tuo materiale." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Calib. Temp." # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Calibrazione temperatura fallita" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "Calibrazione temperatura completata e attiva. Puo essere disattivata dal menu Impostazioni ->Cal. Temp." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Sensore verificato, rimuovere il filamento." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "Temperatura" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "Temperature" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "E ancora necessario effettuare la calibrazione Z. Segui il manuale, capitolo Primi Passi, sezione Sequenza di Calibrazione." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Filamento totale" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Tempo stampa totale" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Regola" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Totale fallimenti" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "per caricare il fil." # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "per scaricare fil." @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "Totale" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Usati nella stampa" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Voltaggi" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "sconosciuto" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Attendendo utente..." # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "In attesa del raffreddamento dell'ugello e del piano" # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "In attesa del raffreddamento della sonda PINDA" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Attenzione: tipo di stampante e di scheda madre cambiati." # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Avviso: tipo di scheda madre cambiato" # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Avviso: tipo di stampante cambiato." # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Filamento scaricato con successo?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Errore cablaggio" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "XYZ Cal. dettagli" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "E possibile riprendere il Wizard in qualsiasi momento attraverso Calibrazione -> Wizard." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Calibrazione XYZ corretta. La distorsione verra compensata automaticamente." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Calibrazion XYZ corretta. Assi X/Y leggermente storti. Ben fatto!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "Correzione-X:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Calibrazione XYZ OK. Gli assi X/Y sono perpendicolari. Complimenti!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Calibrazione XYZ compromessa. Punti anteriori non raggiungibili." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Calibrazione XYZ compromessa. Punto anteriore destro non raggiungibile." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Caricare tutti" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Calibrazione XYZ fallita. Il punto di calibrazione sul piano non e' stato trovato." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "Calibrazione XYZ fallita. Punti anteriori non raggiungibili." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "Calibrazione XYZ fallita. Punto anteriore destro non raggiungibile." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Distanza Y dal min" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "La stampante iniziera a stampare una linea a zig-zag. Gira la manopola fino a che non hai raggiungo l'altezza ottimale. Verifica con le immagini nel manuale (capitolo sulla calibrazione)." # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "Verifica fallita, rimuovere il filamento e riprovare." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Correzione-Y:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "Indietro" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "Controlli" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Falso innesco" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "Griglia" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "Firmware MK3S rilevato su stampante MK3" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "Mod. MMU" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Cambio modalita in corso..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "Dia.Ugello" # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "G-code processato per un livello diverso. Continuare?" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "G-code processato per un livello diverso. Per favore esegui nuovamente lo slice del modello. Stampa annullata." @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "G-code processato per una stampante diversa. Per favore esegui nuovamente lo slice del modello. Stampa annullata." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-code processato per un firmware piu recente. Continuare?" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "G-code processato per un firmware piu recente. Per favore aggiorna il firmware. Stampa annullata." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Preriscalda. taglio" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Preriscalda. espuls." # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Diametro ugello diverso da G-Code. Continuare?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "Diametro ugello diverso dal G-Code. Controlla il valore nelle impostazioni. Stampa annullata." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "atteso livello %s" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Rinomina" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Seleziona" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "Info Sensore" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Piani d'acciaio" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Correzione-Z:" diff --git a/lang/po/Firmware_nl.po b/lang/po/Firmware_nl.po index cd45cd4bc..169019be9 100644 --- a/lang/po/Firmware_nl.po +++ b/lang/po/Firmware_nl.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: nl\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:31 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:31 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:51:18 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:51:18 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 of ouder" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS 0.3 of ouder" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 of nieuwer" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS 0.4 of nieuwer" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "Status onbekend" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "[0;0] punt offset" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "WARNING:\x0aCrashdetectie\x0auitgeschakeld in\x0aStealth stand" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Z is ingesteld:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Allemaal goed" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Klaar. Happy printing!" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Kamertemp." @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "en druk op knop" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "Zijn beide Z wagen heelemaal boven?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "Startpositie" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "Autoladen filament" # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "Auto. laden van fil. is enkel beschikbaar wanneer fil.sensor is ingeschakeld..." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "Automatisch laden van flament is actief, druk de knop en laad filament..." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Aslengte" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "As" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Bed/Verwarming" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Bed opwarmen" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Bed niveau correct" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Riemtest" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Stroomstoring. Print herstellen?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Kalibreren start" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Kalibratie XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Kalibratie Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Kalibreren" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Annuleren" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Kalibreren van XYZ. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Druk knop als klaar." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Kalibrere Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Kalibreren van Z. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Druk knop als klaar." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Kalibratie klaar" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "Kalibratie" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "SD verwijderd" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Bestand controle" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Kleur niet juist" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Afkoelen" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Geselecteerde taal kopieren?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "Crashdet." # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Kies een filament voor de kalibratie van de eerste laag en selecteer deze in het schermmenu." @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Crash gedetecteerd." # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Crash gedetecteerd. Print voorzetten?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Actueel" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Datum:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Van de community" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Motoren uit" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "Door." # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Wilt u de laatste stap herhalen om de afstand tussen de tuit en de bed opnieuw in te stellen?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "E-correctie:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Fil. uitwerpen" # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "Fil. word ontladen" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Endstop niet geraakt" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "Eindstop" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "Eindstops" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Fout - het statische geheugen is overschreven" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Mes" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Knippe filament" # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "FOUT: Filamentsensor reageert niet, controleer de verbinding." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "FOUT:" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "MMU-Fouten" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "F. autoladen" # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Foutstatistieken" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Filament extrudeert met de juiste kleur?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Fil. niet geladen" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Filamentsensor" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Gebruikte filament" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Print tijd" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "FS actie" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "Bestand onvolledig. Toch doorgaan?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Eerste laag kal." # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Ten eerste zullen we de zelftest uitvoeren om de meest voorkomende montageproblemen te controleren." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Los het probleem op en druk vervolgens op de knop op de MMU-eenheid." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Stromen" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Voorzijde fan?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Voorkant [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Fans voor/links" # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Verwarmer/Therm." # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Verwarming uitgeschakeld door veiligheidstimer." @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Wissel filament" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Wissel geslaagd!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Wissel ok?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Controleer bed" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Controleer endstops" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Controleer hotend" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Controleer Y as" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Controleer Z as" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Begin nu met xyz-kalibratie. Het duurt ongeveer 12 min." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Begin nu met z-kalibratie." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Info scherm" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Voer filament in" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Hallo, ik ben je originele Prusa i3-printer. Ik zal je door een snel instellingsproces leiden dat de Z-as zal kalibreren. Dan ben je klaar om te printen." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Als u extra staalplaten hebt, kalibreert u hun voorinstellingen in Instellingen - HW Setup - Staalplaten." @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Linker hotend fan?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Links" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Linkerkant[um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Lineaire correctie" @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Live Z aanpassen" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Steek a.u.b. filament (maar niet laden) in de extruder en druk op knop." @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Filament laden" # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Laden kleur" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "Iteratie" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Losse riemschijf" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "Tot tuit laden" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "Mesh bed Leveling" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. Positie hervatten..." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Temperatuur hervatten..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "Scheefheid" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "MMU fout" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "MMU laden mislukt" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "MMU laadfout" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Hervatten..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "Stand" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "MK3-firmware bij MK3S-printer gedetecteerd" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Stil" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "MMU heeft gebruikersaandacht nodig." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "MMU stroomstor." @@ -816,7 +816,7 @@ msgid "High power" msgstr "Hoog verm." # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU2 verbonden" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "As verplaatsen" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Verplaats X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Verplaats Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Verplaats Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Geen beweging." # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "Geen SD kaart" @@ -866,12 +866,12 @@ msgid "No" msgstr "Nee" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "Niet verbonden" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Nieuwe firmware versie beschikbaar:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Beweegt niet" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Begin met kalibratie tussen de tuit en het bed." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Opwarmen van de tuit voor PLA voor." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Tuit" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Oude instellingen gevonden. Standaard PID, E-steps etc. instellingen worden geladen." # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Verwijder nu de testprint van staalplaat." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "Tuit fan" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Print pauzeren" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "PID kal." # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "PID kalibratie klaar" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "PID kalibratie" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "PINDA opwarmen" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Leg een vel papier onder de tuit tijdens de kalibratie van de eerste 4 punten. Als de tuit het papier beweegt, de printer onmiddellijk uitschakelen." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Maak het bed schoon en druk op de knop." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Reinig de tuit voor de kalibratie. Druk op de knop wanneer gereed." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Controleer aub:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Controleer aub ons handboek en los het probleem op. Hervat vervolgens de wizard door de printer opnieuw te starten." # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Open rondsel en verwijder filament handmatig." @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Trek onmiddellijk de filament eruit" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Trek onmiddellijk filament eruit en druk vervolgens op de knop." @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Verwijder staalplaat van het bed." # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Voer eerst de XYZ-kalibratie uit." # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Aub de firmware te vernieuwen in uw MMU2. Wacht op reset." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Even geduld aub" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Verwijder eerst de transport beschermers." @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Tuit voorverwarmen!" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Voorverwarmen" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Opwarmen van de tuit. Wacht aub." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Voer een upgrade uit" # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Druk op de knop om de tuit voor te verwarmen en door te gaan." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Print afgebroken" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Opwarmen invoeren" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Opwarmen uitwerpen" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Print van SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "Druk op knop" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Print pauzeren" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Druk op de knop om de temperatuur van de tuit te hervatten." @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "Printer is nog niet gekalibreerd. Volg de handleiding, hoofdstuk First steps, sectie Calibration flow." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "" # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Steek a.u.b. filament in de extruder en druk op de knop om het te laden." # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Steek a.u.b. filament in de eerste buis van de MMU en druk op de knop om het te laden." # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Laad a.u.b. eerst filament." # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Achterkant[um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "Verwijder eerst het filament en probeer het opnieuw." # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "AUB IR sensor ver- binding kontrolleren , verwijder filament indien aanwezig." # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Print herstellen" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Verwijder de oude filament en druk op de knop om nieuwe filament te laden." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "Reset XYZ kalibr." @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Hervatten print" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Recht.kant[um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Starten van de Wizard verwijdert de huidige kalibreringsresultaten en begint vanaf het begin. Doorgaan?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "SD kaart" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Rechts" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Zoeken bed kalibratiepunt" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Kies taal" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "Zelftest OK" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Zelftest start" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "Zelftest" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Zelftest fout!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Zelftest mislukt" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Zelftest zal worden uitgevoerd om nauwkeurige sensorloze auto positie te kalibreren." # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Selecteer de voorverwarmingstemperatuur van de tuit die overeenkomt met uw materiaal." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Temp. instellen:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Instellingen" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Toon endstops" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Sommige bestanden worden niet gesorteerd omdat het maximum aantal bestanden per map 100 is." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Tijd" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Erg scheef" @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "Alfabet" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Bestanden sorteren" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "Hard" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "Beetje scheef" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Geluid" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "Fouten" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Er is een probleem opgetreden, Z-kalibratie afgedwongen ..." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "Eenmaal" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Snelheid" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Draait" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "En stabiele 21-26C omgevingstemperatuur is nodig,een stevige stand is vereist." # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Statistieken" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "GESTOPT." # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Gewisseld" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Kies filament:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Tempkalib." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Selecteer de temperatuur die overeenkomt met uw materiaal." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Tempkalibratie" # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Temperatuurkalibratie mislukt" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "Temperatuurkalibratie kan uitgeschakeld worden in het menu Instellingen-> Tempkalibratie." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Sensor geverifieerd, verwijder nu het filament." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "Temperatuur" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "Temperaturen" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "Er is nog steeds een noodzaak om de Z-kalibratie uit te voeren. Volg de handleiding, hoofdstuk First steps, section Calibration flow." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Totaal fil." # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Totaal printtijd" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Fijnafstemming" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Totaal fouten" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "om filament te laden" # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "om fil. uitwerpen" @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "Totaal" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Gebruikt bij print" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Spanning" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "onbekend" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Wacht op gebruiker.." # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "Wachten op afkoelen van tuit en bed" # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "Wachten op afkoelen van PINDA" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Waarschuwing: zowel het printertype als het moederbordtype is gewijzigd." # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Waarschuwing: type moederbord gewijzigd." # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Waarschuwing: printertype gewijzigd." # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Is filament succes- vol verwijderd?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Aansluitingsfout" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "Wizard" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "XYZ kal. details" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "U kunt de wizard altijd hervatten via Kalibratie -> Wizard." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "XYZ-kalibratie in orde. Scheefheid zal automatisch worden gecorrigeerd." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "XYZ-kalibratie in orde. X / Y-assen zijn licht scheef. Goed gedaan!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "Time-out" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "X-correctie:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "XYZ-kalibratie ok. X / Y-assen staan loodrecht. Gefeliciteerd!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "XYZ-kalibratie niet gelukt. Voorste kalibratiepunten niet bereikbaar." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "XYZ-kalibratie niet gelukt. Rechter voor kalibratiepunt niet bereikbaar." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Laad alle" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "XYZ-kalibratie mislukt. Bed ijkpunt niet gevonden." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "XYZ-kalibratie mislukt. Voorste kalibratiepunten niet bereikbaar." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "XYZ-kalibratie mislukt. Rechter voor kalibratiepunt niet bereikbaar." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Y afstand van min" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "De printer begint een zigzaglijn printen. Draai aan de knop totdat je de optimale hoogte hebt bereikt. Bekijk de afbeeldingen in de handleiding (Calibration chapter)." # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "Verificatie mislukt, verwijder het filament en probeer het opnieuw." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Y-correctie:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "terug" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Valse triggering" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "MK3S-firmware op MK3-printer ontdekt" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "MMU Mod" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Moduswijziging bezig..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "Tuit d." # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "G-Code is voor een ander niveau geslict. Doorgaan?" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "G-Code is voor een ander niveau geslict. Slice het model opniew alsjeblieft. Druk geannuleerd." @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "G-Code is voor een ander printertype geslict. Slice het model opniew alsjeblieft. Druk geannuleerd." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-Code is voor een nieuwere firmware geslict. Doorgaan?" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "G-Code is voor een nieuwere firmware geslict. Update de firmware alsjeblieft. Druk geannuleerd." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Opwarm. te snijden" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Opwarm.te uitwerpen" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "De diameter van de tuit van de printer verschilt van de G-code. Doorgaan?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "De diameter van de tuit van de printer verschilt van de G-code. Controleer de waarde in de instellingen. Afdrukken geannuleerd." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "%s niveau verwacht" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Hernoem" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Selecteer" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Staalplaten" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Z-correctie:" diff --git a/lang/po/Firmware_pl.po b/lang/po/Firmware_pl.po index 494c1d141..7345ac941 100644 --- a/lang/po/Firmware_pl.po +++ b/lang/po/Firmware_pl.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:27 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:27 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:51:14 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:51:14 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 lub starszy" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS 0.3 lub starszy" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 lub nowszy" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS 0.4 lub nowszy" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "Stan nieznany" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "[0;0] przesun.punktu" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "UWAGA:\x0aWykrywanie zderzen\x0awylaczone w\x0atrybie Stealth" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Ustawianie Z:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Wszystko OK" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Gotowe. Udanego drukowania!" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Otoczenie" @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "i nacisnij pokretlo" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "Obydwa konce osi sa na szczycie?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "Auto zerowanie" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "Autoladowanie fil." # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "Autoladowanie fil. dostepne tylko gdy czujnik filamentu jest wlaczony..." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "Autoladowanie filamentu wlaczone, nacisnij pokretlo i wsun filament..." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Dlugosc osi" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "Os" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Stol/Grzanie" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Grzanie stolu.." # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Korekta stolu" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Test paskow" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Wykryto zanik napiecia.Kontynowac?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Zerowanie osi" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Kalibracja XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Kalibruj Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Kalibruj" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Anuluj" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Kalibracja XYZ. Przekrec pokretlo, aby przesunac os Z do gornych ogranicznikow. Nacisnij, by potwierdzic." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Kalibruje Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Kalibracja XYZ. Przekrec pokretlo, aby przesunac os Z do gornych ogranicznikow. Nacisnij, by potwierdzic." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Kalibracja OK" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "Kalibracja" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "Karta wyjeta" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Sprawdzanie pliku" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Kolor zanieczysz." @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Chlodzenie" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Skopiowac wybrany jezyk?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "Wykr.zderzen" # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Wybierz filament do Kalibracji Pierwszej Warstwy i potwierdz w menu ekranowym." @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Zderzenie wykryte" # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Wykryto zderzenie. Wznowic druk?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "Zderzen" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Aktualne" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Data:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Od spolecznosci" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Wylacz silniki" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "Kont." # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Chcesz powtorzyc ostatni krok i ponownie ustawic odleglosc miedzy dysza a stolikiem?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "Korekcja-E:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Wysun filament" # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "Wysuwanie filamentu" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Krancowka nie aktyw." # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "Krancowka" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "Krancowki" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Blad - pamiec statyczna zostala nadpisana" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Nozyk" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Obcinanie fil." # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "BLAD: Czujnik filamentu nie odpowiada, sprawdz polaczenie." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "BLAD:" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "WentHotend:" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "Ekstruder - info" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "Ekstruder" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "Bledy MMU" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "Autolad. fil." # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Statystyki bledow" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Filament wychodzi z dyszy,kolor jest ok?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Fil. nie zaladowany" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Czujnik filamentu" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Uzyty filament" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Czas druku" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "Akcja FS" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "Plik niekompletny. Kontynowac?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Kal. 1. warstwy" # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Najpierw wlacze selftest w celu sprawdzenia najczestszych problemow podczas montazu." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Rozwiaz problem i wcisnij przycisk na MMU." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Przeplyw" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Przedni went. druku?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Przod [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Przedni/lewy wentyl." # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Grzalka/Termistor" # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Grzanie wylaczone przez wyl. czasowy" @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Wymiana filamentu" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Wymiana ok!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Wymiana ok?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Kontrola stolu" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Kontrola krancowek" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Kontrola hotendu" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Kontrola osi Y" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Kontrola osi Z" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Przeprowadze teraz kalibracje XYZ. Zajmie ok. 12 min." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Przeprowadze kalibracje Z." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Ekran informacyjny" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Wprowadz filament" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Czesc, jestem Twoja drukarka Original Prusa i3. Przeprowadze Cie przez krotka kalibracje osi Z, po ktorej mozesz rozpoczac drukowanie." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Jesli masz dodatkowe plyty stalowe, to skalibruj ich ustawienia w menu Ustawienia - Ustawienia HW - Plyty stalowe." @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Lewy went hotendu?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Lewa" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Lewo [um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Korekcja liniowa" @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Ustaw. Live Z" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Wsun filament (nie uzywaj funkcji ladowania) do ekstrudera i nacisnij pokretlo." @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Ladowanie fil." # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Czyszcz. koloru" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "Iteracja" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Luzne kolo pasowe" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "Zaladuj do dyszy" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "Poziomowanie stolu" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. Wznawianie pozycji." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Wznawiam nagrzewanie..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "Zmierz. skos" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "Bledy MMU" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "Blad ladowania MMU" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "Bledy lad. MMU" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Wznawianie..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "Tryb" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "Wykryto firmware MK3 w drukarce MK3S" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Cichy" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "MMU wymaga uwagi uzytkownika." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "Zaniki zas. MMU" @@ -816,7 +816,7 @@ msgid "High power" msgstr "Wysoka wyd" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU podlaczone" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "Silnik" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "Ruch osi" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Ruch osi X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Ruch osi Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Ruch osi Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Brak ruchu." # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "Brak karty SD" @@ -866,12 +866,12 @@ msgid "No" msgstr "Nie" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "Nie podlaczono" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Dostepna nowa wersja firmware:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Nie kreci sie" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Kalibruje odleglosc miedzy koncowka dyszy a powierzchnia druku." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Nagrzewam dysze dla PLA." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Dysza" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Znaleziono stare ustawienia. Zostana przywrocone domyslne ust. PID, Esteps, itp." # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Teraz zdejmij wydruk testowy ze stolu." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "WentHotend" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Wstrzym. wydruku" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "Kalibracja PID" # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "Kal. PID zakonczona" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "Kalibracja PID" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "Grzanie sondy PINDA" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Umiesc kartke papieru na stole roboczym i podczas pomiaru pierwszych 4 punktow. Jesli dysza zahaczy o papier, natychmiast wylacz drukarke." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Oczysc powierzchnie druku i nacisnij pokretlo." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Dla prawidlowej kalibracji nalezy oczyscic dysze. Potwierdz guzikiem." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Sprawdz:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Przeczytaj nasz Podrecznik druku 3D aby naprawic problem. Potem wznow Asystenta przez restart drukarki." # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Prosze odciagnac dzwignie dociskowa ekstrudera i recznie usunac filament." @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Wyciagnij filament teraz" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Wyciagnij filament i wcisnij pokretlo." @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Prosze zdjac plyte stalowa z podgrzewanego stolu." # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Prosze najpierw uruchomic kalibracje XYZ" # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Prosze zaktualizowac Firmware MMU2. Czekam na reset." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Prosze czekac" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Najpierw usun zabezpieczenia transportowe" @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Nagrzej dysze!" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Grzanie" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Nagrzewanie dyszy. Prosze czekac." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Prosze zaktualizowac" # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Wcisnij pokretlo aby rozgrzac dysze i kontynuowac." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Druk przerwany" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Nagrzew.do ladowania" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Nagrzew. do rozlad." # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "WentWydruk:" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Druk z karty SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "Wcisnij pokretlo" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Druk wstrzymany" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Wcisnij pokretlo aby wznowic podgrzewanie dyszy." @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "Drukarka nie byla jeszcze kalibrowana. Kieruj sie Samouczkiem: rozdzial Pierwsze Kroki, sekcja Konfiguracja przed drukowaniem." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "WentWydruk" # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Wsun filament do ekstrudera i nacisnij pokretlo, aby go zaladowac." # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Wsun filament do pierwszego kanalu w MMU2 i nacisnij pokretlo, aby go zaladowac." # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Najpierw zaladuj filament." # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Tyl [um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "Najpierw rozladuj filament, nastepnie powtorz czynnosc." # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Sprawdz polaczenie czujnika IR, rozladuj filament, jesli zaladowany." # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Wznawianie wydruku" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Wyciagnij poprzedni filament i nacisnij pokretlo aby zaladowac nowy." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "Reset kalibr. XYZ" @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Wznawianie druku" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Prawo [um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "Port RPi" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Wlaczenie Asystenta usunie obecne dane kalibracyjne i zacznie od poczatku. Kontynuowac?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "Karta SD" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Prawa" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Szukam punktu kalib. na stole" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Wybor jezyka" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "Selftest OK" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Selftest startuje" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Blad selftest!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Selftest nieudany" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Zostanie uruchomiony Selftest aby dokladnie skalibrowac punkt bazowy bez krancowek" # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Wybierz temperature grzania dyszy odpowiednia dla materialu." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Ustaw temperature:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Ustawienia" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Pokaz krancowki" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Niektore pliki nie zostana posortowane. Max. liczba plikow w 1 folderze = 100." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Czas" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Znaczny skos" @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "Alfab" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Sortowanie plikow" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "Glosny" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "Lekki skos" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Dzwiek" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "Konce f" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Wykryto problem, wymuszono poziomowanie osi Z." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "1-raz" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Predkosc" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Kreci sie" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Potrzebna jest stabilna temperatura otoczenia 21-26C i stabilne podloze." # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Statystyki" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "ZATRZYMANO." # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "Wsparcie" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Zamieniono" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Wybierz filament:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Kalib. temp." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Wybierz temperature, ktora odpowiada Twojemu filamentowi." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Kalibracja temp." # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Kalibracja temperaturowa nieudana" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "Kalibracja temperaturowa zakonczona i wlaczona. Moze byc wylaczona z menu Ustawienia -> Kalibracja temp." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Czujnik sprawdzony, wyciagnij filament." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "Temperatura" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "Temperatury" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "Musimy przeprowadzic kalibracje Z. Kieruj sie Samouczkiem: rozdzial Pierwsze Kroki, sekcja Kalibracja." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Zuzycie filamentu" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Laczny czas druku" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Strojenie" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Suma bledow" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "aby zaladow. fil." # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "aby rozlad. filament" @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "Suma" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Uzyte podczas druku" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Napiecia" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "nieznane" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Czekam na uzytk. ..." # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "Oczekiwanie na wychlodzenie dyszy i stolu" # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "Czekam az spadnie temp. sondy PINDA" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Ostrzezenie: typ drukarki i plyta glowna ulegly zmianie." # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Ostrzezenie: plyta glowna ulegla zmianie." # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Ostrzezenie: rodzaj drukarki ulegl zmianie" # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Rozladowanie fil. ok?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Blad polaczenia" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "Asystent" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "Szczegoly kal. XYZ" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Zawsze mozesz uruchomic Asystenta ponownie przez Kalibracja -> Asystent." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Kalibracja XYZ pomyslna. Skos bedzie automatycznie korygowany." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Kalibracja XYZ prawidlowa. Osie X/Y lekko skosne. Dobra robota!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "Wyl. czas." # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "Korekcja-X:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Kalibracja XYZ ok. Osie X/Y sa prostopadle. Gratulacje!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Kalibr. XYZ niedokladna. Przednie punkty kalibr. nieosiagalne." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Kalibracja XYZ niedokladna. Prawy przedni punkt nieosiagalny." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Zalad. wszystkie" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Kalibracja XYZ nieudana. Nie znaleziono punktow kalibracyjnych." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "Kalibr. XYZ nieudana. Przednie punkty kalibr. nieosiagalne. Nalezy poprawic montaz drukarki." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "Kalibr. XYZ nieudana. Prawy przedni punkt nieosiagalny. Nalezy poprawic montaz drukarki." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Dystans od 0 w osi Y" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "Drukarka zacznie drukowanie linii w ksztalcie zygzaka. Ustaw optymalna wysokosc obracajac pokretlo. Porownaj z ilustracjami w Podreczniku (rozdzial Kalibracja)." # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "Niepowodzenie sprawdzenia, wyciagnij filament i sprobuj ponownie." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Korekcja-Y:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "Wstecz" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "Testy" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Falszywy alarm" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "Siatka" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "Wykryto firmware MK3S w drukarce MK3" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "Tryb MMU" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Trwa zmiana trybu..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "Sr. dyszy" # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "G-code pociety dla innej wersji. Kontynuowac?" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "G-code pociety na innym poziomie. Potnij model ponownie. Druk anulowany." @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "G-code pociety dla drukarki innego typu. Potnij model ponownie. Druk anulowany." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-code pociety dla nowszego firmware. Kontynuowac?" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "G-code pociety dla nowszego firmware. Zaktualizuj firmware. Druk anulowany." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Nagrzew. obciecia" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Nagrzew. wysuniecia" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Srednica dyszy drukarki rozni sie od tej w G-code. Kontynuowac?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "Srednica dyszy rozni sie od tej w G-code. Sprawdz ustawienia. Druk anulowany." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "Oczekiwano wersji %s" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Zmien nazwe" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Wybierz" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "Info o sensorach" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Plyty stalowe" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Korekcja-Z:" diff --git a/lang/po/new/cs.po b/lang/po/new/cs.po index 77551dcad..2e464c107 100644 --- a/lang/po/new/cs.po +++ b/lang/po/new/cs.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: cs\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:08 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:08 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:50:57 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:50:57 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 nebo starsi" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS 0.3 nebo starsi" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 nebo novejsi" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS 0.4 a novejsi" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "neznamy stav" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "[0;0] odsazeni bodu" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "POZOR:\x0aCrash detekce\x0adeaktivovana ve\x0aStealth modu" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Doladeni Z:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Vse OK" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Vse je hotovo." # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Okoli" @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "a stisknete tlacitko" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "Dojely oba Z voziky k~hornimu dorazu?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "AutoZavedeni fil." # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "Automaticke zavadeni filamentu je mozne pouze pri zapnutem filament senzoru..." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "Automaticke zavadeni filamentu aktivni, stisknete tlacitko a vlozte filament..." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Delka osy" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "Osa" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Podlozka/Topeni" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Zahrivani bedu" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Korekce podlozky" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Test remenu" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Detekovan vypadek proudu.Obnovit tisk?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Kalibruji vychozi p." # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Kalibrace XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Kalibrovat Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Zkalibrovat" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Zrusit" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Kalibrace XYZ. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Kalibruji Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Kalibrace Z. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Kalibrace OK" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "Kalibrace" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "Karta vyjmuta" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Kontroluji soubor" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Barva neni cista" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Zchladit" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Kopirovat vybrany jazyk?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "" # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Zvolte filament pro kalibraci prvni vrstvy z nasledujiciho menu" @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Detekovan naraz." # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Detekovan naraz. Obnovit tisk?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "Naraz" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Pouze aktualni" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Datum:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Komunitni prekl." # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Vypnout motory" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "Pokr." # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Chcete opakovat posledni krok a pozmenit vzdalenost mezi tryskou a podlozkou?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "Korekce E:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Vysunout fil." # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "Vysouvam filament" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Kon. spinac nesepnut" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "Koncovy spinac" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "Konc. spinace" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Chyba - Doslo k prepisu staticke pameti" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Strihani" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Strihani filamentu" # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "CHYBA: Filament senzor nereaguje, zkontrolujte prosim zapojeni." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "CHYBA:" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "Levy vent.:" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "Selhani MMU" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "F. autozav." # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Selhani" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Filament vytlacen a spravne barvy?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Filament nezaveden" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Senzor filamentu" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Spotrebovano filam." # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Cas tisku" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "FS reakce" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "Soubor nekompletni. Pokracovat?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Kal. prvni vrstvy" # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Nejdriv pomoci selftestu zkontoluji nejcastejsi chyby vznikajici pri sestaveni tiskarny." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Opravte chybu a pote stisknete tlacitko na jednotce MMU." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Prutok" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Predni tiskovy vent?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Vpredu [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Predni/levy vent." # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Topeni/Termistor" # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Zahrivani preruseno bezpecnostnim casovacem." @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Vymenit filament" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Zmena uspesna!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Vymena ok?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Kontrola podlozky" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Kontrola endstopu" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Kontrola hotend" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Kontrola osy Y" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Kontrola osy Z" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Nyni provedu xyz kalibraci. Zabere to priblizne 12 min." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Nyni provedu z kalibraci." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Informace" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Vlozte filament" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Ahoj, jsem vase tiskarna Original Prusa i3. Provedu vas kratkym procesem nastaveni, ve kterem zkalibrujeme osu Z. Pak budete moct zacit tisknout." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Mate-li vice tiskovych platu, kalibrujte je v menu Nastaveni - HW nastaveni - Tiskove platy" @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Levy vent na trysce?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Vlevo" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Vlevo [um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Korekce lin." @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Doladeni osy Z" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Vlozte filament (nezavadejte) do extruderu a stisknete tlacitko" @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Zavest filament" # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Cisteni barvy" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "Opakovani" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Uvolnena remenicka" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "Zavest do trysky" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. Pokracuji v tisku..." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Pokracuji v nahrivani..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "Merene zkos." @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "Selhani MMU" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "Zavedeni MMU selhalo" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "MMU selhani zav" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Pokracuji..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "Mod" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "MK3 firmware detekovan na MK3S tiskarne" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Tichy" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "MMU potrebuje zasah uzivatele." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "MMU vyp. proudu" @@ -816,7 +816,7 @@ msgid "High power" msgstr "Vys. vykon" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU2 pripojeno" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "Posunout osu" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Posunout X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Posunout Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Posunout Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Bez pohybu." # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "Zadna SD karta" @@ -866,12 +866,12 @@ msgid "No" msgstr "Ne" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "Nezapojeno" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Vysla nova verze firmware:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Netoci se" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Nyni zkalibruji vzdalenost mezi koncem trysky a povrchem podlozky." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Nyni predehreji trysku pro PLA." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Tryska" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Neplatne hodnoty nastaveni. Bude pouzito vychozi PID, Esteps atd." # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Nyni odstrante testovaci vytisk z tiskoveho platu." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "V. trysky" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Pozastavit tisk" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "PID kal." # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "PID kal. ukoncena" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "PID kalibrace" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "Nahrivani PINDA" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Umistete list papiru na podlozku a udrzujte jej pod tryskou behem mereni prvnich 4 bodu. Pokud tryska zachyti papir, okamzite vypnete tiskarnu." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Prosim ocistete podlozku a stisknete tlacitko." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Zkontrolujte:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Prosim nahlednete do prirucky 3D tiskare a opravte problem. Pote obnovte Pruvodce restartovanim tiskarny." # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Prosim otevrete idler a manualne odstrante filament." @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Prosim vyjmete urychlene filament" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Prosim vyjmete filament a pote stisknete tlacitko." @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Odstrante prosim tiskovy plat z podlozky." # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Nejprve spustte kalibraci XYZ." # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Prosim aktualizujte firmware ve vasi MMU2 jednotce. Cekam na reset." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Prosim cekejte" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Nejprve prosim sundejte transportni soucastky." @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Predehrejte trysku!" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Predehrev" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Predehrev trysky. Prosim cekejte." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Prosim aktualizujte." # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Pro nahrati trysky a pokracovani stisknete tlacitko." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Tisk prerusen" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Predehrev k zavedeni" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Predehrev k vyjmuti" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "Tiskovy vent.:" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Tisk z SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "Stisknete tlacitko" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Tisk pozastaven" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Pro pokracovani nahrivani trysky stisknete tlacitko." @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "Tiskarna nebyla jeste zkalibrovana. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Postup kalibrace." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "Tiskovy v." # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Prosim vlozte filament do extruderu a stisknete tlacitko k jeho zavedeni" # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Prosim vlozte filament do prvni trubicky MMU a stisknete tlacitko k jeho zavedeni" # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Prosim nejdriv zavedte filament" # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Vzadu [um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "Prosim vyjmete filament a zopakujte tuto akci" # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Prosim zkontrolujte zapojeni IR senzoru a vyjmuty filament" # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Obnovovani tisku" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Vyjmete stary filament a stisknete tlacitko pro zavedeni noveho." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "Reset XYZ kalibr." @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Obnoveni tisku" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Vpravo [um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Spusteni Pruvodce vymaze ulozene vysledky vsech kalibraci a spusti kalibracni proces od zacatku. Pokracovat?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "SD karta" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Vpravo" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Hledam kalibracni bod podlozky" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Vyber jazyka" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Self test start" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "Selftest" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Chyba Selftestu!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Selftest selhal" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Pro kalibraci presneho rehomovani bude nyni spusten selftest." # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Vyberte teplotu predehrati trysky ktera odpovida vasemu materialu." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Nastavte teplotu:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Nastaveni" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Stav konc. spin." # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Nektere soubory nebudou setrideny. Maximalni pocet souboru ve slozce pro setrideni je 100." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Cas" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Tezke zkos." @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "Abeceda" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Trideni souboru" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Zvuk" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Vyskytl se problem, srovnavam osu Z ..." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "Jednou" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Rychlost" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Toci se" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Je vyzadovana stabilni pokojova teplota 21-26C a pevna podlozka." # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Statistika" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "ZASTAVENO." # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "Podpora" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Prohozene" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Zvolte filament:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Tepl. kal." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Zvolte teplotu, ktera odpovida vasemu materialu." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Teplot. kalibrace" # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Teplotni kalibrace selhala" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "Teplotni kalibrace dokoncena a je nyni aktivni. Teplotni kalibraci je mozno deaktivovat v menu Nastaveni->Tepl. kal." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Senzor overen, vyjmete filament." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "Teplota" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "Teploty" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "Je potreba kalibrovat osu Z. Prosim postupujte dle prirucky, kapitola Zaciname, sekce Postup kalibrace." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Filament celkem" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Celkovy cas tisku" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Ladit" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Celkem selhani" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "k zavedeni filamentu" # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "k vyjmuti filamentu" @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "Celkem" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Pouzite behem tisku" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Napeti" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "neznamy" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Ceka se na uzivatele" # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "Cekani na zchladnuti trysky a podlozky." # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "Cekani na zchladnuti PINDA" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Varovani: doslo ke zmene typu tiskarny a motherboardu." # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Varovani: doslo ke zmene typu motherboardu." # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Varovani: doslo ke zmene typu tiskarny." # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Bylo vysunuti filamentu uspesne?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Chyba zapojeni" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "Pruvodce" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "Detaily XYZ kal." @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Pruvodce muzete kdykoliv znovu spustit z menu Kalibrace -> Pruvodce" # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Kalibrace XYZ v poradku. Zkoseni bude automaticky vyrovnano pri tisku." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Kalibrace XYZ v poradku. X/Y osy mirne zkosene. Dobra prace!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "Korekce X:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Kalibrace XYZ v poradku. X/Y osy jsou kolme. Gratuluji!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Kalibrace XYZ nepresna. Pravy predni bod moc vpredu." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Zavest vse" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "Kalibrace XYZ selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "Kalibrace XYZ selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Y vzdalenost od min" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "Tiskarna zacne tisknout lomenou caru. Otacenim tlacitka nastavte optimalni vysku. Postupujte podle obrazku v handbooku (kapitola Kalibrace)." # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "Overeni selhalo, vyjmete filament a zkuste znovu." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Korekce Y:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "Zpet" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "Kontrola" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Falesne spusteni" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "MK3S firmware detekovan na tiskarne MK3" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "MMU mod" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Probiha zmena modu..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "Tryska" # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "" @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "G-code je pripraven pro jiny typ tiskarny. Prosim preslicujte model znovu. Tisk zrusen." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-code je pripraven pro novejsi firmware. Pokracovat?" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "G-code je pripraven pro novejsi firmware. Prosim aktualizujte firmware. Tisk zrusen." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Predehrev ke strihu" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Predehrev k vysunuti" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Prumer trysky tiskarny se lisi od G-code. Pokracovat?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "Prumer trysky tiskarny se lisi od G-code. Prosim zkontrolujte nastaveni. Tisk zrusen." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Prejmenovat" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Vybrat" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "Senzor info" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Tiskove platy" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Korekce Z:" diff --git a/lang/po/new/de.po b/lang/po/new/de.po index a4c484d62..276a80f99 100644 --- a/lang/po/new/de.po +++ b/lang/po/new/de.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:13 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:13 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:51:01 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:51:01 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 oder aelter" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS 0.3 oder aelter" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 oder neuer" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS 0.4 oder neuer" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "Status unbekannt" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "[0;0] Punktversatz" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "WARNUNG:\x0aCrash Erkennung\x0adeaktiviert im\x0aStealth Modus" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Z Anpassen:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Alles richtig" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Alles abgeschlossen. Viel Spass beim Drucken!" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Raumtemp." @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "und Knopf druecken" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "Sind linke+rechte Z- Schlitten ganz oben?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "Startposition" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "AutoLaden Filament" # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "Automatisches Laden Filament nur bei eingeschaltetem Fil. sensor verfuegbar..." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "Automatisches Laden Filament ist aktiv, Knopf druecken und Filament einlegen..." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Achsenlaenge" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "Achse" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Bett/Heizung" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Bett aufwaermen" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Ausgleich Bett ok" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Riementest" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Stromausfall! Druck wiederherstellen?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Kalibriere Start" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Kalibrierung XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Kalibrierung Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Kalibrieren" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Abbruch" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "XYZ Kalibrieren: Drehen Sie den Knopf bis der obere Anschlag erreicht wird. Anschliessend den Knopf druecken." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Kalibrierung Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Z Kalibrieren: Drehen Sie den Knopf bis der obere Anschlag erreicht wird. Anschliessend den Knopf druecken." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Kalibrierung OK" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "Kalibrierung" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "SD Karte entfernt" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Ueberpruefe Datei" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Falsche Farbe" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Abkuehlen" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Gewaehlte Sprache kopieren?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "Crash Erk." # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Waehlen Sie ein Filament fuer Erste Schichtkalibrierung aus und waehlen Sie es im On-Screen-Menu aus." @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Crash erkannt." # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Crash erkannt. Druck fortfuehren?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Aktuelles" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Datum:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Von der Community" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Motoren aus" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "" # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Moechten Sie den letzten Schritt wiederholen, um den Abstand zwischen Duese und Druckbett neu einzustellen?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "E-Korrektur:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Filamentauswurf" # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "werfe Filament aus" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Ende nicht getroffen" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "Endanschlag" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "Endschalter" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Fehler - statischer Speicher wurde ueberschrieben" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Messer" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Schneide filament" # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "FEHLER: Filament- sensor reagiert nicht, bitte Verbindung pruefen." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "FEHLER:" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "Extruder Luefter:" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "Extruder Info" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "MMU-Fehler" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "F. autoladen" # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Fehlerstatistik" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Filament extrudiert mit richtiger Farbe?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Fil. nicht geladen" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Filamentsensor" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Filament benutzt" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Druckzeit" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "FS Aktion" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "Datei unvollstaendig Trotzdem fortfahren?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Erste-Schicht Kal." # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Zunaechst fuehre ich den Selbsttest durch, um die haeufigsten Probleme beim Zusammenbau zu ueberpruefen." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Beseitigen Sie das Problem und druecken Sie dann den Knopf am MMU." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Durchfluss" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Teile Luefter?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Vorne [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Teile/Extr. Luefter" # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Heizung/Thermistor" # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Heizung durch Sicherheitstimer deaktiviert." @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Filament-Wechsel" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Wechsel erfolgr.!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Wechsel ok?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Pruefe Bett" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Pruefe Endschalter" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Pruefe Duese" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Pruefe Y Achse" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Pruefe Z Achse" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Ich werde jetzt die XYZ-Kalibrierung durchfuehren. Es wird ca. 12 Minuten dauern." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Ich werde jetzt die Z Kalibrierung durchfuehren." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Infoanzeige" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Filament einlegen" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Hallo, ich bin Ihr Original Prusa i3 Drucker. Ich werde Sie durch einen kurzen Einrichtungsprozess fuehren, bei dem die Z-Achse kalibriert wird. Danach sind Sie bereit fuer den Druck." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Wenn Sie zusaetzliche Stahlbleche haben, kalibrieren Sie deren Voreinstellungen unter Einstellungen - HW Setup - Stahlbleche." @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Extruder Luefter?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Links" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Links [um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Lineare Korrektur" @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Z einstellen" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Stecken Sie das Filament (nicht laden) in den Extruder und druecken Sie dann den Knopf." @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Filament laden" # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Lade Farbe" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "Wiederholung" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Lose Riemenscheibe" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "In Nozzle laden" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "MeshBett Ausgleich" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. Position wiederherstellen..." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Temperatur wiederherstellen..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "Schraeglauf" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "MMU Fehler" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "MMU Ladefehler" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "MMU Ladefehler" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Weiterdrucken..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "Modus" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "MK3-Firmware am MK3S-Drucker erkannt" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Leise" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "MMU erfordert Benutzereingriff." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "MMU Netzfehler" @@ -816,7 +816,7 @@ msgid "High power" msgstr "Hohe leist" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU2 verbunden" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "Achse bewegen" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Bewege X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Bewege Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Bewege Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Keine Bewegung." # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "Keine SD Karte" @@ -866,12 +866,12 @@ msgid "No" msgstr "Nein" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "Nicht angeschlossen" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Neue Firmware- Version verfuegbar:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Dreht sich nicht" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Jetzt werde ich den Abstand zwischen Duesenspitze und Druckbett kalibrieren." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Jetzt werde ich die Duese fuer PLA vorheizen." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Duese" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Alte Einstellungen gefunden. Standard PID, E-Steps u.s.w. werden gesetzt." # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Testdruck jetzt von Stahlblech entfernen." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "Duesevent." @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Druck pausieren" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "PID Kal." # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "PID Kalib. fertig" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "PID Kalibrierung" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "PINDA erwaermen" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Legen Sie ein Blatt Papier unter die Duese waehrend der Kalibrierung der ersten 4 Punkte. Wenn die Duese das Papier erfasst, den Drucker sofort ausschalten." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Bitte reinigen Sie das Heizbett und druecken Sie dann den Knopf." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Bitte entfernen Sie ueberstehendes Filament von der Duese. Klicken wenn sauber." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Bitte pruefe:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Bitte lesen Sie unser Handbuch und beheben Sie das Problem. Fahren Sie dann mit dem Assistenten fort, indem Sie den Drucker neu starten." # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Bitte Spannrolle oeffnen und Fila- ment von Hand entfernen" @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Bitte ziehen Sie das Filament sofort heraus" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Bitte Filament entfernen und dann den Knopf druecken" @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Bitte entfernen Sie das Stahlblech vom Heizbett." # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Bitte zuerst XYZ Kalibrierung ausfuehren." # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Bitte aktualisieren Sie die Firmware in der MMU2. Warte auf Reset." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Bitte warten" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Bitte zuerst Transportsicherungen entfernen." @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Duese vorheizen!" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Vorheizen" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Vorheizen der Duese. Bitte warten." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Bitte aktualisieren." # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Bitte druecken Sie den Knopf um die Duese vorzuheizen und fortzufahren." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Druck abgebrochen" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Heizen zum Laden" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Heizen zum Entladen" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "Druckvent.:" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Drucken von SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "Knopf druecken zum" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Druck pausiert" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Druecken Sie den Knopf um die Duesentemperatur wiederherzustellen" @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "Drucker wurde noch nicht kalibriert. Bitte folgen Sie dem Handbuch, Kapitel Erste Schritte, Abschnitt Kalibrie- rungsablauf." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "Druckvent." # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Bitte legen Sie das Filament in den Extruder ein und druecken Sie dann den Knopf, um es zu laden." # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Bitte stecken Sie das Filament in den ersten Schlauch der MMU und druecken Sie dann den Knopf, um es zu laden." # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Bitte laden Sie zuerst das Filament." # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Hinten [um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "Bitte entladen Sie erst das Filament und versuchen Sie es nochmal." # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Bitte IR Sensor Verbindungen ueber- pruefen und Filament entladen ist." # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Druck wiederherst" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Entfernen Sie das alte Filament und druecken Sie den Knopf, um das neue zu laden." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "Reset XYZ Kalibr." @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Druck fortgesetzt" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Rechts [um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Der Assistent wird die aktuellen Kalibrierungsdaten loeschen und von vorne beginnen. Weiterfahren?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "SD Karte" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Rechts" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Suche Bett Kalibrierpunkt" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Waehle Sprache" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "Selbsttest OK" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Selbsttest start" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "Selbsttest" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Selbsttest Fehler!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Selbsttest Error" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Selbsttest im Gang, um die genaue Rueck- kehr zum Nullpunkt ohne Sensor zu kalibrieren" # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Bitte Vorheiztemperatur auswaehlen, die Ihrem Material entspricht." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Temp. einstellen:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Einstellungen" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Endschalter Status" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Einige Dateien wur- den nicht sortiert. Max. Dateien pro Verzeichnis = 100." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Zeit" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Sehr Schraeg" @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Sortiere Dateien" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "Laut" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "Leicht Schraeg" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Ton" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "Maengel" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Fehler aufgetreten, Z-Kalibrierung erforderlich..." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "Einmal" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Geschwindigkeit" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Dreht sich" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Stabile Umgebungs- temperatur 21-26C und feste Stand- flaeche erforderlich" # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Statistiken" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "GESTOPPT." # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Ausgetauscht" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Filament auswaehlen:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Temp Kalib." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Waehlen Sie die Temperatur, die zu Ihrem Material passt." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Temp. kalibrieren" # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Temperaturkalibrierung fehlgeschlagen" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "Temp.kalibrierung ist fertig + aktiv. Temp.kalibrierung kann ausgeschaltet werden im Menu Einstellungen -> Temp.kal." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Sensor ueberprueft, entladen Sie jetzt das Filament." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "Temperatur" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "Temperaturen" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "Es ist noch not- wendig die Z- Kalibrierung aus- zufuehren. Bitte befolgen Sie das Handbuch, Kapitel Erste Schritte, Abschnitt Kalibrierablauf." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Gesamtes Filament" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Gesamte Druckzeit" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Feineinstellung" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Gesamte Fehler" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "Filament laden" # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "um Filament entladen" @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "Gesamt" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Beim Druck benutzt" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Spannungen" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "unbekannt" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Warte auf Benutzer.." # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "Warten bis Heizung und Bett abgekuehlt sind" # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "Warten, bis PINDA- Sonde abgekuehlt ist" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Warnung: Druckertyp und Platinentyp wurden beide geaendert." # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Warnung: Platinentyp wurde geaendert." # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Warnung: Druckertyp wurde geaendert." # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Konnten Sie das Filament entnehmen?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Verdrahtungsfehler" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "Assistent" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "XYZ Kal. Details" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Sie koennen den Assistenten immer im Menu neu starten: Kalibrierung -> Assistent" # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "XYZ Kalibrierung in Ordnung. Schraeglauf wird automatisch korrigiert." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "XYZ Kalibrierung in Ordnung. X/Y Achsen sind etwas schraeg. Gut gemacht!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "Verzoegerung" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "X-Korrektur:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "XYZ-Kalibrierung ok. X/Y-Achsen sind senkrecht zueinander Glueckwunsch!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "XYZ-Kalibrierung beeintraechtigt. Vordere Kalibrierpunkte nicht erreichbar." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "XYZ-Kalibrierung beeintraechtigt. Rechter vorderer Kalibrierpunkt nicht erreichbar." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Alle laden" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "XYZ-Kalibrierung fehlgeschlagen. Bett-Kalibrierpunkt nicht gefunden." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "XYZ-Kalibrierung fehlgeschlagen. Vordere Kalibrierpunkte nicht erreichbar." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "XYZ-Kalibrierung fehlgeschlagen. Rechter vorderer Kalibrierpunkt ist nicht erreichbar." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Y Entfernung vom Min" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "Der Drucker beginnt mit dem Drucken einer Zickzacklinie. Drehen Sie den Knopf, bis Sie die optimale Hoehe erreicht haben. Ueberpruefen Sie die Bilder im Handbuch (Kapitel Kalibrierung)." # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "Ueberpruefung fehl- geschlagen, entladen Sie das Filament und versuchen Sie es erneut." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Y-Korrektur:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "Zurueck" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "Kontrolle" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Falschtriggerung" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "Gitter" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "MK3S-Firmware auf MK3-Drucker erkannt" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "MMU Mod." # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Moduswechsel erfolgt..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "Duese D." # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "G-Code ist fuer einen anderen Level geslict. Fortfahren?" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "G-Code ist fuer einen anderen Level geslict. Bitte slicen Sie das Modell erneut. Druck abgebrochen." @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "G-Code ist fuer einen anderen Drucker geslict. Bitte slicen Sie das Modell erneut. Druck abgebrochen." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-Code ist fuer eine neuere Firmware geslict. Fortfahren?" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "G-Code ist fuer eine neuere Firmware geslict. Bitte die Firmware updaten. Druck abgebrochen." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Heizen zum Schnitt" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Heizen zum Auswurf" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Der Durchmesser der Druckerduese weicht vom G-Code ab. Fortfahren?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "Der Durchmesser der Druckerduese weicht vom G-Code ab. Bitte ueberpruefen Sie den Wert in den Einstellungen. Druck abgebrochen." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "%s Level erwartet" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Umbenennen" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Auswahl" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "Sensor Info" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Stahlbleche" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Z-Korrektur:" diff --git a/lang/po/new/es.po b/lang/po/new/es.po index 9e5088485..aeed84ab9 100644 --- a/lang/po/new/es.po +++ b/lang/po/new/es.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:17 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:17 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:51:04 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:51:04 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 o mayor" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS 0.3 o mayor" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 o mas nueva" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS 0.4 o mas nueva" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "estado desconocido" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "[0;0] punto offset" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "ATENCION:\x0aDec. choque\x0adesactivada en\x0aModo silencio" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Ajustar-Z:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Todo bien" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Terminado! Feliz impresion!" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Ambiente" @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "y presione el dial" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "Carros Z izq./der. estan arriba maximo?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "Llevar al origen" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "Carga auto. filam." # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "La carga automatica solo funciona si el sensor de filamento esta activado..." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "La carga automatica esta activada, pulse el dial e inserte el filamento..." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Longitud del eje" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "Eje" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Base/Calentador" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Calentando Base" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Corr. de la cama" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Test cinturon" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Se fue la luz. Re- anudar la impresion?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Calibrar pos.inicial" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Calibrar XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Calibrar Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Calibrar" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Cancelar" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Calibrando XYZ. Gira el dial para subir el extrusor hasta tocar los topes superiores. Despues haz clic." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Calibrando Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Calibrando Z. Gira el dial para subir el extrusor hasta tocar los topes superiores. Despues haz clic." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Calibracion OK" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "Calibracion" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "Tarjeta retirada" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Verif. archivo" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Color no homogeneo" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Enfriar" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Copiar idioma seleccionado?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "Det. choque" # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Escoge un filamento para la Calibracion de la Primera Capa y seleccionalo en el menu en pantalla." @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Choque detectado." # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Choque detectado. Continuar impresion?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "Choque" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Actual" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Fecha:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Desde la comunidad" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Apagar motores" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "" # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Quieres repetir el ultimo paso para reajustar la distancia boquilla-base?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "Corregir-E:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Expulsar fil." # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "Expulsando filamento" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Endstop no alcanzado" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Error - se ha sobre-escrito la memoria estatica" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Cuchillo" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Corte de filament" # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "ERROR:Sensor de fi- lamento no responde Por favor, comprue- ba la conexion." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "Vent.extrusor:" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "Info. del extrusor" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "Extruir" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "Total Fallos MMU" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "Autocarg.fil." # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Estadistica Fallos" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Es nitido el color nuevo?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Fil. no introducido" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Sensor de filamento" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Filamento usado" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Tiempo de imp." @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "FS accion" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "Archivo incompleto. ?Continuar de todos modos?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Cal. primera cap." # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Primero, hare el Selftest para comprobar los problemas de montaje mas comunes." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Corrige el problema y pulsa el boton en la unidad MMU." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Flujo" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Vent. frontal?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Frontal [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Vents. front/izqui" # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Calentador/Termistor" # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Calentadores desactivados por el temporizador de seguridad." @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Cambiar filamento" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Cambio correcto!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Cambio correcto?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Control base cal." # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Control endstops" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Control fusor" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Control sensor Y" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Control sensor Z" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "Filamento" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Hare la calibracion XYZ. Tardara 12 min. aproximadamente." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Voy a hacer Calibracion Z ahora." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Monitorizar" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Introducir filamento" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Hola, soy tu impresora Original Prusa i3. Te guiare a traves de un breve proceso de configuracion, en el que se calibrara el eje Z. Despues, estaras listo para imprimir." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Si tienes planchas de acero adicionales, calibra sus ajustes en Ajustes - Ajustes HW - Planchas acero." @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Vent. izquierdo?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Izquierda" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Izquierda [um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Correc. Linealidad" @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Micropaso Eje Z" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Inserte el filamento (no lo cargue) en el extrusor y luego presione el dial." @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Introducir filam." # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Cambiando color" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "Iteracion" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Polea suelta" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "Cargar a boquilla" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "Nivela. Mesh Level" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. Restaurando posicion..." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Restaurando temperatura..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "No a escuadra" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "Fallos MMU" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "Carga MMU fallida" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "Carga MMU falla" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Resumiendo..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "Modo" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "Firmware MK3 detectado en impresora MK3S" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Acallar" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "MMU necesita atencion del usuario." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "Fallo red MMU" @@ -816,7 +816,7 @@ msgid "High power" msgstr "Rend.pleno" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU2 conectado" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "Mover ejes" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Mover X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Mover Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Mover Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Sin movimiento" # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "No hay tarjeta SD" @@ -866,12 +866,12 @@ msgid "No" msgstr "" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "No hay conexion" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Nuevo firmware disponible:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Ventilador no gira" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Voy a calibrar la distancia entre la punta de la boquilla y la superficie de la base." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Ahora precalentare la boquilla para PLA." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Boquilla" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Se han encontrado ajustes anteriores. Se ajustara el PID, los pasos del extrusor, etc" # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Ahora retira la prueba de la lamina de acero." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "Vent. capa" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Pausar impresion" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "Cal. PID" # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "Cal. PID terminada" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "Calibracion PID" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "Calentando PINDA" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Colocar una hoja de papel sobre la superficie de impresion durante la calibracion de los primeros 4 puntos. Si la boquilla mueve el papel, apagar impresora inmediatamente." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Limpia la superficie de la base, por favor, y luego presione el dial." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Limpia boquilla para calibracion. Click cuando acabes." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Controla:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Lee el manual y resuelve el problema. Despues, reinicia la impresora y continua con el Wizard" # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Por favor abate el rodillo de empuje (idler) y retira el filamento manualmente." @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Por favor retire el filamento de inmediato" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Por favor quite el filamento y luego presione el dial." @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Por favor retire la chapa de acero de la base calefactable." # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Por favor realiza la calibracion XYZ primero." # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Por favor actualice el firmware en tu MMU2. Esperando el reseteo." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Por Favor Espere" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Por favor retira los soportes de envio primero." @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Precalienta extrusor" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Precalentar" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Precalentando nozzle. Espera por favor." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Actualize por favor" # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Pulsa el dial para precalentar la boquilla y continue." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Impresion cancelada" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Precalent. cargar" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Precalent. descargar" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "Vent.fusor:" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Menu tarjeta SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "Pulsa el dial" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Impresion en pausa" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Presione el dial para continuar con la temperatura de la boquilla." @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "Impresora no esta calibrada todavia. Por favor usa el manual capitulo Primeros pasos Calibracion flujo." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "Vent. extr" # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Por favor, coloca el filamento en el extrusor, luego presiona el dial para cargarlo." # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Por favor, coloca el filamento en el primer tubo de la MMU, luego pulsa el dial para cargarlo." # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Por favor, cargar primero el filamento." # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Trasera [um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "Primero descargue el filamento, luego repita esta accion." # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Por favor comprueba la conexion del IR sensor y filamento esta descargado." # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Recuper. impresion" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Retire el filamento viejo y presione el dial para comenzar a cargar el nuevo filamento." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "" @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Continuan. impresion" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Derecha [um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "Puerto RPi" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Ejecutar el Wizard borrara los valores de calibracion actuales y comenzara de nuevo. Continuar?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "Tarj. SD" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Derecha" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Buscando punto de calibracion base" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Cambiar el idioma" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Iniciar Selftest" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Error Selftest!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Fallo Selftest" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Se realizara el auto-test para calibrar con precision la vuelta a la posicion inicial sin sensores." # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Selecciona la temperatura para precalentar la boquilla que se ajuste a tu material." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Establecer temp.:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Configuracion" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Mostrar endstops" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Algunos archivos no se ordenaran. Maximo 100 archivos por carpeta para ordenar." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Fecha" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Severo sesgar" @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "Alfabet" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Ordenando archivos" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "Alto" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "Ligera sesgar" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Sonido" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "Falla" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Problema encontrado, nivelacion Z forzosa ..." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "Una vez" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Velocidad" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Ventilador girando" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Se necesita una temperatura ambiente ente 21 y 26C y un soporte rigido." # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Estadisticas" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "PARADA" # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "Soporte" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Intercambiado" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Selecciona filam.:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Cal. temp." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Selecciona la temperatura adecuada a tu material." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Calibracion temp." # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Fallo de la calibracion de temperatura" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "Calibracion temperatura terminada. Haz clic para continuar." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Sensor verificado, retire el filamento ahora." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "Temperatura" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "Temperaturas" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "Todavia es necesario hacer una calibracion Z. Por favor siga el manual, capitulo Primeros pasos, seccion Calibracion del flujo." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Filamento total" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Tiempo total" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Ajustar" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Fallos totales" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "para cargar el fil." # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "para descargar fil." @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Usado en impresion" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Voltajes" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "desconocido" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Esperando ordenes..." # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "Esperando enfriamiento de la base y extrusor." # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "Esperando a que se enfrie la sonda PINDA" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Aviso: tanto el tipo de impresora como el tipo de la placa han cambiado." # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Cuidado: el tipo de placa ha cambiado." # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Cuidado: Ha cambiado el tipo de impresora." # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Se descargo con exito el filamento?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Error de conexion" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "Detalles cal. XYZ" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Siempre puedes acceder al asistente desde Calibracion -> Wizard" # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Calibracion XYZ correcta. La inclinacion se corregira automaticamente." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Calibracion XYZ correcta. Los ejes X / Y estan ligeramente inclinados. Buen trabajo!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "Expirar" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "Corregir-X:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Calibracion XYZ ok. Ejes X/Y perpendiculares. Enhorabuena!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Calibrazion XYZ comprometida. Puntos frontales no alcanzables." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Calibrazion XYZ comprometida. Punto frontal derecho no alcanzable." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Intr. todos fil." # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Calibracion XYZ fallada. Puntos de calibracion en la base no encontrados." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "Calibracion XYZ fallada. Puntos frontales no alcanzables." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "Calibracion XYZ fallad. Punto frontal derecho no alcanzable." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Dist. en Y desde min" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "La impresora comenzara a imprimir una linea en zig-zag. Gira el dial hasta que la linea alcance la altura optima. Mira las fotos del manual (Capitulo de calibracion)." # c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "La verificacion fallo, retire el filamento e intente nuevamente." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Corregir-Y:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "atras" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "Comprobaciones" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Falsa activacion" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "Malla" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "Firmware MK3S detectado en impresora MK3" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "Modo MMU" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Cambio de modo progresando ..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "D-boquilla" # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "Codigo G laminado para un nivel diferente. ?Continuar?" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "Codigo G laminado para un nivel diferente. Por favor relamina el modelo de nuevo. Impresion cancelada." @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "Codigo G laminado para una impresora diferente. Por favor relamina el modelo de nuevo. Impresion cancelada." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "Codigo G laminado para nuevo firmware. ?Continuar?" # c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "Codigo G laminado para nuevo firmware. Por favor actualiza el firmware. Impresion cancelada." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Precalent. laminar" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Precalent. expulsar" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Diametro nozzle impresora difiere de cod.G. ?Continuar?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "Diametro nozzle Impresora difiere de cod.G. Comprueba los valores en ajustes. Impresion cancelada." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "%s nivel esperado" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Renombrar" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Seleccionar" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "Info sensor" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Lamina de acero" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Corregir-Z:" diff --git a/lang/po/new/fr.po b/lang/po/new/fr.po index 1ab9857d6..8dbbc9362 100644 --- a/lang/po/new/fr.po +++ b/lang/po/new/fr.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:21 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:21 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:51:08 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:51:08 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 ou +ancien" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS v0.3 ou +ancien" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 ou +recent" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS v0.4 ou +recent" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "Etat inconnu" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "Offset point [0;0]" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "ATTENTION:\x0aDetection de crash\x0adesactivee en\x0amode furtif" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Ajuster Z:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Tout est correct" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Tout est pret. Bonne impression!" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Ambiant" @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "et appuyez sur le bouton" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "Z~carriages gauche + droite tout en haut?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "Mise a 0 des axes" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "Autocharge du fil." # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "Chargement auto du filament uniquement si le capteur de filament est active." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "Chargement auto. du fil. active, appuyez sur le bouton et inserez le fil." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Longueur de l'axe" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "Axe" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Lit/Chauffage" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Chauffe du lit" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Reglage plateau" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Test de courroie" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Coupure detectee. Reprendre impres.?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Calib. mise a 0" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Calibrer XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Calibrer Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Calibrer" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Annuler" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Calibration de XYZ. Tournez le bouton pour faire monter l'extrudeur dans l'axe Z jusqu'aux butees. Cliquez une fois fait." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Calibration Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Calibration de Z. Tournez le bouton pour faire monter l'extrudeur dans l'axe Z jusqu'aux butees. Cliquez une fois fait." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Calibration terminee" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "Carte retiree" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Verific. fichier" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Couleur incorrecte" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Refroidissement" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Copier la langue choisie?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "Detect.crash" # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Choisissez un filament pour la Calibration de la Premiere Couche et selectionnez-le depuis le menu a l'ecran." @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Crash detecte." # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Crash detecte. Poursuivre l'impression?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Actuel" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Date:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Fait de community" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Desactiver moteurs" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "" # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Voulez-vous refaire l'etape pour reajuster la hauteur entre la buse et le plateau chauffant?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "Correct-E:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Remonter le fil." # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "Le fil. remonte" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Butee non atteinte" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "Butee" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "Butees" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Erreur - la memoire statique a ete ecrasee" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Coupeur" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Je coupe filament" # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "ERREUR: Le capteur de filament ne repond pas, verifiez le branchement." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "ERREUR:" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "Ventilo extrudeur:" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "Infos extrudeur" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "Extrudeur" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "Stat. d'echec MMU" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "F. autocharg." # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Stat. d'echec" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Filament extrude et avec bonne couleur?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Filament non charge" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Capteur de filament" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Filament utilise" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Temps d'impression" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "Fichier incomplet. Continuer qd meme?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Cal. 1ere couche" # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "D'abord, je vais lancer le Auto-test pour verifier les problemes d'assemblage les plus communs." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Corrigez le probleme et appuyez sur le bouton sur la MMU." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Flux" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Ventilo impr avant?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Avant [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Ventilos avt/gauche" # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Chauffage/Thermistor" # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Chauffage desactivee par le compteur de securite." @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Changer filament" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Changement reussi!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Change correctement?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Verif. plateau chauf" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Verification butees" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Verif. du hotend" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Verification axe Y" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Verification axe Z" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Je vais maintenant lancer la calibration XYZ. Cela prendra 12 min environ." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Je vais maintenant lancer la calibration Z." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Ecran d'info" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Inserez le filament" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Bonjour, je suis votre imprimante Original Prusa i3. Je vais vous accompagner au cours d'un bref processus de reglage, qui permettra de calibrer le Z-axis. Apres cela, tout sera pret pour imprimer." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Si vous avez d'autres feuilles d'acier, calibrez leurs pre-reglages dans Reglages - Config HW - Plaque en acier." @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Ventilo gauche?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Gauche" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Gauche [um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Correction lin." @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Ajuster Z en dir." # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Veuillez inserer le filament ( ne le chargez pas) dans l'extrudeur, puis appuyez sur le bouton." @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Charger filament" # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Charg. de la couleur" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Poulie lache" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "Charger la buse" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. Reprise de la position ..." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Rechauffage de la buse..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "Var. mesuree" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "Echecs MMU" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "Def. charg. MMU" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "Def. charg. MMU" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Reprise ..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "Firmware MK3 detecte sur imprimante MK3S" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Furtif" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "Le MMU necessite l'attention de l'utilisateur." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "Def. alim. MMU" @@ -816,7 +816,7 @@ msgid "High power" msgstr "Haut.puiss" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU2 connecte" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "Moteur" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "Deplacer l'axe" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Deplacer X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Deplacer Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Deplacer Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Pas de mouvement." # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "Pas de carte SD" @@ -866,12 +866,12 @@ msgid "No" msgstr "Non" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "Non connecte" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Nouvelle version de firmware disponible:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Ne tourne pas" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Maintenant je vais calibrer la distance entre la pointe de la buse et la surface du plateau chauffant." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Maintenant je vais prechauffer la buse pour du PLA." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Buse" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Anciens reglages trouves. Le PID, les Esteps etc. par defaut seront regles" # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Retirez maintenant l'impression de test de la plaque en acier." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "Vent. buse" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Pause de l'impr." # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "Calib. PID" # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "Calib. PID terminee" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "Calibration PID" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "Chauffe de la PINDA" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Placez une feuille de papier sous la buse pendant la calibration des 4 premiers points. Si la buse accroche le papier, eteignez vite l'imprimante." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Nettoyez plateau chauffant en acier et appuyez sur le bouton." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Nettoyez la buse pour la calibration. Cliquez une fois fait." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Verifiez:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Merci de consulter notre manuel et de corriger le probleme. Poursuivez alors l'assistant en redemarrant l'imprimante." # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Ouvrez l'idler et retirez le filament manuellement." @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Retirez immediatement le filament" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Veuillez retirer le filament puis appuyez sur le bouton." @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Retirez la plaque en acier du plateau chauffant." # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Veuillez d'abord lancer la calibration XYZ." # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Veuillez mettre a jour le firmware de votre MMU2. En attente d'un reset." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Merci de patienter" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Retirez d'abord les protections de transport." @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Prechauffez la buse!" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Prechauffage" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Prechauffage de la buse. Merci de patienter." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Mettez a jour le FW." # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Appuyez sur le bouton pour prechauffer la buse et continuer." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Impression annulee" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Chauffe pour charger" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Chauf.pour decharger" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "Vent. impr:" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Impr. depuis la SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "App. sur sur bouton" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Impression en pause" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Appuyez sur le bouton pour rechauffer la buse." @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "L'imprimante n'a pas encore ete calibree. Suivez le manuel, chapitre Premiers pas, section Processus de calibration." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "Vent. impr" # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Veuillez inserer le filament dans l'extrudeur, puis appuyez sur le bouton pour le charger." # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Veuillez inserer le filament dans le premier tube du MMU, puis appuyez sur le bouton pour le charger." # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Veuillez d'abord charger un filament." # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Arriere [um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "SVP, dechargez le filament et reessayez." # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "SVP, verifiez la connexion du capteur IR et decharge le filament." # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Recup. impression" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Retirez l'ancien filament puis appuyez sur le bouton pour charger le nouveau." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "Reinit. calib. XYZ" @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Reprise de l'impr." # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Droite [um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "Port RPi" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Lancement de l'Assistant supprimera les resultats actuels de calibration et commencera du debut. Continuer?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "Carte SD" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Droite" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Recherche point calibration du plateau" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Choisir langue" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "Auto-test OK" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Debut auto-test" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "Auto-test" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Erreur auto-test!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Echec de l'auto-test" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Le Selftest sera lance pour calibrer la remise a zero precise sans capteur" # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Selectionnez la temperature de prechauffage de la buse qui correspond a votre materiau." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Regler temp.:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Reglages" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Afficher butees" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Certains fichiers ne seront pas tries. Max 100 fichiers tries par dossier." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Heure" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Deviat.sev." @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Tri des fichiers" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "Fort" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "Deviat.leg." @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Son" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "Fins" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Probleme rencontre, cliquez sur le bouton pour niveller l'axe Z..." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "1 fois" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Vitesse" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Tourne" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Une temperature ambiante stable de 21-26C et un support stable sont requis." # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Statistiques" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "ARRETE." # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Echange" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Choix du filament:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Calib. Temp." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Selectionnez la temperature qui correspond a votre materiau." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Calibration temp." # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Echec de la calibration en temperature" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "La calibration en temperature est terminee et activee. La calibration en temperature peut etre desactivee dans le menu Reglages-> Cal. Temp." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Capteur verifie, retirez le filament maintenant." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "Il faut toujours effectuer la Calibration Z. Veuillez suivre le manuel, chapitre Premiers pas, section Processus de calibration." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Filament total" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Temps total impr." # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Regler" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Total des echecs" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "pour charger le fil." # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "pour decharger fil." @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "Totale" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Utilise pdt impr." # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Tensions" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "inconnu" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Attente utilisateur." # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "Attente du refroidissement des buse et plateau chauffant" # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "Attente du refroidissement de la sonde PINDA" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Attention: Types d'imprimante et de carte mere modifies" # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Attention: Type de carte mere modifie." # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Attention: Type d'imprimante modifie" # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Dechargement du filament reussi?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Erreur de cablage" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "Assistant" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "Details calib. XYZ" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Vous pouvez toujours relancer l'Assistant dans Calibration > Assistant." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Calibration XYZ OK. L'ecart sera corrige automatiquement." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Calibration XYZ OK. Les axes X/Y sont legerement non perpendiculaires. Bon boulot!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "Correct-X:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Calibration XYZ OK. Les axes X/Y sont perpendiculaires. Felicitations!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Calibration XYZ compromise. Les points de calibration en avant ne sont pas atteignables." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Calibration XYZ compromise. Le point de calibration avant droit n'est pas atteignable." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Charger un par un" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Echec calibration XYZ. Le point de calibration du plateau n'a pas ete trouve." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "Echec calibration XYZ. Les points de calibration en avant ne sont pas atteignables." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "Echec calibration XYZ. Le point de calibration avant droit n'est pas atteignable." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Distance Y du min" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "L'imprimante commencera a imprimer une ligne en zig-zag. Tournez le bouton jusqu'a atteindre la hauteur optimale. Consultez les photos dans le manuel (chapitre Calibration)." # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "Verification en echec, retirez le filament et reessayez." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Correct-Y:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "Retour" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "Verifications" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Faux declenchement" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "Firmware MK3S detecte sur imprimante MK3" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "Mode MMU" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Changement de mode en cours..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "Diam. buse" # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "Le G-code a ete prepare pour un niveau different. Continuer?" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "Le G-code a ete prepare pour un niveau different. Veuillez decouper le modele a nouveau. L'impression a ete annulee." @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "Le G-code a ete prepare pour une autre version de l'imprimante. Veuillez decouper le modele a nouveau. L'impression a ete annulee." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "Le G-code a ete prepare pour une version plus recente du firmware. Continuer?" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "Le G-code a ete prepare pour une version plus recente du firmware. Veuillez mettre a jour le firmware. L'impression annulee." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Chauffe pour couper" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Chauf. pour remonter" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Diametre de la buse dans les reglages ne correspond pas a celui dans le G-Code. Continuer?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "Diametre de la buse dans les reglages ne correspond pas a celui dans le G-Code. Merci de verifier le parametre dans les reglages. Impression annulee." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "niveau %s attendu" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Renommer" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Selectionner" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "Info capteur" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Plaques en acier" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Correct-Z:" diff --git a/lang/po/new/it.po b/lang/po/new/it.po index ce1c6d273..576d82bb6 100644 --- a/lang/po/new/it.po +++ b/lang/po/new/it.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:24 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:24 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:51:11 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:51:11 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 o inferiore" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS 0.3 o inferiore" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 o superiore" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS 0.4 o superiore" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "stato sconosciuto" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "[0;0] punto offset" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "ATTENZIONE:\x0aRilev. impatto\x0adisattivato in\x0aModalita silenziosa" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Compensaz. Z:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Nessun errore" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Tutto fatto. Buona stampa!" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Ambiente" @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "e cliccare manopola" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "I carrelli Z sin/des sono altezza max?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "Trova origine" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "Autocaric. filam." # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "Caricamento automatico filamento disponibile solo con il sensore attivo..." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "Caricamento automatico attivo, premi la manopola e inserisci il filam." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Lunghezza dell'asse" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "Assi" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Piano/Riscald." @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Riscald. piano" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Correz. liv.piano" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Test cinghie" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Blackout rilevato. Recuperare stampa?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Calibrazione Home" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Calibra XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Calibra Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Calibra" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Annulla" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Calibrazione XYZ. Ruotare la manopola per alzare il carrello Z fino all'altezza massima. Click per terminare." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Calibrando Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Calibrazione Z. Ruotare la manopola per alzare il carrello Z fino all'altezza massima. Click per terminare." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Calibr. completa" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "Calibrazione" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "SD rimossa" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Verifica file" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Colore non puro" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Raffredda" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Copiare la lingua selezionata?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "Rileva.crash" # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Scegli un filamento per la calibrazione del primo strato e selezionalo nel menu sullo schermo." @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Rilevato impatto." # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Scontro rilevato. Riprendere la stampa?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "Impatto" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Attuale" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Data:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Contribuiti" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Disabilita motori" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "" # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Desideri ripetere l'ultimo passaggio per migliorare la distanza fra ugello e piatto?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "Correzione-E:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Espelli fil." # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "Espellendo filamento" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Finec. fuori portata" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "Finecorsa" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "Finecorsa" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Errore - la memoria statica e' stata sovrascritta" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Tagliatr." # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Tagliando filam." # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "ERRORE: il sensore filam. non risponde,Controllare conness." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "ERRORE:" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "Ventola estrusore:" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "Info estrusore" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "Estrusore" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "Stat.fall. MMU" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "Autocar.fil." # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Stat. fallimenti" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Filamento estruso e con colore corretto?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Fil. non caricato" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Sensore filam." # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Fil. utilizzato" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Tempo di stampa" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "Azione FS" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "File incompleto. Continuare comunque?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Cal. primo strato" # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Per primo avviero l'autotest per controllare gli errori di assemblaggio piu comuni." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Risolvere il problema e premere il bottone sull'unita MMU." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Flusso" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Ventola frontale?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Fronte [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Ventola frontale/sin" # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Riscald./Termist." # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Riscaldamento fermato dal timer di sicurezza." @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Cambia filamento" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Cambio riuscito!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Cambio corretto?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Verifica piano" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Verifica finecorsa" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Verifica ugello" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Verifica asse Y" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Verifica asse Z" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "Filamento" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Adesso avviero una Calibrazione XYZ. Puo durare circa 12 min." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Adesso avviero la Calibrazione Z." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Schermata info" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Inserire filamento" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Ciao, sono la tua stampante Original Prusa i3. Ti guidero attraverso un rapido processo in cui verra calibrato l'asse Z. Poi, sarai pronto a stampare." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Se hai piastre d'acciaio aggiuntive, calibra i preset in Impostazioni - Setup HW - Piastre in Acciaio." @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Vent SX hotend?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Sinistra" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Sinistra [um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Correzione lineare" @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Compensazione Z" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Inserire filamento (senza caricarlo) nell'estrusore e premere la manopola." @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Carica filamento" # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Caricando colore" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "Iterazione" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Puleggia lenta" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "Carica ugello" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "Liv. griglia piano" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. riprendendo la posizione..." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Ripristino temperatura..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "Dev. misurata" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "Fallimenti MMU" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "Caricam. MMU fallito" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "Car MMU falliti" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Riprendendo..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "Mod." # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "Firmware MK3 rilevato su stampante MK3S" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Silenz." # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "Il MMU richiede attenzione dall'utente." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "Manc. corr. MMU" @@ -816,7 +816,7 @@ msgid "High power" msgstr "Forte" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU2 connessa" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "Motore" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "Muovi asse" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Sposta X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Sposta Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Sposta Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Nessun movimento." # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "Nessuna SD" @@ -866,12 +866,12 @@ msgid "No" msgstr "" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "Non connesso" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Nuova vers. firmware disponibile:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Non gira" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Adesso calibro la distanza fra ugello e superfice del piatto." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Adesso preriscaldero l'ugello per PLA." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Ugello" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Sono state trovate impostazioni vecchie. Verranno impostati i valori predefiniti di PID, Esteps etc." # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Ora rimuovete la stampa di prova dalla piastra in acciaio." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "Vent. estr" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Metti in pausa" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "Calibrazione PID" # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "Calib. PID completa" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "Calibrazione PID" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "Riscaldamento PINDA" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Posizionare un foglio sotto l'ugello durante la calibrazione dei primi 4 punti. In caso l'ugello muova il foglio spegnere subito la stampante." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Per favore pulisci il piatto, poi premi la manopola." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Pulire l'ugello per la calibrazione, poi fare click." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Verifica:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Per favore consulta il nostro manuale per risolvere il problema. Poi riprendi il Wizard dopo aver riavviato la stampante." # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Aprire la guida filam. e rimuovere il filam. a mano" @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Estrarre il filamento immediatamente" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Rimuovi il filamento e quindi premi la manopola." @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Rimuovete la piastra di acciaio dal piano riscaldato" # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Esegui la calibrazione XYZ prima." # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Aggiorna il firmware sul tuo MMU2. In attesa di reset." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Attendere" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Per favore rimuovete i materiali da spedizione" @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Prerisc. ugello!" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Preriscalda" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Preriscaldando l'ugello. Attendere prego." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Prego aggiornare." # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Premete la manopola per preriscaldare l'ugello e continuare." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Stampa interrotta" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Preriscald. carico" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Preriscald. scarico" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "Vent.stam:" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Stampa da SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "Premere la manopola" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Stampa in pausa" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Premete la manopola per recuperare la temperatura dell'ugello." @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "Stampante non ancora calibrata. Si prega di seguire il manuale, capitolo Primi Passi, sezione Sequenza di Calibrazione." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "Vent.stamp" # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Inserisci il filamento nell'estrusore, poi premi la manopola per caricarlo." # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Per favore inserisci il filamento nel primo tubo del MMU, poi premi la manopola per caricarlo." # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Per favore prima carica il filamento." # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Retro [um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "Scaricare prima il filamento, poi ripetere l'operazione." # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Controllare il collegamento al sensore e rimuovere il filamento." # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Recupero stampa" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Rimuovi il filamento precedente e premi la manopola per caricare il nuovo filamento." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "Reset calibr. XYZ." @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Riprendi stampa" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Destra [um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "Porta RPi" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Se avvi il Wizard perderai la calibrazione preesistente e dovrai ricominciare dall'inizio. Continuare?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "Mem. SD" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Destra" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Ricerca punti calibrazione piano" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Seleziona lingua" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "Autotest OK" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Avvia autotest" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "Autotest" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Errore Autotest!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Autotest fallito" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Verra effettuato un self test per calibrare l'homing senza sensori" # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Selezionate la temperatura per il preriscaldamento dell'ugello adatta al vostro materiale." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Imposta temperatura:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Impostazioni" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Stato finecorsa" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Alcuni file non saranno ordinati. Il numero massimo di file in una cartella e 100 perche siano ordinati." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Cron." # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Devia.grave" @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "Alfabeti" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Ordinando i file" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "Forte" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "Devia.lieve" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Suono" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "Esaurim" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Sono stati rilevati problemi, avviato livellamento Z ..." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "Singolo" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Velocita" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Gira" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Sono necessari una temperatura ambiente di 21-26C e una superficie rigida." # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Statistiche" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "ARRESTATO." # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "Supporto" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Scambiato" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Seleziona il filam.:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Calib. temp." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Seleziona la temperatura appropriata per il tuo materiale." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Calib. Temp." # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Calibrazione temperatura fallita" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "Calibrazione temperatura completata e attiva. Puo essere disattivata dal menu Impostazioni ->Cal. Temp." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Sensore verificato, rimuovere il filamento." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "Temperatura" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "Temperature" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "E ancora necessario effettuare la calibrazione Z. Segui il manuale, capitolo Primi Passi, sezione Sequenza di Calibrazione." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Filamento totale" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Tempo stampa totale" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Regola" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Totale fallimenti" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "per caricare il fil." # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "per scaricare fil." @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "Totale" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Usati nella stampa" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Voltaggi" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "sconosciuto" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Attendendo utente..." # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "In attesa del raffreddamento dell'ugello e del piano" # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "In attesa del raffreddamento della sonda PINDA" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Attenzione: tipo di stampante e di scheda madre cambiati." # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Avviso: tipo di scheda madre cambiato" # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Avviso: tipo di stampante cambiato." # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Filamento scaricato con successo?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Errore cablaggio" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "XYZ Cal. dettagli" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "E possibile riprendere il Wizard in qualsiasi momento attraverso Calibrazione -> Wizard." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Calibrazione XYZ corretta. La distorsione verra compensata automaticamente." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Calibrazion XYZ corretta. Assi X/Y leggermente storti. Ben fatto!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "Correzione-X:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Calibrazione XYZ OK. Gli assi X/Y sono perpendicolari. Complimenti!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Calibrazione XYZ compromessa. Punti anteriori non raggiungibili." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Calibrazione XYZ compromessa. Punto anteriore destro non raggiungibile." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Caricare tutti" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Calibrazione XYZ fallita. Il punto di calibrazione sul piano non e' stato trovato." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "Calibrazione XYZ fallita. Punti anteriori non raggiungibili." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "Calibrazione XYZ fallita. Punto anteriore destro non raggiungibile." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Distanza Y dal min" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "La stampante iniziera a stampare una linea a zig-zag. Gira la manopola fino a che non hai raggiungo l'altezza ottimale. Verifica con le immagini nel manuale (capitolo sulla calibrazione)." # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "Verifica fallita, rimuovere il filamento e riprovare." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Correzione-Y:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "Indietro" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "Controlli" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Falso innesco" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "Griglia" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "Firmware MK3S rilevato su stampante MK3" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "Mod. MMU" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Cambio modalita in corso..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "Dia.Ugello" # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "G-code processato per un livello diverso. Continuare?" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "G-code processato per un livello diverso. Per favore esegui nuovamente lo slice del modello. Stampa annullata." @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "G-code processato per una stampante diversa. Per favore esegui nuovamente lo slice del modello. Stampa annullata." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-code processato per un firmware piu recente. Continuare?" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "G-code processato per un firmware piu recente. Per favore aggiorna il firmware. Stampa annullata." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Preriscalda. taglio" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Preriscalda. espuls." # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Diametro ugello diverso da G-Code. Continuare?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "Diametro ugello diverso dal G-Code. Controlla il valore nelle impostazioni. Stampa annullata." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "atteso livello %s" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Rinomina" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Seleziona" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "Info Sensore" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Piani d'acciaio" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Correzione-Z:" diff --git a/lang/po/new/nl.po b/lang/po/new/nl.po index 6cd87365b..17f9edb53 100644 --- a/lang/po/new/nl.po +++ b/lang/po/new/nl.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: nl\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:31 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:31 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:51:18 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:51:18 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 of ouder" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS 0.3 of ouder" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 of nieuwer" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS 0.4 of nieuwer" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "Status onbekend" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "[0;0] punt offset" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "WARNING:\x0aCrashdetectie\x0auitgeschakeld in\x0aStealth stand" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Z is ingesteld:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Allemaal goed" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Klaar. Happy printing!" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Kamertemp." @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "en druk op knop" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "Zijn beide Z wagen heelemaal boven?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "Startpositie" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "Autoladen filament" # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "Auto. laden van fil. is enkel beschikbaar wanneer fil.sensor is ingeschakeld..." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "Automatisch laden van flament is actief, druk de knop en laad filament..." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Aslengte" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "As" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Bed/Verwarming" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Bed opwarmen" # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Bed niveau correct" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Riemtest" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Stroomstoring. Print herstellen?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Kalibreren start" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Kalibratie XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Kalibratie Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Kalibreren" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Annuleren" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Kalibreren van XYZ. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Druk knop als klaar." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Kalibrere Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Kalibreren van Z. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Druk knop als klaar." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Kalibratie klaar" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "Kalibratie" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "SD verwijderd" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Bestand controle" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Kleur niet juist" @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Afkoelen" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Geselecteerde taal kopieren?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "Crashdet." # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Kies een filament voor de kalibratie van de eerste laag en selecteer deze in het schermmenu." @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Crash gedetecteerd." # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Crash gedetecteerd. Print voorzetten?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Actueel" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Datum:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Van de community" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Motoren uit" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "Door." # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Wilt u de laatste stap herhalen om de afstand tussen de tuit en de bed opnieuw in te stellen?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "E-correctie:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Fil. uitwerpen" # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "Fil. word ontladen" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Endstop niet geraakt" # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "Eindstop" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "Eindstops" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Fout - het statische geheugen is overschreven" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Mes" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Knippe filament" # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "FOUT: Filamentsensor reageert niet, controleer de verbinding." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "FOUT:" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "MMU-Fouten" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "F. autoladen" # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Foutstatistieken" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Filament extrudeert met de juiste kleur?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Fil. niet geladen" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Filamentsensor" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Gebruikte filament" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Print tijd" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "FS actie" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "Bestand onvolledig. Toch doorgaan?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Eerste laag kal." # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Ten eerste zullen we de zelftest uitvoeren om de meest voorkomende montageproblemen te controleren." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Los het probleem op en druk vervolgens op de knop op de MMU-eenheid." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Stromen" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Voorzijde fan?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Voorkant [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Fans voor/links" # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Verwarmer/Therm." # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Verwarming uitgeschakeld door veiligheidstimer." @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Wissel filament" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Wissel geslaagd!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Wissel ok?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Controleer bed" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Controleer endstops" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Controleer hotend" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Controleer Y as" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Controleer Z as" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Begin nu met xyz-kalibratie. Het duurt ongeveer 12 min." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Begin nu met z-kalibratie." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Info scherm" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Voer filament in" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Hallo, ik ben je originele Prusa i3-printer. Ik zal je door een snel instellingsproces leiden dat de Z-as zal kalibreren. Dan ben je klaar om te printen." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Als u extra staalplaten hebt, kalibreert u hun voorinstellingen in Instellingen - HW Setup - Staalplaten." @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Linker hotend fan?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Links" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Linkerkant[um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Lineaire correctie" @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Live Z aanpassen" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Steek a.u.b. filament (maar niet laden) in de extruder en druk op knop." @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Filament laden" # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Laden kleur" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "Iteratie" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Losse riemschijf" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "Tot tuit laden" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "Mesh bed Leveling" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. Positie hervatten..." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Temperatuur hervatten..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "Scheefheid" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "MMU fout" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "MMU laden mislukt" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "MMU laadfout" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Hervatten..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "Stand" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "MK3-firmware bij MK3S-printer gedetecteerd" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Stil" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "MMU heeft gebruikersaandacht nodig." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "MMU stroomstor." @@ -816,7 +816,7 @@ msgid "High power" msgstr "Hoog verm." # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU2 verbonden" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "As verplaatsen" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Verplaats X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Verplaats Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Verplaats Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Geen beweging." # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "Geen SD kaart" @@ -866,12 +866,12 @@ msgid "No" msgstr "Nee" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "Niet verbonden" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Nieuwe firmware versie beschikbaar:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Beweegt niet" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Begin met kalibratie tussen de tuit en het bed." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Opwarmen van de tuit voor PLA voor." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Tuit" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Oude instellingen gevonden. Standaard PID, E-steps etc. instellingen worden geladen." # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Verwijder nu de testprint van staalplaat." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "Tuit fan" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Print pauzeren" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "PID kal." # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "PID kalibratie klaar" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "PID kalibratie" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "PINDA opwarmen" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Leg een vel papier onder de tuit tijdens de kalibratie van de eerste 4 punten. Als de tuit het papier beweegt, de printer onmiddellijk uitschakelen." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Maak het bed schoon en druk op de knop." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Reinig de tuit voor de kalibratie. Druk op de knop wanneer gereed." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Controleer aub:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Controleer aub ons handboek en los het probleem op. Hervat vervolgens de wizard door de printer opnieuw te starten." # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Open rondsel en verwijder filament handmatig." @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Trek onmiddellijk de filament eruit" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Trek onmiddellijk filament eruit en druk vervolgens op de knop." @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Verwijder staalplaat van het bed." # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Voer eerst de XYZ-kalibratie uit." # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Aub de firmware te vernieuwen in uw MMU2. Wacht op reset." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Even geduld aub" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Verwijder eerst de transport beschermers." @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Tuit voorverwarmen!" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Voorverwarmen" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Opwarmen van de tuit. Wacht aub." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Voer een upgrade uit" # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Druk op de knop om de tuit voor te verwarmen en door te gaan." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Print afgebroken" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Opwarmen invoeren" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Opwarmen uitwerpen" # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Print van SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "Druk op knop" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Print pauzeren" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Druk op de knop om de temperatuur van de tuit te hervatten." @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "Printer is nog niet gekalibreerd. Volg de handleiding, hoofdstuk First steps, sectie Calibration flow." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "" # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Steek a.u.b. filament in de extruder en druk op de knop om het te laden." # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Steek a.u.b. filament in de eerste buis van de MMU en druk op de knop om het te laden." # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Laad a.u.b. eerst filament." # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Achterkant[um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "Verwijder eerst het filament en probeer het opnieuw." # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "AUB IR sensor ver- binding kontrolleren , verwijder filament indien aanwezig." # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Print herstellen" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Verwijder de oude filament en druk op de knop om nieuwe filament te laden." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "Reset XYZ kalibr." @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Hervatten print" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Recht.kant[um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Starten van de Wizard verwijdert de huidige kalibreringsresultaten en begint vanaf het begin. Doorgaan?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "SD kaart" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Rechts" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Zoeken bed kalibratiepunt" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Kies taal" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "Zelftest OK" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Zelftest start" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "Zelftest" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Zelftest fout!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Zelftest mislukt" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Zelftest zal worden uitgevoerd om nauwkeurige sensorloze auto positie te kalibreren." # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Selecteer de voorverwarmingstemperatuur van de tuit die overeenkomt met uw materiaal." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Temp. instellen:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Instellingen" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Toon endstops" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Sommige bestanden worden niet gesorteerd omdat het maximum aantal bestanden per map 100 is." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Tijd" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Erg scheef" @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "Alfabet" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Bestanden sorteren" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "Hard" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "Beetje scheef" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Geluid" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "Fouten" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Er is een probleem opgetreden, Z-kalibratie afgedwongen ..." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "Eenmaal" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Snelheid" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Draait" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "En stabiele 21-26C omgevingstemperatuur is nodig,een stevige stand is vereist." # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Statistieken" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "GESTOPT." # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Gewisseld" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Kies filament:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Tempkalib." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Selecteer de temperatuur die overeenkomt met uw materiaal." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Tempkalibratie" # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Temperatuurkalibratie mislukt" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "Temperatuurkalibratie kan uitgeschakeld worden in het menu Instellingen-> Tempkalibratie." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Sensor geverifieerd, verwijder nu het filament." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "Temperatuur" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "Temperaturen" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "Er is nog steeds een noodzaak om de Z-kalibratie uit te voeren. Volg de handleiding, hoofdstuk First steps, section Calibration flow." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Totaal fil." # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Totaal printtijd" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Fijnafstemming" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Totaal fouten" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "om filament te laden" # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "om fil. uitwerpen" @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "Totaal" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Gebruikt bij print" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Spanning" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "onbekend" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Wacht op gebruiker.." # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "Wachten op afkoelen van tuit en bed" # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "Wachten op afkoelen van PINDA" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Waarschuwing: zowel het printertype als het moederbordtype is gewijzigd." # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Waarschuwing: type moederbord gewijzigd." # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Waarschuwing: printertype gewijzigd." # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Is filament succes- vol verwijderd?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Aansluitingsfout" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "Wizard" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "XYZ kal. details" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "U kunt de wizard altijd hervatten via Kalibratie -> Wizard." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "XYZ-kalibratie in orde. Scheefheid zal automatisch worden gecorrigeerd." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "XYZ-kalibratie in orde. X / Y-assen zijn licht scheef. Goed gedaan!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "Time-out" # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "X-correctie:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "XYZ-kalibratie ok. X / Y-assen staan loodrecht. Gefeliciteerd!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "XYZ-kalibratie niet gelukt. Voorste kalibratiepunten niet bereikbaar." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "XYZ-kalibratie niet gelukt. Rechter voor kalibratiepunt niet bereikbaar." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Laad alle" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "XYZ-kalibratie mislukt. Bed ijkpunt niet gevonden." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "XYZ-kalibratie mislukt. Voorste kalibratiepunten niet bereikbaar." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "XYZ-kalibratie mislukt. Rechter voor kalibratiepunt niet bereikbaar." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Y afstand van min" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "De printer begint een zigzaglijn printen. Draai aan de knop totdat je de optimale hoogte hebt bereikt. Bekijk de afbeeldingen in de handleiding (Calibration chapter)." # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "Verificatie mislukt, verwijder het filament en probeer het opnieuw." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Y-correctie:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "terug" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Valse triggering" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "MK3S-firmware op MK3-printer ontdekt" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "MMU Mod" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Moduswijziging bezig..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "Tuit d." # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "G-Code is voor een ander niveau geslict. Doorgaan?" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "G-Code is voor een ander niveau geslict. Slice het model opniew alsjeblieft. Druk geannuleerd." @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "G-Code is voor een ander printertype geslict. Slice het model opniew alsjeblieft. Druk geannuleerd." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-Code is voor een nieuwere firmware geslict. Doorgaan?" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "G-Code is voor een nieuwere firmware geslict. Update de firmware alsjeblieft. Druk geannuleerd." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Opwarm. te snijden" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Opwarm.te uitwerpen" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "De diameter van de tuit van de printer verschilt van de G-code. Doorgaan?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "De diameter van de tuit van de printer verschilt van de G-code. Controleer de waarde in de instellingen. Afdrukken geannuleerd." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "%s niveau verwacht" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Hernoem" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Selecteer" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Staalplaten" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Z-correctie:" diff --git a/lang/po/new/pl.po b/lang/po/new/pl.po index ee5935099..1d6887f1d 100644 --- a/lang/po/new/pl.po +++ b/lang/po/new/pl.po @@ -7,8 +7,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Project-Id-Version: Prusa-Firmware\n" -"POT-Creation-Date: Do 29. Apr 15:37:27 CEST 2021\n" -"PO-Revision-Date: Do 29. Apr 15:37:27 CEST 2021\n" +"POT-Creation-Date: Thu 16 Dec 2021 11:51:14 AM CET\n" +"PO-Revision-Date: Thu 16 Dec 2021 11:51:14 AM CET\n" "Language-Team: \n" "X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -21,7 +21,7 @@ msgid " 0.3 or older" msgstr " 0.3 lub starszy" # MSG_FS_V_03_OR_OLDER c=18 -#: Marlin_main.cpp:9678 +#: Marlin_main.cpp:9884 msgid "FS v0.3 or older" msgstr "FS 0.3 lub starszy" @@ -31,7 +31,7 @@ msgid " 0.4 or newer" msgstr " 0.4 lub nowszy" # MSG_FS_V_04_OR_NEWER c=18 -#: Marlin_main.cpp:9677 +#: Marlin_main.cpp:9883 msgid "FS v0.4 or newer" msgstr "FS 0.4 lub nowszy" @@ -41,7 +41,7 @@ msgid "unknown state" msgstr "Stan nieznany" # MSG_MEASURED_OFFSET c=20 -#: ultralcd.cpp:2834 +#: ultralcd.cpp:2913 msgid "[0;0] point offset" msgstr "[0;0] przesun.punktu" @@ -56,12 +56,12 @@ msgid "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode" msgstr "UWAGA:\x0aWykrywanie zderzen\x0awylaczone w\x0atrybie Stealth" # MSG_BABYSTEPPING_Z c=15 -#: ultralcd.cpp:2955 +#: ultralcd.cpp:3034 msgid "Adjusting Z:" msgstr "Ustawianie Z:" # MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ultralcd.cpp:8430 +#: ultralcd.cpp:8490 msgid "All correct" msgstr "Wszystko OK" @@ -71,7 +71,7 @@ msgid "All is done. Happy printing!" msgstr "Gotowe. Udanego drukowania!" # MSG_AMBIENT c=14 -#: ultralcd.cpp:1724 +#: ultralcd.cpp:1727 msgid "Ambient" msgstr "Otoczenie" @@ -81,12 +81,12 @@ msgid "Auto" msgstr "" # MSG_PRESS c=20 r=2 -#: ultralcd.cpp:2406 +#: ultralcd.cpp:2485 msgid "and press the knob" msgstr "i nacisnij pokretlo" # MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ultralcd.cpp:3276 +#: ultralcd.cpp:3355 msgid "Are left and right Z~carriages all up?" msgstr "Obydwa konce osi sa na szczycie?" @@ -96,32 +96,32 @@ msgid "Auto home" msgstr "Auto zerowanie" # MSG_AUTOLOAD_FILAMENT c=18 -#: ultralcd.cpp:6653 +#: ultralcd.cpp:6732 msgid "AutoLoad filament" msgstr "Autoladowanie fil." # MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ultralcd.cpp:4238 +#: ultralcd.cpp:4317 msgid "Autoloading filament available only when filament sensor is turned on..." msgstr "Autoladowanie fil. dostepne tylko gdy czujnik filamentu jest wlaczony..." # MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ultralcd.cpp:2569 +#: ultralcd.cpp:2648 msgid "Autoloading filament is active, just press the knob and insert filament..." msgstr "Autoladowanie filamentu wlaczone, nacisnij pokretlo i wsun filament..." # MSG_SELFTEST_AXIS_LENGTH c=20 -#: ultralcd.cpp:8113 +#: ultralcd.cpp:8173 msgid "Axis length" msgstr "Dlugosc osi" # MSG_SELFTEST_AXIS c=16 -#: ultralcd.cpp:8114 +#: ultralcd.cpp:8174 msgid "Axis" msgstr "Os" # MSG_SELFTEST_BEDHEATER c=20 -#: ultralcd.cpp:8071 +#: ultralcd.cpp:8131 msgid "Bed/Heater" msgstr "Stol/Grzanie" @@ -136,12 +136,12 @@ msgid "Bed Heating" msgstr "Grzanie stolu.." # MSG_BED_CORRECTION_MENU c=18 -#: ultralcd.cpp:5719 +#: ultralcd.cpp:5798 msgid "Bed level correct" msgstr "Korekta stolu" # MSG_BELTTEST c=18 -#: ultralcd.cpp:5699 +#: ultralcd.cpp:5778 msgid "Belt test" msgstr "Test paskow" @@ -176,12 +176,12 @@ msgid "Blackout occurred. Recover print?" msgstr "Wykryto zanik napiecia.Kontynowac?" # MSG_CALIBRATING_HOME c=20 -#: ultralcd.cpp:8432 +#: ultralcd.cpp:8492 msgid "Calibrating home" msgstr "Zerowanie osi" # MSG_CALIBRATE_BED c=18 -#: ultralcd.cpp:5708 +#: ultralcd.cpp:5787 msgid "Calibrate XYZ" msgstr "Kalibracja XYZ" @@ -191,7 +191,7 @@ msgid "Calibrate Z" msgstr "Kalibruj Z" # MSG_CALIBRATE_PINDA c=17 -#: ultralcd.cpp:4450 +#: ultralcd.cpp:4529 msgid "Calibrate" msgstr "Kalibruj" @@ -201,7 +201,7 @@ msgid ">Cancel" msgstr ">Anuluj" # MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Kalibracja XYZ. Przekrec pokretlo, aby przesunac os Z do gornych ogranicznikow. Nacisnij, by potwierdzic." @@ -211,12 +211,12 @@ msgid "Calibrating Z" msgstr "Kalibruje Z" # MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ultralcd.cpp:3239 +#: ultralcd.cpp:3318 msgid "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." msgstr "Kalibracja XYZ. Przekrec pokretlo, aby przesunac os Z do gornych ogranicznikow. Nacisnij, by potwierdzic." # MSG_HOMEYZ_DONE c=20 -#: ultralcd.cpp:652 +#: ultralcd.cpp:656 msgid "Calibration done" msgstr "Kalibracja OK" @@ -226,17 +226,17 @@ msgid "Calibration" msgstr "Kalibracja" # MSG_SD_REMOVED c=20 -#: ultralcd.cpp:8869 +#: ultralcd.cpp:8939 msgid "Card removed" msgstr "Karta wyjeta" # MSG_CHECKING_FILE c=17 -#: ultralcd.cpp:8520 +#: ultralcd.cpp:8580 msgid "Checking file" msgstr "Sprawdzanie pliku" # MSG_NOT_COLOR c=19 -#: ultralcd.cpp:2486 +#: ultralcd.cpp:2565 msgid "Color not correct" msgstr "Kolor zanieczysz." @@ -246,7 +246,7 @@ msgid "Cooldown" msgstr "Chlodzenie" # MSG_COPY_SEL_LANG c=20 r=3 -#: ultralcd.cpp:4356 +#: ultralcd.cpp:4435 msgid "Copy selected language?" msgstr "Skopiowac wybrany jezyk?" @@ -256,7 +256,7 @@ msgid "Crash det." msgstr "Wykr.zderzen" # MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 -#: ultralcd.cpp:4763 +#: ultralcd.cpp:4842 msgid "Choose a filament for the First Layer Calibration and select it in the on-screen menu." msgstr "Wybierz filament do Kalibracji Pierwszej Warstwy i potwierdz w menu ekranowym." @@ -266,7 +266,7 @@ msgid "Crash detected." msgstr "Zderzenie wykryte" # MSG_CRASH_RESUME c=20 r=3 -#: Marlin_main.cpp:645 +#: Marlin_main.cpp:651 msgid "Crash detected. Resume print?" msgstr "Wykryto zderzenie. Wznowic druk?" @@ -276,12 +276,12 @@ msgid "Crash" msgstr "Zderzen" # MSG_CURRENT c=19 -#: ultralcd.cpp:5850 +#: ultralcd.cpp:5929 msgid "Current" msgstr "Aktualne" # MSG_DATE c=17 -#: ultralcd.cpp:1927 +#: ultralcd.cpp:1985 msgid "Date:" msgstr "Data:" @@ -291,7 +291,7 @@ msgid "Community made" msgstr "Od spolecznosci" # MSG_DISABLE_STEPPERS c=18 -#: ultralcd.cpp:5599 +#: ultralcd.cpp:5678 msgid "Disable steppers" msgstr "Wylacz silniki" @@ -306,12 +306,12 @@ msgid "Cont." msgstr "Kont." # MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ultralcd.cpp:4942 +#: ultralcd.cpp:5021 msgid "Do you want to repeat last step to readjust distance between nozzle and heatbed?" msgstr "Chcesz powtorzyc ostatni krok i ponownie ustawic odleglosc miedzy dysza a stolikiem?" # MSG_EXTRUDER_CORRECTION c=13 -#: ultralcd.cpp:5011 +#: ultralcd.cpp:5090 msgid "E-correct:" msgstr "Korekcja-E:" @@ -321,27 +321,27 @@ msgid "Eject filament" msgstr "Wysun filament" # MSG_EJECTING_FILAMENT c=20 -#: mmu.cpp:1414 +#: mmu.cpp:1415 msgid "Ejecting filament" msgstr "Wysuwanie filamentu" # MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ultralcd.cpp:8089 +#: ultralcd.cpp:8149 msgid "Endstop not hit" msgstr "Krancowka nie aktyw." # MSG_SELFTEST_ENDSTOP c=16 -#: ultralcd.cpp:8084 +#: ultralcd.cpp:8144 msgid "Endstop" msgstr "Krancowka" # MSG_SELFTEST_ENDSTOPS c=20 -#: ultralcd.cpp:8075 +#: ultralcd.cpp:8135 msgid "Endstops" msgstr "Krancowki" # MSG_STACK_ERROR c=20 r=4 -#: ultralcd.cpp:6688 +#: msgid "Error - static memory has been overwritten" msgstr "Blad - pamiec statyczna zostala nadpisana" @@ -356,12 +356,12 @@ msgid "Cutter" msgstr "Nozyk" # MSG_MMU_CUTTING_FIL c=18 -#: mmu.cpp:1386 +#: mmu.cpp:1387 msgid "Cutting filament" msgstr "Obcinanie fil." # MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ultralcd.cpp:4251 +#: ultralcd.cpp:4330 msgid "ERROR: Filament sensor is not responding, please check connection." msgstr "BLAD: Czujnik filamentu nie odpowiada, sprawdz polaczenie." @@ -376,12 +376,12 @@ msgid "ERROR:" msgstr "BLAD:" # MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 -#: ultralcd.cpp:8438 +#: ultralcd.cpp:8498 msgid "Extruder fan:" msgstr "WentHotend:" # MSG_INFO_EXTRUDER c=18 -#: ultralcd.cpp:1982 +#: ultralcd.cpp:2040 msgid "Extruder info" msgstr "Ekstruder - info" @@ -391,7 +391,7 @@ msgid "Extruder" msgstr "Ekstruder" # MSG_MMU_FAIL_STATS c=18 -#: ultralcd.cpp:6675 +#: ultralcd.cpp:6754 msgid "Fail stats MMU" msgstr "Bledy MMU" @@ -401,7 +401,7 @@ msgid "F. autoload" msgstr "Autolad. fil." # MSG_FAIL_STATS c=18 -#: ultralcd.cpp:6672 +#: ultralcd.cpp:6751 msgid "Fail stats" msgstr "Statystyki bledow" @@ -436,7 +436,7 @@ msgid "Filament extruding & with correct color?" msgstr "Filament wychodzi z dyszy,kolor jest ok?" # MSG_NOT_LOADED c=19 -#: ultralcd.cpp:2485 +#: ultralcd.cpp:2564 msgid "Filament not loaded" msgstr "Fil. nie zaladowany" @@ -446,12 +446,12 @@ msgid "Filament sensor" msgstr "Czujnik filamentu" # MSG_FILAMENT_USED c=19 -#: ultralcd.cpp:2634 +#: ultralcd.cpp:2713 msgid "Filament used" msgstr "Uzyty filament" # MSG_PRINT_TIME c=19 -#: ultralcd.cpp:2635 +#: ultralcd.cpp:2714 msgid "Print time" msgstr "Czas druku" @@ -461,7 +461,7 @@ msgid "FS Action" msgstr "Akcja FS" # MSG_FILE_INCOMPLETE c=20 r=3 -#: ultralcd.cpp:8572 +#: ultralcd.cpp:8634 msgid "File incomplete. Continue anyway?" msgstr "Plik niekompletny. Kontynowac?" @@ -476,17 +476,17 @@ msgid "First layer cal." msgstr "Kal. 1. warstwy" # MSG_WIZARD_SELFTEST c=20 r=8 -#: ultralcd.cpp:4863 +#: ultralcd.cpp:4942 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Najpierw wlacze selftest w celu sprawdzenia najczestszych problemow podczas montazu." # MSG_MMU_FIX_ISSUE c=20 r=4 -#: mmu.cpp:726 +#: mmu.cpp:727 msgid "Fix the issue and then press button on MMU unit." msgstr "Rozwiaz problem i wcisnij przycisk na MMU." # MSG_FLOW c=15 -#: ultralcd.cpp:6815 +#: ultralcd.cpp:6888 msgid "Flow" msgstr "Przeplyw" @@ -496,22 +496,22 @@ msgid "Front print fan?" msgstr "Przedni went. druku?" # MSG_BED_CORRECTION_FRONT c=14 -#: ultralcd.cpp:3037 +#: ultralcd.cpp:3116 msgid "Front side[um]" msgstr "Przod [um]" # MSG_SELFTEST_FANS c=20 -#: ultralcd.cpp:8119 +#: ultralcd.cpp:8179 msgid "Front/left fans" msgstr "Przedni/lewy wentyl." # MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ultralcd.cpp:8067 +#: ultralcd.cpp:8127 msgid "Heater/Thermistor" msgstr "Grzalka/Termistor" # MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: Marlin_main.cpp:9668 +#: Marlin_main.cpp:9874 msgid "Heating disabled by safety timer." msgstr "Grzanie wylaczone przez wyl. czasowy" @@ -536,12 +536,12 @@ msgid "Change filament" msgstr "Wymiana filamentu" # MSG_CHANGE_SUCCESS c=20 -#: ultralcd.cpp:2415 +#: ultralcd.cpp:2494 msgid "Change success!" msgstr "Wymiana ok!" # MSG_CORRECTLY c=20 -#: ultralcd.cpp:2483 +#: ultralcd.cpp:2562 msgid "Changed correctly?" msgstr "Wymiana ok?" @@ -551,12 +551,12 @@ msgid "Checking bed" msgstr "Kontrola stolu" # MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ultralcd.cpp:8421 +#: ultralcd.cpp:8481 msgid "Checking endstops" msgstr "Kontrola krancowek" # MSG_SELFTEST_CHECK_HOTEND c=20 -#: ultralcd.cpp:8427 +#: ultralcd.cpp:8487 msgid "Checking hotend" msgstr "Kontrola hotendu" @@ -576,7 +576,7 @@ msgid "Checking Y axis" msgstr "Kontrola osi Y" # MSG_SELFTEST_CHECK_Z c=20 -#: ultralcd.cpp:8424 +#: ultralcd.cpp:8484 msgid "Checking Z axis" msgstr "Kontrola osi Z" @@ -596,12 +596,12 @@ msgid "Filament" msgstr "" # MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ultralcd.cpp:4872 +#: ultralcd.cpp:4951 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Przeprowadze teraz kalibracje XYZ. Zajmie ok. 12 min." # MSG_WIZARD_Z_CAL c=20 r=8 -#: ultralcd.cpp:4880 +#: ultralcd.cpp:4959 msgid "I will run z calibration now." msgstr "Przeprowadze kalibracje Z." @@ -611,7 +611,7 @@ msgid "Info screen" msgstr "Ekran informacyjny" # MSG_INSERT_FILAMENT c=20 -#: ultralcd.cpp:2403 +#: ultralcd.cpp:2482 msgid "Insert filament" msgstr "Wprowadz filament" @@ -636,7 +636,7 @@ msgid "Hi, I am your Original Prusa i3 printer. I will guide you through a short msgstr "Czesc, jestem Twoja drukarka Original Prusa i3. Przeprowadze Cie przez krotka kalibracje osi Z, po ktorej mozesz rozpoczac drukowanie." # MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ultralcd.cpp:4950 +#: ultralcd.cpp:5029 msgid "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." msgstr "Jesli masz dodatkowe plyty stalowe, to skalibruj ich ustawienia w menu Ustawienia - Ustawienia HW - Plyty stalowe." @@ -651,17 +651,17 @@ msgid "Left hotend fan?" msgstr "Lewy went hotendu?" # MSG_LEFT c=10 -#: ultralcd.cpp:2765 +#: ultralcd.cpp:2844 msgid "Left" msgstr "Lewa" # MSG_BED_CORRECTION_LEFT c=14 -#: ultralcd.cpp:3035 +#: ultralcd.cpp:3114 msgid "Left side [um]" msgstr "Lewo [um]" # MSG_LIN_CORRECTION c=18 -#: ultralcd.cpp:5623 +#: ultralcd.cpp:5702 msgid "Lin. correction" msgstr "Korekcja liniowa" @@ -671,7 +671,7 @@ msgid "Live adjust Z" msgstr "Ustaw. Live Z" # MSG_INSERT_FIL c=20 r=6 -#: ultralcd.cpp:7320 +#: ultralcd.cpp:7380 msgid "Insert the filament (do not load it) into the extruder and then press the knob." msgstr "Wsun filament (nie uzywaj funkcji ladowania) do ekstrudera i nacisnij pokretlo." @@ -681,7 +681,7 @@ msgid "Load filament" msgstr "Ladowanie fil." # MSG_LOADING_COLOR c=20 -#: ultralcd.cpp:2437 +#: ultralcd.cpp:2516 msgid "Loading color" msgstr "Czyszcz. koloru" @@ -696,12 +696,12 @@ msgid "Iteration" msgstr "Iteracja" # MSG_LOOSE_PULLEY c=20 -#: ultralcd.cpp:8107 +#: ultralcd.cpp:8167 msgid "Loose pulley" msgstr "Luzne kolo pasowe" # MSG_LOAD_TO_NOZZLE c=18 -#: ultralcd.cpp:6638 +#: ultralcd.cpp:6717 msgid "Load to nozzle" msgstr "Zaladuj do dyszy" @@ -736,17 +736,17 @@ msgid "Mesh Bed Leveling" msgstr "Poziomowanie stolu" # MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: mmu.cpp:764 +#: mmu.cpp:765 msgid "MMU OK. Resuming position..." msgstr "MMU OK. Wznawianie pozycji." # MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: mmu.cpp:757 +#: mmu.cpp:758 msgid "MMU OK. Resuming temperature..." msgstr "MMU OK. Wznawiam nagrzewanie..." # MSG_MEASURED_SKEW c=14 -#: ultralcd.cpp:2806 +#: ultralcd.cpp:2885 msgid "Measured skew" msgstr "Zmierz. skos" @@ -756,7 +756,7 @@ msgid "MMU fails" msgstr "Bledy MMU" # MSG_MMU_LOAD_FAILED c=20 -#: mmu.cpp:1586 +#: mmu.cpp:1587 msgid "MMU load failed" msgstr "Blad ladowania MMU" @@ -766,7 +766,7 @@ msgid "MMU load fails" msgstr "Bledy lad. MMU" # MSG_MMU_OK_RESUMING c=20 r=4 -#: mmu.cpp:775 +#: mmu.cpp:776 msgid "MMU OK. Resuming..." msgstr "MMU OK. Wznawianie..." @@ -776,7 +776,7 @@ msgid "Mode" msgstr "Tryb" # MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: Marlin_main.cpp:876 +#: Marlin_main.cpp:882 msgid "MK3 firmware detected on MK3S printer" msgstr "Wykryto firmware MK3 w drukarce MK3S" @@ -791,12 +791,12 @@ msgid "Silent" msgstr "Cichy" # MSG_MMU_USER_ATTENTION c=20 r=3 -#: mmu.cpp:721 +#: mmu.cpp:722 msgid "MMU needs user attention." msgstr "MMU wymaga uwagi uzytkownika." # MSG_MMU_POWER_FAILS c=15 -#: ultralcd.cpp:1514 +#: ultralcd.cpp:1517 msgid "MMU power fails" msgstr "Zaniki zas. MMU" @@ -816,7 +816,7 @@ msgid "High power" msgstr "Wysoka wyd" # MSG_MMU_CONNECTED c=18 -#: ultralcd.cpp:1939 +#: ultralcd.cpp:1997 msgid "MMU2 connected" msgstr "MMU podlaczone" @@ -826,32 +826,32 @@ msgid "Motor" msgstr "Silnik" # MSG_MOVE_AXIS c=18 -#: ultralcd.cpp:5598 +#: ultralcd.cpp:5677 msgid "Move axis" msgstr "Ruch osi" # MSG_MOVE_X c=18 -#: ultralcd.cpp:4154 +#: ultralcd.cpp:4233 msgid "Move X" msgstr "Ruch osi X" # MSG_MOVE_Y c=18 -#: ultralcd.cpp:4155 +#: ultralcd.cpp:4234 msgid "Move Y" msgstr "Ruch osi Y" # MSG_MOVE_Z c=18 -#: ultralcd.cpp:4156 +#: ultralcd.cpp:4235 msgid "Move Z" msgstr "Ruch osi Z" # MSG_NO_MOVE c=20 -#: Marlin_main.cpp:5722 +#: Marlin_main.cpp:5852 msgid "No move." msgstr "Brak ruchu." # MSG_NO_CARD c=18 -#: ultralcd.cpp:6618 +#: ultralcd.cpp:6697 msgid "No SD card" msgstr "Brak karty SD" @@ -866,12 +866,12 @@ msgid "No" msgstr "Nie" # MSG_SELFTEST_NOTCONNECTED c=20 -#: ultralcd.cpp:8068 +#: ultralcd.cpp:8128 msgid "Not connected" msgstr "Nie podlaczono" # MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: util.cpp:294 +#: util.cpp:195 msgid "New firmware version available:" msgstr "Dostepna nowa wersja firmware:" @@ -881,12 +881,12 @@ msgid "Not spinning" msgstr "Nie kreci sie" # MSG_WIZARD_V2_CAL c=20 r=8 -#: ultralcd.cpp:4759 +#: ultralcd.cpp:4838 msgid "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Kalibruje odleglosc miedzy koncowka dyszy a powierzchnia druku." # MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ultralcd.cpp:4888 +#: ultralcd.cpp:4967 msgid "Now I will preheat nozzle for PLA." msgstr "Nagrzewam dysze dla PLA." @@ -896,17 +896,17 @@ msgid "Nozzle" msgstr "Dysza" # MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: Marlin_main.cpp:1541 +#: Marlin_main.cpp:1605 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Znaleziono stare ustawienia. Zostana przywrocone domyslne ust. PID, Esteps, itp." # MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ultralcd.cpp:4879 +#: ultralcd.cpp:4958 msgid "Now remove the test print from steel sheet." msgstr "Teraz zdejmij wydruk testowy ze stolu." # MSG_NOZZLE_FAN c=10 -#: ultralcd.cpp:1443 +#: ultralcd.cpp:1446 msgid "Nozzle FAN" msgstr "WentHotend" @@ -916,22 +916,22 @@ msgid "Pause print" msgstr "Wstrzym. wydruku" # MSG_PID_RUNNING c=20 -#: ultralcd.cpp:1323 +#: ultralcd.cpp:1327 msgid "PID cal." msgstr "Kalibracja PID" # MSG_PID_FINISHED c=20 -#: ultralcd.cpp:1329 +#: ultralcd.cpp:1333 msgid "PID cal. finished" msgstr "Kal. PID zakonczona" # MSG_PID_EXTRUDER c=17 -#: ultralcd.cpp:5720 +#: ultralcd.cpp:5799 msgid "PID calibration" msgstr "Kalibracja PID" # MSG_PINDA_PREHEAT c=20 -#: ultralcd.cpp:679 +#: ultralcd.cpp:683 msgid "PINDA Heating" msgstr "Grzanie sondy PINDA" @@ -941,7 +941,7 @@ msgid "Place a sheet of paper under the nozzle during the calibration of first 4 msgstr "Umiesc kartke papieru na stole roboczym i podczas pomiaru pierwszych 4 punktow. Jesli dysza zahaczy o papier, natychmiast wylacz drukarke." # MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ultralcd.cpp:4945 +#: ultralcd.cpp:5024 msgid "Please clean heatbed and then press the knob." msgstr "Oczysc powierzchnie druku i nacisnij pokretlo." @@ -951,7 +951,7 @@ msgid "Please clean the nozzle for calibration. Click when done." msgstr "Dla prawidlowej kalibracji nalezy oczyscic dysze. Potwierdz guzikiem." # MSG_SELFTEST_PLEASECHECK c=20 -#: ultralcd.cpp:8062 +#: ultralcd.cpp:8122 msgid "Please check:" msgstr "Sprawdz:" @@ -961,7 +961,7 @@ msgid "Please check our handbook and fix the problem. Then resume the Wizard by msgstr "Przeczytaj nasz Podrecznik druku 3D aby naprawic problem. Potem wznow Asystenta przez restart drukarki." # MSG_CHECK_IDLER c=20 r=5 -#: Marlin_main.cpp:3689 +#: Marlin_main.cpp:3798 msgid "Please open idler and remove filament manually." msgstr "Prosze odciagnac dzwignie dociskowa ekstrudera i recznie usunac filament." @@ -981,7 +981,7 @@ msgid "Please pull out filament immediately" msgstr "Wyciagnij filament teraz" # MSG_EJECT_REMOVE c=20 r=4 -#: mmu.cpp:1420 +#: mmu.cpp:1421 msgid "Please remove filament and then press the knob." msgstr "Wyciagnij filament i wcisnij pokretlo." @@ -991,12 +991,12 @@ msgid "Please remove steel sheet from heatbed." msgstr "Prosze zdjac plyte stalowa z podgrzewanego stolu." # MSG_RUN_XYZ c=20 r=4 -#: Marlin_main.cpp:5208 +#: Marlin_main.cpp:5338 msgid "Please run XYZ calibration first." msgstr "Prosze najpierw uruchomic kalibracje XYZ" # MSG_UPDATE_MMU2_FW c=20 r=4 -#: mmu.cpp:1340 +#: mmu.cpp:1341 msgid "Please update firmware in your MMU2. Waiting for reset." msgstr "Prosze zaktualizowac Firmware MMU2. Czekam na reset." @@ -1006,7 +1006,7 @@ msgid "Please wait" msgstr "Prosze czekac" # MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ultralcd.cpp:4878 +#: ultralcd.cpp:4957 msgid "Please remove shipping helpers first." msgstr "Najpierw usun zabezpieczenia transportowe" @@ -1016,7 +1016,7 @@ msgid "Preheat the nozzle!" msgstr "Nagrzej dysze!" # MSG_PREHEAT c=18 -#: ultralcd.cpp:6576 +#: ultralcd.cpp:6655 msgid "Preheat" msgstr "Grzanie" @@ -1026,12 +1026,12 @@ msgid "Preheating nozzle. Please wait." msgstr "Nagrzewanie dyszy. Prosze czekac." # MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: util.cpp:298 +#: util.cpp:199 msgid "Please upgrade." msgstr "Prosze zaktualizowac" # MSG_PRESS_TO_PREHEAT c=20 r=4 -#: Marlin_main.cpp:11789 +#: Marlin_main.cpp:12049 msgid "Press the knob to preheat nozzle and continue." msgstr "Wcisnij pokretlo aby rozgrzac dysze i kontynuowac." @@ -1051,17 +1051,17 @@ msgid "Print aborted" msgstr "Druk przerwany" # MSG_PREHEATING_TO_LOAD c=20 -#: ultralcd.cpp:2220 +#: ultralcd.cpp:2297 msgid "Preheating to load" msgstr "Nagrzew.do ladowania" # MSG_PREHEATING_TO_UNLOAD c=20 -#: ultralcd.cpp:2225 +#: ultralcd.cpp:2302 msgid "Preheating to unload" msgstr "Nagrzew. do rozlad." # MSG_SELFTEST_PRINT_FAN_SPEED c=18 -#: ultralcd.cpp:8441 +#: ultralcd.cpp:8501 msgid "Print fan:" msgstr "WentWydruk:" @@ -1071,17 +1071,17 @@ msgid "Print from SD" msgstr "Druk z karty SD" # MSG_PRESS_KNOB c=20 -#: ultralcd.cpp:2060 +#: ultralcd.cpp:2130 msgid "Press the knob" msgstr "Wcisnij pokretlo" # MSG_PRINT_PAUSED c=20 -#: ultralcd.cpp:903 +#: ultralcd.cpp:907 msgid "Print paused" msgstr "Druk wstrzymany" # MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: mmu.cpp:725 +#: mmu.cpp:726 msgid "Press the knob to resume nozzle temperature." msgstr "Wcisnij pokretlo aby wznowic podgrzewanie dyszy." @@ -1091,52 +1091,52 @@ msgid "Printer has not been calibrated yet. Please follow the manual, chapter Fi msgstr "Drukarka nie byla jeszcze kalibrowana. Kieruj sie Samouczkiem: rozdzial Pierwsze Kroki, sekcja Konfiguracja przed drukowaniem." # MSG_PRINT_FAN c=10 -#: ultralcd.cpp:1444 +#: ultralcd.cpp:1447 msgid "Print FAN" msgstr "WentWydruk" # MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ultralcd.cpp:4739 +#: ultralcd.cpp:4818 msgid "Please insert filament into the extruder, then press the knob to load it." msgstr "Wsun filament do ekstrudera i nacisnij pokretlo, aby go zaladowac." # MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ultralcd.cpp:4734 +#: ultralcd.cpp:4813 msgid "Please insert filament into the first tube of the MMU, then press the knob to load it." msgstr "Wsun filament do pierwszego kanalu w MMU2 i nacisnij pokretlo, aby go zaladowac." # MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ultralcd.cpp:4656 +#: ultralcd.cpp:4735 msgid "Please load filament first." msgstr "Najpierw zaladuj filament." # MSG_BED_CORRECTION_REAR c=14 -#: ultralcd.cpp:3038 +#: ultralcd.cpp:3117 msgid "Rear side [um]" msgstr "Tyl [um]" # MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ultralcd.cpp:7344 +#: ultralcd.cpp:7404 msgid "Please unload the filament first, then repeat this action." msgstr "Najpierw rozladuj filament, nastepnie powtorz czynnosc." # MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ultralcd.cpp:7347 +#: ultralcd.cpp:7407 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Sprawdz polaczenie czujnika IR, rozladuj filament, jesli zaladowany." # MSG_RECOVERING_PRINT c=20 -#: Marlin_main.cpp:11133 +#: Marlin_main.cpp:11393 msgid "Recovering print" msgstr "Wznawianie wydruku" # MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: mmu.cpp:832 +#: mmu.cpp:833 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Wyciagnij poprzedni filament i nacisnij pokretlo aby zaladowac nowy." # MSG_CALIBRATE_BED_RESET c=18 -#: ultralcd.cpp:5725 +#: ultralcd.cpp:5804 msgid "Reset XYZ calibr." msgstr "Reset kalibr. XYZ" @@ -1156,7 +1156,7 @@ msgid "Resuming print" msgstr "Wznawianie druku" # MSG_BED_CORRECTION_RIGHT c=14 -#: ultralcd.cpp:3036 +#: ultralcd.cpp:3115 msgid "Right side[um]" msgstr "Prawo [um]" @@ -1166,7 +1166,7 @@ msgid "RPi port" msgstr "Port RPi" # MSG_WIZARD_RERUN c=20 r=7 -#: ultralcd.cpp:4677 +#: ultralcd.cpp:4756 msgid "Running Wizard will delete current calibration results and start from the beginning. Continue?" msgstr "Wlaczenie Asystenta usunie obecne dane kalibracyjne i zacznie od poczatku. Kontynuowac?" @@ -1176,7 +1176,7 @@ msgid "SD card" msgstr "Karta SD" # MSG_RIGHT c=10 -#: ultralcd.cpp:2766 +#: ultralcd.cpp:2845 msgid "Right" msgstr "Prawa" @@ -1186,27 +1186,27 @@ msgid "Searching bed calibration point" msgstr "Szukam punktu kalib. na stole" # MSG_LANGUAGE_SELECT c=18 -#: ultralcd.cpp:4372 +#: ultralcd.cpp:4451 msgid "Select language" msgstr "Wybor jezyka" # MSG_SELFTEST_OK c=20 -#: ultralcd.cpp:7619 +#: ultralcd.cpp:7679 msgid "Self test OK" msgstr "Selftest OK" # MSG_SELFTEST_START c=20 -#: ultralcd.cpp:7387 +#: ultralcd.cpp:7447 msgid "Self test start" msgstr "Selftest startuje" # MSG_SELFTEST c=18 -#: ultralcd.cpp:5701 +#: ultralcd.cpp:5780 msgid "Selftest" msgstr "" # MSG_SELFTEST_ERROR c=20 -#: ultralcd.cpp:8061 +#: ultralcd.cpp:8121 msgid "Selftest error!" msgstr "Blad selftest!" @@ -1216,17 +1216,17 @@ msgid "Selftest failed" msgstr "Selftest nieudany" # MSG_FORCE_SELFTEST c=20 r=8 -#: Marlin_main.cpp:1573 +#: Marlin_main.cpp:1637 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Zostanie uruchomiony Selftest aby dokladnie skalibrowac punkt bazowy bez krancowek" # MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ultralcd.cpp:4919 +#: ultralcd.cpp:4998 msgid "Select nozzle preheat temperature which matches your material." msgstr "Wybierz temperature grzania dyszy odpowiednia dla materialu." # MSG_SET_TEMPERATURE c=20 -#: ultralcd.cpp:3056 +#: ultralcd.cpp:3135 msgid "Set temperature:" msgstr "Ustaw temperature:" @@ -1236,12 +1236,12 @@ msgid "Settings" msgstr "Ustawienia" # MSG_SHOW_END_STOPS c=18 -#: ultralcd.cpp:5722 +#: ultralcd.cpp:5801 msgid "Show end stops" msgstr "Pokaz krancowki" # MSG_FILE_CNT c=20 r=6 -#: cardreader.cpp:825 +#: cardreader.cpp:817 msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." msgstr "Niektore pliki nie zostana posortowane. Max. liczba plikow w 1 folderze = 100." @@ -1261,7 +1261,7 @@ msgid "Time" msgstr "Czas" # MSG_SEVERE_SKEW c=14 -#: ultralcd.cpp:2809 +#: ultralcd.cpp:2888 msgid "Severe skew" msgstr "Znaczny skos" @@ -1271,7 +1271,7 @@ msgid "Alphabet" msgstr "Alfab" # MSG_SORTING c=20 -#: cardreader.cpp:888 +#: cardreader.cpp:880 msgid "Sorting files" msgstr "Sortowanie plikow" @@ -1281,7 +1281,7 @@ msgid "Loud" msgstr "Glosny" # MSG_SLIGHT_SKEW c=14 -#: ultralcd.cpp:2808 +#: ultralcd.cpp:2887 msgid "Slight skew" msgstr "Lekki skos" @@ -1291,12 +1291,12 @@ msgid "Sound" msgstr "Dzwiek" # MSG_RUNOUTS c=7 -#: ultralcd.cpp:1590 +#: ultralcd.cpp:1593 msgid "Runouts" msgstr "Konce f" # MSG_Z-LEVELING_ENFORCED c=20 r=4 -#: Marlin_main.cpp:3196 +#: Marlin_main.cpp:3303 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Wykryto problem, wymuszono poziomowanie osi Z." @@ -1306,7 +1306,7 @@ msgid "Once" msgstr "1-raz" # MSG_SPEED c=15 -#: ultralcd.cpp:6809 +#: ultralcd.cpp:6882 msgid "Speed" msgstr "Predkosc" @@ -1316,12 +1316,12 @@ msgid "Spinning" msgstr "Kreci sie" # MSG_TEMP_CAL_WARNING c=20 r=4 -#: Marlin_main.cpp:5221 +#: Marlin_main.cpp:5351 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Potrzebna jest stabilna temperatura otoczenia 21-26C i stabilne podloze." # MSG_STATISTICS c=18 -#: ultralcd.cpp:6002 +#: ultralcd.cpp:6081 msgid "Statistics" msgstr "Statystyki" @@ -1336,17 +1336,17 @@ msgid "STOPPED." msgstr "ZATRZYMANO." # MSG_SUPPORT c=18 -#: ultralcd.cpp:6677 +#: ultralcd.cpp:6756 msgid "Support" msgstr "Wsparcie" # MSG_SELFTEST_SWAPPED c=16 -#: ultralcd.cpp:8120 +#: ultralcd.cpp:8180 msgid "Swapped" msgstr "Zamieniono" # MSG_SELECT_FILAMENT c=20 -#: ultralcd.cpp:4627 +#: ultralcd.cpp:4706 msgid "Select filament:" msgstr "Wybierz filament:" @@ -1356,17 +1356,17 @@ msgid "Temp. cal." msgstr "Kalib. temp." # MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ultralcd.cpp:4768 +#: ultralcd.cpp:4847 msgid "Select temperature which matches your material." msgstr "Wybierz temperature, ktora odpowiada Twojemu filamentowi." # MSG_CALIBRATION_PINDA_MENU c=17 -#: ultralcd.cpp:5733 +#: ultralcd.cpp:5812 msgid "Temp. calibration" msgstr "Kalibracja temp." # MSG_TEMP_CAL_FAILED c=20 r=8 -#: ultralcd.cpp:3692 +#: ultralcd.cpp:3771 msgid "Temperature calibration failed" msgstr "Kalibracja temperaturowa nieudana" @@ -1376,17 +1376,17 @@ msgid "Temperature calibration is finished and active. Temp. calibration can be msgstr "Kalibracja temperaturowa zakonczona i wlaczona. Moze byc wylaczona z menu Ustawienia -> Kalibracja temp." # MSG_FS_VERIFIED c=20 r=3 -#: ultralcd.cpp:7351 +#: ultralcd.cpp:7411 msgid "Sensor verified, remove the filament now." msgstr "Czujnik sprawdzony, wyciagnij filament." # MSG_TEMPERATURE c=18 -#: ultralcd.cpp:5594 +#: ultralcd.cpp:5673 msgid "Temperature" msgstr "Temperatura" # MSG_MENU_TEMPERATURES c=15 -#: ultralcd.cpp:1989 +#: ultralcd.cpp:2047 msgid "Temperatures" msgstr "Temperatury" @@ -1396,17 +1396,17 @@ msgid "There is still a need to make Z calibration. Please follow the manual, ch msgstr "Musimy przeprowadzic kalibracje Z. Kieruj sie Samouczkiem: rozdzial Pierwsze Kroki, sekcja Kalibracja." # MSG_TOTAL_FILAMENT c=19 -#: ultralcd.cpp:2656 +#: ultralcd.cpp:2735 msgid "Total filament" msgstr "Zuzycie filamentu" # MSG_TOTAL_PRINT_TIME c=19 -#: ultralcd.cpp:2657 +#: ultralcd.cpp:2736 msgid "Total print time" msgstr "Laczny czas druku" # MSG_TUNE c=18 -#: ultralcd.cpp:6574 +#: ultralcd.cpp:6653 msgid "Tune" msgstr "Strojenie" @@ -1416,12 +1416,12 @@ msgid "Total failures" msgstr "Suma bledow" # MSG_TO_LOAD_FIL c=20 -#: ultralcd.cpp:2067 +#: ultralcd.cpp:2137 msgid "to load filament" msgstr "aby zaladow. fil." # MSG_TO_UNLOAD_FIL c=20 -#: ultralcd.cpp:2071 +#: ultralcd.cpp:2141 msgid "to unload filament" msgstr "aby rozlad. filament" @@ -1441,52 +1441,52 @@ msgid "Total" msgstr "Suma" # MSG_USED c=19 -#: ultralcd.cpp:5849 +#: ultralcd.cpp:5928 msgid "Used during print" msgstr "Uzyte podczas druku" # MSG_MENU_VOLTAGES c=15 -#: ultralcd.cpp:1992 +#: ultralcd.cpp:2050 msgid "Voltages" msgstr "Napiecia" # MSG_UNKNOWN c=13 -#: ultralcd.cpp:1947 +#: ultralcd.cpp:2005 msgid "unknown" msgstr "nieznane" # MSG_USERWAIT c=20 -#: Marlin_main.cpp:4223 +#: Marlin_main.cpp:4347 msgid "Wait for user..." msgstr "Czekam na uzytk. ..." # MSG_WAITING_TEMP c=20 r=4 -#: ultralcd.cpp:3204 +#: ultralcd.cpp:3283 msgid "Waiting for nozzle and bed cooling" msgstr "Oczekiwanie na wychlodzenie dyszy i stolu" # MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ultralcd.cpp:3165 +#: ultralcd.cpp:3244 msgid "Waiting for PINDA probe cooling" msgstr "Czekam az spadnie temp. sondy PINDA" # MSG_CHANGED_BOTH c=20 r=4 -#: Marlin_main.cpp:1533 +#: Marlin_main.cpp:1597 msgid "Warning: both printer type and motherboard type changed." msgstr "Ostrzezenie: typ drukarki i plyta glowna ulegly zmianie." # MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: Marlin_main.cpp:1525 +#: Marlin_main.cpp:1589 msgid "Warning: motherboard type changed." msgstr "Ostrzezenie: plyta glowna ulegla zmianie." # MSG_CHANGED_PRINTER c=20 r=4 -#: Marlin_main.cpp:1529 +#: Marlin_main.cpp:1593 msgid "Warning: printer type changed." msgstr "Ostrzezenie: rodzaj drukarki ulegl zmianie" # MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: Marlin_main.cpp:3680 +#: Marlin_main.cpp:3789 msgid "Was filament unload successful?" msgstr "Rozladowanie fil. ok?" @@ -1496,12 +1496,12 @@ msgid "Wiring error" msgstr "Blad polaczenia" # MSG_WIZARD c=17 -#: ultralcd.cpp:5692 +#: ultralcd.cpp:5771 msgid "Wizard" msgstr "Asystent" # MSG_XYZ_DETAILS c=18 -#: ultralcd.cpp:1981 +#: ultralcd.cpp:2039 msgid "XYZ cal. details" msgstr "Szczegoly kal. XYZ" @@ -1521,12 +1521,12 @@ msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Zawsze mozesz uruchomic Asystenta ponownie przez Kalibracja -> Asystent." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ultralcd.cpp:3664 +#: ultralcd.cpp:3743 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Kalibracja XYZ pomyslna. Skos bedzie automatycznie korygowany." # MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ultralcd.cpp:3661 +#: ultralcd.cpp:3740 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Kalibracja XYZ prawidlowa. Osie X/Y lekko skosne. Dobra robota!" @@ -1536,62 +1536,62 @@ msgid "Timeout" msgstr "Wyl. czas." # MSG_X_CORRECTION c=13 -#: ultralcd.cpp:5007 +#: ultralcd.cpp:5086 msgid "X-correct:" msgstr "Korekcja-X:" # MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ultralcd.cpp:3658 +#: ultralcd.cpp:3737 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Kalibracja XYZ ok. Osie X/Y sa prostopadle. Gratulacje!" # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ultralcd.cpp:3642 +#: ultralcd.cpp:3721 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Kalibr. XYZ niedokladna. Przednie punkty kalibr. nieosiagalne." # MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ultralcd.cpp:3645 +#: ultralcd.cpp:3724 msgid "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Kalibracja XYZ niedokladna. Prawy przedni punkt nieosiagalny." # MSG_LOAD_ALL c=17 -#: ultralcd.cpp:6088 +#: ultralcd.cpp:6167 msgid "Load all" msgstr "Zalad. wszystkie" # MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ultralcd.cpp:3624 +#: ultralcd.cpp:3703 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Kalibracja XYZ nieudana. Nie znaleziono punktow kalibracyjnych." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ultralcd.cpp:3630 +#: ultralcd.cpp:3709 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "Kalibr. XYZ nieudana. Przednie punkty kalibr. nieosiagalne. Nalezy poprawic montaz drukarki." # MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ultralcd.cpp:3633 +#: ultralcd.cpp:3712 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "Kalibr. XYZ nieudana. Prawy przedni punkt nieosiagalny. Nalezy poprawic montaz drukarki." # MSG_Y_DIST_FROM_MIN c=20 -#: ultralcd.cpp:2763 +#: ultralcd.cpp:2842 msgid "Y distance from min" msgstr "Dystans od 0 w osi Y" # MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ultralcd.cpp:4771 +#: ultralcd.cpp:4850 msgid "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)." msgstr "Drukarka zacznie drukowanie linii w ksztalcie zygzaka. Ustaw optymalna wysokosc obracajac pokretlo. Porownaj z ilustracjami w Podreczniku (rozdzial Kalibracja)." # MSG_FIL_FAILED c=20 r=5 -#: ultralcd.cpp:7355 +#: ultralcd.cpp:7415 msgid "Verification failed, remove the filament and try again." msgstr "Niepowodzenie sprawdzenia, wyciagnij filament i sprobuj ponownie." # MSG_Y_CORRECTION c=13 -#: ultralcd.cpp:5008 +#: ultralcd.cpp:5087 msgid "Y-correct:" msgstr "Korekcja-Y:" @@ -1611,12 +1611,12 @@ msgid "Back" msgstr "Wstecz" # MSG_CHECKS c=18 -#: ultralcd.cpp:5562 +#: ultralcd.cpp:5641 msgid "Checks" msgstr "Testy" # MSG_FALSE_TRIGGERING c=20 -#: ultralcd.cpp:8130 +#: ultralcd.cpp:8190 msgid "False triggering" msgstr "Falszywy alarm" @@ -1646,7 +1646,7 @@ msgid "Mesh" msgstr "Siatka" # MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: Marlin_main.cpp:869 +#: Marlin_main.cpp:875 msgid "MK3S firmware detected on MK3 printer" msgstr "Wykryto firmware MK3S w drukarce MK3" @@ -1656,7 +1656,7 @@ msgid "MMU Mode" msgstr "Tryb MMU" # MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ultralcd.cpp:4287 +#: ultralcd.cpp:4366 msgid "Mode change in progress..." msgstr "Trwa zmiana trybu..." @@ -1671,12 +1671,12 @@ msgid "Nozzle d." msgstr "Sr. dyszy" # MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: util.cpp:515 +#: util.cpp:414 msgid "G-code sliced for a different level. Continue?" msgstr "G-code pociety dla innej wersji. Kontynuowac?" # MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: util.cpp:521 +#: util.cpp:420 msgid "G-code sliced for a different level. Please re-slice the model again. Print cancelled." msgstr "G-code pociety na innym poziomie. Potnij model ponownie. Druk anulowany." @@ -1691,52 +1691,52 @@ msgid "G-code sliced for a different printer type. Please re-slice the model aga msgstr "G-code pociety dla drukarki innego typu. Potnij model ponownie. Druk anulowany." # MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: util.cpp:482 +#: util.cpp:381 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-code pociety dla nowszego firmware. Kontynuowac?" # MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: util.cpp:488 +#: util.cpp:387 msgid "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." msgstr "G-code pociety dla nowszego firmware. Zaktualizuj firmware. Druk anulowany." # MSG_PREHEATING_TO_CUT c=20 -#: ultralcd.cpp:2232 +#: ultralcd.cpp:2309 msgid "Preheating to cut" msgstr "Nagrzew. obciecia" # MSG_PREHEATING_TO_EJECT c=20 -#: ultralcd.cpp:2229 +#: ultralcd.cpp:2306 msgid "Preheating to eject" msgstr "Nagrzew. wysuniecia" # MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: util.cpp:395 +#: util.cpp:294 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Srednica dyszy drukarki rozni sie od tej w G-code. Kontynuowac?" # MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: util.cpp:402 +#: util.cpp:301 msgid "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." msgstr "Srednica dyszy rozni sie od tej w G-code. Sprawdz ustawienia. Druk anulowany." # MSG_SELFTEST_FS_LEVEL c=20 -#: ultralcd.cpp:8135 +#: ultralcd.cpp:8195 msgid "%s level expected" msgstr "Oczekiwano wersji %s" # MSG_RENAME c=18 -#: ultralcd.cpp:6500 +#: ultralcd.cpp:6579 msgid "Rename" msgstr "Zmien nazwe" # MSG_SELECT c=18 -#: ultralcd.cpp:6493 +#: ultralcd.cpp:6572 msgid "Select" msgstr "Wybierz" # MSG_INFO_SENSORS c=18 -#: ultralcd.cpp:1983 +#: ultralcd.cpp:2041 msgid "Sensor info" msgstr "Info o sensorach" @@ -1756,7 +1756,7 @@ msgid "Steel sheets" msgstr "Plyty stalowe" # MSG_Z_CORRECTION c=13 -#: ultralcd.cpp:5009 +#: ultralcd.cpp:5088 msgid "Z-correct:" msgstr "Korekcja-Z:" From caca7bb9b8714a217a544d77e53858a224e76911 Mon Sep 17 00:00:00 2001 From: "D.R.racer" Date: Thu, 16 Dec 2021 12:14:02 +0100 Subject: [PATCH 135/234] Version changed (3.10.1 build 4697) --- Firmware/Configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 1fa5e8a22..1ede18c03 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -27,7 +27,7 @@ extern PGM_P sPrinterName; #define FW_VERSION STR(FW_MAJOR) "." STR(FW_MINOR) "." STR(FW_REVISION) "-" STR(FW_FLAVOR) "" STR(FW_FLAVERSION) #endif -#define FW_COMMIT_NR 4587 +#define FW_COMMIT_NR 4697 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. From 63c6373f8d84db189b3fc6ba40b5c138a5609a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 25 Dec 2021 09:41:50 +0000 Subject: [PATCH 136/234] Remove TEMP_STAT_LEDS from firmware This isn't used by MK3 printers. It seems to be leftover code from Marlin --- Firmware/Configuration.h | 5 ----- Firmware/Marlin_main.cpp | 36 ------------------------------------ 2 files changed, 41 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 1ede18c03..75a9ad5cc 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -489,11 +489,6 @@ your extruder heater takes 2 minutes to hit the target on heating. // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino //#define FAST_PWM_FAN -// Temperature status LEDs that display the hotend and bet temperature. -// If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on. -// Otherwise the RED led is on. There is 1C hysteresis. -//#define TEMP_STAT_LEDS - // Use software PWM to drive the fan, as for the heaters. This uses a very low frequency // which is not ass annoying as with the hardware PWM. On the other hand, if this frequency // is too low, you should also increment SOFT_PWM_SCALE. diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 01e62f2a6..985af1b2d 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -9814,39 +9814,6 @@ void controllerFan() } #endif -#ifdef TEMP_STAT_LEDS -static bool blue_led = false; -static bool red_led = false; -static uint32_t stat_update = 0; - -void handle_status_leds(void) { - float max_temp = 0.0; - if(_millis() > stat_update) { - stat_update += 500; // Update every 0.5s - for (int8_t cur_extruder = 0; cur_extruder < EXTRUDERS; ++cur_extruder) { - max_temp = max(max_temp, degHotend(cur_extruder)); - max_temp = max(max_temp, degTargetHotend(cur_extruder)); - } - #if defined(TEMP_BED_PIN) && TEMP_BED_PIN > -1 - max_temp = max(max_temp, degTargetBed()); - max_temp = max(max_temp, degBed()); - #endif - if((max_temp > 55.0) && (red_led == false)) { - digitalWrite(STAT_LED_RED, 1); - digitalWrite(STAT_LED_BLUE, 0); - red_led = true; - blue_led = false; - } - if((max_temp < 54.0) && (blue_led == false)) { - digitalWrite(STAT_LED_RED, 0); - digitalWrite(STAT_LED_BLUE, 1); - red_led = false; - blue_led = true; - } - } -} -#endif - #ifdef SAFETYTIMER /** * @brief Turn off heating after safetytimer_inactive_time milliseconds of inactivity @@ -10090,9 +10057,6 @@ if(0) WRITE(E0_ENABLE_PIN,oldstatus); } #endif - #ifdef TEMP_STAT_LEDS - handle_status_leds(); - #endif check_axes_activity(); mmu_loop(); From aeec7236ee371b9c41c31e42c2858a19fbba1f2f Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Mon, 17 Jan 2022 17:09:48 +0200 Subject: [PATCH 137/234] Update Community_made_translations.md --- lang/Community_made_translations.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lang/Community_made_translations.md b/lang/Community_made_translations.md index a713d77e2..cd7ecdb34 100644 --- a/lang/Community_made_translations.md +++ b/lang/Community_made_translations.md @@ -6,3 +6,11 @@ - Contributors: **@stelgenhof** - [X] **Active** since March 2021 - [X] **Maintained** since September 2019 + +- **Romanian / Română** + - Maintainers: **@leptun** and **@Hauzman** + - Co-maintainers: **@QuantumRoboticsFTC** + - Contributors: + - [X] **Active** since January 2022 + - [X] **Maintained** since January 2022 + From 113b5ea905f0455b9ed7bd628c8f6fa8b0f97206 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Mon, 17 Jan 2022 16:17:29 +0100 Subject: [PATCH 138/234] Add MK404 --- Community_made.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Community_made.md b/Community_made.md index 84a27461f..6ed0ee41b 100644 --- a/Community_made.md +++ b/Community_made.md @@ -13,5 +13,24 @@ Start `./PF-build.sh` and follow the instructions Help `./PF-build.sh -h` +# MK404 Simulator + +## MK404-build.sh +**MK404 is a comminuty 3d printer simulator created by @vintagepc** +Please checkout and support his github repository [MK404](https://github.com/vintagepc/MK404) and the [MK404 Wiki](https://github.com/vintagepc/MK404/wiki) + +At this moment the `MK404-build.sh` script is only supported on Linux +- `MK404-build.sh` + - Maintainers: **@3d-gussner** + - Co-maintainers: + - Contributors: + - [X] **Active** since August 2021 + - [X] **Maintained** since August 2022 + +### How-to use MK404-build.sh +After compiling with `PF-build.sh` you get the option to start the `MK404` simulator with the fresh compiled firmware. (Linux only at this moment) + +Help `./MK404-build.sh -h` + ## Translations - see [/lang/Community_made_translations.md](https://github.com/prusa3d/Prusa-Firmware/blob/MK3/lang/Community_made_translations.md) From 81657678f7778dcf5b6f7aebf29b0942681adcb4 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Tue, 18 Jan 2022 07:34:00 +0100 Subject: [PATCH 139/234] Fix Typo --- Community_made.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community_made.md b/Community_made.md index 6ed0ee41b..a8265435a 100644 --- a/Community_made.md +++ b/Community_made.md @@ -25,7 +25,7 @@ At this moment the `MK404-build.sh` script is only supported on Linux - Co-maintainers: - Contributors: - [X] **Active** since August 2021 - - [X] **Maintained** since August 2022 + - [X] **Maintained** since August 2021 ### How-to use MK404-build.sh After compiling with `PF-build.sh` you get the option to start the `MK404` simulator with the fresh compiled firmware. (Linux only at this moment) From 978b9d5eeb5e41f6dfe1d982edf15832b782273d Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Tue, 18 Jan 2022 07:39:03 +0100 Subject: [PATCH 140/234] Add Hungarian and Swedish maintainers --- lang/Community_made_translations.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lang/Community_made_translations.md b/lang/Community_made_translations.md index cd7ecdb34..dab8a1351 100644 --- a/lang/Community_made_translations.md +++ b/lang/Community_made_translations.md @@ -14,3 +14,17 @@ - [X] **Active** since January 2022 - [X] **Maintained** since January 2022 +- **Hungarian / Magyar** + - Maintainers: **@AttilaSVK** + - Co-maintainers: + - Contributors: + - [X] **Active** since January 2022 + - [X] **Maintained** since January 2022 + +- **Swedish / Svenska** + - Maintainers: **@Painkiller56** + - Co-maintainers: + - Contributors: + - [X] **Active** since January 2022 + - [X] **Maintained** since January 2022 + From 38ef656ffda5a0d1004a1f997a2c56c1482f0ad2 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Thu, 20 Jan 2022 14:59:39 +0100 Subject: [PATCH 141/234] Ignore .vscode dir --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index db5bacd24..549771fa3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .settings .project .cproject +.vscode Debug __pycache__ Firmware/Configuration_prusa.h From f924fb9adec367e80eab91de18f3519d9cba62b8 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 21 Jan 2022 05:55:43 +0100 Subject: [PATCH 142/234] Change Travis to Ubuntu 20.04 LTS (focal) --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4d9039dc0..102d61d45 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -dist: trusty +dist: focal before_install: - sudo apt-get install -y ninja-build # Arduino IDE adds a lot of noise caused by network traffic, trying to firewall it off @@ -32,4 +32,4 @@ script: - bash -x build.sh || { echo "1_75mm_MK2-RAMBo13a-E3Dv6full variant failed" && false; } - rm Firmware/Configuration_prusa.h - cp Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h Firmware/Configuration_prusa.h - - bash -x build.sh || { echo "1_75mm_MK2-RAMBo10a-E3Dv6full variant failed" && false; } \ No newline at end of file + - bash -x build.sh || { echo "1_75mm_MK2-RAMBo10a-E3Dv6full variant failed" && false; } From a795fda7b50126c0a2c6525a56034b1a1713697e Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 21 Jan 2022 07:40:04 +0100 Subject: [PATCH 143/234] Trying to push travis build --- PF-build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/PF-build.sh b/PF-build.sh index a72ad676a..754fb9171 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -166,6 +166,7 @@ # 24 Jun 2021, 3d-gussner, Fix MK404 user interaction not to show if compiling 'All' variants # 24 Jun 2021, 3d-gussner, MK404 is only supported on Linux at this moment. + SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" #### Start: Failures From 025a9e2461245f9ece505ee58b7a200952287c95 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 21 Jan 2022 08:15:54 +0100 Subject: [PATCH 144/234] Add space Thanks @wavexx --- .github/ISSUE_TEMPLATE/community.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/community.md b/.github/ISSUE_TEMPLATE/community.md index 14561c51c..a2d69a2d3 100644 --- a/.github/ISSUE_TEMPLATE/community.md +++ b/.github/ISSUE_TEMPLATE/community.md @@ -1,7 +1,7 @@ --- name: Community about: Related to "Community made" features -title: "[Community made]" +title: "[Community made] " labels: community_made assignees: '' From 60aa996ba70b349fecbdc44b4951ef2f2888634d Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 21 Jan 2022 15:28:19 +0100 Subject: [PATCH 145/234] Fix typo (#3356) Fixed `community` typo --- Community_made.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community_made.md b/Community_made.md index a8265435a..efa8af415 100644 --- a/Community_made.md +++ b/Community_made.md @@ -16,7 +16,7 @@ Help `./PF-build.sh -h` # MK404 Simulator ## MK404-build.sh -**MK404 is a comminuty 3d printer simulator created by @vintagepc** +**MK404 is a community 3d printer simulator created by @vintagepc** Please checkout and support his github repository [MK404](https://github.com/vintagepc/MK404) and the [MK404 Wiki](https://github.com/vintagepc/MK404/wiki) At this moment the `MK404-build.sh` script is only supported on Linux From d8a14842c503ff8f050bcd09539ec0ff3a6c8ffd Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 11:34:38 +0300 Subject: [PATCH 146/234] Remove unused `skip_debug_msg` flag --- Firmware/tmc2130.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index dbce5ea07..71f2f44fb 100755 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -71,8 +71,6 @@ uint16_t tmc2130_sg_cnt[4] = {0, 0, 0, 0}; bool tmc2130_sg_change = false; #endif -bool skip_debug_msg = false; - #define DBG(args...) //printf_P(args) #ifndef _n @@ -403,7 +401,6 @@ void tmc2130_check_overtemp() for (uint_least8_t i = 0; i < 4; i++) { uint32_t drv_status = 0; - skip_debug_msg = true; tmc2130_rd(i, TMC2130_REG_DRV_STATUS, &drv_status); if (drv_status & ((uint32_t)1 << 26)) { // BIT 26 - over temp prewarning ~120C (+-20C) From 9d1e54e685476dba757fbf8142c5916881913cb2 Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 11:48:28 +0300 Subject: [PATCH 147/234] Tmc2130 use ShortTimer instead of custom timer implementation --- Firmware/tmc2130.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 71f2f44fb..66ac59632 100755 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -8,6 +8,7 @@ #include "ultralcd.h" #include "language.h" #include "spi.h" +#include "Timer.h" #define TMC2130_GCONF_NORMAL 0x00000000 // spreadCycle #define TMC2130_GCONF_SGSENS 0x00003180 // spreadCycle with stallguard (stall activates DIAG0 and DIAG1 [pushpull]) @@ -71,6 +72,9 @@ uint16_t tmc2130_sg_cnt[4] = {0, 0, 0, 0}; bool tmc2130_sg_change = false; #endif +//used for triggering a periodic check (1s) of the overtemperature pre-warning flag at ~120C (+-20C) +ShortTimer tmc2130_overtemp_timer; + #define DBG(args...) //printf_P(args) #ifndef _n @@ -392,11 +396,9 @@ bool tmc2130_wait_standstill_xy(int timeout) return standstill; } - void tmc2130_check_overtemp() { - static uint32_t checktime = 0; - if (_millis() - checktime > 1000 ) + if (tmc2130_overtemp_timer.expired(1000) || !tmc2130_overtemp_timer.running()) { for (uint_least8_t i = 0; i < 4; i++) { @@ -412,7 +414,7 @@ void tmc2130_check_overtemp() } } - checktime = _millis(); + tmc2130_overtemp_timer.start(); #ifdef DEBUG_CRASHDET_COUNTERS tmc2130_sg_change = true; #endif From f64c6c2a39bfc3ca8dd264b7409e889898e1acc8 Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 11:48:47 +0300 Subject: [PATCH 148/234] Remove unused Stepper.cpp variables --- Firmware/stepper.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index c9cb8bebc..611f25477 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -134,7 +134,6 @@ static uint16_t OCR1A_nominal; static uint8_t step_loops_nominal; volatile long endstops_trigsteps[3]={0,0,0}; -volatile long endstops_stepsTotal,endstops_stepsDone; static volatile bool endstop_x_hit=false; static volatile bool endstop_y_hit=false; static volatile bool endstop_z_hit=false; From a5f1f23fe272327775a5dd786e16d2c390e3a154 Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 13:01:11 +0300 Subject: [PATCH 149/234] TimeNow && TimeSent --- Firmware/cmdqueue.cpp | 18 +++++------------- Firmware/cmdqueue.h | 3 --- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index 3bde33362..7cd0c4635 100755 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -26,8 +26,7 @@ int serial_count = 0; //index of character read from serial line boolean comment_mode = false; char *strchr_pointer; // just a pointer to find chars in the command string like X, Y, Z, E, etc -unsigned long TimeSent = _millis(); -unsigned long TimeNow = _millis(); +ShortTimer farm_incomplete_command_timeout_timer; long gcode_N = 0; long gcode_LastN = 0; @@ -396,14 +395,8 @@ void get_command() while (((MYSERIAL.available() > 0 && !saved_printing) || (MYSERIAL.available() > 0 && isPrintPaused)) && !cmdqueue_serial_disabled) { //is print is saved (crash detection or filament detection), dont process data from serial line char serial_char = MYSERIAL.read(); -/* if (selectedSerialPort == 1) - { - selectedSerialPort = 0; - MYSERIAL.write(serial_char); // for debuging serial line 2 in farm_mode - selectedSerialPort = 1; - } */ //RP - removed - TimeSent = _millis(); - TimeNow = _millis(); + + farm_incomplete_command_timeout_timer.start(); if (serial_char < 0) // Ignore extended ASCII characters. These characters have no meaning in the G-code apart from the file names @@ -537,9 +530,8 @@ void get_command() } } // end of serial line processing loop - if(farm_mode){ - TimeNow = _millis(); - if ( ((TimeNow - TimeSent) > 800) && (serial_count > 0) ) { + if(farm_mode && (serial_count > 0)){ + if (farm_incomplete_command_timeout_timer.expired(800)) { cmdbuffer[bufindw+serial_count+CMDHDRSIZE] = 0; bufindw += strlen(cmdbuffer+bufindw+CMDHDRSIZE) + (1 + CMDHDRSIZE); diff --git a/Firmware/cmdqueue.h b/Firmware/cmdqueue.h index bb9e174dc..f9cbd9bbc 100644 --- a/Firmware/cmdqueue.h +++ b/Firmware/cmdqueue.h @@ -52,9 +52,6 @@ extern int serial_count; extern boolean comment_mode; extern char *strchr_pointer; -extern unsigned long TimeSent; -extern unsigned long TimeNow; - extern long gcode_N; extern long gcode_LastN; extern long Stopped_gcode_LastN; From 78362419dafcdf322bce1ed1c0b0bd835fdeaca4 Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 13:01:28 +0300 Subject: [PATCH 150/234] nIRsensorLastTime --- Firmware/fsensor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/fsensor.cpp b/Firmware/fsensor.cpp index 4eac7bd08..36dc630a5 100755 --- a/Firmware/fsensor.cpp +++ b/Firmware/fsensor.cpp @@ -124,7 +124,7 @@ uint16_t fsensor_oq_sh_sum; ClFsensorPCB oFsensorPCB; ClFsensorActionNA oFsensorActionNA; bool bIRsensorStateFlag=false; -unsigned long nIRsensorLastTime; +ShortTimer tIRsensorCheckTimer; #endif //IR_SENSOR_ANALOG void fsensor_stop_and_save_print(void) @@ -693,11 +693,11 @@ void fsensor_update(void) if(!bIRsensorStateFlag) { bIRsensorStateFlag=true; - nIRsensorLastTime=_millis(); + tIRsensorCheckTimer.start(); } else { - if((_millis()-nIRsensorLastTime)>IR_SENSOR_STEADY) + if(tIRsensorCheckTimer.expired(IR_SENSOR_STEADY)) { uint8_t nMUX1,nMUX2; uint16_t nADC; From 42c393764f287868ae0ae910ad25eb9521d877db Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 13:26:07 +0300 Subject: [PATCH 151/234] Adjust temperature runaway extruder count --- Firmware/temperature.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 3765589b8..c7fa599c2 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -220,10 +220,10 @@ enum TempRunawayStates //=========================================================================== #if (defined (TEMP_RUNAWAY_BED_HYSTERESIS) && TEMP_RUNAWAY_BED_TIMEOUT > 0) || (defined (TEMP_RUNAWAY_EXTRUDER_HYSTERESIS) && TEMP_RUNAWAY_EXTRUDER_TIMEOUT > 0) -static float temp_runaway_status[4]; -static float temp_runaway_target[4]; -static float temp_runaway_timer[4]; -static int temp_runaway_error_counter[4]; +static float temp_runaway_status[1 + EXTRUDERS]; +static float temp_runaway_target[1 + EXTRUDERS]; +static float temp_runaway_timer[1 + EXTRUDERS]; +static int temp_runaway_error_counter[1 + EXTRUDERS]; static void temp_runaway_check(int _heater_id, float _target_temperature, float _current_temperature, float _output, bool _isbed); static void temp_runaway_stop(bool isPreheat, bool isBed); From 9684806e003edf2bca842de6bb89ac057d390976 Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 14:12:19 +0300 Subject: [PATCH 152/234] Change arduino IO to fastio where possible --- Firmware/Marlin_main.cpp | 4 +- Firmware/Sd2Card.cpp | 19 +- Firmware/Sd2Card.h | 24 +-- Firmware/Sd2PinMap.h | 364 --------------------------------------- Firmware/cardreader.cpp | 11 +- Firmware/fastio.h | 8 +- Firmware/fsensor.cpp | 9 +- Firmware/mmu.cpp | 12 +- Firmware/stepper.cpp | 68 ++++---- Firmware/ultralcd.cpp | 4 +- 10 files changed, 66 insertions(+), 457 deletions(-) delete mode 100644 Firmware/Sd2PinMap.h diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d1bc83a15..d7375b511 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -9051,8 +9051,8 @@ Sigma_Exit: disable_e1(); disable_e2(); - pinMode(E_MUX0_PIN, OUTPUT); - pinMode(E_MUX1_PIN, OUTPUT); + SET_OUTPUT(E_MUX0_PIN); + SET_OUTPUT(E_MUX1_PIN); _delay(100); SERIAL_ECHO_START; diff --git a/Firmware/Sd2Card.cpp b/Firmware/Sd2Card.cpp index d1d350563..0e8fc4515 100644 --- a/Firmware/Sd2Card.cpp +++ b/Firmware/Sd2Card.cpp @@ -205,14 +205,14 @@ uint32_t Sd2Card::cardSize() { } //------------------------------------------------------------------------------ void Sd2Card::chipSelectHigh() { - digitalWrite(chipSelectPin_, HIGH); + WRITE(SDSS, 1); } //------------------------------------------------------------------------------ void Sd2Card::chipSelectLow() { #ifndef SOFTWARE_SPI spiInit(spiRate_); #endif // SOFTWARE_SPI - digitalWrite(chipSelectPin_, LOW); + WRITE(SDSS, 0); } //------------------------------------------------------------------------------ /** Erase a range of blocks. @@ -283,26 +283,25 @@ bool Sd2Card::eraseSingleBlockEnable() { * the value zero, false, is returned for failure. The reason for failure * can be determined by calling errorCode() and errorData(). */ -bool Sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin) { +bool Sd2Card::init(uint8_t sckRateID) { errorCode_ = type_ = 0; - chipSelectPin_ = chipSelectPin; // 16-bit init start time allows over a minute uint16_t t0 = (uint16_t)_millis(); uint32_t arg; // set pin modes - pinMode(chipSelectPin_, OUTPUT); chipSelectHigh(); - pinMode(SPI_MISO_PIN, INPUT); - pinMode(SPI_MOSI_PIN, OUTPUT); - pinMode(SPI_SCK_PIN, OUTPUT); + SET_OUTPUT(SDSS); + SET_INPUT(MISO); + SET_OUTPUT(MOSI); + SET_OUTPUT(SCK); #ifndef SOFTWARE_SPI // SS must be in output mode even it is not chip select - pinMode(SS_PIN, OUTPUT); + SET_OUTPUT(SS); // set SS high - may be chip select for another SPI device #if SET_SPI_SS_HIGH - digitalWrite(SS_PIN, HIGH); + WRITE(SS, 1); #endif // SET_SPI_SS_HIGH // set SCK rate for initialization commands spiRate_ = SPI_SD_INIT_RATE; diff --git a/Firmware/Sd2Card.h b/Firmware/Sd2Card.h index f4cc59d76..6fb700e70 100644 --- a/Firmware/Sd2Card.h +++ b/Firmware/Sd2Card.h @@ -28,7 +28,6 @@ * \brief Sd2Card class for V2 SD/SDHC cards */ #include "SdFatConfig.h" -#include "Sd2PinMap.h" #include "SdInfo.h" //------------------------------------------------------------------------------ // SPI speed is F_CPU/2^(1 + index), 0 <= index <= 6 @@ -133,22 +132,7 @@ uint8_t const SD_CARD_TYPE_SDHC = 3; //------------------------------------------------------------------------------ // SPI pin definitions - do not edit here - change in SdFatConfig.h // -#ifndef SOFTWARE_SPI -// hardware pin defs -/** The default chip select pin for the SD card is SS. */ -uint8_t const SD_CHIP_SELECT_PIN = SS_PIN; -// The following three pins must not be redefined for hardware SPI. -/** SPI Master Out Slave In pin */ -uint8_t const SPI_MOSI_PIN = MOSI_PIN; -/** SPI Master In Slave Out pin */ -uint8_t const SPI_MISO_PIN = MISO_PIN; -/** SPI Clock pin */ -uint8_t const SPI_SCK_PIN = SCK_PIN; - -#else // SOFTWARE_SPI - -/** SPI chip select pin */ -uint8_t const SD_CHIP_SELECT_PIN = SOFT_SPI_CS_PIN; +#ifdef SOFTWARE_SPI /** SPI Master Out Slave In pin */ uint8_t const SPI_MOSI_PIN = SOFT_SPI_MOSI_PIN; /** SPI Master In Slave Out pin */ @@ -181,12 +165,11 @@ class Sd2Card { int errorData() const {return status_;} /** * Initialize an SD flash memory card with default clock rate and chip - * select pin. See sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin). + * select pin. See sd2Card::init(uint8_t sckRateID). * * \return true for success or false for failure. */ - bool init(uint8_t sckRateID = SPI_FULL_SPEED, - uint8_t chipSelectPin = SD_CHIP_SELECT_PIN); + bool init(uint8_t sckRateID = SPI_FULL_SPEED); bool readBlock(uint32_t block, uint8_t* dst); /** * Read a card's CID register. The CID contains card identification @@ -232,7 +215,6 @@ class Sd2Card { private: //---------------------------------------------------------------------------- - uint8_t chipSelectPin_; uint8_t errorCode_; uint8_t spiRate_; uint8_t status_; diff --git a/Firmware/Sd2PinMap.h b/Firmware/Sd2PinMap.h deleted file mode 100644 index da50958f0..000000000 --- a/Firmware/Sd2PinMap.h +++ /dev/null @@ -1,364 +0,0 @@ -/* Arduino SdFat Library - * Copyright (C) 2010 by William Greiman - * - * This file is part of the Arduino SdFat Library - * - * This Library is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This Library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with the Arduino SdFat Library. If not, see - * . - */ -// Warning this file was generated by a program. -#include "Marlin.h" -#ifdef SDSUPPORT - -#ifndef Sd2PinMap_h -#define Sd2PinMap_h -#include -//------------------------------------------------------------------------------ -/** struct for mapping digital pins */ -struct pin_map_t { - volatile uint8_t* ddr; - volatile uint8_t* pin; - volatile uint8_t* port; - uint8_t bit; -}; -//------------------------------------------------------------------------------ -#if defined(__AVR_ATmega1280__)\ -|| defined(__AVR_ATmega2560__) -// Mega - -#undef MOSI_PIN -#undef MISO_PIN -// SPI port -uint8_t const SS_PIN = 53; // B0 -uint8_t const MOSI_PIN = 51; // B2 -uint8_t const MISO_PIN = 50; // B3 -uint8_t const SCK_PIN = 52; // B1 - -static const pin_map_t digitalPinMap[] = { - {&DDRE, &PINE, &PORTE, 0}, // E0 0 - {&DDRE, &PINE, &PORTE, 1}, // E1 1 - {&DDRE, &PINE, &PORTE, 4}, // E4 2 - {&DDRE, &PINE, &PORTE, 5}, // E5 3 - {&DDRG, &PING, &PORTG, 5}, // G5 4 - {&DDRE, &PINE, &PORTE, 3}, // E3 5 - {&DDRH, &PINH, &PORTH, 3}, // H3 6 - {&DDRH, &PINH, &PORTH, 4}, // H4 7 - {&DDRH, &PINH, &PORTH, 5}, // H5 8 - {&DDRH, &PINH, &PORTH, 6}, // H6 9 - {&DDRB, &PINB, &PORTB, 4}, // B4 10 - {&DDRB, &PINB, &PORTB, 5}, // B5 11 - {&DDRB, &PINB, &PORTB, 6}, // B6 12 - {&DDRB, &PINB, &PORTB, 7}, // B7 13 - {&DDRJ, &PINJ, &PORTJ, 1}, // J1 14 - {&DDRJ, &PINJ, &PORTJ, 0}, // J0 15 - {&DDRH, &PINH, &PORTH, 1}, // H1 16 - {&DDRH, &PINH, &PORTH, 0}, // H0 17 - {&DDRD, &PIND, &PORTD, 3}, // D3 18 - {&DDRD, &PIND, &PORTD, 2}, // D2 19 - {&DDRD, &PIND, &PORTD, 1}, // D1 20 - {&DDRD, &PIND, &PORTD, 0}, // D0 21 - {&DDRA, &PINA, &PORTA, 0}, // A0 22 - {&DDRA, &PINA, &PORTA, 1}, // A1 23 - {&DDRA, &PINA, &PORTA, 2}, // A2 24 - {&DDRA, &PINA, &PORTA, 3}, // A3 25 - {&DDRA, &PINA, &PORTA, 4}, // A4 26 - {&DDRA, &PINA, &PORTA, 5}, // A5 27 - {&DDRA, &PINA, &PORTA, 6}, // A6 28 - {&DDRA, &PINA, &PORTA, 7}, // A7 29 - {&DDRC, &PINC, &PORTC, 7}, // C7 30 - {&DDRC, &PINC, &PORTC, 6}, // C6 31 - {&DDRC, &PINC, &PORTC, 5}, // C5 32 - {&DDRC, &PINC, &PORTC, 4}, // C4 33 - {&DDRC, &PINC, &PORTC, 3}, // C3 34 - {&DDRC, &PINC, &PORTC, 2}, // C2 35 - {&DDRC, &PINC, &PORTC, 1}, // C1 36 - {&DDRC, &PINC, &PORTC, 0}, // C0 37 - {&DDRD, &PIND, &PORTD, 7}, // D7 38 - {&DDRG, &PING, &PORTG, 2}, // G2 39 - {&DDRG, &PING, &PORTG, 1}, // G1 40 - {&DDRG, &PING, &PORTG, 0}, // G0 41 - {&DDRL, &PINL, &PORTL, 7}, // L7 42 - {&DDRL, &PINL, &PORTL, 6}, // L6 43 - {&DDRL, &PINL, &PORTL, 5}, // L5 44 - {&DDRL, &PINL, &PORTL, 4}, // L4 45 - {&DDRL, &PINL, &PORTL, 3}, // L3 46 - {&DDRL, &PINL, &PORTL, 2}, // L2 47 - {&DDRL, &PINL, &PORTL, 1}, // L1 48 - {&DDRL, &PINL, &PORTL, 0}, // L0 49 - {&DDRB, &PINB, &PORTB, 3}, // B3 50 - {&DDRB, &PINB, &PORTB, 2}, // B2 51 - {&DDRB, &PINB, &PORTB, 1}, // B1 52 - {&DDRB, &PINB, &PORTB, 0}, // B0 53 - {&DDRF, &PINF, &PORTF, 0}, // F0 54 - {&DDRF, &PINF, &PORTF, 1}, // F1 55 - {&DDRF, &PINF, &PORTF, 2}, // F2 56 - {&DDRF, &PINF, &PORTF, 3}, // F3 57 - {&DDRF, &PINF, &PORTF, 4}, // F4 58 - {&DDRF, &PINF, &PORTF, 5}, // F5 59 - {&DDRF, &PINF, &PORTF, 6}, // F6 60 - {&DDRF, &PINF, &PORTF, 7}, // F7 61 - {&DDRK, &PINK, &PORTK, 0}, // K0 62 - {&DDRK, &PINK, &PORTK, 1}, // K1 63 - {&DDRK, &PINK, &PORTK, 2}, // K2 64 - {&DDRK, &PINK, &PORTK, 3}, // K3 65 - {&DDRK, &PINK, &PORTK, 4}, // K4 66 - {&DDRK, &PINK, &PORTK, 5}, // K5 67 - {&DDRK, &PINK, &PORTK, 6}, // K6 68 - {&DDRK, &PINK, &PORTK, 7} // K7 69 -}; -//------------------------------------------------------------------------------ -#elif defined(__AVR_ATmega644P__)\ -|| defined(__AVR_ATmega644__)\ -|| defined(__AVR_ATmega1284P__) -// Sanguino - -// Two Wire (aka I2C) ports -uint8_t const SDA_PIN = 17; // C1 -uint8_t const SCL_PIN = 18; // C2 - -// SPI port -uint8_t const SS_PIN = 4; // B4 -uint8_t const MOSI_PIN = 5; // B5 -uint8_t const MISO_PIN = 6; // B6 -uint8_t const SCK_PIN = 7; // B7 - -static const pin_map_t digitalPinMap[] = { - {&DDRB, &PINB, &PORTB, 0}, // B0 0 - {&DDRB, &PINB, &PORTB, 1}, // B1 1 - {&DDRB, &PINB, &PORTB, 2}, // B2 2 - {&DDRB, &PINB, &PORTB, 3}, // B3 3 - {&DDRB, &PINB, &PORTB, 4}, // B4 4 - {&DDRB, &PINB, &PORTB, 5}, // B5 5 - {&DDRB, &PINB, &PORTB, 6}, // B6 6 - {&DDRB, &PINB, &PORTB, 7}, // B7 7 - {&DDRD, &PIND, &PORTD, 0}, // D0 8 - {&DDRD, &PIND, &PORTD, 1}, // D1 9 - {&DDRD, &PIND, &PORTD, 2}, // D2 10 - {&DDRD, &PIND, &PORTD, 3}, // D3 11 - {&DDRD, &PIND, &PORTD, 4}, // D4 12 - {&DDRD, &PIND, &PORTD, 5}, // D5 13 - {&DDRD, &PIND, &PORTD, 6}, // D6 14 - {&DDRD, &PIND, &PORTD, 7}, // D7 15 - {&DDRC, &PINC, &PORTC, 0}, // C0 16 - {&DDRC, &PINC, &PORTC, 1}, // C1 17 - {&DDRC, &PINC, &PORTC, 2}, // C2 18 - {&DDRC, &PINC, &PORTC, 3}, // C3 19 - {&DDRC, &PINC, &PORTC, 4}, // C4 20 - {&DDRC, &PINC, &PORTC, 5}, // C5 21 - {&DDRC, &PINC, &PORTC, 6}, // C6 22 - {&DDRC, &PINC, &PORTC, 7}, // C7 23 - {&DDRA, &PINA, &PORTA, 7}, // A7 24 - {&DDRA, &PINA, &PORTA, 6}, // A6 25 - {&DDRA, &PINA, &PORTA, 5}, // A5 26 - {&DDRA, &PINA, &PORTA, 4}, // A4 27 - {&DDRA, &PINA, &PORTA, 3}, // A3 28 - {&DDRA, &PINA, &PORTA, 2}, // A2 29 - {&DDRA, &PINA, &PORTA, 1}, // A1 30 - {&DDRA, &PINA, &PORTA, 0} // A0 31 -}; -//------------------------------------------------------------------------------ -#elif defined(__AVR_ATmega32U4__) -// Teensy 2.0 - -// Two Wire (aka I2C) ports -uint8_t const SDA_PIN = 6; // D1 -uint8_t const SCL_PIN = 5; // D0 - -// SPI port -uint8_t const SS_PIN = 0; // B0 -uint8_t const MOSI_PIN = 2; // B2 -uint8_t const MISO_PIN = 3; // B3 -uint8_t const SCK_PIN = 1; // B1 - -static const pin_map_t digitalPinMap[] = { - {&DDRB, &PINB, &PORTB, 0}, // B0 0 - {&DDRB, &PINB, &PORTB, 1}, // B1 1 - {&DDRB, &PINB, &PORTB, 2}, // B2 2 - {&DDRB, &PINB, &PORTB, 3}, // B3 3 - {&DDRB, &PINB, &PORTB, 7}, // B7 4 - {&DDRD, &PIND, &PORTD, 0}, // D0 5 - {&DDRD, &PIND, &PORTD, 1}, // D1 6 - {&DDRD, &PIND, &PORTD, 2}, // D2 7 - {&DDRD, &PIND, &PORTD, 3}, // D3 8 - {&DDRC, &PINC, &PORTC, 6}, // C6 9 - {&DDRC, &PINC, &PORTC, 7}, // C7 10 - {&DDRD, &PIND, &PORTD, 6}, // D6 11 - {&DDRD, &PIND, &PORTD, 7}, // D7 12 - {&DDRB, &PINB, &PORTB, 4}, // B4 13 - {&DDRB, &PINB, &PORTB, 5}, // B5 14 - {&DDRB, &PINB, &PORTB, 6}, // B6 15 - {&DDRF, &PINF, &PORTF, 7}, // F7 16 - {&DDRF, &PINF, &PORTF, 6}, // F6 17 - {&DDRF, &PINF, &PORTF, 5}, // F5 18 - {&DDRF, &PINF, &PORTF, 4}, // F4 19 - {&DDRF, &PINF, &PORTF, 1}, // F1 20 - {&DDRF, &PINF, &PORTF, 0}, // F0 21 - {&DDRD, &PIND, &PORTD, 4}, // D4 22 - {&DDRD, &PIND, &PORTD, 5}, // D5 23 - {&DDRE, &PINE, &PORTE, 6} // E6 24 -}; -//------------------------------------------------------------------------------ -#elif defined(__AVR_AT90USB646__)\ -|| defined(__AVR_AT90USB1286__) -// Teensy++ 1.0 & 2.0 - -// Two Wire (aka I2C) ports -uint8_t const SDA_PIN = 1; // D1 -uint8_t const SCL_PIN = 0; // D0 - -// SPI port -uint8_t const SS_PIN = 20; // B0 -uint8_t const MOSI_PIN = 22; // B2 -uint8_t const MISO_PIN = 23; // B3 -uint8_t const SCK_PIN = 21; // B1 - -static const pin_map_t digitalPinMap[] = { - {&DDRD, &PIND, &PORTD, 0}, // D0 0 - {&DDRD, &PIND, &PORTD, 1}, // D1 1 - {&DDRD, &PIND, &PORTD, 2}, // D2 2 - {&DDRD, &PIND, &PORTD, 3}, // D3 3 - {&DDRD, &PIND, &PORTD, 4}, // D4 4 - {&DDRD, &PIND, &PORTD, 5}, // D5 5 - {&DDRD, &PIND, &PORTD, 6}, // D6 6 - {&DDRD, &PIND, &PORTD, 7}, // D7 7 - {&DDRE, &PINE, &PORTE, 0}, // E0 8 - {&DDRE, &PINE, &PORTE, 1}, // E1 9 - {&DDRC, &PINC, &PORTC, 0}, // C0 10 - {&DDRC, &PINC, &PORTC, 1}, // C1 11 - {&DDRC, &PINC, &PORTC, 2}, // C2 12 - {&DDRC, &PINC, &PORTC, 3}, // C3 13 - {&DDRC, &PINC, &PORTC, 4}, // C4 14 - {&DDRC, &PINC, &PORTC, 5}, // C5 15 - {&DDRC, &PINC, &PORTC, 6}, // C6 16 - {&DDRC, &PINC, &PORTC, 7}, // C7 17 - {&DDRE, &PINE, &PORTE, 6}, // E6 18 - {&DDRE, &PINE, &PORTE, 7}, // E7 19 - {&DDRB, &PINB, &PORTB, 0}, // B0 20 - {&DDRB, &PINB, &PORTB, 1}, // B1 21 - {&DDRB, &PINB, &PORTB, 2}, // B2 22 - {&DDRB, &PINB, &PORTB, 3}, // B3 23 - {&DDRB, &PINB, &PORTB, 4}, // B4 24 - {&DDRB, &PINB, &PORTB, 5}, // B5 25 - {&DDRB, &PINB, &PORTB, 6}, // B6 26 - {&DDRB, &PINB, &PORTB, 7}, // B7 27 - {&DDRA, &PINA, &PORTA, 0}, // A0 28 - {&DDRA, &PINA, &PORTA, 1}, // A1 29 - {&DDRA, &PINA, &PORTA, 2}, // A2 30 - {&DDRA, &PINA, &PORTA, 3}, // A3 31 - {&DDRA, &PINA, &PORTA, 4}, // A4 32 - {&DDRA, &PINA, &PORTA, 5}, // A5 33 - {&DDRA, &PINA, &PORTA, 6}, // A6 34 - {&DDRA, &PINA, &PORTA, 7}, // A7 35 - {&DDRE, &PINE, &PORTE, 4}, // E4 36 - {&DDRE, &PINE, &PORTE, 5}, // E5 37 - {&DDRF, &PINF, &PORTF, 0}, // F0 38 - {&DDRF, &PINF, &PORTF, 1}, // F1 39 - {&DDRF, &PINF, &PORTF, 2}, // F2 40 - {&DDRF, &PINF, &PORTF, 3}, // F3 41 - {&DDRF, &PINF, &PORTF, 4}, // F4 42 - {&DDRF, &PINF, &PORTF, 5}, // F5 43 - {&DDRF, &PINF, &PORTF, 6}, // F6 44 - {&DDRF, &PINF, &PORTF, 7} // F7 45 -}; -//------------------------------------------------------------------------------ -#elif defined(__AVR_ATmega168__)\ -||defined(__AVR_ATmega168P__)\ -||defined(__AVR_ATmega328P__) -// 168 and 328 Arduinos - -// Two Wire (aka I2C) ports -uint8_t const SDA_PIN = 18; // C4 -uint8_t const SCL_PIN = 19; // C5 - -// SPI port -uint8_t const SS_PIN = 10; // B2 -uint8_t const MOSI_PIN = 11; // B3 -uint8_t const MISO_PIN = 12; // B4 -uint8_t const SCK_PIN = 13; // B5 - -static const pin_map_t digitalPinMap[] = { - {&DDRD, &PIND, &PORTD, 0}, // D0 0 - {&DDRD, &PIND, &PORTD, 1}, // D1 1 - {&DDRD, &PIND, &PORTD, 2}, // D2 2 - {&DDRD, &PIND, &PORTD, 3}, // D3 3 - {&DDRD, &PIND, &PORTD, 4}, // D4 4 - {&DDRD, &PIND, &PORTD, 5}, // D5 5 - {&DDRD, &PIND, &PORTD, 6}, // D6 6 - {&DDRD, &PIND, &PORTD, 7}, // D7 7 - {&DDRB, &PINB, &PORTB, 0}, // B0 8 - {&DDRB, &PINB, &PORTB, 1}, // B1 9 - {&DDRB, &PINB, &PORTB, 2}, // B2 10 - {&DDRB, &PINB, &PORTB, 3}, // B3 11 - {&DDRB, &PINB, &PORTB, 4}, // B4 12 - {&DDRB, &PINB, &PORTB, 5}, // B5 13 - {&DDRC, &PINC, &PORTC, 0}, // C0 14 - {&DDRC, &PINC, &PORTC, 1}, // C1 15 - {&DDRC, &PINC, &PORTC, 2}, // C2 16 - {&DDRC, &PINC, &PORTC, 3}, // C3 17 - {&DDRC, &PINC, &PORTC, 4}, // C4 18 - {&DDRC, &PINC, &PORTC, 5} // C5 19 -}; -#else // defined(__AVR_ATmega1280__) -#error unknown chip -#endif // defined(__AVR_ATmega1280__) -//------------------------------------------------------------------------------ -static const uint8_t digitalPinCount = sizeof(digitalPinMap)/sizeof(pin_map_t); - -uint8_t badPinNumber(void) - __attribute__((error("Pin number is too large or not a constant"))); - -static inline __attribute__((always_inline)) - bool getPinMode(uint8_t pin) { - if (__builtin_constant_p(pin) && pin < digitalPinCount) { - return (*digitalPinMap[pin].ddr >> digitalPinMap[pin].bit) & 1; - } else { - return badPinNumber(); - } -} -static inline __attribute__((always_inline)) - void setPinMode(uint8_t pin, uint8_t mode) { - if (__builtin_constant_p(pin) && pin < digitalPinCount) { - if (mode) { - *digitalPinMap[pin].ddr |= 1 << digitalPinMap[pin].bit; - } else { - *digitalPinMap[pin].ddr &= ~(1 << digitalPinMap[pin].bit); - } - } else { - badPinNumber(); - } -} -static inline __attribute__((always_inline)) - bool fastDigitalRead(uint8_t pin) { - if (__builtin_constant_p(pin) && pin < digitalPinCount) { - return (*digitalPinMap[pin].pin >> digitalPinMap[pin].bit) & 1; - } else { - return badPinNumber(); - } -} -static inline __attribute__((always_inline)) - void fastDigitalWrite(uint8_t pin, uint8_t value) { - if (__builtin_constant_p(pin) && pin < digitalPinCount) { - if (value) { - *digitalPinMap[pin].port |= 1 << digitalPinMap[pin].bit; - } else { - *digitalPinMap[pin].port &= ~(1 << digitalPinMap[pin].bit); - } - } else { - badPinNumber(); - } -} -#endif // Sd2PinMap_h - - -#endif diff --git a/Firmware/cardreader.cpp b/Firmware/cardreader.cpp index 41fee385f..d4fd92ed1 100644 --- a/Firmware/cardreader.cpp +++ b/Firmware/cardreader.cpp @@ -204,20 +204,13 @@ void CardReader::initsd(bool doPresort/* = true*/) if(root.isOpen()) root.close(); #ifdef SDSLOW - if (!card.init(SPI_HALF_SPEED,SDSS) - #if defined(LCD_SDSS) && (LCD_SDSS != SDSS) - && !card.init(SPI_HALF_SPEED,LCD_SDSS) - #endif + if (!card.init(SPI_HALF_SPEED) ) #else - if (!card.init(SPI_FULL_SPEED,SDSS) - #if defined(LCD_SDSS) && (LCD_SDSS != SDSS) - && !card.init(SPI_FULL_SPEED,LCD_SDSS) - #endif + if (!card.init(SPI_FULL_SPEED) ) #endif { - //if (!card.init(SPI_HALF_SPEED,SDSS)) SERIAL_ECHO_START; SERIAL_ECHOLNRPGM(_n("SD init fail"));////MSG_SD_INIT_FAIL } diff --git a/Firmware/fastio.h b/Firmware/fastio.h index 855c000e2..b857cbc0b 100644 --- a/Firmware/fastio.h +++ b/Firmware/fastio.h @@ -931,10 +931,10 @@ pins #define TXD DIO1 // SPI -#define SCK DIO52 -#define MISO DIO50 -#define MOSI DIO51 -#define SS DIO53 +#define SCK 52 +#define MISO 50 +#define MOSI 51 +#define SS 53 // TWI (I2C) #define SCL DIO21 diff --git a/Firmware/fsensor.cpp b/Firmware/fsensor.cpp index 36dc630a5..ac7d202e4 100755 --- a/Firmware/fsensor.cpp +++ b/Firmware/fsensor.cpp @@ -349,7 +349,7 @@ bool fsensor_check_autoload(void) if (!fsensor_enabled) return false; if (!fsensor_autoload_enabled) return false; if (ir_sensor_detected) { - if (digitalRead(IR_SENSOR_PIN) == 1) { + if (READ(IR_SENSOR_PIN)) { fsensor_watch_autoload = true; } else if (fsensor_watch_autoload == true) { @@ -591,9 +591,8 @@ ISR(FSENSOR_INT_PIN_VECT) void fsensor_setup_interrupt(void) { - - pinMode(FSENSOR_INT_PIN, OUTPUT); - digitalWrite(FSENSOR_INT_PIN, LOW); + WRITE(FSENSOR_INT_PIN, 0); + SET_OUTPUT(FSENSOR_INT_PIN); fsensor_int_pin_old = 0; //pciSetup(FSENSOR_INT_PIN); @@ -687,7 +686,7 @@ void fsensor_update(void) #else //PAT9125 if (CHECK_FSENSOR && ir_sensor_detected) { - if(digitalRead(IR_SENSOR_PIN)) + if (READ(IR_SENSOR_PIN)) { // IR_SENSOR_PIN ~ H #ifdef IR_SENSOR_ANALOG if(!bIRsensorStateFlag) diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index abc84c34d..89aeea3e6 100755 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -149,8 +149,8 @@ int8_t mmu_rx_start(void) void mmu_init(void) { #ifdef MMU_HWRESET - digitalWrite(MMU_RST_PIN, HIGH); - pinMode(MMU_RST_PIN, OUTPUT); //setup reset pin + WRITE(MMU_RST_PIN, 1); + SET_OUTPUT(MMU_RST_PIN); //setup reset pin #endif //MMU_HWRESET uart2_init(); //init uart2 _delay_ms(10); //wait 10ms for sure @@ -490,9 +490,9 @@ void mmu_loop(void) void mmu_reset(void) { #ifdef MMU_HWRESET //HW - pulse reset pin - digitalWrite(MMU_RST_PIN, LOW); + WRITE(MMU_RST_PIN, 0); _delay_us(100); - digitalWrite(MMU_RST_PIN, HIGH); + WRITE(MMU_RST_PIN, 1); #else //SW - send X0 command mmu_puts_P(PSTR("X0\n")); #endif @@ -927,8 +927,8 @@ void change_extr(int mmu_extruder = extr; - pinMode(E_MUX0_PIN, OUTPUT); - pinMode(E_MUX1_PIN, OUTPUT); + SET_OUTPUT(E_MUX0_PIN); + SET_OUTPUT(E_MUX1_PIN); switch (extr) { case 1: diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 611f25477..e102159a6 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -1563,9 +1563,9 @@ void st_current_init() //Initialize Digipot Motor Current #ifdef MOTOR_CURRENT_PWM_XY_PIN uint8_t SilentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT); SilentModeMenu = SilentMode; - pinMode(MOTOR_CURRENT_PWM_XY_PIN, OUTPUT); - pinMode(MOTOR_CURRENT_PWM_Z_PIN, OUTPUT); - pinMode(MOTOR_CURRENT_PWM_E_PIN, OUTPUT); + SET_OUTPUT(MOTOR_CURRENT_PWM_XY_PIN); + SET_OUTPUT(MOTOR_CURRENT_PWM_Z_PIN); + SET_OUTPUT(MOTOR_CURRENT_PWM_E_PIN); if((SilentMode == SILENT_MODE_OFF) || (farm_mode) ){ motor_current_setting[0] = motor_current_setting_loud[0]; @@ -1604,20 +1604,20 @@ void microstep_init() { #if defined(E1_MS1_PIN) && E1_MS1_PIN > -1 - pinMode(E1_MS1_PIN,OUTPUT); - pinMode(E1_MS2_PIN,OUTPUT); + SET_OUTPUT(E1_MS1_PIN); + SET_OUTPUT(E1_MS2_PIN); #endif #if defined(X_MS1_PIN) && X_MS1_PIN > -1 const uint8_t microstep_modes[] = MICROSTEP_MODES; - pinMode(X_MS1_PIN,OUTPUT); - pinMode(X_MS2_PIN,OUTPUT); - pinMode(Y_MS1_PIN,OUTPUT); - pinMode(Y_MS2_PIN,OUTPUT); - pinMode(Z_MS1_PIN,OUTPUT); - pinMode(Z_MS2_PIN,OUTPUT); - pinMode(E0_MS1_PIN,OUTPUT); - pinMode(E0_MS2_PIN,OUTPUT); + SET_OUTPUT(X_MS1_PIN); + SET_OUTPUT(X_MS2_PIN); + SET_OUTPUT(Y_MS1_PIN); + SET_OUTPUT(Y_MS2_PIN); + SET_OUTPUT(Z_MS1_PIN); + SET_OUTPUT(Z_MS2_PIN); + SET_OUTPUT(E0_MS1_PIN); + SET_OUTPUT(E0_MS2_PIN); for(int i=0;i<=4;i++) microstep_mode(i,microstep_modes[i]); #endif } @@ -1629,22 +1629,22 @@ void microstep_ms(uint8_t driver, int8_t ms1, int8_t ms2) { if(ms1 > -1) switch(driver) { - case 0: digitalWrite( X_MS1_PIN,ms1); break; - case 1: digitalWrite( Y_MS1_PIN,ms1); break; - case 2: digitalWrite( Z_MS1_PIN,ms1); break; - case 3: digitalWrite(E0_MS1_PIN,ms1); break; + case 0: WRITE( X_MS1_PIN,ms1); break; + case 1: WRITE( Y_MS1_PIN,ms1); break; + case 2: WRITE( Z_MS1_PIN,ms1); break; + case 3: WRITE(E0_MS1_PIN,ms1); break; #if defined(E1_MS1_PIN) && E1_MS1_PIN > -1 - case 4: digitalWrite(E1_MS1_PIN,ms1); break; + case 4: WRITE(E1_MS1_PIN,ms1); break; #endif } if(ms2 > -1) switch(driver) { - case 0: digitalWrite( X_MS2_PIN,ms2); break; - case 1: digitalWrite( Y_MS2_PIN,ms2); break; - case 2: digitalWrite( Z_MS2_PIN,ms2); break; - case 3: digitalWrite(E0_MS2_PIN,ms2); break; + case 0: WRITE( X_MS2_PIN,ms2); break; + case 1: WRITE( Y_MS2_PIN,ms2); break; + case 2: WRITE( Z_MS2_PIN,ms2); break; + case 3: WRITE(E0_MS2_PIN,ms2); break; #if defined(E1_MS2_PIN) && E1_MS2_PIN > -1 - case 4: digitalWrite(E1_MS2_PIN,ms2); break; + case 4: WRITE(E1_MS2_PIN,ms2); break; #endif } } @@ -1663,23 +1663,23 @@ void microstep_mode(uint8_t driver, uint8_t stepping_mode) void microstep_readings() { - SERIAL_PROTOCOLPGM("MS1,MS2 Pins\n"); + SERIAL_PROTOCOLNPGM("MS1,MS2 Pins"); SERIAL_PROTOCOLPGM("X: "); - SERIAL_PROTOCOL( digitalRead(X_MS1_PIN)); - SERIAL_PROTOCOLLN( digitalRead(X_MS2_PIN)); + SERIAL_PROTOCOL( READ(X_MS1_PIN)); + SERIAL_PROTOCOLLN( READ(X_MS2_PIN)); SERIAL_PROTOCOLPGM("Y: "); - SERIAL_PROTOCOL( digitalRead(Y_MS1_PIN)); - SERIAL_PROTOCOLLN( digitalRead(Y_MS2_PIN)); + SERIAL_PROTOCOL( READ(Y_MS1_PIN)); + SERIAL_PROTOCOLLN( READ(Y_MS2_PIN)); SERIAL_PROTOCOLPGM("Z: "); - SERIAL_PROTOCOL( digitalRead(Z_MS1_PIN)); - SERIAL_PROTOCOLLN( digitalRead(Z_MS2_PIN)); + SERIAL_PROTOCOL( READ(Z_MS1_PIN)); + SERIAL_PROTOCOLLN( READ(Z_MS2_PIN)); SERIAL_PROTOCOLPGM("E0: "); - SERIAL_PROTOCOL( digitalRead(E0_MS1_PIN)); - SERIAL_PROTOCOLLN( digitalRead(E0_MS2_PIN)); + SERIAL_PROTOCOL( READ(E0_MS1_PIN)); + SERIAL_PROTOCOLLN( READ(E0_MS2_PIN)); #if defined(E1_MS1_PIN) && E1_MS1_PIN > -1 SERIAL_PROTOCOLPGM("E1: "); - SERIAL_PROTOCOL( digitalRead(E1_MS1_PIN)); - SERIAL_PROTOCOLLN( digitalRead(E1_MS2_PIN)); + SERIAL_PROTOCOL( READ(E1_MS1_PIN)); + SERIAL_PROTOCOLLN( READ(E1_MS2_PIN)); #endif } #endif //TMC2130 diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 81fef9674..704274d9b 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -4719,7 +4719,7 @@ void lcd_v2_calibration() bool loaded = false; if (fsensor_enabled && ir_sensor_detected) { - loaded = (digitalRead(IR_SENSOR_PIN) == 0); + loaded = !READ(IR_SENSOR_PIN); } else { @@ -8690,7 +8690,7 @@ void ultralcd_init() #endif #if defined (SDSUPPORT) && defined(SDCARDDETECT) && (SDCARDDETECT > 0) - pinMode(SDCARDDETECT, INPUT); + SET_INPUT(SDCARDDETECT); WRITE(SDCARDDETECT, HIGH); lcd_oldcardstatus = IS_SD_INSERTED; #endif//(SDCARDDETECT > 0) From 9abae2fd97cf3fafbd7fd8e42448a2a9df7eae18 Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 14:22:12 +0300 Subject: [PATCH 153/234] Remove maxlimit_status --- Firmware/planner.cpp | 10 ++++------ Firmware/planner.h | 1 - 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index b6d012b24..5750ce6e8 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -1044,14 +1044,12 @@ Having the real displacement of the head, we can calculate the total movement le // Calculate and limit speed in mm/sec for each axis float current_speed[4]; float speed_factor = 1.0; //factor <=1 do decrease speed -// maxlimit_status &= ~0xf; for(int i=0; i < 4; i++) { current_speed[i] = delta_mm[i] * inverse_second; if(fabs(current_speed[i]) > max_feedrate[i]) { speed_factor = min(speed_factor, max_feedrate[i] / fabs(current_speed[i])); - maxlimit_status |= (1 << i); } } @@ -1133,13 +1131,13 @@ Having the real displacement of the head, we can calculate the total movement le // Limit acceleration per axis //FIXME Vojtech: One shall rather limit a projection of the acceleration vector instead of using the limit. if(((float)block->acceleration_st * (float)block->steps_x.wide / (float)block->step_event_count.wide) > axis_steps_per_sqr_second[X_AXIS]) - { block->acceleration_st = axis_steps_per_sqr_second[X_AXIS]; maxlimit_status |= (X_AXIS_MASK << 4); } + { block->acceleration_st = axis_steps_per_sqr_second[X_AXIS]; } if(((float)block->acceleration_st * (float)block->steps_y.wide / (float)block->step_event_count.wide) > axis_steps_per_sqr_second[Y_AXIS]) - { block->acceleration_st = axis_steps_per_sqr_second[Y_AXIS]; maxlimit_status |= (Y_AXIS_MASK << 4); } + { block->acceleration_st = axis_steps_per_sqr_second[Y_AXIS]; } if(((float)block->acceleration_st * (float)block->steps_e.wide / (float)block->step_event_count.wide) > axis_steps_per_sqr_second[E_AXIS]) - { block->acceleration_st = axis_steps_per_sqr_second[E_AXIS]; maxlimit_status |= (Z_AXIS_MASK << 4); } + { block->acceleration_st = axis_steps_per_sqr_second[E_AXIS]; } if(((float)block->acceleration_st * (float)block->steps_z.wide / (float)block->step_event_count.wide ) > axis_steps_per_sqr_second[Z_AXIS]) - { block->acceleration_st = axis_steps_per_sqr_second[Z_AXIS]; maxlimit_status |= (E_AXIS_MASK << 4); } + { block->acceleration_st = axis_steps_per_sqr_second[Z_AXIS]; } } // Acceleration of the segment, in mm/sec^2 block->acceleration = block->acceleration_st / steps_per_mm; diff --git a/Firmware/planner.h b/Firmware/planner.h index f7fd849e0..919905530 100644 --- a/Firmware/planner.h +++ b/Firmware/planner.h @@ -192,7 +192,6 @@ extern unsigned long* max_acceleration_units_per_sq_second; extern unsigned long axis_steps_per_sqr_second[NUM_AXIS]; extern long position[NUM_AXIS]; -extern uint8_t maxlimit_status; #ifdef AUTOTEMP From f22b9260ae9922e2f4873d87693f1469f2d21221 Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 14:24:40 +0300 Subject: [PATCH 154/234] Fix build --- Firmware/stepper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index e102159a6..dddb9449d 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -1663,7 +1663,7 @@ void microstep_mode(uint8_t driver, uint8_t stepping_mode) void microstep_readings() { - SERIAL_PROTOCOLNPGM("MS1,MS2 Pins"); + SERIAL_PROTOCOLLNPGM("MS1,MS2 Pins"); SERIAL_PROTOCOLPGM("X: "); SERIAL_PROTOCOL( READ(X_MS1_PIN)); SERIAL_PROTOCOLLN( READ(X_MS2_PIN)); From 6dd59985eeed7b640624552c3bad8ed0ceef6948 Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 14:57:49 +0300 Subject: [PATCH 155/234] Disable PRUSA M28 --- Firmware/Marlin_main.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d7375b511..0b8181241 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -213,7 +213,9 @@ static LongTimer crashDetTimer; bool mesh_bed_leveling_flag = false; bool mesh_bed_run_from_menu = false; +#ifdef PRUSA_M28 bool prusa_sd_card_upload = false; +#endif unsigned int status_number = 0; @@ -1721,6 +1723,7 @@ void setup() #endif //WATCHDOG } +#ifdef PRUSA_M28 static inline void crash_and_burn(dump_crash_reason reason) { @@ -1825,6 +1828,7 @@ void serial_read_stream() { } } } +#endif //PRUSA_M28 /** @@ -1915,12 +1919,14 @@ void loop() } #endif +#ifdef PRUSA_M28 if (prusa_sd_card_upload) { //we read byte-by byte serial_read_stream(); } - else + else +#endif { get_command(); @@ -2559,9 +2565,12 @@ void retract(bool retracting, bool swapretract = false) { } //retract #endif //FWRETRACT +#ifdef PRUSA_M28 void trace() { Sound_MakeCustom(25,440,true); } +#endif + /* void ramming() { // float tmp[4] = DEFAULT_MAX_FEEDRATE; @@ -4564,12 +4573,16 @@ void process_commands() #endif // SDSUPPORT - } else if (code_seen_P(PSTR("M28"))) { // PRUSA M28 + } +#ifdef PRUSA_M28 + else if (code_seen_P(PSTR("M28"))) { // PRUSA M28 trace(); prusa_sd_card_upload = true; card.openFileWrite(strchr_pointer+4); - } else if (code_seen_P(PSTR("SN"))) { // PRUSA SN + } +#endif //PRUSA_M28 + else if (code_seen_P(PSTR("SN"))) { // PRUSA SN char SN[20]; eeprom_read_block(SN, (uint8_t*)EEPROM_PRUSA_SN, 20); if (SN[19]) From 9951e3da52dbfb3787ce1de4e5512ad95cf4d09a Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 15:04:35 +0300 Subject: [PATCH 156/234] Sound enums as uint8_t --- Firmware/sound.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/sound.h b/Firmware/sound.h index a80d01550..9e01f31bd 100644 --- a/Firmware/sound.h +++ b/Firmware/sound.h @@ -4,13 +4,13 @@ #define e_SOUND_MODE_NULL 0xFF -typedef enum +typedef enum : uint8_t {e_SOUND_MODE_LOUD,e_SOUND_MODE_ONCE,e_SOUND_MODE_SILENT,e_SOUND_MODE_BLIND} eSOUND_MODE; #define e_SOUND_MODE_DEFAULT e_SOUND_MODE_LOUD -typedef enum +typedef enum : uint8_t {e_SOUND_TYPE_ButtonEcho,e_SOUND_TYPE_EncoderEcho,e_SOUND_TYPE_StandardPrompt,e_SOUND_TYPE_StandardConfirm,e_SOUND_TYPE_StandardWarning,e_SOUND_TYPE_StandardAlert,e_SOUND_TYPE_EncoderMove,e_SOUND_TYPE_BlindAlert} eSOUND_TYPE; -typedef enum +typedef enum : uint8_t {e_SOUND_CLASS_Echo,e_SOUND_CLASS_Prompt,e_SOUND_CLASS_Confirm,e_SOUND_CLASS_Warning,e_SOUND_CLASS_Alert} eSOUND_CLASS; From a5cd99a9179d608928c7010d133bf58e4d8d65d8 Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 15:24:47 +0300 Subject: [PATCH 157/234] Disable unimplemented PID_ADD_EXTRUSION_RATE --- Firmware/Configuration_adv.h | 2 +- Firmware/temperature.h | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Firmware/Configuration_adv.h b/Firmware/Configuration_adv.h index 59590b6f1..f1de79cb6 100644 --- a/Firmware/Configuration_adv.h +++ b/Firmware/Configuration_adv.h @@ -13,7 +13,7 @@ #ifdef PIDTEMP // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE + // #define PID_ADD_EXTRUSION_RATE #ifdef PID_ADD_EXTRUSION_RATE #define DEFAULT_Kc (1) //heating power=Kc*(e_speed) #endif diff --git a/Firmware/temperature.h b/Firmware/temperature.h index 0bf944724..2941e6306 100755 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -23,9 +23,8 @@ #include "Marlin.h" #include "planner.h" -#ifdef PID_ADD_EXTRUSION_RATE - #include "stepper.h" -#endif + +#include "stepper.h" #include "config.h" @@ -91,7 +90,10 @@ extern bool bedPWMDisabled; #ifdef PIDTEMP extern int pid_cycle, pid_number_of_cycles; - extern float Kc,_Kp,_Ki,_Kd; + extern float _Kp,_Ki,_Kd; +#ifdef PID_ADD_EXTRUSION_RATE + extern float Kc; +#endif extern bool pid_tuning_finished; float scalePID_i(float i); float scalePID_d(float d); From 4aae88afdfe2c3736a3680fad11cd1de4e240bd2 Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sun, 30 May 2021 17:48:07 +0300 Subject: [PATCH 158/234] M42 optimization --- Firmware/Marlin_main.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 0b8181241..ec47816f9 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -351,7 +351,7 @@ static float next_feedrate; // Original feedrate saved during homing moves static float saved_feedrate; -const int sensitive_pins[] = SENSITIVE_PINS; // Sensitive pin list for M42 +const int8_t sensitive_pins[] PROGMEM = SENSITIVE_PINS; // Sensitive pin list for M42 //static float tt = 0; //static float bt = 0; @@ -6116,13 +6116,13 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) case 42: if (code_seen('S')) { - int pin_status = code_value(); - int pin_number = LED_PIN; - if (code_seen('P') && pin_status >= 0 && pin_status <= 255) + uint8_t pin_status = code_value_uint8(); + int8_t pin_number = LED_PIN; + if (code_seen('P')) pin_number = code_value(); - for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(int)); i++) + for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(int8_t)); i++) { - if (sensitive_pins[i] == pin_number) + if ((int8_t)pgm_read_byte(&sensitive_pins[i]) == pin_number) { pin_number = -1; break; From 42a5f7dc20eb58e9f91c133838fa4c1782d4626b Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Sat, 5 Jun 2021 12:42:03 +0300 Subject: [PATCH 159/234] Fix M226 --- Firmware/Marlin_main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index ec47816f9..6ff7db3ae 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6120,7 +6120,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) int8_t pin_number = LED_PIN; if (code_seen('P')) pin_number = code_value(); - for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(int8_t)); i++) + for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(*sensitive_pins)); i++) { if ((int8_t)pgm_read_byte(&sensitive_pins[i]) == pin_number) { @@ -7698,9 +7698,9 @@ Sigma_Exit: if(pin_state >= -1 && pin_state <= 1){ - for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(int)); i++) + for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(*sensitive_pins)); i++) { - if (sensitive_pins[i] == pin_number) + if (((int8_t)pgm_read_byte(&sensitive_pins[i]) == pin_number)) { pin_number = -1; break; From 623762bd50d008389b538571173ea2e6507279cf Mon Sep 17 00:00:00 2001 From: Voinea Dragos Date: Tue, 22 Jun 2021 13:18:36 +0300 Subject: [PATCH 160/234] Fix build --- Firmware/Marlin_main.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 6ff7db3ae..bf0c51ad6 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1723,8 +1723,6 @@ void setup() #endif //WATCHDOG } -#ifdef PRUSA_M28 - static inline void crash_and_burn(dump_crash_reason reason) { WRITE(BEEPER, HIGH); @@ -1756,7 +1754,7 @@ void stack_error() { crash_and_burn(dump_crash_reason::stack_error); } - +#ifdef PRUSA_M28 void trace(); #define CHUNK_SIZE 64 // bytes From 7535fa3a4437e70416bd41c164db77014ff1b184 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 8 Aug 2021 18:48:20 +0000 Subject: [PATCH 161/234] Remove unused variable Saves 2 bytes of SRAM --- Firmware/cardreader.h | 1 - 1 file changed, 1 deletion(-) diff --git a/Firmware/cardreader.h b/Firmware/cardreader.h index f7e3acc94..32a024529 100644 --- a/Firmware/cardreader.h +++ b/Firmware/cardreader.h @@ -136,7 +136,6 @@ private: bool autostart_stilltocheck; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware. int16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory. - char* diveDirName; bool diveSubfolder (const char *&fileName); void lsDive(const char *prepend, SdFile parent, const char * const match=NULL, LsAction lsAction = LS_GetFilename, ls_param lsParams = ls_param()); From 261f31182573db4bee4e89f007290a6cbb3db7b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 8 Aug 2021 19:45:29 +0000 Subject: [PATCH 162/234] Change two arrays from int to uint8_t __preheat_counter has max value of 16 __preheat_errors has max value of 5 Saves 58 bytes of flash memory and 4 bytes of SRAM --- Firmware/temperature.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index abeaa2646..4faf1341e 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -1247,8 +1247,8 @@ void temp_runaway_check(int _heater_id, float _target_temperature, float _curren uint16_t __timeout = 0; bool temp_runaway_check_active = false; static float __preheat_start[2] = { 0,0}; //currently just bed and one extruder - static int __preheat_counter[2] = { 0,0}; - static int __preheat_errors[2] = { 0,0}; + static uint8_t __preheat_counter[2] = { 0,0}; + static uint8_t __preheat_errors[2] = { 0,0}; if (_millis() - temp_runaway_timer[_heater_id] > 2000) From f81db567930b1e2faa4b28567e5a72fd00b0f810 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 8 Aug 2021 19:53:37 +0000 Subject: [PATCH 163/234] temp_runaway_check() parameter _heater_id should be uint8_t Saves 58 bytes of flash --- Firmware/temperature.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 4faf1341e..67fb496e0 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -225,7 +225,7 @@ static float temp_runaway_target[4]; static uint32_t temp_runaway_timer[4]; static uint16_t temp_runaway_error_counter[4]; -static void temp_runaway_check(int _heater_id, float _target_temperature, float _current_temperature, float _output, bool _isbed); +static void temp_runaway_check(uint8_t _heater_id, float _target_temperature, float _current_temperature, float _output, bool _isbed); static void temp_runaway_stop(bool isPreheat, bool isBed); #endif @@ -683,7 +683,7 @@ void manage_heater() temp_runaway_check(0, target_temperature_bed, current_temperature_bed, (int)soft_pwm_bed, true); #endif - for(int e = 0; e < EXTRUDERS; e++) + for(uint8_t e = 0; e < EXTRUDERS; e++) { #ifdef TEMP_RUNAWAY_EXTRUDER_HYSTERESIS @@ -1240,7 +1240,7 @@ void tp_init() } #if (defined (TEMP_RUNAWAY_BED_HYSTERESIS) && TEMP_RUNAWAY_BED_TIMEOUT > 0) || (defined (TEMP_RUNAWAY_EXTRUDER_HYSTERESIS) && TEMP_RUNAWAY_EXTRUDER_TIMEOUT > 0) -void temp_runaway_check(int _heater_id, float _target_temperature, float _current_temperature, float _output, bool _isbed) +void temp_runaway_check(uint8_t _heater_id, float _target_temperature, float _current_temperature, float _output, bool _isbed) { float __delta; float __hysteresis = 0; From a8d16d29491a1f262f13c7902c5b7681c1ab4170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 14 Aug 2021 21:35:30 +0000 Subject: [PATCH 164/234] Use memset to zero previous_speed array Saves 150 bytes of flash memory --- Firmware/planner.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index 3361e1a17..2b77c58e3 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -459,10 +459,7 @@ void plan_init() { #ifdef LIN_ADVANCE memset(position_float, 0, sizeof(position_float)); // clear position #endif - previous_speed[0] = 0.0; - previous_speed[1] = 0.0; - previous_speed[2] = 0.0; - previous_speed[3] = 0.0; + memset(previous_speed, 0, sizeof(previous_speed)); previous_nominal_speed = 0.0; plan_reset_next_e_queue = false; plan_reset_next_e_sched = false; @@ -678,10 +675,7 @@ void planner_abort_hard() #endif // Resets planner junction speeds. Assumes start from rest. previous_nominal_speed = 0.0; - previous_speed[0] = 0.0; - previous_speed[1] = 0.0; - previous_speed[2] = 0.0; - previous_speed[3] = 0.0; + memset(previous_speed, 0, sizeof(previous_speed)); plan_reset_next_e_queue = false; plan_reset_next_e_sched = false; @@ -1412,10 +1406,7 @@ void plan_set_position(float x, float y, float z, const float &e) #endif st_set_position(position[X_AXIS], position[Y_AXIS], position[Z_AXIS], position[E_AXIS]); previous_nominal_speed = 0.0; // Resets planner junction speeds. Assumes start from rest. - previous_speed[0] = 0.0; - previous_speed[1] = 0.0; - previous_speed[2] = 0.0; - previous_speed[3] = 0.0; + memset(previous_speed, 0, sizeof(previous_speed)); } // Only useful in the bed leveling routine, when the mesh bed leveling is off. From 52aa5a5f00564d6f67ebaba383f9b90675ed3ff3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 14 Aug 2021 21:43:00 +0000 Subject: [PATCH 165/234] Use inlined function set_destination_to_current() in more places Saves 70 bytes of flash memory --- Firmware/Marlin_main.cpp | 12 ++++++------ Firmware/mesh_bed_calibration.cpp | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 284262d6a..2821d213b 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2827,7 +2827,7 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon enable_endstops(true); - memcpy(destination, current_position, sizeof(destination)); + set_destination_to_current(); feedrate = 0.0; #if Z_HOME_DIR > 0 // If homing away from BED do Z first @@ -3850,7 +3850,7 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float plan_set_e_position(lastpos[E_AXIS]); memcpy(current_position, lastpos, sizeof(lastpos)); - memcpy(destination, current_position, sizeof(current_position)); + set_destination_to_current(); //Recover feed rate feedmultiply = feedmultiplyBckp; @@ -9115,7 +9115,7 @@ Sigma_Exit: #if EXTRUDERS > 1 if (tmp_extruder != active_extruder) { // Save current position to return to after applying extruder offset - memcpy(destination, current_position, sizeof(destination)); + set_destination_to_current(); // Offset extruder (only by XY) int i; for (i = 0; i < 2; i++) { @@ -11442,7 +11442,7 @@ bool recover_machine_state_after_power_panic() // 5) Set the physical positions from the logical positions using the world2machine transformation // This is only done to inizialize Z/E axes with physical locations, since X/Y are unknown. clamp_to_software_endstops(current_position); - memcpy(destination, current_position, sizeof(destination)); + set_destination_to_current(); plan_set_position_curposXYZE(); SERIAL_ECHOPGM("recover_machine_state_after_power_panic, initial "); print_world_coordinates(); @@ -11775,7 +11775,7 @@ void stop_and_save_print_to_ram(float z_move, float e_move) plan_buffer_line(saved_pos[X_AXIS], saved_pos[Y_AXIS], saved_pos[Z_AXIS] + z_move, saved_pos[E_AXIS] + e_move, homing_feedrate[Z_AXIS], active_extruder); st_synchronize(); //wait moving memcpy(current_position, saved_pos, sizeof(saved_pos)); - memcpy(destination, current_position, sizeof(destination)); + set_destination_to_current(); #endif waiting_inside_plan_buffer_line_print_aborted = true; //unroll the stack } @@ -11843,7 +11843,7 @@ void restore_print_from_ram_and_continue(float e_move) feedmultiply = saved_feedmultiply2; memcpy(current_position, saved_pos, sizeof(saved_pos)); - memcpy(destination, current_position, sizeof(destination)); + set_destination_to_current(); if (saved_printing_type == PRINTING_TYPE_SD) { //was sd printing card.setIndex(saved_sdpos); sdpos_atomic = saved_sdpos; diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index f97851059..23d7c8736 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -2852,7 +2852,7 @@ bool sample_mesh_and_store_reference() current_position[Y_AXIS] = BED_Y0; world2machine_clamp(current_position[X_AXIS], current_position[Y_AXIS]); go_to_current(homing_feedrate[X_AXIS]/60); - memcpy(destination, current_position, sizeof(destination)); + set_destination_to_current(); enable_endstops(true); homeaxis(Z_AXIS); From 58213814cf06784f097d4f2551371efbf870992b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 14 Aug 2021 21:55:21 +0000 Subject: [PATCH 166/234] Replace for-loop with memcpy Saves 22 bytes of flash memory --- Firmware/Marlin_main.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 2821d213b..e669c58ad 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -9767,9 +9767,8 @@ void prepare_arc_move(char isclockwise) { // As far as the parser is concerned, the position is now == target. In reality the // motion control system might still be processing the action and the real tool position // in any intermediate location. - for(int8_t i=0; i < NUM_AXIS; i++) { - current_position[i] = destination[i]; - } + set_current_to_destination(); + previous_millis_cmd = _millis(); } From cdd7ea30f409fba8c65a230f2e9a37a7d6d1947d Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Wed, 11 Aug 2021 11:28:09 +0300 Subject: [PATCH 167/234] Fix LUT loop --- Firmware/tmc2130.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 8f29cd480..1a77d7791 100755 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -909,11 +909,11 @@ void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac1000) uint8_t x[3] = {255,255,255}; //X segment bounds (MSLUTSEL) uint8_t s = 0; //current segment int8_t b; //encoded bit value - int8_t dA; //delta value - uint8_t i; //microstep index + int8_t dA; //delta value + uint8_t i = 0; //microstep index uint32_t reg = 0; //tmc2130 register tmc2130_wr_MSLUTSTART(axis, 0, amp); - for (i = 0; i < 256; i++) + do { if ((i & 0x1f) == 0) reg = 0; @@ -965,7 +965,7 @@ void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac1000) else reg >>= 1; // printf("%3d\t%3d\t%2d\t%2d\t%2d\t%2d %08x\n", i, vA, dA, b, w[s], s, reg); - } + } while (i++ != 255); tmc2130_wr_MSLUTSEL(axis, x[0], x[1], x[2], w[0], w[1], w[2], w[3]); } From 800f44509d29f6896ae576ea82c340207092a02f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Thu, 19 Aug 2021 21:20:30 +0000 Subject: [PATCH 168/234] Change row_offsets[] to uint8_t Saves 10 bytes of flash, and 4 bytes of SRAM --- Firmware/lcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/lcd.cpp b/Firmware/lcd.cpp index 024f973f9..bee207493 100644 --- a/Firmware/lcd.cpp +++ b/Firmware/lcd.cpp @@ -331,7 +331,7 @@ void lcd_no_autoscroll(void) void lcd_set_cursor(uint8_t col, uint8_t row) { - int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 }; + uint8_t row_offsets[] = { 0x00, 0x40, 0x14, 0x54 }; if (row >= LCD_HEIGHT) row = LCD_HEIGHT - 1; // we count rows starting w/0 lcd_currline = row; From a26651e7aa4e5061bd7b8407e33e8b984a06e0c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Thu, 19 Aug 2021 21:22:00 +0000 Subject: [PATCH 169/234] Change return types of two functions uint8_t These functions aren't used but they should return the appropriate type. --- Firmware/Sd2Card.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Sd2Card.h b/Firmware/Sd2Card.h index 6fb700e70..ae78f6d7b 100644 --- a/Firmware/Sd2Card.h +++ b/Firmware/Sd2Card.h @@ -160,9 +160,9 @@ class Sd2Card { /** * \return error code for last error. See Sd2Card.h for a list of error codes. */ - int errorCode() const {return errorCode_;} + uint8_t errorCode() const {return errorCode_;} /** \return error data for last error. */ - int errorData() const {return status_;} + uint8_t errorData() const {return status_;} /** * Initialize an SD flash memory card with default clock rate and chip * select pin. See sd2Card::init(uint8_t sckRateID). From 77cce1fc05a5837063fd472d55b2b5975802778c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 21 Aug 2021 20:30:22 +0000 Subject: [PATCH 170/234] Replace three lines by one function call which does the same thing Saves 42 bytes of flash memory --- Firmware/menu.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Firmware/menu.cpp b/Firmware/menu.cpp index fe58686cf..32efbcd0b 100755 --- a/Firmware/menu.cpp +++ b/Firmware/menu.cpp @@ -152,9 +152,7 @@ void menu_submenu_no_reset(menu_func_t submenu) uint8_t menu_item_ret(void) { - lcd_beeper_quick_feedback(); - lcd_draw_update = 2; - lcd_button_pressed = false; + lcd_quick_feedback(); return 1; } From 66782e9c9dc21ced6ccfaec5c904a3ce09e76917 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Wed, 25 Aug 2021 12:17:54 +0000 Subject: [PATCH 171/234] setTargetHotend expect an uint8_t, not int for second parameter also change _usb_timer to ShortTimer Saves 28 bytes of Flash and 1 byte of SRAM --- Firmware/Marlin_main.cpp | 6 +++--- Firmware/temperature.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index e669c58ad..23fbc128e 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -364,7 +364,7 @@ static unsigned long safetytimer_inactive_time = DEFAULT_SAFETYTIMER_TIME_MINS*6 unsigned long starttime=0; unsigned long stoptime=0; -unsigned long _usb_timer = 0; +ShortTimer _usb_timer; bool Stopped=false; @@ -1894,11 +1894,11 @@ void loop() { KEEPALIVE_STATE(NOT_BUSY); - if ((usb_printing_counter > 0) && ((_millis()-_usb_timer) > 1000)) + if ((usb_printing_counter > 0) && _usb_timer.expired(1000)) { is_usb_printing = true; usb_printing_counter--; - _usb_timer = _millis(); + _usb_timer.start(); // reset timer } if (usb_printing_counter == 0) { diff --git a/Firmware/temperature.h b/Firmware/temperature.h index 2941e6306..f03ea6201 100755 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -168,7 +168,7 @@ static inline void setTargetHotendSafe(const float &celsius, uint8_t extruder) // Doesn't save FLASH when not inlined. static inline void setAllTargetHotends(const float &celsius) { - for(int i=0;i Date: Thu, 26 Aug 2021 17:17:16 +0000 Subject: [PATCH 172/234] Convert mmu_last_request and mmu_last_response to ShortTimer Saves 180 bytes of flash and 2 byte of SRAM --- Firmware/mmu.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index 89aeea3e6..0a2df3e9a 100755 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -76,8 +76,8 @@ int16_t mmu_version = -1; int16_t mmu_buildnr = -1; -uint32_t mmu_last_request = 0; -uint32_t mmu_last_response = 0; +ShortTimer mmu_last_request; +ShortTimer mmu_last_response; MmuCmd mmu_last_cmd = MmuCmd::None; uint16_t mmu_power_failures = 0; @@ -113,7 +113,7 @@ int mmu_puts_P(const char* str) { mmu_clr_rx_buf(); //clear rx buffer int r = fputs_P(str, uart2io); //send command - mmu_last_request = _millis(); + mmu_last_request.start(); return r; } @@ -125,7 +125,7 @@ int mmu_printf_P(const char* format, ...) mmu_clr_rx_buf(); //clear rx buffer int r = vfprintf_P(uart2io, format, args); //send command va_end(args); - mmu_last_request = _millis(); + mmu_last_request.start(); return r; } @@ -133,7 +133,7 @@ int mmu_printf_P(const char* format, ...) int8_t mmu_rx_ok(void) { int8_t res = uart2_rx_str_P(PSTR("ok\n")); - if (res == 1) mmu_last_response = _millis(); + if (res == 1) mmu_last_response.start(); return res; } @@ -141,7 +141,7 @@ int8_t mmu_rx_ok(void) int8_t mmu_rx_start(void) { int8_t res = uart2_rx_str_P(PSTR("start\n")); - if (res == 1) mmu_last_response = _millis(); + if (res == 1) mmu_last_response.start(); return res; } @@ -350,7 +350,7 @@ void mmu_loop(void) mmu_printf_P(PSTR("M%d\n"), SilentModeMenu_MMU); mmu_state = S::SwitchMode; } - else if ((mmu_last_response + 300) < _millis()) //request every 300ms + else if (mmu_last_response.expired(300)) //request every 300ms { #ifndef IR_SENSOR if(check_for_ir_sensor()) ir_sensor_detected = true; @@ -398,7 +398,7 @@ void mmu_loop(void) if (mmu_cmd == MmuCmd::None) mmu_ready = true; } - else if ((mmu_last_request + MMU_P0_TIMEOUT) < _millis()) + else if (mmu_last_request.expired(MMU_P0_TIMEOUT)) { //resend request after timeout (30s) mmu_state = S::Idle; } @@ -424,7 +424,7 @@ void mmu_loop(void) mmu_ready = true; mmu_state = S::Idle; } - else if ((mmu_last_request + MMU_CMD_TIMEOUT) < _millis()) + else if (mmu_last_request.expired(MMU_CMD_TIMEOUT)) { //resend request after timeout (5 min) if (mmu_last_cmd != MmuCmd::None) { @@ -467,7 +467,7 @@ void mmu_loop(void) mmu_ready = true; mmu_state = S::Idle; } - else if ((mmu_last_request + MMU_CMD_TIMEOUT) < _millis()) + else if (mmu_last_request.expired(MMU_CMD_TIMEOUT)) { //timeout 45 s mmu_state = S::Idle; } @@ -479,7 +479,7 @@ void mmu_loop(void) eeprom_update_byte((uint8_t*)EEPROM_MMU_STEALTH, SilentModeMenu_MMU); mmu_state = S::Idle; } - else if ((mmu_last_request + MMU_CMD_TIMEOUT) < _millis()) + else if (mmu_last_request.expired(MMU_CMD_TIMEOUT)) { //timeout 45 s mmu_state = S::Idle; } From 762a5db125c73ebaedb873af10014371c4393372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Thu, 26 Aug 2021 17:36:07 +0000 Subject: [PATCH 173/234] Convert previous_millis_cmd to LongTimer Saves 196 bytes of Flash but adds 1 byte of SRAM --- Firmware/Marlin_main.cpp | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 23fbc128e..115e4aa3a 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -357,7 +357,7 @@ const int8_t sensitive_pins[] PROGMEM = SENSITIVE_PINS; // Sensitive pin list fo //static float bt = 0; //Inactivity shutdown variables -static unsigned long previous_millis_cmd = 0; +static LongTimer previous_millis_cmd; unsigned long max_inactive_time = 0; static unsigned long stepper_inactive_time = DEFAULT_STEPPER_DEACTIVE_TIME*1000l; static unsigned long safetytimer_inactive_time = DEFAULT_SAFETYTIMER_TIME_MINS*60*1000ul; @@ -2060,7 +2060,7 @@ static int setup_for_endstop_move(bool enable_endstops_now = true) { saved_feedrate = feedrate; int l_feedmultiply = feedmultiply; feedmultiply = 100; - previous_millis_cmd = _millis(); + previous_millis_cmd.start(); enable_endstops(enable_endstops_now); return l_feedmultiply; @@ -2074,7 +2074,7 @@ static void clean_up_after_endstop_move(int original_feedmultiply) { feedrate = saved_feedrate; feedmultiply = original_feedmultiply; - previous_millis_cmd = _millis(); + previous_millis_cmd.start(); } @@ -2518,7 +2518,7 @@ void home_xy() void refresh_cmd_timeout(void) { - previous_millis_cmd = _millis(); + previous_millis_cmd.start(); } #ifdef FWRETRACT @@ -2823,7 +2823,7 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon saved_feedrate = feedrate; int l_feedmultiply = feedmultiply; feedmultiply = 100; - previous_millis_cmd = _millis(); + previous_millis_cmd.start(); enable_endstops(true); @@ -3006,7 +3006,7 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon feedrate = saved_feedrate; feedmultiply = l_feedmultiply; - previous_millis_cmd = _millis(); + previous_millis_cmd.start(); endstops_hit_on_purpose(); #ifndef MESH_BED_LEVELING //-// Oct 2019 :: this part of code is (from) now probably un-compilable @@ -4359,7 +4359,7 @@ void process_commands() } lcd_ignore_click(); //call lcd_ignore_click also for else ??? st_synchronize(); - previous_millis_cmd = _millis(); + previous_millis_cmd.start(); if (codenum > 0 ) { codenum += _millis(); // keep track of when we started waiting KEEPALIVE_STATE(PAUSED_FOR_USER); @@ -4987,7 +4987,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) if(codenum != 0) LCD_MESSAGERPGM(_n("Sleep..."));////MSG_DWELL st_synchronize(); codenum += _millis(); // keep track of when we started waiting - previous_millis_cmd = _millis(); + previous_millis_cmd.start(); while(_millis() < codenum) { manage_heater(); manage_inactivity(); @@ -6722,7 +6722,7 @@ Sigma_Exit: if (farm_mode) { prusa_statistics(2); }; //starttime=_millis(); - previous_millis_cmd = _millis(); + previous_millis_cmd.start(); } break; @@ -6786,7 +6786,7 @@ Sigma_Exit: KEEPALIVE_STATE(IN_HANDLER); heating_status = 4; - previous_millis_cmd = _millis(); + previous_millis_cmd.start(); } #endif break; @@ -9565,7 +9565,7 @@ void FlushSerialRequestResend() // Execution of a command from a SD card will not be confirmed. void ClearToSend() { - previous_millis_cmd = _millis(); + previous_millis_cmd.start(); if (buflen && ((CMDBUFFER_CURRENT_TYPE == CMDBUFFER_CURRENT_TYPE_USB) || (CMDBUFFER_CURRENT_TYPE == CMDBUFFER_CURRENT_TYPE_USB_WITH_LINENR))) SERIAL_PROTOCOLLNRPGM(MSG_OK); } @@ -9741,7 +9741,7 @@ void mesh_plan_buffer_line(const float &x, const float &y, const float &z, const void prepare_move() { clamp_to_software_endstops(destination); - previous_millis_cmd = _millis(); + previous_millis_cmd.start(); // Do not use feedmultiply for E or Z only moves if( (current_position[X_AXIS] == destination [X_AXIS]) && (current_position[Y_AXIS] == destination [Y_AXIS])) { @@ -9769,7 +9769,7 @@ void prepare_arc_move(char isclockwise) { // in any intermediate location. set_current_to_destination(); - previous_millis_cmd = _millis(); + previous_millis_cmd.start(); } #if defined(CONTROLLERFAN_PIN) && CONTROLLERFAN_PIN > -1 @@ -10026,11 +10026,11 @@ if(0) get_command(); } - if( (_millis() - previous_millis_cmd) > max_inactive_time ) + if(previous_millis_cmd.expired(max_inactive_time)) if(max_inactive_time) kill(_n("Inactivity Shutdown"), 4); if(stepper_inactive_time) { - if( (_millis() - previous_millis_cmd) > stepper_inactive_time ) + if(previous_millis_cmd.expired(stepper_inactive_time)) { if(blocks_queued() == false && ignore_stepper_queue == false) { disable_x(); @@ -10077,7 +10077,7 @@ if(0) controllerFan(); //Check if fan should be turned on to cool stepper drivers down #endif #ifdef EXTRUDER_RUNOUT_PREVENT - if( (_millis() - previous_millis_cmd) > EXTRUDER_RUNOUT_SECONDS*1000 ) + if(previous_millis_cmd.expired(EXTRUDER_RUNOUT_SECONDS*1000)) if(degHotend(active_extruder)>EXTRUDER_RUNOUT_MINTEMP) { bool oldstatus=READ(E0_ENABLE_PIN); @@ -10090,7 +10090,7 @@ if(0) current_position[E_AXIS]=oldepos; destination[E_AXIS]=oldedes; plan_set_e_position(oldepos); - previous_millis_cmd=_millis(); + previous_millis_cmd.start(); st_synchronize(); WRITE(E0_ENABLE_PIN,oldstatus); } From a1abd094dd398d627d6a3bc35edd1825e62c840a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Thu, 26 Aug 2021 20:49:19 +0000 Subject: [PATCH 174/234] Convert autostart_atmillis to ShortTimer Saves 34 bytes of flash and 1 byte of SRAM --- Firmware/cardreader.cpp | 5 ++--- Firmware/cardreader.h | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Firmware/cardreader.cpp b/Firmware/cardreader.cpp index d4fd92ed1..c23559c98 100644 --- a/Firmware/cardreader.cpp +++ b/Firmware/cardreader.cpp @@ -25,7 +25,6 @@ CardReader::CardReader() cardOK = false; saving = false; logging = false; - autostart_atmillis=0; workDirDepth = 0; file_subcall_ctr=0; memset(workDirParents, 0, sizeof(workDirParents)); @@ -39,7 +38,7 @@ CardReader::CardReader() WRITE(SDPOWER,HIGH); #endif //SDPOWER - autostart_atmillis=_millis()+5000; + autostart_atmillis.start(); // reset timer } char *createFilename(char *buffer,const dir_t &p) //buffer>12characters @@ -619,7 +618,7 @@ void CardReader::checkautostart(bool force) { if(!autostart_stilltocheck) return; - if(autostart_atmillis<_millis()) + if(autostart_atmillis.expired(5000)) return; } autostart_stilltocheck=false; diff --git a/Firmware/cardreader.h b/Firmware/cardreader.h index 32a024529..d13caa08b 100644 --- a/Firmware/cardreader.h +++ b/Firmware/cardreader.h @@ -130,7 +130,7 @@ private: char filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH]; uint32_t filesize; //int16_t n; - unsigned long autostart_atmillis; + ShortTimer autostart_atmillis; uint32_t sdpos ; bool autostart_stilltocheck; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware. From 37fd9d1b119f83b4b2552e8b59de83757c682595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Thu, 26 Aug 2021 20:56:45 +0000 Subject: [PATCH 175/234] Convert NcTime to ShortTimer The variable is only used in ultralcd.cpp so I made it static there and deleted it from Marlin_main.cpp Saves 24 bytes of flash and 1 byte of SRAM --- Firmware/Marlin.h | 1 - Firmware/Marlin_main.cpp | 1 - Firmware/ultralcd.cpp | 6 +++--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index e6c5685d0..e3b3fa393 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -330,7 +330,6 @@ extern unsigned int status_number; extern unsigned int heating_status_counter; extern char snmm_filaments_used; extern unsigned long PingTime; -extern unsigned long NcTime; extern bool no_response; extern uint8_t important_status; extern uint8_t saved_filament_type; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 115e4aa3a..ac28ec085 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -161,7 +161,6 @@ CardReader card; #endif unsigned long PingTime = _millis(); -unsigned long NcTime; uint8_t mbl_z_probe_nr = 3; //numer of Z measurements for each point in mesh bed leveling calibration diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 669cdd71c..2cfa73ada 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -55,7 +55,7 @@ int clock_interval = 0; - +static ShortTimer NcTime; static void lcd_sd_updir(); static void lcd_mesh_bed_leveling_settings(); #ifdef LCD_BL_PIN @@ -8705,10 +8705,10 @@ void lcd_printer_connected() { } static void lcd_send_status() { - if (farm_mode && no_response && ((_millis() - NcTime) > (NC_TIME * 1000))) { + if (farm_mode && no_response && (NcTime.expired(NC_TIME * 1000))) { //send important status messages periodicaly prusa_statistics(important_status, saved_filament_type); - NcTime = _millis(); + NcTime.start(); #ifdef FARM_CONNECT_MESSAGE lcd_connect_printer(); #endif //FARM_CONNECT_MESSAGE From 802b8860c862f1e8cca82146ab70c0a0cadf2629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Thu, 26 Aug 2021 21:04:48 +0000 Subject: [PATCH 176/234] Convert mmu_last_finda_response to ShortTimer Saves 48 bytes of Flash, 1 byte of SRAM --- Firmware/mmu.cpp | 6 +++--- Firmware/mmu.h | 3 ++- Firmware/ultralcd.cpp | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index 0a2df3e9a..0d6ebe4c2 100755 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -70,7 +70,6 @@ uint8_t mmu_extruder = MMU_FILAMENT_UNKNOWN; uint8_t tmp_extruder = MMU_FILAMENT_UNKNOWN; int8_t mmu_finda = -1; -uint32_t mmu_last_finda_response = 0; int16_t mmu_version = -1; @@ -78,6 +77,7 @@ int16_t mmu_buildnr = -1; ShortTimer mmu_last_request; ShortTimer mmu_last_response; +ShortTimer mmu_last_finda_response; MmuCmd mmu_last_cmd = MmuCmd::None; uint16_t mmu_power_failures = 0; @@ -265,7 +265,7 @@ void mmu_loop(void) if (mmu_rx_ok() > 0) { fscanf_P(uart2io, PSTR("%hhu"), &mmu_finda); //scan finda from buffer - mmu_last_finda_response = _millis(); + mmu_last_finda_response.start(); FDEBUG_PRINTF_P(PSTR("MMU => '%dok'\n"), mmu_finda); puts_P(PSTR("MMU - ENABLED")); mmu_enabled = true; @@ -378,7 +378,7 @@ void mmu_loop(void) if (mmu_rx_ok() > 0) { fscanf_P(uart2io, PSTR("%hhu"), &mmu_finda); //scan finda from buffer - mmu_last_finda_response = _millis(); + mmu_last_finda_response.start(); FDEBUG_PRINTF_P(PSTR("MMU => '%dok'\n"), mmu_finda); //printf_P(PSTR("Eact: %d\n"), int(e_active())); if (!mmu_finda && CHECK_FSENSOR && fsensor_enabled) { diff --git a/Firmware/mmu.h b/Firmware/mmu.h index 30b8e1af9..40a6dc727 100644 --- a/Firmware/mmu.h +++ b/Firmware/mmu.h @@ -4,6 +4,7 @@ #define MMU_H #include +#include "Timer.h" extern bool mmu_enabled; @@ -14,7 +15,7 @@ extern uint8_t mmu_extruder; extern uint8_t tmp_extruder; extern int8_t mmu_finda; -extern uint32_t mmu_last_finda_response; +extern ShortTimer mmu_last_finda_response; extern bool ir_sensor_detected; extern int16_t mmu_version; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 2cfa73ada..19961b44d 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3839,7 +3839,7 @@ static void lcd_show_sensors_state() uint8_t idler_state = STATE_NA; pinda_state = READ(Z_MIN_PIN); - if (mmu_enabled && ((_millis() - mmu_last_finda_response) < 1000ul) ) + if (mmu_enabled && mmu_last_finda_response.expired(1000)) { finda_state = mmu_finda; } From 6a9bab02f794575c1c0449de8d71651e36b7f221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Thu, 26 Aug 2021 21:18:55 +0000 Subject: [PATCH 177/234] Convert display_time to ShortTimer Saves 24 bytes of flash, 1 byte of SRAM --- Firmware/ultralcd.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 19961b44d..8a27dbca6 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -87,7 +87,7 @@ int farm_timer = 8; uint8_t farm_status = 0; bool printer_connected = true; -unsigned long display_time; //just timer for showing pid finished message on lcd; +static ShortTimer display_time; //just timer for showing pid finished message on lcd; float pid_temp = DEFAULT_PID_TEMP; static bool forceMenuExpire = false; @@ -1344,10 +1344,10 @@ void lcd_commands() else { SERIAL_ECHOPGM("Invalid PID cal. results. Not stored to EEPROM."); } - display_time = _millis(); + display_time.start(); lcd_commands_step = 1; } - if ((lcd_commands_step == 1) && ((_millis()- display_time)>2000)) { //calibration finished message + if ((lcd_commands_step == 1) && display_time.expired(2000)) { //calibration finished message lcd_setstatuspgm(_T(WELCOME_MSG)); custom_message_type = CustomMsg::Status; pid_temp = DEFAULT_PID_TEMP; From ef8083a1485545cb6bd351939eb8213ee12b6da4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Fri, 27 Aug 2021 08:10:18 +0000 Subject: [PATCH 178/234] crashDetTimer can be ShortTimer Expired value is less than 65535 Saves 8 bytes of flash and 2 bytes of SRAM --- Firmware/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index ac28ec085..259baaa98 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -205,7 +205,7 @@ unsigned long pause_time = 0; unsigned long start_pause_print = _millis(); unsigned long t_fan_rising_edge = _millis(); LongTimer safetyTimer; -static LongTimer crashDetTimer; +static ShortTimer crashDetTimer; //unsigned long load_filament_time; From 42778cae832e5b192ca693b621c5e4aeabe549ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Fri, 27 Aug 2021 08:34:22 +0000 Subject: [PATCH 179/234] Remove unused kicktime timer The variable is only set and never actually used Saves 8 bytes of flash and 4 bytes of SRAM --- Firmware/Marlin.h | 3 --- Firmware/Marlin_main.cpp | 4 ---- 2 files changed, 7 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index e3b3fa393..ac5da8d5c 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -320,9 +320,6 @@ extern bool is_usb_printing; extern bool homing_flag; extern bool loading_flag; extern unsigned int usb_printing_counter; - -extern unsigned long kicktime; - extern unsigned long total_filament_used; void save_statistics(unsigned long _total_filament_used, unsigned long _total_print_time); extern unsigned int heating_status; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 259baaa98..138a490cf 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -195,8 +195,6 @@ int bowden_length[4] = {385, 385, 385, 385}; bool is_usb_printing = false; bool homing_flag = false; -unsigned long kicktime = _millis()+100000; - unsigned int usb_printing_counter; int8_t lcd_change_fil_state = 0; @@ -4601,8 +4599,6 @@ void process_commands() eeprom_update_word(reinterpret_cast(&(EEPROM_Sheets_base->s[(eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet)))].z_offset)),0); } else if(code_seen_P(PSTR("Beat"))) { // PRUSA Beat - // Kick farm link timer - kicktime = _millis(); } else if(code_seen_P(PSTR("FR"))) { // PRUSA FR // Factory full reset From aa0a86bf13d1f8ee7da72262b05f2d1474ffb5f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Fri, 27 Aug 2021 09:01:09 +0000 Subject: [PATCH 180/234] Remove internal Prusa command 'Beat' It doesn't seem to do anything. Saves 22 bytes of flash --- Firmware/Marlin_main.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 138a490cf..50dcced50 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -4490,7 +4490,7 @@ void process_commands() Set of internal PRUSA commands #### Usage - PRUSA [ Ping | PRN | FAN | fn | thx | uvlo | MMURES | RESET | fv | M28 | SN | Fir | Rev | Lang | Lz | Beat | FR ] + PRUSA [ Ping | PRN | FAN | fn | thx | uvlo | MMURES | RESET | fv | M28 | SN | Fir | Rev | Lang | Lz | FR ] #### Parameters - `Ping` @@ -4508,7 +4508,6 @@ void process_commands() - `Rev`- Prints filament size, elelectronics, nozzle type - `Lang` - Reset the language - `Lz` - - `Beat` - Kick farm link timer - `FR` - Full factory reset - `nozzle set ` - set nozzle diameter (farm mode only), e.g. `PRUSA nozzle set 0.4` - `nozzle D` - check the nozzle diameter (farm mode only), works like M862.1 P, e.g. `PRUSA nozzle D0.4` @@ -4598,8 +4597,6 @@ void process_commands() } else if(code_seen_P(PSTR("Lz"))) { // PRUSA Lz eeprom_update_word(reinterpret_cast(&(EEPROM_Sheets_base->s[(eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet)))].z_offset)),0); - } else if(code_seen_P(PSTR("Beat"))) { // PRUSA Beat - } else if(code_seen_P(PSTR("FR"))) { // PRUSA FR // Factory full reset factory_reset(0); From 2d614a8d41893145dc5e1ded4e59c36de66e04e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 28 Aug 2021 16:52:30 +0000 Subject: [PATCH 181/234] Change usb_printing_counter to uint8_t It is assigned max value of 10 Saves 26 byte of flash and 1 byte of SRAM --- Firmware/Marlin.h | 2 +- Firmware/Marlin_main.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index ac5da8d5c..fc7257213 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -319,7 +319,7 @@ extern int bowden_length[4]; extern bool is_usb_printing; extern bool homing_flag; extern bool loading_flag; -extern unsigned int usb_printing_counter; +extern uint8_t usb_printing_counter; extern unsigned long total_filament_used; void save_statistics(unsigned long _total_filament_used, unsigned long _total_print_time); extern unsigned int heating_status; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 50dcced50..4f8c88b3f 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -195,7 +195,7 @@ int bowden_length[4] = {385, 385, 385, 385}; bool is_usb_printing = false; bool homing_flag = false; -unsigned int usb_printing_counter; +uint8_t usb_printing_counter; int8_t lcd_change_fil_state = 0; From 22f23dff36560a6b573ae6391b2d87554204ed59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 28 Aug 2021 17:00:24 +0000 Subject: [PATCH 182/234] Change heating_status to uint8_t Saves 66 byte of flash and 1 byte of SRAM --- Firmware/Marlin.h | 2 +- Firmware/Marlin_main.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index fc7257213..c5f8f2592 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -322,7 +322,7 @@ extern bool loading_flag; extern uint8_t usb_printing_counter; extern unsigned long total_filament_used; void save_statistics(unsigned long _total_filament_used, unsigned long _total_print_time); -extern unsigned int heating_status; +extern uint8_t heating_status; extern unsigned int status_number; extern unsigned int heating_status_counter; extern char snmm_filaments_used; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 4f8c88b3f..b90ae3105 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -217,7 +217,7 @@ bool prusa_sd_card_upload = false; unsigned int status_number = 0; unsigned long total_filament_used; -unsigned int heating_status; +uint8_t heating_status; unsigned int heating_status_counter; bool loading_flag = false; From 60c96406028dc898fa772932a0da4305f2dd49d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 28 Aug 2021 17:02:26 +0000 Subject: [PATCH 183/234] Change heating_status_counter to uint8_t It has a max value of 14 Saves 28 bytes of flash and 1 byte of SRAM --- Firmware/Marlin.h | 2 +- Firmware/Marlin_main.cpp | 2 +- Firmware/ultralcd.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index c5f8f2592..c62c72fef 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -324,7 +324,7 @@ extern unsigned long total_filament_used; void save_statistics(unsigned long _total_filament_used, unsigned long _total_print_time); extern uint8_t heating_status; extern unsigned int status_number; -extern unsigned int heating_status_counter; +extern uint8_t heating_status_counter; extern char snmm_filaments_used; extern unsigned long PingTime; extern bool no_response; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index b90ae3105..7f7bf0a7b 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -218,7 +218,7 @@ unsigned int status_number = 0; unsigned long total_filament_used; uint8_t heating_status; -unsigned int heating_status_counter; +uint8_t heating_status_counter; bool loading_flag = false; #define XY_NO_RESTORE_FLAG (mesh_bed_leveling_flag || homing_flag) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 8a27dbca6..c72aa7bd9 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -583,7 +583,7 @@ void lcdui_print_status_line(void) lcd_set_cursor(7, 3); lcd_space(13); - for (unsigned int dots = 0; dots < heating_status_counter; dots++) { + for (uint8_t dots = 0; dots < heating_status_counter; dots++) { lcd_putc_at(7 + dots, 3, '.'); } switch (heating_status) { From a687173e02b0a99b33f92951aaa1653f32b64c60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 28 Aug 2021 17:45:31 +0000 Subject: [PATCH 184/234] Change custom_message_state_old and custom_message_state to uint8_t I see max value as 7*7+10 = 59 Saves 100 byte of flash and 1 byte of SRAM --- Firmware/Marlin_main.cpp | 2 +- Firmware/ultralcd.cpp | 2 +- Firmware/ultralcd.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 7f7bf0a7b..107e2467b 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3118,7 +3118,7 @@ static void gcode_G80() #endif //PINDA_THERMISTOR // Save custom message state, set a new custom message state to display: Calibrating point 9. CustomMsg custom_message_type_old = custom_message_type; - unsigned int custom_message_state_old = custom_message_state; + uint8_t custom_message_state_old = custom_message_state; custom_message_type = CustomMsg::MeshBedLeveling; custom_message_state = (nMeasPoints * nMeasPoints) + 10; lcd_update(1); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index c72aa7bd9..c455ca2fa 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -78,7 +78,7 @@ LcdCommands lcd_commands_type = LcdCommands::Idle; static uint8_t lcd_commands_step = 0; CustomMsg custom_message_type = CustomMsg::Status; -unsigned int custom_message_state = 0; +uint8_t custom_message_state = 0; bool isPrintPaused = false; diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 06763556b..ed04757ef 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -121,7 +121,7 @@ enum class CustomMsg : uint_least8_t }; extern CustomMsg custom_message_type; -extern unsigned int custom_message_state; +extern uint8_t custom_message_state; extern uint8_t farm_mode; extern int farm_timer; From 2013295f9401d94faddb878938e221c6e80f10f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 28 Aug 2021 18:00:03 +0000 Subject: [PATCH 185/234] Change farm_timer to uint8_t Remove extern declaration of farm_timer and farm_status as they are only used in one file. Saves 26 bytes of flash --- Firmware/ultralcd.cpp | 3 +-- Firmware/ultralcd.h | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index c455ca2fa..82a46a5d7 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -80,10 +80,9 @@ static uint8_t lcd_commands_step = 0; CustomMsg custom_message_type = CustomMsg::Status; uint8_t custom_message_state = 0; - bool isPrintPaused = false; uint8_t farm_mode = 0; -int farm_timer = 8; +uint8_t farm_timer = 8; uint8_t farm_status = 0; bool printer_connected = true; diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index ed04757ef..0ea53bd6c 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -124,8 +124,6 @@ extern CustomMsg custom_message_type; extern uint8_t custom_message_state; extern uint8_t farm_mode; -extern int farm_timer; -extern uint8_t farm_status; extern bool UserECoolEnabled(); extern bool FarmOrUserECool(); From a940c364c9244ab1bf7ca269ff6001049bd72631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 28 Aug 2021 18:23:44 +0000 Subject: [PATCH 186/234] Create enum class for heating_status variable --- Firmware/Marlin.h | 12 +++++++++++- Firmware/Marlin_main.cpp | 14 +++++++------- Firmware/temperature.cpp | 4 ++-- Firmware/ultralcd.cpp | 16 ++++++++-------- 4 files changed, 28 insertions(+), 18 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index c62c72fef..6797b954b 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -275,6 +275,17 @@ FORCE_INLINE unsigned long millis_nc() { void setPwmFrequency(uint8_t pin, int val); #endif +enum class HeatingStatus : uint8_t +{ + NO_HEATING = 0, + EXTRUDER_HEATING = 1, + EXTRUDER_HEATING_COMPLETE = 2, + BED_HEATING = 3, + BED_HEATING_COMPLETE = 4, +}; + +extern HeatingStatus heating_status; + extern bool fans_check_enabled; extern float homing_feedrate[]; extern uint8_t axis_relative_modes; @@ -322,7 +333,6 @@ extern bool loading_flag; extern uint8_t usb_printing_counter; extern unsigned long total_filament_used; void save_statistics(unsigned long _total_filament_used, unsigned long _total_print_time); -extern uint8_t heating_status; extern unsigned int status_number; extern uint8_t heating_status_counter; extern char snmm_filaments_used; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 107e2467b..868666d29 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -217,7 +217,7 @@ bool prusa_sd_card_upload = false; unsigned int status_number = 0; unsigned long total_filament_used; -uint8_t heating_status; +HeatingStatus heating_status; uint8_t heating_status_counter; bool loading_flag = false; @@ -6676,7 +6676,7 @@ Sigma_Exit: break; } LCD_MESSAGERPGM(_T(MSG_HEATING)); - heating_status = 1; + heating_status = HeatingStatus::EXTRUDER_HEATING; if (farm_mode) { prusa_statistics(1); }; #ifdef AUTOTEMP @@ -6710,7 +6710,7 @@ Sigma_Exit: LCD_MESSAGERPGM(_T(MSG_HEATING_COMPLETE)); KEEPALIVE_STATE(IN_HANDLER); - heating_status = 2; + heating_status = HeatingStatus::EXTRUDER_HEATING_COMPLETE; if (farm_mode) { prusa_statistics(2); }; //starttime=_millis(); @@ -6736,7 +6736,7 @@ Sigma_Exit: { bool CooldownNoWait = false; LCD_MESSAGERPGM(_T(MSG_BED_HEATING)); - heating_status = 3; + heating_status = HeatingStatus::BED_HEATING; if (farm_mode) { prusa_statistics(1); }; if (code_seen('S')) { @@ -6776,7 +6776,7 @@ Sigma_Exit: } LCD_MESSAGERPGM(_T(MSG_BED_DONE)); KEEPALIVE_STATE(IN_HANDLER); - heating_status = 4; + heating_status = HeatingStatus::BED_HEATING_COMPLETE; previous_millis_cmd.start(); } @@ -11798,9 +11798,9 @@ void restore_print_from_ram_and_continue(float e_move) if (degTargetHotend(saved_active_extruder) != saved_extruder_temperature) { setTargetHotendSafe(saved_extruder_temperature, saved_active_extruder); - heating_status = 1; + heating_status = HeatingStatus::EXTRUDER_HEATING; wait_for_heater(_millis(), saved_active_extruder); - heating_status = 2; + heating_status = HeatingStatus::EXTRUDER_HEATING_COMPLETE; } axis_relative_modes ^= (-saved_extruder_relative_mode ^ axis_relative_modes) & E_AXIS_MASK; float e = saved_pos[E_AXIS] - e_move; diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 7730be05d..788d42acc 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -615,7 +615,7 @@ void fanSpeedError(unsigned char _fan) { if (get_message_level() != 0 && isPrintPaused) return; //to ensure that target temp. is not set to zero in case that we are resuming print if (card.sdprinting || is_usb_printing) { - if (heating_status != 0) { + if (heating_status != HeatingStatus::NO_HEATING) { lcd_print_stop(); } else { @@ -625,7 +625,7 @@ void fanSpeedError(unsigned char _fan) { else { // SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_PAUSED); //Why pause octoprint? is_usb_printing would be true in that case, so there is no need for this. setTargetHotend0(0); - heating_status = 0; + heating_status = HeatingStatus::NO_HEATING; fan_check_error = EFCE_REPORTED; } switch (_fan) { diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 82a46a5d7..e075e778a 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -457,7 +457,7 @@ void lcdui_print_percent_done(void) const char* src = is_usb_printing?_N("USB"):(IS_SD_PRINTING?_N(" SD"):_N(" ")); char per[4]; bool num = IS_SD_PRINTING || (PRINTER_ACTIVE && (print_percent_done_normal != PRINT_PERCENT_DONE_INIT)); - if (!num || heating_status) // either not printing or heating + if (!num || heating_status != HeatingStatus::NO_HEATING) // either not printing or heating { const int8_t sheetNR = eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet)); const int8_t nextSheet = eeprom_next_initialized_sheet(sheetNR); @@ -574,7 +574,7 @@ void lcdui_print_time(void) //! @Brief Print status line on status screen void lcdui_print_status_line(void) { - if (heating_status) { // If heating flag, show progress of heating + if (heating_status != HeatingStatus::NO_HEATING) { // If heating flag, show progress of heating heating_status_counter++; if (heating_status_counter > 13) { heating_status_counter = 0; @@ -586,20 +586,20 @@ void lcdui_print_status_line(void) lcd_putc_at(7 + dots, 3, '.'); } switch (heating_status) { - case 1: + case HeatingStatus::EXTRUDER_HEATING: lcd_puts_at_P(0, 3, _T(MSG_HEATING)); break; - case 2: + case HeatingStatus::EXTRUDER_HEATING_COMPLETE: lcd_puts_at_P(0, 3, _T(MSG_HEATING_COMPLETE)); - heating_status = 0; + heating_status = HeatingStatus::NO_HEATING; heating_status_counter = 0; break; - case 3: + case HeatingStatus::BED_HEATING: lcd_puts_at_P(0, 3, _T(MSG_BED_HEATING)); break; - case 4: + case HeatingStatus::BED_HEATING_COMPLETE: lcd_puts_at_P(0, 3, _T(MSG_BED_DONE)); - heating_status = 0; + heating_status = HeatingStatus::NO_HEATING; heating_status_counter = 0; break; default: From b835f31904ef1d4c56a603accfe87a0aa6f4ad1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 5 Sep 2021 17:08:30 +0000 Subject: [PATCH 187/234] Remove variable move_menu_scale The variable is just set to 1.0 and is never modified, I also removed the function lcd_move_menu_1mm() Changes save 96 bytes of flash memory and 4 bytes of SRAM --- Firmware/ultralcd.cpp | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index e075e778a..f9d36b88a 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1384,8 +1384,6 @@ void lcd_pause_usb_print() SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_PAUSE); } - -float move_menu_scale; static void lcd_move_menu_axis(); @@ -2762,7 +2760,7 @@ static void _lcd_move(const char *name, uint8_t axis, int min, int max) refresh_cmd_timeout(); if (! planner_queue_full()) { - current_position[axis] += float((int)lcd_encoder) * move_menu_scale; + current_position[axis] += float((int)lcd_encoder); if (min_software_endstops && current_position[axis] < min) current_position[axis] = min; if (max_software_endstops && current_position[axis] > max) current_position[axis] = max; lcd_encoder = 0; @@ -2790,7 +2788,7 @@ void lcd_move_e() refresh_cmd_timeout(); if (! planner_queue_full()) { - current_position[E_AXIS] += float((int)lcd_encoder) * move_menu_scale; + current_position[E_AXIS] += float((int)lcd_encoder); lcd_encoder = 0; plan_buffer_line_curposXYZE(manual_feedrate[E_AXIS] / 60); lcd_draw_update = 1; @@ -4234,13 +4232,6 @@ void lcd_move_menu_axis() MENU_END(); } -static void lcd_move_menu_1mm() -{ - move_menu_scale = 1.0; - lcd_move_menu_axis(); -} - - void EEPROM_save(int pos, uint8_t* value, uint8_t size) { do @@ -5671,7 +5662,7 @@ static void lcd_settings_menu() if (!PRINTER_ACTIVE || isPrintPaused) { - MENU_ITEM_SUBMENU_P(_i("Move axis"), lcd_move_menu_1mm);////MSG_MOVE_AXIS c=18 + MENU_ITEM_SUBMENU_P(_i("Move axis"), lcd_move_menu_axis);////MSG_MOVE_AXIS c=18 MENU_ITEM_GCODE_P(_i("Disable steppers"), PSTR("M84"));////MSG_DISABLE_STEPPERS c=18 } @@ -8879,7 +8870,6 @@ void menu_lcd_longpress_func(void) #endif || menu_menu == lcd_support_menu ){ - move_menu_scale = 1.0; menu_submenu(lcd_move_z); } else { // otherwise consume the long press as normal click From 7787f17139380c0e3f238862712b3803d38391fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 12 Sep 2021 15:03:34 +0000 Subject: [PATCH 188/234] Smaller code in G28 Replace two blocks of code with already defined functions. Change saves 100 bytes of flash memory and 11 lines of code. --- Firmware/Marlin_main.cpp | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 868666d29..06a6dbda7 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2817,12 +2817,7 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon if (home_z) babystep_undo(); - saved_feedrate = feedrate; - int l_feedmultiply = feedmultiply; - feedmultiply = 100; - previous_millis_cmd.start(); - - enable_endstops(true); + int l_feedmultiply = setup_for_endstop_move(); set_destination_to_current(); feedrate = 0.0; @@ -2997,13 +2992,7 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon // contains the machine coordinates. plan_set_position_curposXYZE(); - #ifdef ENDSTOPS_ONLY_FOR_HOMING - enable_endstops(false); - #endif - - feedrate = saved_feedrate; - feedmultiply = l_feedmultiply; - previous_millis_cmd.start(); + clean_up_after_endstop_move(l_feedmultiply); endstops_hit_on_purpose(); #ifndef MESH_BED_LEVELING //-// Oct 2019 :: this part of code is (from) now probably un-compilable From 052ecc3782d6313fc522bd9d3d9a6f2806154651 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 12 Sep 2021 16:22:47 +0000 Subject: [PATCH 189/234] G81: Change for loop variables x and y to uint8_t Saves 198 bytes of flash, that's crazy --- Firmware/Marlin_main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 06a6dbda7..4b8dd2d1a 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5625,8 +5625,8 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) SERIAL_PROTOCOLPGM("\nZ search height: "); SERIAL_PROTOCOL(MESH_HOME_Z_SEARCH); SERIAL_PROTOCOLLNPGM("\nMeasured points:"); - for (int y = MESH_NUM_Y_POINTS-1; y >= 0; y--) { - for (int x = 0; x < MESH_NUM_X_POINTS; x++) { + for (uint8_t y = MESH_NUM_Y_POINTS-1; y >= 0; y--) { + for (uint8_t x = 0; x < MESH_NUM_X_POINTS; x++) { SERIAL_PROTOCOLPGM(" "); SERIAL_PROTOCOL_F(mbl.z_values[y][x], 5); } From ac049c7e3c5c1bd0f627ed55897fd331c637fff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 12 Sep 2021 16:42:31 +0000 Subject: [PATCH 190/234] Use code_value_short() in get_command() Same code but uses a defined function Saves 28 bytes of flash memory --- Firmware/cmdqueue.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index 7cd0c4635..fab0fe7dd 100755 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -443,7 +443,7 @@ void get_command() char *p = cmdbuffer+bufindw+CMDHDRSIZE; while (p != strchr_pointer) checksum = checksum^(*p++); - if (int(strtol(strchr_pointer+1, NULL, 10)) != int(checksum)) { + if (code_value_short() != (int16_t)checksum) { SERIAL_ERROR_START; SERIAL_ERRORRPGM(_n("checksum mismatch, Last Line: "));////MSG_ERR_CHECKSUM_MISMATCH SERIAL_ERRORLN(gcode_LastN); From d8723c0eac7c186199fff02ba9b4c4552d0b68e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 12 Sep 2021 16:47:03 +0000 Subject: [PATCH 191/234] Use code_value_uint8() in get_command() The if statement is simplified as the value is never negative and we can get rid of one variable Saves 12 bytes of flash memory --- Firmware/cmdqueue.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index fab0fe7dd..a48fcdb5c 100755 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -486,8 +486,7 @@ void get_command() is_usb_printing = true; } if (Stopped == true) { - int gcode = strtol(strchr_pointer+1, NULL, 10); - if (gcode >= 0 && gcode <= 3) { + if (code_value_uint8() <= 3) { SERIAL_ERRORLNRPGM(MSG_ERR_STOPPED); LCD_MESSAGERPGM(_T(MSG_STOPPED)); } From f8847edca69b9dee19b5c222b4066f6987ae5529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 29 Jan 2022 14:40:47 +0000 Subject: [PATCH 192/234] Remove one unused variable Saves 1 byte of SRAM The variable is only assigned a value but is never used. --- Firmware/Marlin.h | 1 - Firmware/Marlin_main.cpp | 2 -- Firmware/ultralcd.cpp | 1 - 3 files changed, 4 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 6797b954b..08a09a04a 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -354,7 +354,6 @@ extern unsigned long start_pause_print; extern unsigned long t_fan_rising_edge; extern bool mesh_bed_leveling_flag; -extern bool mesh_bed_run_from_menu; extern int8_t lcd_change_fil_state; // save/restore printing diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 4b8dd2d1a..711ea2488 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -208,7 +208,6 @@ static ShortTimer crashDetTimer; //unsigned long load_filament_time; bool mesh_bed_leveling_flag = false; -bool mesh_bed_run_from_menu = false; #ifdef PRUSA_M28 bool prusa_sd_card_upload = false; @@ -3448,7 +3447,6 @@ static void gcode_G80() lcd_setstatuspgm(_T(WELCOME_MSG)); custom_message_type = custom_message_type_old; custom_message_state = custom_message_state_old; - mesh_bed_run_from_menu = false; lcd_update(2); st_synchronize(); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index f9d36b88a..c0afd946a 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -4493,7 +4493,6 @@ static void lcd_language_menu() void lcd_mesh_bedleveling() { - mesh_bed_run_from_menu = true; enquecommand_P(PSTR("G80")); lcd_return_to_status(); } From 581188ce2c43e5a623b39a0aa011a4f512de30bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 29 Jan 2022 14:53:23 +0000 Subject: [PATCH 193/234] Fix an issue found in code review Unfortunately this increases flash usages by 212 bytes (same usage as in current release) It seems it is most memory effcient to use int16_t (int). int8_t requires more memory. --- Firmware/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 711ea2488..01f9797ae 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5623,7 +5623,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) SERIAL_PROTOCOLPGM("\nZ search height: "); SERIAL_PROTOCOL(MESH_HOME_Z_SEARCH); SERIAL_PROTOCOLLNPGM("\nMeasured points:"); - for (uint8_t y = MESH_NUM_Y_POINTS-1; y >= 0; y--) { + for (int16_t y = MESH_NUM_Y_POINTS-1; y >= 0; y--) { for (uint8_t x = 0; x < MESH_NUM_X_POINTS; x++) { SERIAL_PROTOCOLPGM(" "); SERIAL_PROTOCOL_F(mbl.z_values[y][x], 5); From c705d4aa106e1eefd87b36fc45947b0df8fc7618 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 29 Jan 2022 14:58:39 +0000 Subject: [PATCH 194/234] Change set_z() parameters to uin8_t Saves 24 bytes of flash --- Firmware/mesh_bed_calibration.cpp | 6 +++--- Firmware/mesh_bed_leveling.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 23d7c8736..892415e56 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -2872,14 +2872,14 @@ bool sample_mesh_and_store_reference() } mbl.set_z(0, 0, current_position[Z_AXIS]); } - for (int8_t mesh_point = 1; mesh_point != MESH_MEAS_NUM_X_POINTS * MESH_MEAS_NUM_Y_POINTS; ++ mesh_point) { + for (uint8_t mesh_point = 1; mesh_point != MESH_MEAS_NUM_X_POINTS * MESH_MEAS_NUM_Y_POINTS; ++ mesh_point) { // Don't let the manage_inactivity() function remove power from the motors. refresh_cmd_timeout(); // Print the decrasing ID of the measurement point. current_position[Z_AXIS] = MESH_HOME_Z_SEARCH; go_to_current(homing_feedrate[Z_AXIS]/60); - int8_t ix = mesh_point % MESH_MEAS_NUM_X_POINTS; - int8_t iy = mesh_point / MESH_MEAS_NUM_X_POINTS; + uint8_t ix = mesh_point % MESH_MEAS_NUM_X_POINTS; + uint8_t iy = mesh_point / MESH_MEAS_NUM_X_POINTS; if (iy & 1) ix = (MESH_MEAS_NUM_X_POINTS - 1) - ix; // Zig zag current_position[X_AXIS] = BED_X(ix, MESH_MEAS_NUM_X_POINTS); current_position[Y_AXIS] = BED_Y(iy, MESH_MEAS_NUM_Y_POINTS); diff --git a/Firmware/mesh_bed_leveling.h b/Firmware/mesh_bed_leveling.h index bf3729558..37d9ade78 100644 --- a/Firmware/mesh_bed_leveling.h +++ b/Firmware/mesh_bed_leveling.h @@ -29,7 +29,7 @@ public: // Otherwise a correction matrix is pulled from the EEPROM if available. static void get_meas_xy(int ix, int iy, float &x, float &y, bool use_default); - void set_z(int ix, int iy, float z) { z_values[iy][ix] = z; } + void set_z(uint8_t ix, uint8_t iy, float z) { z_values[iy][ix] = z; } int select_x_index(float x) { int i = 1; From 49693a9fb375f65df6cce8cd57598aab1c883ef8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 29 Jan 2022 15:01:51 +0000 Subject: [PATCH 195/234] Remove undefined function No change in memory footprint. --- Firmware/mesh_bed_leveling.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Firmware/mesh_bed_leveling.h b/Firmware/mesh_bed_leveling.h index 37d9ade78..7df04844a 100644 --- a/Firmware/mesh_bed_leveling.h +++ b/Firmware/mesh_bed_leveling.h @@ -24,11 +24,6 @@ public: static float get_x(int i) { return float(MESH_MIN_X) + float(MESH_X_DIST) * float(i); } static float get_y(int i) { return float(MESH_MIN_Y) + float(MESH_Y_DIST) * float(i); } - // Measurement point for the Z probe. - // If use_default=true, then the default positions for a correctly built printer are used. - // Otherwise a correction matrix is pulled from the EEPROM if available. - static void get_meas_xy(int ix, int iy, float &x, float &y, bool use_default); - void set_z(uint8_t ix, uint8_t iy, float z) { z_values[iy][ix] = z; } int select_x_index(float x) { From c081e1a5ae39d93ccb77213e4ebf5ac7c6659040 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 29 Jan 2022 15:08:10 +0000 Subject: [PATCH 196/234] Loop index can be unsigned Saves 4 bytes of flash memory --- Firmware/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 01f9797ae..bc3334c46 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -11130,7 +11130,7 @@ void uvlo_() eeprom_update_dword((uint32_t*)(EEPROM_FILE_POSITION), sd_position); // Store the mesh bed leveling offsets. This is 2*7*7=98 bytes, which takes 98*3.4us=333us in worst case. - for (int8_t mesh_point = 0; mesh_point < MESH_NUM_X_POINTS * MESH_NUM_Y_POINTS; ++ mesh_point) { + for (uint8_t mesh_point = 0; mesh_point < MESH_NUM_X_POINTS * MESH_NUM_Y_POINTS; ++ mesh_point) { uint8_t ix = mesh_point % MESH_NUM_X_POINTS; // from 0 to MESH_NUM_X_POINTS - 1 uint8_t iy = mesh_point / MESH_NUM_X_POINTS; // Scale the z value to 1u resolution. From aae562e480081e2fe813c5b3a63288f0b5c47ead Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Sun, 30 Jan 2022 02:56:05 +0100 Subject: [PATCH 197/234] Fix G81 for loop --- Firmware/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index bc3334c46..3ed9f8165 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5623,7 +5623,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) SERIAL_PROTOCOLPGM("\nZ search height: "); SERIAL_PROTOCOL(MESH_HOME_Z_SEARCH); SERIAL_PROTOCOLLNPGM("\nMeasured points:"); - for (int16_t y = MESH_NUM_Y_POINTS-1; y >= 0; y--) { + for (uint8_t y = MESH_NUM_Y_POINTS; y-- > 0;) { for (uint8_t x = 0; x < MESH_NUM_X_POINTS; x++) { SERIAL_PROTOCOLPGM(" "); SERIAL_PROTOCOL_F(mbl.z_values[y][x], 5); From 67e6361ff17dea34a61a02d71c8d04a24c9011cc Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Sun, 30 Jan 2022 13:16:05 +0100 Subject: [PATCH 198/234] Fix temperature runaway variable types (merge conflict) --- Firmware/temperature.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 401218c8d..684dcd444 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -220,10 +220,10 @@ enum TempRunawayStates : uint8_t //=========================================================================== #if (defined (TEMP_RUNAWAY_BED_HYSTERESIS) && TEMP_RUNAWAY_BED_TIMEOUT > 0) || (defined (TEMP_RUNAWAY_EXTRUDER_HYSTERESIS) && TEMP_RUNAWAY_EXTRUDER_TIMEOUT > 0) -static float temp_runaway_status[1 + EXTRUDERS]; +static uint8_t temp_runaway_status[1 + EXTRUDERS]; static float temp_runaway_target[1 + EXTRUDERS]; -static float temp_runaway_timer[1 + EXTRUDERS]; -static int temp_runaway_error_counter[1 + EXTRUDERS]; +static uint32_t temp_runaway_timer[1 + EXTRUDERS]; +static uint16_t temp_runaway_error_counter[1 + EXTRUDERS]; static void temp_runaway_check(uint8_t _heater_id, float _target_temperature, float _current_temperature, float _output, bool _isbed); static void temp_runaway_stop(bool isPreheat, bool isBed); From 1523194d3b46ed701b1c7a57da64cb117ba51166 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Sun, 30 Jan 2022 13:18:07 +0100 Subject: [PATCH 199/234] Fix build (merge conflict) --- Firmware/ultralcd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index e2f0f2044..a134965d5 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -48,7 +48,7 @@ void lcd_pause_print(); void lcd_pause_usb_print(); void lcd_resume_print(); void lcd_print_stop(); -void prusa_statistics(int _message, uint8_t _col_nr = 0); +void prusa_statistics(uint8_t _message, uint8_t _col_nr = 0); void lcd_load_filament_color_check(); //void lcd_mylang(); From c0e7e17fc357f105b7b6c95c019d0a97c400ce97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 30 Jan 2022 13:07:09 +0000 Subject: [PATCH 200/234] Fix type of nrFiles --- Firmware/cardreader.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/cardreader.h b/Firmware/cardreader.h index d13caa08b..ea6e25b44 100644 --- a/Firmware/cardreader.h +++ b/Firmware/cardreader.h @@ -135,7 +135,7 @@ private: bool autostart_stilltocheck; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware. - int16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory. + uint16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory. bool diveSubfolder (const char *&fileName); void lsDive(const char *prepend, SdFile parent, const char * const match=NULL, LsAction lsAction = LS_GetFilename, ls_param lsParams = ls_param()); From aec2db7683bac2803fbe6ea2c77f052963de05d8 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Tue, 1 Feb 2022 18:12:13 +0100 Subject: [PATCH 201/234] Optimize MUL8x16R8 --- Firmware/speed_lookuptable.h | 57 ++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/Firmware/speed_lookuptable.h b/Firmware/speed_lookuptable.h index b72eb18b8..1d9048d3a 100644 --- a/Firmware/speed_lookuptable.h +++ b/Firmware/speed_lookuptable.h @@ -8,30 +8,36 @@ extern const uint16_t speed_lookuptable_slow[256][2] PROGMEM; #ifndef _NO_ASM -// intRes = intIn1 * intIn2 >> 8 -// uses: -// r26 to store 0 -// r27 to store the byte 1 of the 24 bit result -#define MultiU16X8toH16(intRes, charIn1, intIn2) \ -asm volatile ( \ -"clr r26 \n\t" \ -"mul %A1, %B2 \n\t" \ -"movw %A0, r0 \n\t" \ -"mul %A1, %A2 \n\t" \ -"add %A0, r1 \n\t" \ -"adc %B0, r26 \n\t" \ -"lsr r0 \n\t" \ -"adc %A0, r26 \n\t" \ -"adc %B0, r26 \n\t" \ -"clr r1 \n\t" \ -: \ -"=&r" (intRes) \ -: \ -"d" (charIn1), \ -"d" (intIn2) \ -: \ -"r26" \ -) +// return ((x * y) >> 8) with rounding when shifting right +FORCE_INLINE uint16_t MUL8x16R8(uint8_t x, uint16_t y) { + uint16_t out; + __asm__ ( + // %0 out + // %1 x + // %2 y + // uint8_t: %An or %n + // uint16_t: %Bn %An + // __uint24: %Cn %Bn %An + // uint32_t: %Dn %Cn %Bn %An + // + // + // B2 A2 * + // A1 + //--------- + // B0 A0 RR + "mul %B2, %A1" "\n\t" + "movw %0, r0" "\n\t" + "mul %A2, %A1" "\n\t" + "lsl r0" "\n\t" //push MSB to carry for rounding + "adc %A0, r1" "\n\t" //add with carry (for rounding) + "clr r1" "\n\t" //make r1 __zero_reg__ again + "adc %B0, r1" "\n\t" //propagate carry of addition (add 0 with carry) + : "=&r" (out) + : "r" (x), "r" (y) + : "r0", "r1" //clobbers: Technically these are either scratch registers or always 0 registers, but I'm making sure the compiler knows just in case. + ); + return out; +} // intRes = longIn1 * longIn2 >> 24 // uses: @@ -115,8 +121,7 @@ FORCE_INLINE unsigned short calc_timer(uint16_t step_rate, uint8_t& step_loops) unsigned short table_address = (unsigned short)&speed_lookuptable_fast[(unsigned char)(step_rate>>8)][0]; unsigned char tmp_step_rate = (step_rate & 0x00ff); uint16_t gain = (uint16_t)pgm_read_word_near(table_address+2); - MultiU16X8toH16(timer, tmp_step_rate, gain); - timer = (unsigned short)pgm_read_word_near(table_address) - timer; + timer = (unsigned short)pgm_read_word_near(table_address) - MUL8x16R8(tmp_step_rate, gain); } else { // lower step rates unsigned short table_address = (unsigned short)&speed_lookuptable_slow[0][0]; From 53dfcf9d6f1c42e54194e1cb2c6d453e8a003eb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Tue, 1 Feb 2022 18:37:41 +0000 Subject: [PATCH 202/234] Optimise if-statments in world2machine_clamp Only one of the statements can be true: tmpx < X_MIN_POS or tmpx > X_MAX_POS. So we can be a little bit smarter here and skip the second if statement if the first was true. This saves 6 bytes of flash memory and potential some clock cycles --- Firmware/mesh_bed_calibration.h | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Firmware/mesh_bed_calibration.h b/Firmware/mesh_bed_calibration.h index c539d4b59..02b97cc2d 100644 --- a/Firmware/mesh_bed_calibration.h +++ b/Firmware/mesh_bed_calibration.h @@ -129,16 +129,15 @@ inline bool world2machine_clamp(float &x, float &y) if (tmpx < X_MIN_POS) { tmpx = X_MIN_POS; clamped = true; - } - if (tmpy < Y_MIN_POS) { - tmpy = Y_MIN_POS; - clamped = true; - } - if (tmpx > X_MAX_POS) { + } else if (tmpx > X_MAX_POS) { tmpx = X_MAX_POS; clamped = true; } - if (tmpy > Y_MAX_POS) { + + if (tmpy < Y_MIN_POS) { + tmpy = Y_MIN_POS; + clamped = true; + } else if (tmpy > Y_MAX_POS) { tmpy = Y_MAX_POS; clamped = true; } From e525bcb7f59a2e22eadb3642e9f7dc3aa4bc7aa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Tue, 1 Feb 2022 18:57:43 +0000 Subject: [PATCH 203/234] Optimise lcd_selftest_screen input parameters and return type * _progress_scale is max 3 so it can be uint8_t * _progress is max 6 so it can be uint8_t * Change _delay type to uint16_t to be explicit Changes save 102 bytes of flash memory (Arduino IDE 1.8.19) --- Firmware/ultralcd.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 2b75f5f6c..2b6922ae0 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -205,7 +205,7 @@ enum class TestError : uint_least8_t FsensorLevel }; -static int lcd_selftest_screen(TestScreen screen, int _progress, int _progress_scale, bool _clear, int _delay); +static uint8_t lcd_selftest_screen(TestScreen screen, uint8_t _progress, uint8_t _progress_scale, bool _clear, uint16_t _delay); static void lcd_selftest_screen_step(uint8_t _row, uint8_t _col, uint8_t _state, const char *_name, const char *_indicator); static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite, bool _default=false); @@ -7335,7 +7335,7 @@ static void lcd_selftest_v() bool lcd_selftest() { - int _progress = 0; + uint8_t _progress = 0; bool _result = true; bool _swapped_fan = false; #ifdef IR_SENSOR_ANALOG @@ -7733,7 +7733,7 @@ static bool lcd_selfcheck_axis(int _axis, int _travel) // printf_P(PSTR("lcd_selfcheck_axis %d, %d\n"), _axis, _travel); bool _stepdone = false; bool _stepresult = false; - int _progress = 0; + uint8_t _progress = 0; int _travel_done = 0; int _err_endstop = 0; int _lcd_refresh = 0; @@ -7944,14 +7944,14 @@ static bool lcd_selfcheck_endstops() static bool lcd_selfcheck_check_heater(bool _isbed) { - int _counter = 0; - int _progress = 0; + uint8_t _counter = 0; + uint8_t _progress = 0; bool _stepresult = false; bool _docycle = true; int _checked_snapshot = (_isbed) ? degBed() : degHotend(0); int _opposite_snapshot = (_isbed) ? degHotend(0) : degBed(); - int _cycles = (_isbed) ? 180 : 60; //~ 90s / 30s + uint8_t _cycles = (_isbed) ? 180 : 60; //~ 90s / 30s target_temperature[0] = (_isbed) ? 0 : 200; target_temperature_bed = (_isbed) ? 100 : 0; @@ -8372,7 +8372,7 @@ static FanCheck lcd_selftest_fan_auto(int _fan) #endif //FANCHECK -static int lcd_selftest_screen(TestScreen screen, int _progress, int _progress_scale, bool _clear, int _delay) +static uint8_t lcd_selftest_screen(TestScreen screen, uint8_t _progress, uint8_t _progress_scale, bool _clear, uint16_t _delay) { lcd_update_enable(false); From 459570ab660a0e2114bc696a4fc184f87011d20a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Wed, 2 Feb 2022 18:35:52 +0000 Subject: [PATCH 204/234] Change prusa_stat_printerstatus parameter to uint8_t Also changes status_number global variable to uint8_t Changes save 80 bytes of flash and 1 byte of SRAM (Arduino IDE 1.8.19) --- Firmware/Marlin.h | 2 +- Firmware/Marlin_main.cpp | 4 ++-- Firmware/ultralcd.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 12d29fee3..b2a09e341 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -335,7 +335,7 @@ extern bool loading_flag; extern uint8_t usb_printing_counter; extern unsigned long total_filament_used; void save_statistics(unsigned long _total_filament_used, unsigned long _total_print_time); -extern unsigned int status_number; +extern uint8_t status_number; extern uint8_t heating_status_counter; extern char snmm_filaments_used; extern unsigned long PingTime; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 3dd18f8ad..5b6c31717 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -213,7 +213,7 @@ bool mesh_bed_leveling_flag = false; bool prusa_sd_card_upload = false; #endif -unsigned int status_number = 0; +uint8_t status_number = 0; unsigned long total_filament_used; HeatingStatus heating_status; @@ -4509,7 +4509,7 @@ void process_commands() } } else if (code_seen_P(PSTR("PRN"))) { // PRUSA PRN - printf_P(_N("%d"), status_number); + printf_P(_N("%u"), status_number); } else if( code_seen_P(PSTR("FANPINTST"))){ gcode_PRUSA_BadRAMBoFanTest(); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 2b6922ae0..3008a7dce 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -126,7 +126,7 @@ static void lcd_control_temperature_menu(); #ifdef TMC2130 static void lcd_settings_linearity_correction_menu_save(); #endif -static void prusa_stat_printerstatus(int _status); +static void prusa_stat_printerstatus(uint8_t _status); static void prusa_stat_farm_number(); static void prusa_stat_diameter(); static void prusa_stat_temperatures(); @@ -4064,7 +4064,7 @@ void prusa_statistics(uint8_t _message, uint8_t _fil_nr) { } -static void prusa_stat_printerstatus(int _status) +static void prusa_stat_printerstatus(uint8_t _status) { SERIAL_ECHOPGM("[PRN:"); SERIAL_ECHO(_status); From 146b00818696dc65338da34c08710cca7887de16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Wed, 2 Feb 2022 18:37:55 +0000 Subject: [PATCH 205/234] Remove redundant variable farm_status It is unused and status_number variable can be used instead. --- Firmware/ultralcd.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 3008a7dce..84f90512e 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -83,7 +83,6 @@ uint8_t custom_message_state = 0; bool isPrintPaused = false; uint8_t farm_mode = 0; uint8_t farm_timer = 8; -uint8_t farm_status = 0; bool printer_connected = true; static ShortTimer display_time; //just timer for showing pid finished message on lcd; @@ -3949,7 +3948,6 @@ void prusa_statistics(uint8_t _message, uint8_t _fil_nr) { break; case 1: // 1 heating - farm_status = 2; SERIAL_ECHO('{'); prusa_stat_printerstatus(2); prusa_stat_farm_number(); @@ -3958,7 +3956,6 @@ void prusa_statistics(uint8_t _message, uint8_t _fil_nr) { break; case 2: // heating done - farm_status = 3; SERIAL_ECHO('{'); prusa_stat_printerstatus(3); prusa_stat_farm_number(); @@ -3968,7 +3965,6 @@ void prusa_statistics(uint8_t _message, uint8_t _fil_nr) { if (IS_SD_PRINTING || loading_flag) { - farm_status = 4; SERIAL_ECHO('{'); prusa_stat_printerstatus(4); prusa_stat_farm_number(); From 6ce7792045066a4526d7acad085931d0908eaff2 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Wed, 2 Feb 2022 20:58:21 +0100 Subject: [PATCH 206/234] Remove "hh" in fmt where it makes no difference --- Firmware/ConfigurationStore.cpp | 4 ++-- Firmware/Marlin_main.cpp | 8 ++++---- Firmware/cmdqueue.cpp | 2 +- Firmware/fsensor.cpp | 18 +++++++++--------- Firmware/mmu.cpp | 4 ++-- Firmware/pat9125.c | 4 ++-- Firmware/tmc2130.cpp | 10 +++++----- Firmware/ultralcd.cpp | 6 +++--- 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/Firmware/ConfigurationStore.cpp b/Firmware/ConfigurationStore.cpp index adccb3999..f7909a6d5 100644 --- a/Firmware/ConfigurationStore.cpp +++ b/Firmware/ConfigurationStore.cpp @@ -32,7 +32,7 @@ static bool EEPROM_writeData(uint8_t* pos, uint8_t* value, uint8_t size, const c #endif //DEBUG_EEPROM_WRITE { #ifdef DEBUG_EEPROM_WRITE - printf_P(PSTR("EEPROM_WRITE_VAR addr=0x%04x size=0x%02hhx name=%s\n"), pos, size, name); + printf_P(PSTR("EEPROM_WRITE_VAR addr=0x%04x size=0x%02x name=%s\n"), pos, size, name); #endif //DEBUG_EEPROM_WRITE while (size--) { @@ -56,7 +56,7 @@ static void EEPROM_readData(uint8_t* pos, uint8_t* value, uint8_t size, const ch #endif //DEBUG_EEPROM_READ { #ifdef DEBUG_EEPROM_READ - printf_P(PSTR("EEPROM_READ_VAR addr=0x%04x size=0x%02hhx name=%s\n"), pos, size, name); + printf_P(PSTR("EEPROM_READ_VAR addr=0x%04x size=0x%02x name=%s\n"), pos, size, name); #endif //DEBUG_EEPROM_READ while(size--) { diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 5b6c31717..b04ffcdb7 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1518,7 +1518,7 @@ void setup() xflash_rd_uid(uid); puts_P(_n("XFLASH UID=")); for (uint8_t i = 0; i < 8; i ++) - printf_P(PSTR("%02hhx"), uid[i]); + printf_P(PSTR("%02x"), uid[i]); putchar('\n'); list_sec_lang_from_external_flash(); #endif //DEBUG_XFLASH @@ -4450,7 +4450,7 @@ void process_commands() tmc2130_chopper_config[axis].hend = chop2 & 15; tmc2130_chopper_config[axis].tbl = chop3 & 3; tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); - //printf_P(_N("TMC_SET_CHOP_%c %hhd %hhd %hhd %hhd\n"), "xyze"[axis], chop0, chop1, chop2, chop3); + //printf_P(_N("TMC_SET_CHOP_%c %d %d %d %d\n"), "xyze"[axis], chop0, chop1, chop2, chop3); } } } @@ -4459,7 +4459,7 @@ void process_commands() { uint8_t bl = (uint8_t)strtol(CMDBUFFER_CURRENT_STRING + 10, NULL, 10); st_backlash_x = bl; - printf_P(_N("st_backlash_x = %hhd\n"), st_backlash_x); + printf_P(_N("st_backlash_x = %d\n"), st_backlash_x); } #endif //BACKLASH_X #ifdef BACKLASH_Y @@ -4467,7 +4467,7 @@ void process_commands() { uint8_t bl = (uint8_t)strtol(CMDBUFFER_CURRENT_STRING + 10, NULL, 10); st_backlash_y = bl; - printf_P(_N("st_backlash_y = %hhd\n"), st_backlash_y); + printf_P(_N("st_backlash_y = %d\n"), st_backlash_y); } #endif //BACKLASH_Y #endif //TMC2130 diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index 1d4e2b92d..0342c19de 100755 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -94,7 +94,7 @@ void cmdqueue_reset() { while (buflen) { - // printf_P(PSTR("dumping: \"%s\" of type %hu\n"), cmdbuffer+bufindr+CMDHDRSIZE, CMDBUFFER_CURRENT_TYPE); + // printf_P(PSTR("dumping: \"%s\" of type %u\n"), cmdbuffer+bufindr+CMDHDRSIZE, CMDBUFFER_CURRENT_TYPE); ClearToSend(); cmdqueue_pop_front(); } diff --git a/Firmware/fsensor.cpp b/Firmware/fsensor.cpp index ac7d202e4..3eab45383 100755 --- a/Firmware/fsensor.cpp +++ b/Firmware/fsensor.cpp @@ -188,7 +188,7 @@ void fsensor_init(void) { #ifdef PAT9125 uint8_t pat9125 = pat9125_init(); - printf_P(PSTR("PAT9125_init:%hhu\n"), pat9125); + printf_P(PSTR("PAT9125_init:%u\n"), pat9125); #endif //PAT9125 uint8_t fsensor_enabled = eeprom_read_byte((uint8_t*)EEPROM_FSENSOR); fsensor_autoload_enabled=eeprom_read_byte((uint8_t*)EEPROM_FSENS_AUTOLOAD_ENABLED); @@ -237,7 +237,7 @@ bool fsensor_enable(bool bUpdateEEPROM) if (mmu_enabled == false) { //filament sensor is pat9125, enable only if it is working uint8_t pat9125 = pat9125_init(); - printf_P(PSTR("PAT9125_init:%hhu\n"), pat9125); + printf_P(PSTR("PAT9125_init:%u\n"), pat9125); if (pat9125) fsensor_not_responding = false; else @@ -435,8 +435,8 @@ void fsensor_oq_meassure_stop(void) { if (!fsensor_enabled) return; if (!fsensor_oq_meassure_enabled) return; - printf_P(PSTR("fsensor_oq_meassure_stop, %hhu samples\n"), fsensor_oq_samples); - printf_P(_N(" st_sum=%u yd_sum=%u er_sum=%u er_max=%hhu\n"), fsensor_oq_st_sum, fsensor_oq_yd_sum, fsensor_oq_er_sum, fsensor_oq_er_max); + printf_P(PSTR("fsensor_oq_meassure_stop, %u samples\n"), fsensor_oq_samples); + printf_P(_N(" st_sum=%u yd_sum=%u er_sum=%u er_max=%u\n"), fsensor_oq_st_sum, fsensor_oq_yd_sum, fsensor_oq_er_sum, fsensor_oq_er_max); printf_P(_N(" yd_min=%u yd_max=%u yd_avg=%u sh_avg=%u\n"), fsensor_oq_yd_min, fsensor_oq_yd_max, (uint16_t)((uint32_t)fsensor_oq_yd_sum * fsensor_chunk_len / fsensor_oq_st_sum), (uint16_t)(fsensor_oq_sh_sum / fsensor_oq_samples)); fsensor_oq_meassure = false; } @@ -453,10 +453,10 @@ bool fsensor_oq_result(void) bool res_er_sum = (fsensor_oq_er_sum <= FSENSOR_OQ_MAX_ES); printf_P(_N(" er_sum = %u %S\n"), fsensor_oq_er_sum, (res_er_sum?_OK:_NG)); bool res_er_max = (fsensor_oq_er_max <= FSENSOR_OQ_MAX_EM); - printf_P(_N(" er_max = %hhu %S\n"), fsensor_oq_er_max, (res_er_max?_OK:_NG)); + printf_P(_N(" er_max = %u %S\n"), fsensor_oq_er_max, (res_er_max?_OK:_NG)); uint8_t yd_avg = ((uint32_t)fsensor_oq_yd_sum * fsensor_chunk_len / fsensor_oq_st_sum); bool res_yd_avg = (yd_avg >= FSENSOR_OQ_MIN_YD) && (yd_avg <= FSENSOR_OQ_MAX_YD); - printf_P(_N(" yd_avg = %hhu %S\n"), yd_avg, (res_yd_avg?_OK:_NG)); + printf_P(_N(" yd_avg = %u %S\n"), yd_avg, (res_yd_avg?_OK:_NG)); bool res_yd_max = (fsensor_oq_yd_max <= (yd_avg * FSENSOR_OQ_MAX_PD)); printf_P(_N(" yd_max = %u %S\n"), fsensor_oq_yd_max, (res_yd_max?_OK:_NG)); bool res_yd_min = (fsensor_oq_yd_min >= (yd_avg / FSENSOR_OQ_MAX_ND)); @@ -472,7 +472,7 @@ bool fsensor_oq_result(void) bool res_sh_avg = (sh_avg <= FSENSOR_OQ_MAX_SH); if (yd_qua >= 8) res_sh_avg = true; - printf_P(_N(" sh_avg = %hhu %S\n"), sh_avg, (res_sh_avg?_OK:_NG)); + printf_P(_N(" sh_avg = %u %S\n"), sh_avg, (res_sh_avg?_OK:_NG)); bool res = res_er_sum && res_er_max && res_yd_avg && res_yd_max && res_yd_min && res_sh_avg; printf_P(_N("fsensor_oq_result %S\n"), (res?_OK:_NG)); return res; @@ -559,8 +559,8 @@ FORCE_INLINE static void fsensor_isr(int st_cnt) #ifdef DEBUG_FSENSOR_LOG if (fsensor_log) { - printf_P(_N("FSENSOR cnt=%d dy=%d err=%hhu %S\n"), st_cnt, pat9125_y, fsensor_err_cnt, (fsensor_err_cnt > old_err_cnt)?_N("NG!"):_N("OK")); - if (fsensor_oq_meassure) printf_P(_N("FSENSOR st_sum=%u yd_sum=%u er_sum=%u er_max=%hhu yd_max=%u\n"), fsensor_oq_st_sum, fsensor_oq_yd_sum, fsensor_oq_er_sum, fsensor_oq_er_max, fsensor_oq_yd_max); + printf_P(_N("FSENSOR cnt=%d dy=%d err=%u %S\n"), st_cnt, pat9125_y, fsensor_err_cnt, (fsensor_err_cnt > old_err_cnt)?_N("NG!"):_N("OK")); + if (fsensor_oq_meassure) printf_P(_N("FSENSOR st_sum=%u yd_sum=%u er_sum=%u er_max=%u yd_max=%u\n"), fsensor_oq_st_sum, fsensor_oq_yd_sum, fsensor_oq_er_sum, fsensor_oq_er_max, fsensor_oq_yd_max); } #endif //DEBUG_FSENSOR_LOG diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index 0d6ebe4c2..6526b1537 100755 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -264,7 +264,7 @@ void mmu_loop(void) case S::GetFindaInit: if (mmu_rx_ok() > 0) { - fscanf_P(uart2io, PSTR("%hhu"), &mmu_finda); //scan finda from buffer + fscanf_P(uart2io, PSTR("%hhu"), &mmu_finda); //scan finda from buffer. MUST BE %hhu!!! mmu_last_finda_response.start(); FDEBUG_PRINTF_P(PSTR("MMU => '%dok'\n"), mmu_finda); puts_P(PSTR("MMU - ENABLED")); @@ -377,7 +377,7 @@ void mmu_loop(void) } if (mmu_rx_ok() > 0) { - fscanf_P(uart2io, PSTR("%hhu"), &mmu_finda); //scan finda from buffer + fscanf_P(uart2io, PSTR("%hhu"), &mmu_finda); //scan finda from buffer. MUST BE %hhu!!! mmu_last_finda_response.start(); FDEBUG_PRINTF_P(PSTR("MMU => '%dok'\n"), mmu_finda); //printf_P(PSTR("Eact: %d\n"), int(e_active())); diff --git a/Firmware/pat9125.c b/Firmware/pat9125.c index ea22c015b..0cfce5684 100644 --- a/Firmware/pat9125.c +++ b/Firmware/pat9125.c @@ -188,8 +188,8 @@ uint8_t pat9125_init(void) pat9125_wr_reg(PAT9125_RES_X, PAT9125_XRES); pat9125_wr_reg(PAT9125_RES_Y, PAT9125_YRES); - fprintf_P(uartout, PSTR("PAT9125_RES_X=%hhu\n"), pat9125_rd_reg(PAT9125_RES_X)); - fprintf_P(uartout, PSTR("PAT9125_RES_Y=%hhu\n"), pat9125_rd_reg(PAT9125_RES_Y)); + fprintf_P(uartout, PSTR("PAT9125_RES_X=%u\n"), pat9125_rd_reg(PAT9125_RES_X)); + fprintf_P(uartout, PSTR("PAT9125_RES_Y=%u\n"), pat9125_rd_reg(PAT9125_RES_Y)); return 1; } diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 7560a084f..f4d114df2 100755 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -471,8 +471,8 @@ void tmc2130_setup_chopper(uint8_t axis, uint8_t mres, uint8_t current_h, uint8_ intpol = 0; } #endif -// DBG(_n("tmc2130_setup_chopper(axis=%hhd, mres=%hhd, curh=%hhd, curr=%hhd\n"), axis, mres, current_h, current_r); -// DBG(_n(" toff=%hhd, hstr=%hhd, hend=%hhd, tbl=%hhd\n"), toff, hstrt, hend, tbl); +// DBG(_n("tmc2130_setup_chopper(axis=%d, mres=%d, curh=%d, curr=%d\n"), axis, mres, current_h, current_r); +// DBG(_n(" toff=%d, hstr=%d, hend=%d, tbl=%d\n"), toff, hstrt, hend, tbl); if (current_r <= 31) { tmc2130_wr_CHOPCONF(axis, toff, hstrt, hend, fd3, 0, rndtf, chm, tbl, 1, 0, 0, 0, mres, intpol, dedge, 0); @@ -511,7 +511,7 @@ void tmc2130_print_currents() void tmc2130_set_pwm_ampl(uint8_t axis, uint8_t pwm_ampl) { -// DBG(_n("tmc2130_set_pwm_ampl(axis=%hhd, pwm_ampl=%hhd\n"), axis, pwm_ampl); +// DBG(_n("tmc2130_set_pwm_ampl(axis=%d, pwm_ampl=%d\n"), axis, pwm_ampl); tmc2130_pwm_ampl[axis] = pwm_ampl; if (((axis == 0) || (axis == 1)) && (tmc2130_mode == TMC2130_MODE_SILENT)) tmc2130_wr_PWMCONF(axis, tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); @@ -519,7 +519,7 @@ void tmc2130_set_pwm_ampl(uint8_t axis, uint8_t pwm_ampl) void tmc2130_set_pwm_grad(uint8_t axis, uint8_t pwm_grad) { -// DBG(_n("tmc2130_set_pwm_grad(axis=%hhd, pwm_grad=%hhd\n"), axis, pwm_grad); +// DBG(_n("tmc2130_set_pwm_grad(axis=%d, pwm_grad=%d\n"), axis, pwm_grad); tmc2130_pwm_grad[axis] = pwm_grad; if (((axis == 0) || (axis == 1)) && (tmc2130_mode == TMC2130_MODE_SILENT)) tmc2130_wr_PWMCONF(axis, tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); @@ -893,7 +893,7 @@ void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac1000) { // TMC2130 wave compression algorithm // optimized for minimal memory requirements -// printf_P(PSTR("tmc2130_set_wave %hhd %hhd\n"), axis, fac1000); +// printf_P(PSTR("tmc2130_set_wave %d %d\n"), axis, fac1000); if (fac1000 < TMC2130_WAVE_FAC1000_MIN) fac1000 = 0; if (fac1000 > TMC2130_WAVE_FAC1000_MAX) fac1000 = TMC2130_WAVE_FAC1000_MAX; float fac = 0; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 84f90512e..d80102e94 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -469,7 +469,7 @@ void lcdui_print_percent_done(void) return; //do not also print the percentage } } - sprintf_P(per, num?_N("%3hhd"):_N("---"), calc_percent_done()); + sprintf_P(per, num?_N("%3d"):_N("---"), calc_percent_done()); lcd_printf_P(_N("%3S%3s%%"), src, per); } @@ -2703,7 +2703,7 @@ void lcd_menu_statistics() "%S:\n" "%18.2fm \n" "%S:\n" - "%10ldh %02hhdm %02hhds" + "%10ldh %02dm %02ds" ), _i("Filament used"), _met, ////MSG_FILAMENT_USED c=19 _i("Print time"), _h, _m, _s); ////MSG_PRINT_TIME c=19 @@ -2725,7 +2725,7 @@ void lcd_menu_statistics() "%S:\n" "%18.2fm \n" "%S:\n" - "%10ldd %02hhdh %02hhdm" + "%10ldd %02dh %02dm" ), _i("Total filament"), _filament_m, ////MSG_TOTAL_FILAMENT c=19 _i("Total print time"), _days, _hours, _minutes); ////MSG_TOTAL_PRINT_TIME c=19 From f25bddce355a94a11e03c911bce29755583a91d4 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Wed, 2 Feb 2022 21:06:58 +0100 Subject: [PATCH 207/234] Simplify GETPC() --- Firmware/Dcodes.cpp | 2 +- Firmware/asm.h | 21 +++++++++------------ Firmware/xflash_dump.cpp | 2 +- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/Firmware/Dcodes.cpp b/Firmware/Dcodes.cpp index d99a2c890..4a51b4d74 100644 --- a/Firmware/Dcodes.cpp +++ b/Firmware/Dcodes.cpp @@ -990,7 +990,7 @@ void __attribute__((noinline)) serial_dump_and_reset(dump_crash_reason reason) // sample SP/PC sp = SP; - GETPC(&pc); + pc = GETPC(); // extend WDT long enough to allow writing the entire stream wdt_enable(WDTO_8S); diff --git a/Firmware/asm.h b/Firmware/asm.h index 2ffb88ad9..0c3d74572 100644 --- a/Firmware/asm.h +++ b/Firmware/asm.h @@ -1,24 +1,21 @@ #pragma once #include +#include "macros.h" #ifdef __AVR_ATmega2560__ // return the current PC (on AVRs with 22bit PC) -static inline void GETPC(uint32_t* v) +FORCE_INLINE __uint24 GETPC(void) { - uint8_t a, b, c; - asm - ( + __uint24 ret; + asm ( "rcall .\n" - "pop %2\n" - "pop %1\n" - "pop %0\n" - : "=r" (a), "=r" (b), "=r" (c) + "pop %A0\n" + "pop %B0\n" + "pop %C0\n" + : "=&r" (ret) ); - ((uint8_t*)v)[0] = a; - ((uint8_t*)v)[1] = b; - ((uint8_t*)v)[2] = c; - ((uint8_t*)v)[3] = 0; + return ret; } #endif diff --git a/Firmware/xflash_dump.cpp b/Firmware/xflash_dump.cpp index e69c1d3a0..4caba11b6 100644 --- a/Firmware/xflash_dump.cpp +++ b/Firmware/xflash_dump.cpp @@ -59,7 +59,7 @@ static void __attribute__((noinline)) xfdump_dump_core(dump_header_t& hdr, uint3 // sample SP/PC hdr.sp = SP; - GETPC(&hdr.pc); + hdr.pc = GETPC(); // write header static_assert(sizeof(hdr) <= 256, "header is larger than a single page write"); From 43bf33e791d55a90db064dfb7fa531bfad9c9be4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Wed, 2 Feb 2022 20:48:36 +0000 Subject: [PATCH 208/234] Optimise usage of code_value() code_value() is float but in some cases we can save memory when the expected output is only 1 or 2 bytes. Changes save 182 bytes of flash memory on my end. --- Firmware/Marlin_main.cpp | 71 ++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 5b6c31717..684f1f224 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -4319,11 +4319,11 @@ void process_commands() codenum = 0; bool hasP = false, hasS = false; if (code_seen('P')) { - codenum = code_value(); // milliseconds to wait + codenum = code_value_long(); // milliseconds to wait hasP = codenum > 0; } if (code_seen('S')) { - codenum = code_value() * 1000; // seconds to wait + codenum = code_value_long() * 1000; // seconds to wait hasS = codenum > 0; } starpos = strchr(src, '*'); @@ -4679,7 +4679,7 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF); // } else if(code_seen('G')) { - gcode_in_progress = (int)code_value(); + gcode_in_progress = code_value_short(); // printf_P(_N("BEGIN G-CODE=%u\n"), gcode_in_progress); switch (gcode_in_progress) { @@ -5827,7 +5827,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) } else { - mcode_in_progress = (int)code_value(); + mcode_in_progress = code_value_short(); // printf_P(_N("BEGIN M-CODE=%u\n"), mcode_in_progress); switch(mcode_in_progress) @@ -6096,7 +6096,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) uint8_t pin_status = code_value_uint8(); int8_t pin_number = LED_PIN; if (code_seen('P')) - pin_number = code_value(); + pin_number = code_value_uint8(); for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(*sensitive_pins)); i++) { if ((int8_t)pgm_read_byte(&sensitive_pins[i]) == pin_number) @@ -6511,9 +6511,9 @@ Sigma_Exit: */ case 73: //M73 show percent done, time remaining and time to change/pause { - if(code_seen('P')) print_percent_done_normal = code_value(); + if(code_seen('P')) print_percent_done_normal = code_value_uint8(); if(code_seen('R')) print_time_remaining_normal = code_value(); - if(code_seen('Q')) print_percent_done_silent = code_value(); + if(code_seen('Q')) print_percent_done_silent = code_value_uint8(); if(code_seen('S')) print_time_remaining_silent = code_value(); if(code_seen('C')){ float print_time_to_change_normal_f = code_value_float(); @@ -6633,7 +6633,7 @@ Sigma_Exit: autoReportFeatures.SetPeriod( code_value_uint8() ); } if (code_seen('C')){ - autoReportFeatures.SetMask(code_value()); + autoReportFeatures.SetMask(code_value_uint8()); } else{ autoReportFeatures.SetMask(1); //Backwards compability to host systems like Octoprint to send only temp if paramerter `C`isn't used. } @@ -6784,10 +6784,10 @@ Sigma_Exit: */ case 106: // M106 Sxxx Fan On S 0 .. 255 if (code_seen('S')){ - fanSpeed=constrain(code_value(),0,255); + fanSpeed = code_value_uint8(); } else { - fanSpeed=255; + fanSpeed = 255; } break; @@ -7017,7 +7017,7 @@ Sigma_Exit: */ case 113: if (code_seen('S')) { - host_keepalive_interval = (uint8_t)code_value_short(); + host_keepalive_interval = code_value_uint8(); // NOMORE(host_keepalive_interval, 60); } else { @@ -7243,7 +7243,7 @@ Sigma_Exit: uint8_t extruder = active_extruder; if(code_seen('T')) { - extruder = code_value(); + extruder = code_value_uint8(); if(extruder >= EXTRUDERS) { SERIAL_ECHO_START; SERIAL_ECHO(_n("M200 Invalid extruder "));////MSG_M200_INVALID_EXTRUDER @@ -7251,14 +7251,14 @@ Sigma_Exit: } } if(code_seen('D')) { - float diameter = (float)code_value(); + float diameter = code_value(); if (diameter == 0.0) { // setting any extruder filament size disables volumetric on the assumption that // slicers either generate in extruder values as cubic mm or as as filament feeds // for all extruders cs.volumetric_enabled = false; } else { - cs.filament_size[extruder] = (float)code_value(); + cs.filament_size[extruder] = code_value(); // make sure all extruders have some sane value for the filament size cs.filament_size[0] = (cs.filament_size[0] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : cs.filament_size[0]); #if EXTRUDERS > 1 @@ -7506,8 +7506,7 @@ Sigma_Exit: { if(code_seen('S')) { - int t= code_value() ; - switch(t) + switch(code_value_uint8()) { case 0: { @@ -7604,7 +7603,7 @@ Sigma_Exit: } if (code_seen('S')) { - feedmultiply = code_value(); + feedmultiply = code_value_short(); codesWereSeen = true; } if (code_seen('R')) //restore previous feedmultiply @@ -7633,7 +7632,7 @@ Sigma_Exit: { if (code_seen('S')) { - int tmp_code = code_value(); + int tmp_code = code_value_short(); if (code_seen('T')) { uint8_t extruder; @@ -7668,10 +7667,10 @@ Sigma_Exit: case 226: // M226 P S- Wait until the specified pin reaches the state required { if(code_seen('P')){ - int pin_number = code_value(); // pin number + int pin_number = code_value_short(); // pin number int pin_state = -1; // required pin state - default is inverted - if(code_seen('S')) pin_state = code_value(); // required pin state + if(code_seen('S')) pin_state = code_value_short(); // required pin state if(pin_state >= -1 && pin_state <= 1){ @@ -7949,13 +7948,13 @@ Sigma_Exit: case 303: { float temp = 150.0; - int e=0; - int c=5; - if (code_seen('E')) e=code_value(); - if (e<0) - temp=70; - if (code_seen('S')) temp=code_value(); - if (code_seen('C')) c=code_value(); + int e = 0; + int c = 5; + if (code_seen('E')) e = code_value_short(); + if (e < 0) + temp = 70; + if (code_seen('S')) temp = code_value(); + if (code_seen('C')) c = code_value_short(); PID_autotune(temp, e, c); } break; @@ -7992,8 +7991,8 @@ Sigma_Exit: { uint8_t extruder = 255; uint8_t filament = FILAMENT_UNDEFINED; - if(code_seen('E')) extruder = code_value(); - if(code_seen('F')) filament = code_value(); + if(code_seen('E')) extruder = code_value_uint8(); + if(code_seen('F')) filament = code_value_uint8(); mmu_set_filament_type(extruder, filament); } } @@ -8293,7 +8292,7 @@ Sigma_Exit: int set_target_pinda = 0; if (code_seen('S')) { - set_target_pinda = code_value(); + set_target_pinda = code_value_short(); } else { break; @@ -8386,9 +8385,9 @@ Sigma_Exit: SERIAL_PROTOCOLLN("zerorized"); } else if (code_seen('S')) { // Sxxx Iyyy - Set compensation ustep value S for compensation table index I - int16_t usteps = code_value(); + int16_t usteps = code_value_short(); if (code_seen('I')) { - uint8_t index = code_value(); + uint8_t index = code_value_uint8(); if (index < 5) { EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + index * 2, &usteps); SERIAL_PROTOCOLLN("OK"); @@ -8874,7 +8873,7 @@ Sigma_Exit: case 701: { if (mmu_enabled && code_seen('E')) - tmp_extruder = code_value(); + tmp_extruder = code_value_uint8(); gcode_M701(); } break; @@ -9131,7 +9130,7 @@ Sigma_Exit: */ else if (code_seen('D')) // D codes (debug) { - switch((int)code_value()) + switch(code_value_short()) { /*! @@ -9599,7 +9598,7 @@ void get_coordinates() if(code_seen(axis_codes[i])) { bool relative = axis_relative_modes & (1 << i); - destination[i] = (float)code_value(); + destination[i] = code_value(); if (i == E_AXIS) { float emult = extruder_multiplier[active_extruder]; if (emult != 1.) { @@ -10310,7 +10309,7 @@ bool setTargetedHotend(int code, uint8_t &extruder) { extruder = active_extruder; if(code_seen('T')) { - extruder = code_value(); + extruder = code_value_uint8(); if(extruder >= EXTRUDERS) { SERIAL_ECHO_START; switch(code){ From 858984ef354df58817cf7b84a22337a4aac03fea Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Fri, 4 Feb 2022 10:47:56 +0100 Subject: [PATCH 209/234] SD sorting entries instead of positions --- Firmware/cardreader.cpp | 28 ++++++++++++++-------------- Firmware/cardreader.h | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Firmware/cardreader.cpp b/Firmware/cardreader.cpp index 62e519a5d..708f4b02f 100644 --- a/Firmware/cardreader.cpp +++ b/Firmware/cardreader.cpp @@ -689,11 +689,11 @@ void CardReader::getfilename(uint16_t nr, const char * const match/*=NULL*/) } -void CardReader::getfilename_simple(uint32_t position, const char * const match/*=NULL*/) +void CardReader::getfilename_simple(uint16_t entry, const char * const match/*=NULL*/) { curDir = &workDir; nrFiles = 0; - curDir->seekSet(position); + curDir->seekSet((uint32_t)entry << 5); lsDive("", *curDir, match, LS_GetFilename); } @@ -775,7 +775,7 @@ void CardReader::updir() */ void CardReader::getfilename_sorted(const uint16_t nr, uint8_t sdSort) { if (nr < sort_count) - getfilename_simple(sort_positions[(sdSort == SD_SORT_ALPHA) ? (sort_count - nr - 1) : nr]); + getfilename_simple(sort_entries[(sdSort == SD_SORT_ALPHA) ? (sort_count - nr - 1) : nr]); else getfilename(nr); } @@ -832,7 +832,7 @@ void CardReader::presort() { else getfilename_next(position); sort_order[i] = i; - sort_positions[i] = position; + sort_entries[i] = position >> 5; #if HAS_FOLDER_SORTING if (filenameIsDir) dirCnt++; #endif @@ -882,7 +882,7 @@ void CardReader::presort() { manage_heater(); uint8_t orderBckp = sort_order[i]; - getfilename_simple(sort_positions[orderBckp]); + getfilename_simple(sort_entries[orderBckp]); strcpy(name1, LONGEST_FILENAME); // save (or getfilename below will trounce it) crmod_date_bckp = crmodDate; crmod_time_bckp = crmodTime; @@ -891,7 +891,7 @@ void CardReader::presort() { #endif uint16_t j = i; - getfilename_simple(sort_positions[sort_order[j - gap]]); + getfilename_simple(sort_entries[sort_order[j - gap]]); char *name2 = LONGEST_FILENAME; // use the string in-place #if HAS_FOLDER_SORTING while (j >= gap && ((sdSort == SD_SORT_TIME)?_SORT_CMP_TIME_DIR(FOLDER_SORTING):_SORT_CMP_DIR(FOLDER_SORTING))) @@ -909,7 +909,7 @@ void CardReader::presort() { printf_P(PSTR("i%2d j%2d gap%2d orderBckp%2d\n"), i, j, gap, orderBckp); #endif if (j < gap) break; - getfilename_simple(sort_positions[sort_order[j - gap]]); + getfilename_simple(sort_entries[sort_order[j - gap]]); name2 = LONGEST_FILENAME; // use the string in-place } sort_order[j] = orderBckp; @@ -950,14 +950,14 @@ void CardReader::presort() { const uint16_t o1 = sort_order[j], o2 = sort_order[j + 1]; counter++; - getfilename_simple(sort_positions[o1]); + getfilename_simple(sort_entries[o1]); strcpy(name1, LONGEST_FILENAME); // save (or getfilename below will trounce it) crmod_date_bckp = crmodDate; crmod_time_bckp = crmodTime; #if HAS_FOLDER_SORTING bool dir1 = filenameIsDir; #endif - getfilename_simple(sort_positions[o2]); + getfilename_simple(sort_entries[o2]); char *name2 = LONGEST_FILENAME; // use the string in-place // Sort the current pair according to settings. @@ -995,26 +995,26 @@ void CardReader::presort() { { if (sort_order_reverse_index[i] != i) { - uint32_t el = sort_positions[i]; + uint32_t el = sort_entries[i]; uint8_t idx = sort_order_reverse_index[i]; while (idx != i) { - uint32_t el1 = sort_positions[idx]; + uint32_t el1 = sort_entries[idx]; uint8_t idx1 = sort_order_reverse_index[idx]; sort_order_reverse_index[idx] = idx; - sort_positions[idx] = el; + sort_entries[idx] = el; idx = idx1; el = el1; } sort_order_reverse_index[idx] = idx; - sort_positions[idx] = el; + sort_entries[idx] = el; } } menu_progressbar_finish(); } else { getfilename(0); - sort_positions[0] = position; + sort_entries[0] = position >> 5; } sort_count = fileCnt; diff --git a/Firmware/cardreader.h b/Firmware/cardreader.h index ea6e25b44..164529071 100644 --- a/Firmware/cardreader.h +++ b/Firmware/cardreader.h @@ -46,7 +46,7 @@ public: void printingHasFinished(); void getfilename(uint16_t nr, const char* const match=NULL); - void getfilename_simple(uint32_t position, const char * const match = NULL); + void getfilename_simple(uint16_t entry, const char * const match = NULL); void getfilename_next(uint32_t position, const char * const match = NULL); uint16_t getnrfilenames(); @@ -111,7 +111,7 @@ private: // Sort files and folders alphabetically. #ifdef SDCARD_SORT_ALPHA uint16_t sort_count; // Count of sorted items in the current directory - uint32_t sort_positions[SDSORT_LIMIT]; + uint16_t sort_entries[SDSORT_LIMIT]; #endif // SDCARD_SORT_ALPHA From 21a0b5364703f84aa970d23bbc7eaf4d9bb19ceb Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Fri, 4 Feb 2022 13:27:43 +0100 Subject: [PATCH 210/234] remove firstrun --- Firmware/eeprom.cpp | 5 +++++ Firmware/ultralcd.cpp | 17 +---------------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/Firmware/eeprom.cpp b/Firmware/eeprom.cpp index ab904260a..03e02475f 100644 --- a/Firmware/eeprom.cpp +++ b/Firmware/eeprom.cpp @@ -100,6 +100,11 @@ if (eeprom_read_byte((uint8_t*)EEPROM_PINDA_TEMP_COMPENSATION) == 0xff) eeprom_u if (eeprom_read_dword((uint32_t*)EEPROM_JOB_ID) == EEPROM_EMPTY_VALUE32) eeprom_update_dword((uint32_t*)EEPROM_JOB_ID, 0); + + if (eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 1) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 2) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 3) == 255) { + eeprom_update_dword((uint32_t *)EEPROM_TOTALTIME, 0); + eeprom_update_dword((uint32_t *)EEPROM_FILAMENTUSED, 0); + } } //! @brief Get default sheet name for index diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index d80102e94..57139b5bb 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -98,7 +98,6 @@ static float manual_feedrate[] = MANUAL_FEEDRATE; uint8_t lcd_status_message_level; char lcd_status_message[LCD_WIDTH + 1] = ""; //////WELCOME! -unsigned char firstrun = 1; static uint8_t lay1cal_filament = 0; @@ -772,21 +771,6 @@ void lcdui_print_status_screen(void) // Main status screen. It's up to the implementation specific part to show what is needed. As this is very display dependent void lcd_status_screen() // NOT static due to using inside "Marlin_main" module ("manage_inactivity()") { - if (firstrun == 1) - { - firstrun = 0; - if(lcd_status_message_level == 0) - { - strncpy_P(lcd_status_message, _T(WELCOME_MSG), LCD_WIDTH); - lcd_finishstatus(); - } - if (eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 1) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 2) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 3) == 255) - { - eeprom_update_dword((uint32_t *)EEPROM_TOTALTIME, 0); - eeprom_update_dword((uint32_t *)EEPROM_FILAMENTUSED, 0); - } - } - #ifdef ULTIPANEL_FEEDMULTIPLY // Dead zone at 100% feedrate if ((feedmultiply < 100 && (feedmultiply + int(lcd_encoder)) > 100) || @@ -8588,6 +8572,7 @@ void ultralcd_init() lcd_oldcardstatus = IS_SD_INSERTED; #endif//(SDCARDDETECT > 0) lcd_encoder_diff = 0; + lcd_setstatuspgm(_T(WELCOME_MSG)); } From f068c3258f477a114d4b59ad36f83f6ae4f023c7 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Fri, 4 Feb 2022 15:24:24 +0100 Subject: [PATCH 211/234] Pack endstop flags --- Firmware/stepper.cpp | 134 +++++++++++++++++-------------------------- Firmware/stepper.h | 4 -- 2 files changed, 54 insertions(+), 84 deletions(-) diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index dddb9449d..a27c1f15b 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -108,12 +108,7 @@ static_assert(TMC2130_MINIMUM_DELAY 1, // this will fail to compile when non-emp //=============================public variables ============================ //=========================================================================== block_t *current_block; // A pointer to the block currently being traced -bool x_min_endstop = false; -bool x_max_endstop = false; -bool y_min_endstop = false; -bool y_max_endstop = false; -bool z_min_endstop = false; -bool z_max_endstop = false; + //=========================================================================== //=============================private variables ============================ //=========================================================================== @@ -134,9 +129,7 @@ static uint16_t OCR1A_nominal; static uint8_t step_loops_nominal; volatile long endstops_trigsteps[3]={0,0,0}; -static volatile bool endstop_x_hit=false; -static volatile bool endstop_y_hit=false; -static volatile bool endstop_z_hit=false; +static volatile uint8_t endstop_hit = 0; #ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED bool abort_on_endstop_hit = false; #endif @@ -146,17 +139,8 @@ bool abort_on_endstop_hit = false; int motor_current_setting_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; #endif -#if ( (defined(X_MAX_PIN) && (X_MAX_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_XMAXLIMIT) -static bool old_x_max_endstop=false; -#endif -#if ( (defined(Y_MAX_PIN) && (Y_MAX_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_YMAXLIMIT) -static bool old_y_max_endstop=false; -#endif - -static bool old_x_min_endstop=false; -static bool old_y_min_endstop=false; -static bool old_z_min_endstop=false; -static bool old_z_max_endstop=false; +static uint8_t endstop = 0; +static uint8_t old_endstop = 0; static bool check_endstops = true; @@ -205,25 +189,23 @@ extern uint16_t stepper_timer_overflow_last; void checkHitEndstops() { - if( endstop_x_hit || endstop_y_hit || endstop_z_hit) { + if( endstop_hit) { SERIAL_ECHO_START; SERIAL_ECHORPGM(MSG_ENDSTOPS_HIT); - if(endstop_x_hit) { + if(endstop_hit & _BV(X_AXIS)) { SERIAL_ECHOPAIR(" X:",(float)endstops_trigsteps[X_AXIS]/cs.axis_steps_per_unit[X_AXIS]); // LCD_MESSAGERPGM(CAT2((MSG_ENDSTOPS_HIT), PSTR("X"))); } - if(endstop_y_hit) { + if(endstop_hit & _BV(Y_AXIS)) { SERIAL_ECHOPAIR(" Y:",(float)endstops_trigsteps[Y_AXIS]/cs.axis_steps_per_unit[Y_AXIS]); // LCD_MESSAGERPGM(CAT2((MSG_ENDSTOPS_HIT), PSTR("Y"))); } - if(endstop_z_hit) { + if(endstop_hit & _BV(Z_AXIS)) { SERIAL_ECHOPAIR(" Z:",(float)endstops_trigsteps[Z_AXIS]/cs.axis_steps_per_unit[Z_AXIS]); // LCD_MESSAGERPGM(CAT2((MSG_ENDSTOPS_HIT),PSTR("Z"))); } SERIAL_ECHOLN(""); - endstop_x_hit=false; - endstop_y_hit=false; - endstop_z_hit=false; + endstop_hit = 0; #if defined(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) && defined(SDSUPPORT) if (abort_on_endstop_hit) { @@ -240,17 +222,15 @@ void checkHitEndstops() bool endstops_hit_on_purpose() { - bool hit = endstop_x_hit || endstop_y_hit || endstop_z_hit; - endstop_x_hit=false; - endstop_y_hit=false; - endstop_z_hit=false; - return hit; + uint8_t old = endstop_hit; + endstop_hit = 0; + return old; } bool endstop_z_hit_on_purpose() { - bool hit = endstop_z_hit; - endstop_z_hit=false; + bool hit = endstop_hit & _BV(Z_AXIS); + endstop_hit &= ~_BV(Z_AXIS); return hit; } @@ -265,7 +245,7 @@ bool enable_z_endstop(bool check) { bool old = check_z_endstop; check_z_endstop = check; - endstop_z_hit = false; + endstop_hit &= ~_BV(Z_AXIS); return old; } @@ -509,33 +489,31 @@ FORCE_INLINE void stepper_check_endstops() #if ( (defined(X_MIN_PIN) && (X_MIN_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_XMINLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - x_min_endstop = (READ(X_TMC2130_DIAG) != 0); + SET_BIT_TO(endstop, X_AXIS, (READ(X_TMC2130_DIAG) != 0)); #else // Normal homing - x_min_endstop = (READ(X_MIN_PIN) != X_MIN_ENDSTOP_INVERTING); + SET_BIT_TO(endstop, X_AXIS, (READ(X_MIN_PIN) != X_MIN_ENDSTOP_INVERTING)); #endif - if(x_min_endstop && old_x_min_endstop && (current_block->steps_x.wide > 0)) { + if((endstop & old_endstop & _BV(X_AXIS)) && (current_block->steps_x.wide > 0)) { endstops_trigsteps[X_AXIS] = count_position[X_AXIS]; - endstop_x_hit=true; + endstop_hit |= _BV(X_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } - old_x_min_endstop = x_min_endstop; #endif } else { // +direction #if ( (defined(X_MAX_PIN) && (X_MAX_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_XMAXLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - x_max_endstop = (READ(X_TMC2130_DIAG) != 0); + SET_BIT_TO(endstop, X_AXIS + 4, (READ(X_TMC2130_DIAG) != 0)); #else // Normal homing - x_max_endstop = (READ(X_MAX_PIN) != X_MAX_ENDSTOP_INVERTING); + SET_BIT_TO(endstop, X_AXIS + 4, (READ(X_MAX_PIN) != X_MAX_ENDSTOP_INVERTING)); #endif - if(x_max_endstop && old_x_max_endstop && (current_block->steps_x.wide > 0)){ + if((endstop & old_endstop & _BV(X_AXIS + 4)) && (current_block->steps_x.wide > 0)){ endstops_trigsteps[X_AXIS] = count_position[X_AXIS]; - endstop_x_hit=true; + endstop_hit |= _BV(X_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } - old_x_max_endstop = x_max_endstop; #endif } @@ -544,37 +522,35 @@ FORCE_INLINE void stepper_check_endstops() #else if ((((out_bits & (1< -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_YMINLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - y_min_endstop = (READ(Y_TMC2130_DIAG) != 0); + SET_BIT_TO(endstop, Y_AXIS, (READ(Y_TMC2130_DIAG) != 0)); #else // Normal homing - y_min_endstop = (READ(Y_MIN_PIN) != Y_MIN_ENDSTOP_INVERTING); + SET_BIT_TO(endstop, Y_AXIS, (READ(Y_MIN_PIN) != Y_MIN_ENDSTOP_INVERTING)); #endif - if(y_min_endstop && old_y_min_endstop && (current_block->steps_y.wide > 0)) { + if((endstop & old_endstop & _BV(Y_AXIS)) && (current_block->steps_y.wide > 0)) { endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS]; - endstop_y_hit=true; + endstop_hit |= _BV(Y_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } - old_y_min_endstop = y_min_endstop; #endif } else { // +direction #if ( (defined(Y_MAX_PIN) && (Y_MAX_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_YMAXLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - y_max_endstop = (READ(Y_TMC2130_DIAG) != 0); + SET_BIT_TO(endstop, Y_AXIS + 4, (READ(Y_TMC2130_DIAG) != 0)); #else // Normal homing - y_max_endstop = (READ(Y_MAX_PIN) != Y_MAX_ENDSTOP_INVERTING); + SET_BIT_TO(endstop, Y_AXIS + 4, (READ(Y_MAX_PIN) != Y_MAX_ENDSTOP_INVERTING)); #endif - if(y_max_endstop && old_y_max_endstop && (current_block->steps_y.wide > 0)){ + if((endstop & old_endstop & _BV(Y_AXIS + 4)) && (current_block->steps_y.wide > 0)){ endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS]; - endstop_y_hit=true; + endstop_hit |= _BV(Y_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } - old_y_max_endstop = y_max_endstop; #endif } @@ -585,20 +561,19 @@ FORCE_INLINE void stepper_check_endstops() #ifdef TMC2130_SG_HOMING // Stall guard homing turned on #ifdef TMC2130_STEALTH_Z - if ((tmc2130_mode == TMC2130_MODE_SILENT) && !(tmc2130_sg_homing_axes_mask & 0x04)) - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); - else + if ((tmc2130_mode == TMC2130_MODE_SILENT) && !(tmc2130_sg_homing_axes_mask & 0x04)) + SET_BIT_TO(endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); + else #endif //TMC2130_STEALTH_Z - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); + SET_BIT_TO(endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0)); #else - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); + SET_BIT_TO(endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); #endif //TMC2130_SG_HOMING - if(z_min_endstop && old_z_min_endstop && (current_block->steps_z.wide > 0)) { + if((endstop & old_endstop & _BV(Z_AXIS)) && (current_block->steps_z.wide > 0)) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; - endstop_z_hit=true; + endstop_hit |= _BV(Z_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } - old_z_min_endstop = z_min_endstop; } #endif } else { // +direction @@ -606,20 +581,19 @@ FORCE_INLINE void stepper_check_endstops() #ifdef TMC2130_SG_HOMING // Stall guard homing turned on #ifdef TMC2130_STEALTH_Z - if ((tmc2130_mode == TMC2130_MODE_SILENT) && !(tmc2130_sg_homing_axes_mask & 0x04)) - z_max_endstop = false; - else + if ((tmc2130_mode == TMC2130_MODE_SILENT) && !(tmc2130_sg_homing_axes_mask & 0x04)) + SET_BIT_TO(endstop, Z_AXIS + 4, 0); + else #endif //TMC2130_STEALTH_Z - z_max_endstop = (READ(Z_TMC2130_DIAG) != 0); + SET_BIT_TO(endstop, Z_AXIS + 4, (READ(Z_TMC2130_DIAG) != 0)); #else - z_max_endstop = (READ(Z_MAX_PIN) != Z_MAX_ENDSTOP_INVERTING); + SET_BIT_TO(endstop, Z_AXIS + 4, (READ(Z_MAX_PIN) != Z_MAX_ENDSTOP_INVERTING)); #endif //TMC2130_SG_HOMING - if(z_max_endstop && old_z_max_endstop && (current_block->steps_z.wide > 0)) { + if((endstop & old_endstop & _BV(Z_AXIS + 4)) && (current_block->steps_z.wide > 0)) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; - endstop_z_hit=true; + endstop_hit |= _BV(Z_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } - old_z_max_endstop = z_max_endstop; #endif } } @@ -632,22 +606,22 @@ FORCE_INLINE void stepper_check_endstops() #ifdef TMC2130_SG_HOMING // Stall guard homing turned on #ifdef TMC2130_STEALTH_Z - if ((tmc2130_mode == TMC2130_MODE_SILENT) && !(tmc2130_sg_homing_axes_mask & 0x04)) - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); - else + if ((tmc2130_mode == TMC2130_MODE_SILENT) && !(tmc2130_sg_homing_axes_mask & 0x04)) + SET_BIT_TO(endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); + else #endif //TMC2130_STEALTH_Z - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); + SET_BIT_TO(endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0)); #else - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); + SET_BIT_TO(endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); #endif //TMC2130_SG_HOMING - if(z_min_endstop && old_z_min_endstop) { + if(endstop & old_endstop & _BV(Z_AXIS)) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; - endstop_z_hit=true; + endstop_hit |= _BV(Z_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } - old_z_min_endstop = z_min_endstop; } #endif + old_endstop = endstop; } diff --git a/Firmware/stepper.h b/Firmware/stepper.h index 84773913c..3b9fb8c24 100644 --- a/Firmware/stepper.h +++ b/Firmware/stepper.h @@ -70,10 +70,6 @@ void invert_z_endstop(bool endstop_invert); void checkStepperErrors(); //Print errors detected by the stepper extern block_t *current_block; // A pointer to the block currently being traced -extern bool x_min_endstop; -extern bool x_max_endstop; -extern bool y_min_endstop; -extern bool y_max_endstop; extern volatile long count_position[NUM_AXIS]; void quickStop(); From 58867f6c06c8cdaf80da7d5b617221490601e410 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Fri, 4 Feb 2022 15:53:12 +0100 Subject: [PATCH 212/234] Fix arduino 1.8.13 warnings --- Firmware/MarlinSerial.cpp | 2 +- Firmware/MarlinSerial.h | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Firmware/MarlinSerial.cpp b/Firmware/MarlinSerial.cpp index 5f1c5ce33..e09ddac32 100644 --- a/Firmware/MarlinSerial.cpp +++ b/Firmware/MarlinSerial.cpp @@ -30,7 +30,7 @@ uint8_t selectedSerialPort = 0; // this is so I can support Attiny series and any other chip without a UART #if defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H) -#if UART_PRESENT(SERIAL_PORT) +#ifdef HAS_UART ring_buffer rx_buffer = { { 0 }, 0, 0 }; #endif diff --git a/Firmware/MarlinSerial.h b/Firmware/MarlinSerial.h index 27e722bc0..ebfc11c1b 100644 --- a/Firmware/MarlinSerial.h +++ b/Firmware/MarlinSerial.h @@ -28,9 +28,12 @@ #endif // The presence of the UBRRH register is used to detect a UART. -#define UART_PRESENT(port) ((port == 0 && (defined(UBRRH) || defined(UBRR0H))) || \ - (port == 1 && defined(UBRR1H)) || (port == 2 && defined(UBRR2H)) || \ - (port == 3 && defined(UBRR3H))) +#if ((port == 0 && (defined(UBRRH) || defined(UBRR0H))) || \ + (port == 1 && defined(UBRR1H)) || \ + (port == 2 && defined(UBRR2H)) || \ + (port == 3 && defined(UBRR3H))) +#define HAS_UART +#endif // These are macros to build serial port register names for the selected SERIAL_PORT (C preprocessor // requires two levels of indirection to expand macro values properly) @@ -82,7 +85,7 @@ struct ring_buffer int tail; }; -#if UART_PRESENT(SERIAL_PORT) +#ifdef HAS_UART extern ring_buffer rx_buffer; #endif From 274f198188c3f5137ab2de74ddde2618ee5929e4 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Fri, 4 Feb 2022 16:28:49 +0100 Subject: [PATCH 213/234] Fix typo from long ago --- Firmware/MarlinSerial.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Firmware/MarlinSerial.h b/Firmware/MarlinSerial.h index ebfc11c1b..3bb0926b2 100644 --- a/Firmware/MarlinSerial.h +++ b/Firmware/MarlinSerial.h @@ -28,10 +28,10 @@ #endif // The presence of the UBRRH register is used to detect a UART. -#if ((port == 0 && (defined(UBRRH) || defined(UBRR0H))) || \ - (port == 1 && defined(UBRR1H)) || \ - (port == 2 && defined(UBRR2H)) || \ - (port == 3 && defined(UBRR3H))) +#if ((SERIAL_PORT == 0 && (defined(UBRRH) || defined(UBRR0H))) || \ + (SERIAL_PORT == 1 && defined(UBRR1H)) || \ + (SERIAL_PORT == 2 && defined(UBRR2H)) || \ + (SERIAL_PORT == 3 && defined(UBRR3H))) #define HAS_UART #endif From 19dc05597dc113ae6acd84f7b19d2aeb6e0fb5fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 5 Feb 2022 11:24:04 +0000 Subject: [PATCH 214/234] Fix identation in PR Also combined the if statements that check farm_mode If farm_mode is 0xFF then we can skip the next if statment. No change in memory footprint --- Firmware/Marlin_main.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 5ae899c97..23c517982 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1103,10 +1103,8 @@ void setup() farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE); if (farm_mode == 0xFF) { farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode - eeprom_update_byte((uint8_t*)EEPROM_FARM_MODE, farm_mode); - } - if (farm_mode) - { + eeprom_update_byte((uint8_t*)EEPROM_FARM_MODE, farm_mode); + } else if (farm_mode) { no_response = true; //we need confirmation by recieving PRUSA thx important_status = 8; prusa_statistics(8); @@ -1118,9 +1116,9 @@ void setup() //disabled filament autoload (PFW360) fsensor_autoload_set(false); #endif //FILAMENT_SENSOR - // ~ FanCheck -> on - if(!(eeprom_read_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED))) - eeprom_update_byte((unsigned char *)EEPROM_FAN_CHECK_ENABLED,true); + // ~ FanCheck -> on + if(!(eeprom_read_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED))) + eeprom_update_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED,true); } #ifdef TMC2130 From e62bc4686f452f3222860146d28b7769b06200fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 5 Feb 2022 18:28:17 +0000 Subject: [PATCH 215/234] Replace hardcoded values and optimise strings This commit saves 64 bytes of flash memory on my end --- Firmware/mmu.cpp | 2 +- Firmware/ultralcd.cpp | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index 8cd50f879..31cad6d82 100755 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -738,7 +738,7 @@ void manage_response(bool move_axes, bool turn_off_nozzle, uint8_t move) //Print the hotend temperature (9 chars total) and fill rest of the line with space lcd_set_cursor(0, 4); //line 4 - int chars = lcd_printf_P(_N("%c%3d/%d%c"), LCD_STR_THERMOMETER[0],(int)(degHotend(active_extruder) + 0.5), (int)(degTargetHotend(active_extruder) + 0.5), LCD_STR_DEGREE[0]); + int chars = lcd_printf_P(_N(LCD_STR_THERMOMETER "%3d/%d" LCD_STR_DEGREE),(int)(degHotend(active_extruder) + 0.5), (int)(degTargetHotend(active_extruder) + 0.5)); lcd_space(9 - chars); delay_keep_alive(1000); } diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 74cc26fc6..d3b642f2b 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -409,7 +409,7 @@ static uint8_t menu_item_sdfile(const char* str_fn, char* str_fnl) // Print temperature (nozzle/bed) (9 chars total) void lcdui_print_temp(char type, int val_current, int val_target) { - int chars = lcd_printf_P(_N("%c%3d/%d%c"), type, val_current, val_target, LCD_STR_DEGREE[0]); + int chars = lcd_printf_P(_N("%c%3d/%d" LCD_STR_DEGREE), type, val_current, val_target); lcd_space(9 - chars); } @@ -448,7 +448,7 @@ void lcdui_print_planner_diag(void) // Print feedrate (8 chars total) void lcdui_print_feedrate(void) { - int chars = lcd_printf_P(_N("%c%3d%%"), LCD_STR_FEEDRATE[0], feedmultiply); + int chars = lcd_printf_P(_N(LCD_STR_FEEDRATE "%3d%%"), feedmultiply); lcd_space(8 - chars); } @@ -563,12 +563,12 @@ void lcdui_print_time(void) } if (print_t < 6000) //time<100h - chars = lcd_printf_P(_N("%c%02u:%02u%c%c"), LCD_STR_CLOCK[0], print_t / 60, print_t % 60, suff, suff_doubt); + chars = lcd_printf_P(_N(LCD_STR_CLOCK "%02u:%02u%c%c"), print_t / 60, print_t % 60, suff, suff_doubt); else //time>=100h - chars = lcd_printf_P(_N("%c%3uh %c%c"), LCD_STR_CLOCK[0], print_t / 60, suff, suff_doubt); + chars = lcd_printf_P(_N(LCD_STR_CLOCK "%3uh %c%c"), print_t / 60, suff, suff_doubt); } else - chars = lcd_printf_P(_N("%c--:-- "), LCD_STR_CLOCK[0]); + chars = lcd_puts_P(_N(LCD_STR_CLOCK "--:-- ")); lcd_space(8 - chars); } @@ -1703,7 +1703,7 @@ static void lcd_menu_temperatures_line(const char *ipgmLabel, int value){ static const size_t maxChars = 15; char tmp[maxChars]; pgmtext_with_colon(ipgmLabel, tmp, maxChars); - lcd_printf_P(PSTR(" %s%3d\x01\n"), tmp, value); // no need to add -14.14 to string alignment + lcd_printf_P(PSTR(" %s%3d" LCD_STR_DEGREE "\n"), tmp, value); // no need to add -14.14 to string alignment } //! @brief Show Temperatures @@ -2878,8 +2878,8 @@ static void lcd_menu_xyz_skew() lcd_printf_P(_N( "%-14.14S:\n" "%S\n" - "%-14.14S:%3.2f\x01\n" - "%-14.14S:%3.2f\x01" + "%-14.14S:%3.2f" LCD_STR_DEGREE "\n" + "%-14.14S:%3.2f" LCD_STR_DEGREE ), _i("Measured skew"), ////MSG_MEASURED_SKEW c=14 separator, @@ -2888,7 +2888,7 @@ static void lcd_menu_xyz_skew() ); if (angleDiff < 100){ lcd_set_cursor(15,0); - lcd_printf_P(_N("%3.2f\x01"), _deg(angleDiff)); + lcd_printf_P(_N("%3.2f" LCD_STR_DEGREE), _deg(angleDiff)); } else{ lcd_puts_at_P(15,0, _T(MSG_NA)); From 976c8c4902017a59994cb7005ea33e01ae5aff47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 5 Feb 2022 18:57:18 +0000 Subject: [PATCH 216/234] Change message from .c to .cpp The allows us to include lcd.h and replace hardcoded value with define LCD_STR_REFRESH Also deleted a #define for bool which does not seem to be used. --- Firmware/{messages.c => messages.cpp} | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) rename Firmware/{messages.c => messages.cpp} (99%) diff --git a/Firmware/messages.c b/Firmware/messages.cpp similarity index 99% rename from Firmware/messages.c rename to Firmware/messages.cpp index 486d78ccd..1546ae961 100644 --- a/Firmware/messages.c +++ b/Firmware/messages.cpp @@ -1,10 +1,8 @@ //messages.c #include "language.h" +#include "lcd.h" // Needed for LCD_STR_REFRESH //this is because we need include Configuration_prusa.h (CUSTOM_MENDEL_NAME) -#define bool char -#define true 1 -#define false 0 #include "Configuration_prusa.h" //internationalized messages @@ -80,7 +78,7 @@ const char MSG_PRESS_TO_UNLOAD[] PROGMEM_I1 = ISTR("Please press the knob to unl const char MSG_PRINT_ABORTED[] PROGMEM_I1 = ISTR("Print aborted"); ////c=20 const char MSG_PULL_OUT_FILAMENT[] PROGMEM_I1 = ISTR("Please pull out filament immediately"); ////c=20 r=4 const char MSG_RECOVER_PRINT[] PROGMEM_I1 = ISTR("Blackout occurred. Recover print?"); ////c=20 r=2 -const char MSG_REFRESH[] PROGMEM_I1 = ISTR("\x04Refresh"); ////c=18 +const char MSG_REFRESH[] PROGMEM_I1 = ISTR(LCD_STR_REFRESH "Refresh"); ////c=18 const char MSG_REMOVE_STEEL_SHEET[] PROGMEM_I1 = ISTR("Please remove steel sheet from heatbed."); ////c=20 r=4 const char MSG_RESET[] PROGMEM_I1 = ISTR("Reset"); ////c=14 const char MSG_RESUME_PRINT[] PROGMEM_I1 = ISTR("Resume print"); ////c=18 From d5b666d2604b60a13e6d1338902016feee144db8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 5 Feb 2022 19:53:42 +0000 Subject: [PATCH 217/234] Add LCD_STR_SOLID_BLOCK to represent \xFF --- Firmware/lcd.h | 1 + Firmware/menu.cpp | 2 +- Firmware/ultralcd.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Firmware/lcd.h b/Firmware/lcd.h index 6b715896d..c2b88b7c4 100644 --- a/Firmware/lcd.h +++ b/Firmware/lcd.h @@ -200,6 +200,7 @@ private: #define LCD_STR_FEEDRATE "\x06" #define LCD_STR_CLOCK "\x07" #define LCD_STR_ARROW_RIGHT "\x7E" //from the default character set +#define LCD_STR_SOLID_BLOCK "\xFF" //from the default character set extern void lcd_set_custom_characters(void); extern void lcd_set_custom_characters_nextpage(void); diff --git a/Firmware/menu.cpp b/Firmware/menu.cpp index 8eb504a8b..f00b362d0 100755 --- a/Firmware/menu.cpp +++ b/Firmware/menu.cpp @@ -570,7 +570,7 @@ void menu_progressbar_update(uint16_t newVal) newCnt = LCD_WIDTH; while (newCnt > progressbar_block_count) { - lcd_print('\xFF'); + lcd_print(LCD_STR_SOLID_BLOCK[0]); progressbar_block_count++; } } diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index d3b642f2b..5901b2f1d 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -8646,7 +8646,7 @@ static void lcd_connect_printer() { i = 0; lcd_puts_at_P(0, 3, PSTR(" ")); } - if (i!=0) lcd_puts_at_P((i * 20) / (NC_BUTTON_LONG_PRESS * 10), 3, "\xFF"); + if (i!=0) lcd_puts_at_P((i * 20) / (NC_BUTTON_LONG_PRESS * 10), 3, LCD_STR_SOLID_BLOCK[0]); if (i == NC_BUTTON_LONG_PRESS * 10) { no_response = false; } From a22a7ea9d7c4bfaa30842d5d467de39d9a3c24e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 5 Feb 2022 19:58:31 +0000 Subject: [PATCH 218/234] Change LCD_STR_UPLEVEL to LCD_STR_UPLEVEL[0] for consistency Saves 4 bytes of flash and 2 bytes of SRAM (Arduino IDE 1.8.19) --- Firmware/ultralcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 5901b2f1d..86be43de5 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -7269,7 +7269,7 @@ void lcd_belttest() Y = eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_Y)); lcd_set_cursor(10,3),lcd_printf_P(PSTR("%u"),Y); lcd_set_cursor(19, 3); - lcd_print(LCD_STR_UPLEVEL); + lcd_print(LCD_STR_UPLEVEL[0]); lcd_wait_for_click_delay(10); } } From d06e74dd6f31e1ce986ba2f73d69494989f0f0f4 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Sat, 5 Feb 2022 23:44:24 +0100 Subject: [PATCH 219/234] Fix Welcome message and language flashing --- Firmware/Marlin_main.cpp | 16 ++++++++-------- Firmware/messages.c | 2 +- Firmware/messages.h | 4 +++- Firmware/mmu.cpp | 2 +- Firmware/ultralcd.cpp | 22 ++++++++++------------ 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 4e8812cae..8afdf0ac8 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1677,7 +1677,7 @@ void setup() eeprom_update_byte((uint8_t*)EEPROM_UVLO, 0); lcd_update_enable(true); lcd_update(2); - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); } */ manage_heater(); // Update temperatures @@ -1699,7 +1699,7 @@ void setup() eeprom_update_byte((uint8_t*)EEPROM_UVLO, 0); lcd_update_enable(true); lcd_update(2); - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); } } } @@ -3445,7 +3445,7 @@ static void gcode_G80() } KEEPALIVE_STATE(NOT_BUSY); // Restore custom message state - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); custom_message_type = custom_message_type_old; custom_message_state = custom_message_state_old; lcd_update(2); @@ -3848,7 +3848,7 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float fsensor_check_autoload(); #endif //IR_SENSOR - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); custom_message_type = CustomMsg::Status; } @@ -3894,7 +3894,7 @@ void gcode_M701() } lcd_update_enable(true); lcd_update(2); - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); disable_z(); loading_flag = false; custom_message_type = CustomMsg::Status; @@ -4361,7 +4361,7 @@ void process_commands() if (IS_SD_PRINTING) custom_message_type = CustomMsg::Status; else - LCD_MESSAGERPGM(_T(WELCOME_MSG)); + LCD_MESSAGERPGM(MSG_WELCOME); } #ifdef TMC2130 @@ -6818,7 +6818,7 @@ Sigma_Exit: #endif powersupply = true; - LCD_MESSAGERPGM(_T(WELCOME_MSG)); + LCD_MESSAGERPGM(MSG_WELCOME); lcd_update(0); break; @@ -11877,7 +11877,7 @@ void restore_print_from_ram_and_continue(float e_move) //not sd printing nor usb printing } - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); saved_printing_type = PRINTING_TYPE_NONE; saved_printing = false; waiting_inside_plan_buffer_line_print_aborted = true; //unroll the stack diff --git a/Firmware/messages.c b/Firmware/messages.c index 486d78ccd..311efa07a 100644 --- a/Firmware/messages.c +++ b/Firmware/messages.c @@ -170,7 +170,7 @@ const char MSG_AUTO_DEPLETE[] PROGMEM_N1 = ISTR("SpoolJoin"); ////c=13 const char MSG_FIRMWARE[] PROGMEM_N1 = ISTR("Firmware"); ////c=8 const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY[] PROGMEM_N1 = ISTR("FlashAir"); ////c=8 const char MSG_PINDA[] PROGMEM_N1 = ISTR("PINDA");////c=5 -const char WELCOME_MSG[] PROGMEM_N1 = ISTR(CUSTOM_MENDEL_NAME " OK."); ////c=20 +const char MSG_WELCOME[] PROGMEM_N1 = WELCOME_MSG; ////c=20 const char MSG_SD_WORKDIR_FAIL[] PROGMEM_N1 = "workDir open failed"; //// const char MSG_BROWNOUT_RESET[] PROGMEM_N1 = " Brown out Reset"; //// const char MSG_EXTERNAL_RESET[] PROGMEM_N1 = " External Reset"; //// diff --git a/Firmware/messages.h b/Firmware/messages.h index e12a4d187..fd9ef1800 100644 --- a/Firmware/messages.h +++ b/Firmware/messages.h @@ -7,6 +7,8 @@ extern "C" { #endif //defined(__cplusplus) +#define WELCOME_MSG (CUSTOM_MENDEL_NAME " OK.") + // LCD Menu Messages //internationalized messages extern const char MSG_AUTO_HOME[]; @@ -123,7 +125,7 @@ extern const char MSG_WIZARD_WELCOME[]; extern const char MSG_WIZARD_WELCOME_SHIPPING[]; extern const char MSG_YES[]; extern const char MSG_V2_CALIBRATION[]; -extern const char WELCOME_MSG[]; +extern const char MSG_WELCOME[]; extern const char MSG_OFF[]; extern const char MSG_ON[]; extern const char MSG_NA[]; diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index 6526b1537..ef8d49edd 100755 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -1366,7 +1366,7 @@ void lcd_mmu_load_to_nozzle(uint8_t filament_nr) lcd_return_to_status(); lcd_update_enable(true); lcd_load_filament_color_check(); - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); custom_message_type = CustomMsg::Status; } else diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 57139b5bb..f35e1ff9b 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -97,7 +97,7 @@ static float manual_feedrate[] = MANUAL_FEEDRATE; /* !Configuration settings */ uint8_t lcd_status_message_level; -char lcd_status_message[LCD_WIDTH + 1] = ""; //////WELCOME! +char lcd_status_message[LCD_WIDTH + 1] = WELCOME_MSG; static uint8_t lay1cal_filament = 0; @@ -642,8 +642,7 @@ void lcdui_print_status_line(void) } else { if (custom_message_state == 3) { - lcd_puts_P(_T(WELCOME_MSG)); - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); custom_message_type = CustomMsg::Status; } if (custom_message_state > 3 && custom_message_state <= 10 ) { @@ -1147,7 +1146,7 @@ void lcd_commands() if (lcd_commands_step == 1 && !blocks_queued() && cmd_buffer_empty()) { - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); lcd_commands_step = 0; lcd_commands_type = 0; if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) { @@ -1236,7 +1235,7 @@ void lcd_commands() lcd_commands_step = 1; break; case 1: - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); lcd_commands_step = 0; lcd_commands_type = LcdCommands::Idle; if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) @@ -1330,7 +1329,7 @@ void lcd_commands() lcd_commands_step = 1; } if ((lcd_commands_step == 1) && display_time.expired(2000)) { //calibration finished message - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); custom_message_type = CustomMsg::Status; pid_temp = DEFAULT_PID_TEMP; lcd_commands_step = 0; @@ -5023,7 +5022,7 @@ void lcd_wizard(WizState state) msg = _T(MSG_WIZARD_DONE); lcd_reset_alert_level(); - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); lcd_return_to_status(); break; @@ -6290,7 +6289,7 @@ void unload_filament(bool automatic) lcd_update_enable(true); - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); custom_message_type = CustomMsg::Status; } @@ -7014,7 +7013,7 @@ void lcd_print_stop() finishAndDisableSteppers(); //M84 - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); custom_message_type = CustomMsg::Status; planner_abort_hard(); //needs to be done since plan_buffer_line resets waiting_inside_plan_buffer_line_print_aborted to false. Also copies current to destination. @@ -8479,7 +8478,7 @@ static bool check_file(const char* filename) { cmdqueue_serial_disabled = false; card.printingHasFinished(); - lcd_setstatuspgm(_T(WELCOME_MSG)); + lcd_setstatuspgm(MSG_WELCOME); lcd_finishstatus(); return result; } @@ -8572,7 +8571,6 @@ void ultralcd_init() lcd_oldcardstatus = IS_SD_INSERTED; #endif//(SDCARDDETECT > 0) lcd_encoder_diff = 0; - lcd_setstatuspgm(_T(WELCOME_MSG)); } @@ -8815,7 +8813,7 @@ void menu_lcd_lcdupdate_func(void) card.initsd(false); //delay the sorting to the sd menu. Otherwise, removing the SD card while sorting will not menu_back() card.presort_flag = true; //force sorting of the SD menu } - LCD_MESSAGERPGM(_T(WELCOME_MSG)); + LCD_MESSAGERPGM(MSG_WELCOME); bMain=false; // flag (i.e. 'fake parameter') for 'lcd_sdcard_menu()' function menu_submenu(lcd_sdcard_menu); lcd_timeoutToStatus.start(); From 70cb30208cca68f1af7ec7ba04b2e1ad207a030c Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Sun, 6 Feb 2022 01:07:10 +0100 Subject: [PATCH 220/234] Also change MUL24x24R24 to the new format and fix rounding --- Firmware/speed_lookuptable.h | 105 +++++++++++++++++++---------------- Firmware/stepper.cpp | 5 +- 2 files changed, 59 insertions(+), 51 deletions(-) diff --git a/Firmware/speed_lookuptable.h b/Firmware/speed_lookuptable.h index 1d9048d3a..66b93c5ab 100644 --- a/Firmware/speed_lookuptable.h +++ b/Firmware/speed_lookuptable.h @@ -39,61 +39,70 @@ FORCE_INLINE uint16_t MUL8x16R8(uint8_t x, uint16_t y) { return out; } -// intRes = longIn1 * longIn2 >> 24 -// uses: -// r26 to store 0 -// r27 to store the byte 1 of the 48bit result -#define MultiU24X24toH16(intRes, longIn1, longIn2) \ -asm volatile ( \ -"clr r26 \n\t" \ -"mul %A1, %B2 \n\t" \ -"mov r27, r1 \n\t" \ -"mul %B1, %C2 \n\t" \ -"movw %A0, r0 \n\t" \ -"mul %C1, %C2 \n\t" \ -"add %B0, r0 \n\t" \ -"mul %C1, %B2 \n\t" \ -"add %A0, r0 \n\t" \ -"adc %B0, r1 \n\t" \ -"mul %A1, %C2 \n\t" \ -"add r27, r0 \n\t" \ -"adc %A0, r1 \n\t" \ -"adc %B0, r26 \n\t" \ -"mul %B1, %B2 \n\t" \ -"add r27, r0 \n\t" \ -"adc %A0, r1 \n\t" \ -"adc %B0, r26 \n\t" \ -"mul %C1, %A2 \n\t" \ -"add r27, r0 \n\t" \ -"adc %A0, r1 \n\t" \ -"adc %B0, r26 \n\t" \ -"mul %B1, %A2 \n\t" \ -"add r27, r1 \n\t" \ -"adc %A0, r26 \n\t" \ -"adc %B0, r26 \n\t" \ -"lsr r27 \n\t" \ -"adc %A0, r26 \n\t" \ -"adc %B0, r26 \n\t" \ -"clr r1 \n\t" \ -: \ -"=&r" (intRes) \ -: \ -"d" (longIn1), \ -"d" (longIn2) \ -: \ -"r26" , "r27" \ -) +// return ((x * y) >> 24) with rounding when shifting right +FORCE_INLINE uint16_t MUL24x24R24(__uint24 x, __uint24 y) { + uint16_t out; + __asm__ ( + // %0 out + // %1 x + // %2 y + // uint8_t: %An or %n + // uint16_t: %Bn %An + // __uint24: %Cn %Bn %An + // uint32_t: %Dn %Cn %Bn %An + // + // + // B2 A2 * + // A1 + //--------- + // B0 A0 RR + "clr r26 \n\t" + "mul %A1, %B2 \n\t" + "mov r27, r1 \n\t" + "mul %B1, %C2 \n\t" + "movw %A0, r0 \n\t" + "mul %C1, %C2 \n\t" + "add %B0, r0 \n\t" + "mul %C1, %B2 \n\t" + "add %A0, r0 \n\t" + "adc %B0, r1 \n\t" + "mul %A1, %C2 \n\t" + "add r27, r0 \n\t" + "adc %A0, r1 \n\t" + "adc %B0, r26 \n\t" + "mul %B1, %B2 \n\t" + "add r27, r0 \n\t" + "adc %A0, r1 \n\t" + "adc %B0, r26 \n\t" + "mul %C1, %A2 \n\t" + "add r27, r0 \n\t" + "adc %A0, r1 \n\t" + "adc %B0, r26 \n\t" + "mul %B1, %A2 \n\t" + "add r27, r1 \n\t" + "adc %A0, r26 \n\t" + "adc %B0, r26 \n\t" + "lsl r27 \n\t" + "adc %A0, r26 \n\t" + "adc %B0, r26 \n\t" + "clr r1 \n\t" + : "=&r" (out) + : "r" (x), "r" (y) + : "r0", "r1", "r26" , "r27" //clobbers: Technically these are either scratch registers or always 0 registers, but I'm making sure the compiler knows just in case. R26 is __zero_reg__, R27 is a temporary register. + ); + return out; +} #else //_NO_ASM -static inline void MultiU16X8toH16(uint16_t& intRes, uint8_t& charIn1, uint16_t& intIn2) +FORCE_INLINE uint16_t MUL8x16R8(uint8_t charIn1, uint16_t intIn2) { - intRes = ((uint32_t)charIn1 * (uint32_t)intIn2) >> 8; + return ((uint32_t)charIn1 * (uint32_t)intIn2) >> 8; } -static inline void MultiU24X24toH16(uint16_t& intRes, uint32_t& longIn1, uint32_t& longIn2) +FORCE_INLINE uint16_t MUL24x24R24(uint32_t longIn1, uint32_t longIn2) { - intRes = ((uint64_t)longIn1 * (uint64_t)longIn2) >> 24; + return ((uint64_t)longIn1 * (uint64_t)longIn2) >> 24; } #endif //_NO_ASM diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index a27c1f15b..595591520 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -818,7 +818,7 @@ FORCE_INLINE void isr() { //WRITE_NC(LOGIC_ANALYZER_CH1, true); if (step_events_completed.wide <= current_block->accelerate_until) { // v = t * a -> acc_step_rate = acceleration_time * current_block->acceleration_rate - MultiU24X24toH16(acc_step_rate, acceleration_time, current_block->acceleration_rate); + acc_step_rate = MUL24x24R24(acceleration_time, current_block->acceleration_rate); acc_step_rate += uint16_t(current_block->initial_rate); // upper limit if(acc_step_rate > uint16_t(current_block->nominal_rate)) @@ -838,8 +838,7 @@ FORCE_INLINE void isr() { #endif } else if (step_events_completed.wide > current_block->decelerate_after) { - uint16_t step_rate; - MultiU24X24toH16(step_rate, deceleration_time, current_block->acceleration_rate); + uint16_t step_rate = MUL24x24R24(deceleration_time, current_block->acceleration_rate); if (step_rate > acc_step_rate) { // Check step_rate stays positive step_rate = uint16_t(current_block->final_rate); From c2bad473dc9f2bfd9d0e086303e4755e5ff197cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 6 Feb 2022 09:01:16 +0000 Subject: [PATCH 221/234] Optimise _menu_edit_P If the first if statement is true, then we don't need to check the next if statement. Saves 64 bytes of flash memory --- Firmware/menu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/menu.cpp b/Firmware/menu.cpp index 30951bbc3..86b9047e3 100755 --- a/Firmware/menu.cpp +++ b/Firmware/menu.cpp @@ -509,7 +509,7 @@ static void _menu_edit_P(void) if (lcd_draw_update) { if (lcd_encoder < _md->minEditValue) lcd_encoder = _md->minEditValue; - if (lcd_encoder > _md->maxEditValue) lcd_encoder = _md->maxEditValue; + else if (lcd_encoder > _md->maxEditValue) lcd_encoder = _md->maxEditValue; lcd_set_cursor(0, 1); menu_draw_P(' ', _md->editLabel, (int)lcd_encoder); } From 670214a30b8459259219dfc132639ec44ef97b69 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Sun, 6 Feb 2022 11:01:35 +0100 Subject: [PATCH 222/234] Fix indentation --- Firmware/lcd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/lcd.h b/Firmware/lcd.h index c2b88b7c4..e67715a3c 100644 --- a/Firmware/lcd.h +++ b/Firmware/lcd.h @@ -200,7 +200,7 @@ private: #define LCD_STR_FEEDRATE "\x06" #define LCD_STR_CLOCK "\x07" #define LCD_STR_ARROW_RIGHT "\x7E" //from the default character set -#define LCD_STR_SOLID_BLOCK "\xFF" //from the default character set +#define LCD_STR_SOLID_BLOCK "\xFF" //from the default character set extern void lcd_set_custom_characters(void); extern void lcd_set_custom_characters_nextpage(void); From ff009883035a58ec3a8739198cd365f9da6e23c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 5 Feb 2022 18:28:17 +0000 Subject: [PATCH 223/234] Revert "Replace hardcoded values and optimise strings" This reverts commit e62bc4686f452f3222860146d28b7769b06200fd. --- Firmware/mmu.cpp | 2 +- Firmware/ultralcd.cpp | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index 31cad6d82..8cd50f879 100755 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -738,7 +738,7 @@ void manage_response(bool move_axes, bool turn_off_nozzle, uint8_t move) //Print the hotend temperature (9 chars total) and fill rest of the line with space lcd_set_cursor(0, 4); //line 4 - int chars = lcd_printf_P(_N(LCD_STR_THERMOMETER "%3d/%d" LCD_STR_DEGREE),(int)(degHotend(active_extruder) + 0.5), (int)(degTargetHotend(active_extruder) + 0.5)); + int chars = lcd_printf_P(_N("%c%3d/%d%c"), LCD_STR_THERMOMETER[0],(int)(degHotend(active_extruder) + 0.5), (int)(degTargetHotend(active_extruder) + 0.5), LCD_STR_DEGREE[0]); lcd_space(9 - chars); delay_keep_alive(1000); } diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 5972befcd..8162e450d 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -409,7 +409,7 @@ static uint8_t menu_item_sdfile(const char* str_fn, char* str_fnl) // Print temperature (nozzle/bed) (9 chars total) void lcdui_print_temp(char type, int val_current, int val_target) { - int chars = lcd_printf_P(_N("%c%3d/%d" LCD_STR_DEGREE), type, val_current, val_target); + int chars = lcd_printf_P(_N("%c%3d/%d%c"), type, val_current, val_target, LCD_STR_DEGREE[0]); lcd_space(9 - chars); } @@ -448,7 +448,7 @@ void lcdui_print_planner_diag(void) // Print feedrate (8 chars total) void lcdui_print_feedrate(void) { - int chars = lcd_printf_P(_N(LCD_STR_FEEDRATE "%3d%%"), feedmultiply); + int chars = lcd_printf_P(_N("%c%3d%%"), LCD_STR_FEEDRATE[0], feedmultiply); lcd_space(8 - chars); } @@ -563,12 +563,12 @@ void lcdui_print_time(void) } if (print_t < 6000) //time<100h - chars = lcd_printf_P(_N(LCD_STR_CLOCK "%02u:%02u%c%c"), print_t / 60, print_t % 60, suff, suff_doubt); + chars = lcd_printf_P(_N("%c%02u:%02u%c%c"), LCD_STR_CLOCK[0], print_t / 60, print_t % 60, suff, suff_doubt); else //time>=100h - chars = lcd_printf_P(_N(LCD_STR_CLOCK "%3uh %c%c"), print_t / 60, suff, suff_doubt); + chars = lcd_printf_P(_N("%c%3uh %c%c"), LCD_STR_CLOCK[0], print_t / 60, suff, suff_doubt); } else - chars = lcd_puts_P(_N(LCD_STR_CLOCK "--:-- ")); + chars = lcd_printf_P(_N("%c--:-- "), LCD_STR_CLOCK[0]); lcd_space(8 - chars); } @@ -1702,7 +1702,7 @@ static void lcd_menu_temperatures_line(const char *ipgmLabel, int value){ static const size_t maxChars = 15; char tmp[maxChars]; pgmtext_with_colon(ipgmLabel, tmp, maxChars); - lcd_printf_P(PSTR(" %s%3d" LCD_STR_DEGREE "\n"), tmp, value); // no need to add -14.14 to string alignment + lcd_printf_P(PSTR(" %s%3d\x01\n"), tmp, value); // no need to add -14.14 to string alignment } //! @brief Show Temperatures @@ -2879,8 +2879,8 @@ static void lcd_menu_xyz_skew() lcd_printf_P(_N( "%-14.14S:\n" "%S\n" - "%-14.14S:%3.2f" LCD_STR_DEGREE "\n" - "%-14.14S:%3.2f" LCD_STR_DEGREE + "%-14.14S:%3.2f\x01\n" + "%-14.14S:%3.2f\x01" ), _i("Measured skew"), ////MSG_MEASURED_SKEW c=14 separator, @@ -2889,7 +2889,7 @@ static void lcd_menu_xyz_skew() ); if (angleDiff < 100){ lcd_set_cursor(15,0); - lcd_printf_P(_N("%3.2f" LCD_STR_DEGREE), _deg(angleDiff)); + lcd_printf_P(_N("%3.2f\x01"), _deg(angleDiff)); } else{ lcd_puts_at_P(15,0, _T(MSG_NA)); From 121324d20b742303fecd34a78f1d909fa2f4ada4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 1 Aug 2021 11:20:29 +0000 Subject: [PATCH 224/234] Revert "Remove one space from Support -> Temperatures menu" This reverts commit 158877e73616320814ede663f2e53b1e9ac438ba. --- Firmware/ultralcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 8162e450d..fbd572570 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1702,7 +1702,7 @@ static void lcd_menu_temperatures_line(const char *ipgmLabel, int value){ static const size_t maxChars = 15; char tmp[maxChars]; pgmtext_with_colon(ipgmLabel, tmp, maxChars); - lcd_printf_P(PSTR(" %s%3d\x01\n"), tmp, value); // no need to add -14.14 to string alignment + lcd_printf_P(PSTR(" %s%3d\x01 \n"), tmp, value); // no need to add -14.14 to string alignment } //! @brief Show Temperatures From d0466194700635c8a2bc262a32f6c89a35bd8029 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Tue, 8 Feb 2022 08:19:17 +0100 Subject: [PATCH 225/234] Update Community translation Added Hugarian Co-Maintainer Added Croatian Mainteners Set Swedish to inactive, waiting for review --- lang/Community_made_translations.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lang/Community_made_translations.md b/lang/Community_made_translations.md index dab8a1351..942d4c06e 100644 --- a/lang/Community_made_translations.md +++ b/lang/Community_made_translations.md @@ -16,7 +16,14 @@ - **Hungarian / Magyar** - Maintainers: **@AttilaSVK** - - Co-maintainers: + - Co-maintainers: **@Hauzman** + - Contributors: + - [X] **Active** since January 2022 + - [X] **Maintained** since January 2022 + +- **Croatian / Hrvatski** + - Maintainers: **@Prime1910** + - Co-maintainers: **@PRPA041** - Contributors: - [X] **Active** since January 2022 - [X] **Maintained** since January 2022 @@ -25,6 +32,6 @@ - Maintainers: **@Painkiller56** - Co-maintainers: - Contributors: - - [X] **Active** since January 2022 + - [ ] **Active** since January 2022 - [X] **Maintained** since January 2022 From 0b7aa31b2ad25f22ade9ba6929bdd7c411312444 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Wed, 9 Feb 2022 00:26:46 +0100 Subject: [PATCH 226/234] Fix MUL24x24R24 comment --- Firmware/speed_lookuptable.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Firmware/speed_lookuptable.h b/Firmware/speed_lookuptable.h index 66b93c5ab..12a9f7e5c 100644 --- a/Firmware/speed_lookuptable.h +++ b/Firmware/speed_lookuptable.h @@ -52,10 +52,10 @@ FORCE_INLINE uint16_t MUL24x24R24(__uint24 x, __uint24 y) { // uint32_t: %Dn %Cn %Bn %An // // - // B2 A2 * - // A1 - //--------- - // B0 A0 RR + // C2 B2 A2 * + // C1 B1 A1 + //------------------ + // -- B0 A0 RR RR RR "clr r26 \n\t" "mul %A1, %B2 \n\t" "mov r27, r1 \n\t" From caf496e9961f0d37c95b5e7fb9d785b9609c44f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Wed, 9 Feb 2022 07:26:34 +0000 Subject: [PATCH 227/234] Optimise FanCheck initialisation when farm mode is on Saves 12 bytes of flash memory (Arduino IDE 1.8.19) --- Firmware/Marlin_main.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 23c517982..4351311e5 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1117,8 +1117,7 @@ void setup() fsensor_autoload_set(false); #endif //FILAMENT_SENSOR // ~ FanCheck -> on - if(!(eeprom_read_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED))) - eeprom_update_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED,true); + eeprom_update_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED, true); } #ifdef TMC2130 From c4f102392427dd1573a75e705dcad698e8975140 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Wed, 9 Feb 2022 07:30:50 +0000 Subject: [PATCH 228/234] Add back second call to prusa_statistics(8) when farm_mode is enabled. Adds 18 bytes of flash --- Firmware/Marlin_main.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 4351311e5..53f80a9b5 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1439,6 +1439,12 @@ void setup() enable_z(); #endif + if (farm_mode) { + // The farm monitoring SW may accidentally expect + // 2 messages of "printer started" to consider a printer working. + prusa_statistics(8); + } + // Enable Toshiba FlashAir SD card / WiFi enahanced card. card.ToshibaFlashAir_enable(eeprom_read_byte((unsigned char*)EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY) == 1); From 916212b597ee530b3557a5a682702ada6c9ea390 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Wed, 9 Feb 2022 10:28:45 +0100 Subject: [PATCH 229/234] Add ALLOW_ALL_MRES as requested in PR --- Firmware/Marlin_main.cpp | 6 ++++++ Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 1 + Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h | 1 + 3 files changed, 8 insertions(+) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index c2610653d..81d9bcc54 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -8530,7 +8530,13 @@ Sigma_Exit: if(code_seen(axis_codes[i])) { uint16_t res_new = code_value(); +#ifdef ALLOW_ALL_MRES bool res_valid = res_new > 0 && res_new <= 256 && !(res_new & (res_new - 1)); // must be a power of two +#else + bool res_valid = (res_new == 8) || (res_new == 16) || (res_new == 32); // resolutions valid for all axis + res_valid |= (i != E_AXIS) && ((res_new == 1) || (res_new == 2) || (res_new == 4)); // resolutions valid for X Y Z only + res_valid |= (i == E_AXIS) && ((res_new == 64) || (res_new == 128)); // resolutions valid for E only +#endif if (res_valid) { st_synchronize(); diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 04b4c5266..1400e7eb2 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -212,6 +212,7 @@ #define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes #define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis #define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis +// #define ALLOW_ALL_MRES #define TMC2130_PWM_GRAD_X 2 // PWMCONF #define TMC2130_PWM_AMPL_X 230 // PWMCONF diff --git a/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h index c869ec517..d9d72d3dc 100644 --- a/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h @@ -214,6 +214,7 @@ #define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes #define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis #define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis +// #define ALLOW_ALL_MRES #define TMC2130_PWM_GRAD_X 2 // PWMCONF #define TMC2130_PWM_AMPL_X 230 // PWMCONF From 060581962c63853588f01790d03b2889758d689a Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Thu, 10 Feb 2022 09:33:55 +0100 Subject: [PATCH 230/234] Fix sizeof array look --- Firmware/Marlin_main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 8afdf0ac8..ef8556e50 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6097,7 +6097,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT) int8_t pin_number = LED_PIN; if (code_seen('P')) pin_number = code_value_uint8(); - for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(*sensitive_pins)); i++) + for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(sensitive_pins[0])); i++) { if ((int8_t)pgm_read_byte(&sensitive_pins[i]) == pin_number) { @@ -7674,7 +7674,7 @@ Sigma_Exit: if(pin_state >= -1 && pin_state <= 1){ - for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(*sensitive_pins)); i++) + for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(sensitive_pins[0])); i++) { if (((int8_t)pgm_read_byte(&sensitive_pins[i]) == pin_number)) { From 380377db0fcf0c21376a8c639d3e2445a38a2fe5 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Thu, 10 Feb 2022 09:47:37 +0100 Subject: [PATCH 231/234] Add static assert --- Firmware/mesh_bed_calibration.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 16bfbbde3..4de80504f 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -2872,6 +2872,7 @@ bool sample_mesh_and_store_reference() } mbl.set_z(0, 0, current_position[Z_AXIS]); } + static_assert(MESH_MEAS_NUM_X_POINTS * MESH_MEAS_NUM_Y_POINTS <= 255, "overflow....."); for (uint8_t mesh_point = 1; mesh_point != MESH_MEAS_NUM_X_POINTS * MESH_MEAS_NUM_Y_POINTS; ++ mesh_point) { // Don't let the manage_inactivity() function remove power from the motors. refresh_cmd_timeout(); From dee8da61f6c13e311635ba773bd9acc98d683be3 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Thu, 10 Feb 2022 10:35:25 +0100 Subject: [PATCH 232/234] Optimize endstop flags even more --- Firmware/stepper.cpp | 73 +++++++++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 32 deletions(-) diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 595591520..7195ba0e8 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -230,7 +230,9 @@ bool endstops_hit_on_purpose() bool endstop_z_hit_on_purpose() { bool hit = endstop_hit & _BV(Z_AXIS); +CRITICAL_SECTION_START; endstop_hit &= ~_BV(Z_AXIS); +CRITICAL_SECTION_END; return hit; } @@ -245,7 +247,9 @@ bool enable_z_endstop(bool check) { bool old = check_z_endstop; check_z_endstop = check; +CRITICAL_SECTION_START; endstop_hit &= ~_BV(Z_AXIS); +CRITICAL_SECTION_END; return old; } @@ -478,6 +482,9 @@ FORCE_INLINE void stepper_next_block() // Check limit switches. FORCE_INLINE void stepper_check_endstops() { + uint8_t _endstop_hit = endstop_hit; + uint8_t _endstop = endstop; + uint8_t _old_endstop = old_endstop; if(check_endstops) { #ifndef COREXY @@ -489,14 +496,14 @@ FORCE_INLINE void stepper_check_endstops() #if ( (defined(X_MIN_PIN) && (X_MIN_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_XMINLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - SET_BIT_TO(endstop, X_AXIS, (READ(X_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, X_AXIS, (READ(X_TMC2130_DIAG) != 0)); #else // Normal homing - SET_BIT_TO(endstop, X_AXIS, (READ(X_MIN_PIN) != X_MIN_ENDSTOP_INVERTING)); + SET_BIT_TO(_endstop, X_AXIS, (READ(X_MIN_PIN) != X_MIN_ENDSTOP_INVERTING)); #endif - if((endstop & old_endstop & _BV(X_AXIS)) && (current_block->steps_x.wide > 0)) { + if((_endstop & _old_endstop & _BV(X_AXIS)) && (current_block->steps_x.wide > 0)) { endstops_trigsteps[X_AXIS] = count_position[X_AXIS]; - endstop_hit |= _BV(X_AXIS); + _endstop_hit |= _BV(X_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } #endif @@ -504,14 +511,14 @@ FORCE_INLINE void stepper_check_endstops() #if ( (defined(X_MAX_PIN) && (X_MAX_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_XMAXLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - SET_BIT_TO(endstop, X_AXIS + 4, (READ(X_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, X_AXIS + 4, (READ(X_TMC2130_DIAG) != 0)); #else // Normal homing - SET_BIT_TO(endstop, X_AXIS + 4, (READ(X_MAX_PIN) != X_MAX_ENDSTOP_INVERTING)); + SET_BIT_TO(_endstop, X_AXIS + 4, (READ(X_MAX_PIN) != X_MAX_ENDSTOP_INVERTING)); #endif - if((endstop & old_endstop & _BV(X_AXIS + 4)) && (current_block->steps_x.wide > 0)){ + if((_endstop & _old_endstop & _BV(X_AXIS + 4)) && (current_block->steps_x.wide > 0)){ endstops_trigsteps[X_AXIS] = count_position[X_AXIS]; - endstop_hit |= _BV(X_AXIS); + _endstop_hit |= _BV(X_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } #endif @@ -526,14 +533,14 @@ FORCE_INLINE void stepper_check_endstops() #if ( (defined(Y_MIN_PIN) && (Y_MIN_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_YMINLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - SET_BIT_TO(endstop, Y_AXIS, (READ(Y_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, Y_AXIS, (READ(Y_TMC2130_DIAG) != 0)); #else // Normal homing - SET_BIT_TO(endstop, Y_AXIS, (READ(Y_MIN_PIN) != Y_MIN_ENDSTOP_INVERTING)); + SET_BIT_TO(_endstop, Y_AXIS, (READ(Y_MIN_PIN) != Y_MIN_ENDSTOP_INVERTING)); #endif - if((endstop & old_endstop & _BV(Y_AXIS)) && (current_block->steps_y.wide > 0)) { + if((_endstop & _old_endstop & _BV(Y_AXIS)) && (current_block->steps_y.wide > 0)) { endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS]; - endstop_hit |= _BV(Y_AXIS); + _endstop_hit |= _BV(Y_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } #endif @@ -541,14 +548,14 @@ FORCE_INLINE void stepper_check_endstops() #if ( (defined(Y_MAX_PIN) && (Y_MAX_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_YMAXLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - SET_BIT_TO(endstop, Y_AXIS + 4, (READ(Y_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, Y_AXIS + 4, (READ(Y_TMC2130_DIAG) != 0)); #else // Normal homing - SET_BIT_TO(endstop, Y_AXIS + 4, (READ(Y_MAX_PIN) != Y_MAX_ENDSTOP_INVERTING)); + SET_BIT_TO(_endstop, Y_AXIS + 4, (READ(Y_MAX_PIN) != Y_MAX_ENDSTOP_INVERTING)); #endif - if((endstop & old_endstop & _BV(Y_AXIS + 4)) && (current_block->steps_y.wide > 0)){ + if((_endstop & _old_endstop & _BV(Y_AXIS + 4)) && (current_block->steps_y.wide > 0)){ endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS]; - endstop_hit |= _BV(Y_AXIS); + _endstop_hit |= _BV(Y_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } #endif @@ -562,16 +569,16 @@ FORCE_INLINE void stepper_check_endstops() // Stall guard homing turned on #ifdef TMC2130_STEALTH_Z if ((tmc2130_mode == TMC2130_MODE_SILENT) && !(tmc2130_sg_homing_axes_mask & 0x04)) - SET_BIT_TO(endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); + SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); else #endif //TMC2130_STEALTH_Z - SET_BIT_TO(endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0)); #else - SET_BIT_TO(endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); + SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); #endif //TMC2130_SG_HOMING - if((endstop & old_endstop & _BV(Z_AXIS)) && (current_block->steps_z.wide > 0)) { + if((_endstop & _old_endstop & _BV(Z_AXIS)) && (current_block->steps_z.wide > 0)) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; - endstop_hit |= _BV(Z_AXIS); + _endstop_hit |= _BV(Z_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } } @@ -582,16 +589,16 @@ FORCE_INLINE void stepper_check_endstops() // Stall guard homing turned on #ifdef TMC2130_STEALTH_Z if ((tmc2130_mode == TMC2130_MODE_SILENT) && !(tmc2130_sg_homing_axes_mask & 0x04)) - SET_BIT_TO(endstop, Z_AXIS + 4, 0); + SET_BIT_TO(_endstop, Z_AXIS + 4, 0); else #endif //TMC2130_STEALTH_Z - SET_BIT_TO(endstop, Z_AXIS + 4, (READ(Z_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, Z_AXIS + 4, (READ(Z_TMC2130_DIAG) != 0)); #else - SET_BIT_TO(endstop, Z_AXIS + 4, (READ(Z_MAX_PIN) != Z_MAX_ENDSTOP_INVERTING)); + SET_BIT_TO(_endstop, Z_AXIS + 4, (READ(Z_MAX_PIN) != Z_MAX_ENDSTOP_INVERTING)); #endif //TMC2130_SG_HOMING - if((endstop & old_endstop & _BV(Z_AXIS + 4)) && (current_block->steps_z.wide > 0)) { + if((_endstop & _old_endstop & _BV(Z_AXIS + 4)) && (current_block->steps_z.wide > 0)) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; - endstop_hit |= _BV(Z_AXIS); + _endstop_hit |= _BV(Z_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } #endif @@ -607,21 +614,23 @@ FORCE_INLINE void stepper_check_endstops() // Stall guard homing turned on #ifdef TMC2130_STEALTH_Z if ((tmc2130_mode == TMC2130_MODE_SILENT) && !(tmc2130_sg_homing_axes_mask & 0x04)) - SET_BIT_TO(endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); + SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); else #endif //TMC2130_STEALTH_Z - SET_BIT_TO(endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0)); #else - SET_BIT_TO(endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); + SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); #endif //TMC2130_SG_HOMING - if(endstop & old_endstop & _BV(Z_AXIS)) { + if(_endstop & _old_endstop & _BV(Z_AXIS)) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; - endstop_hit |= _BV(Z_AXIS); + _endstop_hit |= _BV(Z_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } } #endif - old_endstop = endstop; + endstop = _endstop; + old_endstop = _endstop; //apply current endstop state to the old endstop + endstop_hit = _endstop_hit; } From 18dde3fb6181f38ad53de78e6d84695d457373e1 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Thu, 10 Feb 2022 16:24:52 +0100 Subject: [PATCH 233/234] Faster code when endstops/probe are not enabled --- Firmware/stepper.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 7195ba0e8..73bc3157f 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -482,11 +482,11 @@ FORCE_INLINE void stepper_next_block() // Check limit switches. FORCE_INLINE void stepper_check_endstops() { - uint8_t _endstop_hit = endstop_hit; - uint8_t _endstop = endstop; - uint8_t _old_endstop = old_endstop; if(check_endstops) { + uint8_t _endstop_hit = endstop_hit; + uint8_t _endstop = endstop; + uint8_t _old_endstop = old_endstop; #ifndef COREXY if ((out_bits & (1< -1) && !defined(DEBUG_DISABLE_ZMINLIMIT) if (check_z_endstop) { + uint8_t _endstop_hit = endstop_hit; + uint8_t _endstop = endstop; + uint8_t _old_endstop = old_endstop; // Check the Z min end-stop no matter what. // Good for searching for the center of an induction target. #ifdef TMC2130_SG_HOMING @@ -626,11 +632,11 @@ FORCE_INLINE void stepper_check_endstops() _endstop_hit |= _BV(Z_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } + endstop = _endstop; + old_endstop = _endstop; //apply current endstop state to the old endstop + endstop_hit = _endstop_hit; } #endif - endstop = _endstop; - old_endstop = _endstop; //apply current endstop state to the old endstop - endstop_hit = _endstop_hit; } From 882a73b8672b7e84bfa14fec9cbbec47f1631560 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Thu, 10 Feb 2022 16:42:02 +0100 Subject: [PATCH 234/234] VERBOSE_CHECK_HIT_ENDSTOPS --- Firmware/Configuration_adv.h | 3 +++ Firmware/stepper.cpp | 21 ++++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/Firmware/Configuration_adv.h b/Firmware/Configuration_adv.h index f1de79cb6..0f9c3fcb4 100644 --- a/Firmware/Configuration_adv.h +++ b/Firmware/Configuration_adv.h @@ -250,6 +250,9 @@ #define HAS_FOLDER_SORTING (FOLDER_SORTING) #endif +// Enabe this option to get a pretty message whenever the endstop gets hit (as in the position at which the endstop got triggered) +//#define VERBOSE_CHECK_HIT_ENDSTOPS + // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled. //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 73bc3157f..e0b7e9858 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -128,7 +128,10 @@ static uint8_t step_loops; static uint16_t OCR1A_nominal; static uint8_t step_loops_nominal; +#ifdef VERBOSE_CHECK_HIT_ENDSTOPS volatile long endstops_trigsteps[3]={0,0,0}; +#endif //VERBOSE_CHECK_HIT_ENDSTOPS + static volatile uint8_t endstop_hit = 0; #ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED bool abort_on_endstop_hit = false; @@ -189,7 +192,8 @@ extern uint16_t stepper_timer_overflow_last; void checkHitEndstops() { - if( endstop_hit) { + if(endstop_hit) { +#ifdef VERBOSE_CHECK_HIT_ENDSTOPS SERIAL_ECHO_START; SERIAL_ECHORPGM(MSG_ENDSTOPS_HIT); if(endstop_hit & _BV(X_AXIS)) { @@ -205,6 +209,7 @@ void checkHitEndstops() // LCD_MESSAGERPGM(CAT2((MSG_ENDSTOPS_HIT),PSTR("Z"))); } SERIAL_ECHOLN(""); +#endif //VERBOSE_CHECK_HIT_ENDSTOPS endstop_hit = 0; #if defined(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) && defined(SDSUPPORT) if (abort_on_endstop_hit) @@ -502,7 +507,9 @@ FORCE_INLINE void stepper_check_endstops() SET_BIT_TO(_endstop, X_AXIS, (READ(X_MIN_PIN) != X_MIN_ENDSTOP_INVERTING)); #endif if((_endstop & _old_endstop & _BV(X_AXIS)) && (current_block->steps_x.wide > 0)) { +#ifdef VERBOSE_CHECK_HIT_ENDSTOPS endstops_trigsteps[X_AXIS] = count_position[X_AXIS]; +#endif //VERBOSE_CHECK_HIT_ENDSTOPS _endstop_hit |= _BV(X_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } @@ -517,7 +524,9 @@ FORCE_INLINE void stepper_check_endstops() SET_BIT_TO(_endstop, X_AXIS + 4, (READ(X_MAX_PIN) != X_MAX_ENDSTOP_INVERTING)); #endif if((_endstop & _old_endstop & _BV(X_AXIS + 4)) && (current_block->steps_x.wide > 0)){ +#ifdef VERBOSE_CHECK_HIT_ENDSTOPS endstops_trigsteps[X_AXIS] = count_position[X_AXIS]; +#endif //VERBOSE_CHECK_HIT_ENDSTOPS _endstop_hit |= _BV(X_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } @@ -539,7 +548,9 @@ FORCE_INLINE void stepper_check_endstops() SET_BIT_TO(_endstop, Y_AXIS, (READ(Y_MIN_PIN) != Y_MIN_ENDSTOP_INVERTING)); #endif if((_endstop & _old_endstop & _BV(Y_AXIS)) && (current_block->steps_y.wide > 0)) { +#ifdef VERBOSE_CHECK_HIT_ENDSTOPS endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS]; +#endif //VERBOSE_CHECK_HIT_ENDSTOPS _endstop_hit |= _BV(Y_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } @@ -554,7 +565,9 @@ FORCE_INLINE void stepper_check_endstops() SET_BIT_TO(_endstop, Y_AXIS + 4, (READ(Y_MAX_PIN) != Y_MAX_ENDSTOP_INVERTING)); #endif if((_endstop & _old_endstop & _BV(Y_AXIS + 4)) && (current_block->steps_y.wide > 0)){ +#ifdef VERBOSE_CHECK_HIT_ENDSTOPS endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS]; +#endif //VERBOSE_CHECK_HIT_ENDSTOPS _endstop_hit |= _BV(Y_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } @@ -577,7 +590,9 @@ FORCE_INLINE void stepper_check_endstops() SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); #endif //TMC2130_SG_HOMING if((_endstop & _old_endstop & _BV(Z_AXIS)) && (current_block->steps_z.wide > 0)) { +#ifdef VERBOSE_CHECK_HIT_ENDSTOPS endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; +#endif //VERBOSE_CHECK_HIT_ENDSTOPS _endstop_hit |= _BV(Z_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } @@ -597,7 +612,9 @@ FORCE_INLINE void stepper_check_endstops() SET_BIT_TO(_endstop, Z_AXIS + 4, (READ(Z_MAX_PIN) != Z_MAX_ENDSTOP_INVERTING)); #endif //TMC2130_SG_HOMING if((_endstop & _old_endstop & _BV(Z_AXIS + 4)) && (current_block->steps_z.wide > 0)) { +#ifdef VERBOSE_CHECK_HIT_ENDSTOPS endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; +#endif //VERBOSE_CHECK_HIT_ENDSTOPS _endstop_hit |= _BV(Z_AXIS); step_events_completed.wide = current_block->step_event_count.wide; } @@ -628,7 +645,9 @@ FORCE_INLINE void stepper_check_endstops() SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); #endif //TMC2130_SG_HOMING if(_endstop & _old_endstop & _BV(Z_AXIS)) { +#ifdef VERBOSE_CHECK_HIT_ENDSTOPS endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; +#endif //VERBOSE_CHECK_HIT_ENDSTOPS _endstop_hit |= _BV(Z_AXIS); step_events_completed.wide = current_block->step_event_count.wide; }