Merge pull request #3382 from 3d-gussner/MK3_3.11.0_Fix_PF-build

Update PF-build.sh for MK2.5/S community languages and build-server fixes
This commit is contained in:
3d-gussner 2022-02-10 14:23:11 +01:00 committed by GitHub
commit 42ac9c0ec3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 42 additions and 25 deletions

View File

@ -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 # 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. # it will use the default Arduino IDE folders and so can corrupt the build environment.
# #
# Version: 2.0.0-Build_67 # Version: 2.0.0-Build_69
# Change log: # 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' # 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 # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown
@ -169,8 +169,13 @@
# 21 Jan 2022, 3d-gussner, Sort variants # 21 Jan 2022, 3d-gussner, Sort variants
# Add Arduino 1.8.19 as an option # Add Arduino 1.8.19 as an option
# 25 Jan 2022, 3d-gussner, Allow upper and lower case for MK404 # 25 Jan 2022, 3d-gussner, Allow upper and lower case for MK404
# 09 Feb 2022, 3d-gussner, Add community language firmware files for MK2.5/S
# Add selection of language in MK404 for MK2.5/S
# 10 Feb 2022, 3d-gussner, Add SRCDIR for compatibility with build server
SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )"
export SRCDIR=$SCRIPT_PATH
#### Start: Failures #### Start: Failures
failures() failures()
@ -224,7 +229,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 # '?' 'h' argument usage and help
if [ "$help_flag" == "1" ] ; then if [ "$help_flag" == "1" ] ; then
echo "***************************************" echo "***************************************"
echo "* PF-build.sh Version: 2.0.0-Build_67 *" echo "* PF-build.sh Version: 2.0.0-Build_69 *"
echo "***************************************" echo "***************************************"
echo "Arguments:" echo "Arguments:"
echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number" echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number"
@ -1321,25 +1326,24 @@ create_multi_firmware()
cp -f firmware.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex 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 cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.elf
else else
echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)" #Search for created firmware languages
cp -f firmware_cz.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-cz.hex langs=$(find firmware_*.hex | cut -d "_" -f2 | cut -d "." -f1)
cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-de.hex #Copy found firmware_*.hex files
cp -f firmware_es.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-es.hex for la in $langs; do
cp -f firmware_fr.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-fr.hex cp -f firmware_$la.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-$la.hex
cp -f firmware_it.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-it.hex done
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 cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.elf
echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)"
if [ $TARGET_OS == "windows" ]; then if [ $TARGET_OS == "windows" ]; then
zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-??.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 #rm $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-??.hex
elif [ $TARGET_OS == "linux" ]; then elif [ $TARGET_OS == "linux" ]; then
# Make a copy for MK404 sim of MK2, MK2.5, MK2.5S firmware # Make a copy for MK404 sim of MK2, MK2.5, MK2.5S firmware
if [ ! -z "$mk404_flag" ]; then if [ ! -z "$mk404_flag" ]; then
cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex
fi fi
# End of MK2, MK2.5, MK2.5S firmware copy # End of MK2, MK2.5, MK2.5S firmware copy
zip -m -j ../../$OUTPUT_FOLDER/$OUTPUT_FILENAME.zip ../../$OUTPUT_FOLDER/$OUTPUT_FILENAME-??.hex zip -j ../../$OUTPUT_FOLDER/$OUTPUT_FILENAME.zip ../../$OUTPUT_FOLDER/$OUTPUT_FILENAME-??.hex
fi fi
fi fi
@ -1500,11 +1504,6 @@ fi
if [[ ! -z "$mk404_flag" && "$variant_flag" != "All " ]]; then if [[ ! -z "$mk404_flag" && "$variant_flag" != "All " ]]; then
# For Prusa MK2, MK2.5/S
if [ "$MOTHERBOARD" == "BOARD_RAMBO_MINI_1_3" ]; then
MK404_PRINTER="${MK404_PRINTER}_mR13"
fi
# Run MK404 with 'debugcore' and/or 'bootloader-file' # Run MK404 with 'debugcore' and/or 'bootloader-file'
if [ ! -z "$board_mem_flag" ]; then if [ ! -z "$board_mem_flag" ]; then
MK404_options="-x $board_mem_flag" MK404_options="-x $board_mem_flag"
@ -1535,7 +1534,16 @@ if [[ ! -z "$mk404_flag" && "$variant_flag" != "All " ]]; then
#Decide which hex file to use EN_ONLY or Multi language #Decide which hex file to use EN_ONLY or Multi language
if [ "$LANGUAGES" == "ALL" ]; then if [ "$LANGUAGES" == "ALL" ]; then
if [[ "$MK404_PRINTER" == "MK3" || "$MK404_PRINTER" == "MK3S" ]]; then
MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex
else
PS3="Select a language:"
select lan in ${langs[@]}
do
MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-$lan.hex
break
done
fi
else else
MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.hex MK404_firmware_file=$SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-EN_ONLY.hex
fi fi

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# #
# Version 1.0.1 Build 9 # Version 1.0.1 Build 10
# #
# config.sh - multi-language support configuration script # config.sh - multi-language support configuration script
# Definition of absolute paths etc. # Definition of absolute paths etc.
@ -19,8 +19,16 @@
# and use these. More flexible for different build # and use these. More flexible for different build
# scripts # scripts
# Check correctly if files or dirs exist # Check correctly if files or dirs exist
# 10 Feb. 2022, 3d-gussner, Add SRCDIR for compatibility with build server
############################################################################# #############################################################################
# #
if [ -z "$SRCDIR" ]; then
export SRCDIR=".."
fi
LNGDIR="$( cd "$(dirname "$0")" ; pwd -P )"
export LNGDIR=$LNGDIR
# Arduino main folder: # Arduino main folder:
if [ -z "$ARDUINO" ]; then if [ -z "$ARDUINO" ]; then
export ARDUINO=../../PF-build-env-1.0.6/1.8.5-1.0.4-linux-64 #C:/arduino-1.8.5 export ARDUINO=../../PF-build-env-1.0.6/1.8.5-1.0.4-linux-64 #C:/arduino-1.8.5
@ -68,15 +76,15 @@ fi
MAX_COMMINITY_LANG=10 # Total 16 - 6 default MAX_COMMINITY_LANG=10 # Total 16 - 6 default
COMMUNITY_LANGUAGES="" COMMUNITY_LANGUAGES=""
#Search Firmware/config.h for active community group #Search Firmware/config.h for active community group
COMMUNITY_LANG_GROUP=$(grep --max-count=1 "^#define COMMUNITY_LANG_GROUP" ../Firmware/config.h| cut -d ' ' -f3) COMMUNITY_LANG_GROUP=$(grep --max-count=1 "^#define COMMUNITY_LANG_GROUP" $SRCDIR/Firmware/config.h| cut -d ' ' -f3)
# Search Firmware/config.h for active community languanges # Search Firmware/config.h for active community languanges
if [ "$COMMUNITY_LANG_GROUP" = "1" ]; then if [ "$COMMUNITY_LANG_GROUP" = "1" ]; then
COMMUNITY_LANGUAGES=$(grep --max-count=$MAX_COMMINITY_LANG "^#define COMMUNITY_LANG_GROUP1_" ../Firmware/config.h| cut -d '_' -f4 |cut -d ' ' -f1 |tr '[:upper:]' '[:lower:]'| tr '\n' ' ') COMMUNITY_LANGUAGES=$(grep --max-count=$MAX_COMMINITY_LANG "^#define COMMUNITY_LANG_GROUP1_" $SRCDIR/Firmware/config.h| cut -d '_' -f4 |cut -d ' ' -f1 |tr '[:upper:]' '[:lower:]'| tr '\n' ' ')
elif [ "$COMMUNITY_LANG_GROUP" = "2" ]; then elif [ "$COMMUNITY_LANG_GROUP" = "2" ]; then
COMMUNITY_LANGUAGES=$(grep --max-count=$MAX_COMMINITY_LANG "^#define COMMUNITY_LANG_GROUP2_" ../Firmware/config.h| cut -d '_' -f4 |cut -d ' ' -f1 |tr '[:upper:]' '[:lower:]'| tr '\n' ' ') COMMUNITY_LANGUAGES=$(grep --max-count=$MAX_COMMINITY_LANG "^#define COMMUNITY_LANG_GROUP2_" $SRCDIR/Firmware/config.h| cut -d '_' -f4 |cut -d ' ' -f1 |tr '[:upper:]' '[:lower:]'| tr '\n' ' ')
elif [ "$COMMUNITY_LANG_GROUP" = "3" ]; then elif [ "$COMMUNITY_LANG_GROUP" = "3" ]; then
COMMUNITY_LANGUAGES=$(grep --max-count=$MAX_COMMINITY_LANG "^#define COMMUNITY_LANG_GROUP3_" ../Firmware/config.h| cut -d '_' -f4 |cut -d ' ' -f1 |tr '[:upper:]' '[:lower:]'| tr '\n' ' ') COMMUNITY_LANGUAGES=$(grep --max-count=$MAX_COMMINITY_LANG "^#define COMMUNITY_LANG_GROUP3_" $SRCDIR/Firmware/config.h| cut -d '_' -f4 |cut -d ' ' -f1 |tr '[:upper:]' '[:lower:]'| tr '\n' ' ')
fi fi
if [ -z "$COMMUNITY_LANGUAGES" ]; then if [ -z "$COMMUNITY_LANGUAGES" ]; then

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# #
# Version 1.0.2 Build 25 # Version 1.0.2 Build 27
# #
# lang-build.sh - multi-language support script # lang-build.sh - multi-language support script
# generate lang_xx.bin (language binary file) # generate lang_xx.bin (language binary file)
@ -56,6 +56,7 @@
# to get Build Nr # to get Build Nr
# 25 Jan. 2022, 3d-gussner, Fix check # 25 Jan. 2022, 3d-gussner, Fix check
# Update documentation # Update documentation
# 10 Feb. 2022, 3d-gussner, Use SRCDIR for compatibility with build server
############################################################################# #############################################################################
# #
# Config: # Config:
@ -170,7 +171,7 @@ generate_binary()
#Calculate the number of strings and save to temporary file #Calculate the number of strings and save to temporary file
echo $count >lang_en.cnt echo $count >lang_en.cnt
#read the allowed maxsize from "../Firmware/config.h" and save to temporary file #read the allowed maxsize from "../Firmware/config.h" and save to temporary file
maxsize=$(($(grep "#define LANG_SIZE_RESERVED" ../Firmware/config.h|sed -e's/ */ /g' |cut -d ' ' -f3))) maxsize=$(($(grep "#define LANG_SIZE_RESERVED" $SRCDIR/Firmware/config.h|sed -e's/ */ /g' |cut -d ' ' -f3)))
echo "maxsize="$maxsize >&2 echo "maxsize="$maxsize >&2
echo $maxsize >lang_en.max echo $maxsize >lang_en.max