From fe9a8cf8acceafaf98c302893d029f3de54d0f36 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Tue, 17 Oct 2023 15:36:54 +0200 Subject: [PATCH] Fix PF-build.sh with new cmake Same as MK3_3.13.2 branch --- Firmware/Configuration.h | 5 +-- Firmware/ultralcd.cpp | 6 ++-- PF-build.sh | 73 ++++++-------------------------------- cmake/ProjectVersion.cmake | 10 +++--- 4 files changed, 22 insertions(+), 72 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 842d748e5..d89c76646 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -21,7 +21,6 @@ extern const char _sPrinterMmuName[] PROGMEM; #define FW_MAJOR 3 #define FW_MINOR 13 #define FW_REVISION 0 -#warning "** Not sure why I had to touch this, but it seems like v3.13.1 is not in the linear history of this branch yet?" #define FW_COMMITNR 6853 #define FW_FLAVOR RC //uncomment if DEV, ALPHA, BETA or RC #define FW_FLAVERSION 1 //uncomment if FW_FLAVOR is defined and versioning is needed. Limited to max 8. @@ -43,7 +42,9 @@ extern const char _sPrinterMmuName[] PROGMEM; #define FW_COMMIT_HASH_LENGTH 1 #define FW_COMMIT_HASH "0" #define FW_REPOSITORY "Unknown" -#define FW_VERSION_FULL FW_VERSION "-unknown" +#ifndef FW_VERSION_FULL +#define FW_VERSION_FULL FW_VERSION +#endif //END FW_VERSION_FULL #endif // G-code language level diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 835e718e5..76996806a 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1600,8 +1600,8 @@ static void lcd_support_menu() MENU_ITEM_BACK_P(PSTR("Firmware:")); MENU_ITEM_BACK_P(PSTR(" " FW_VERSION_FULL)); - MENU_ITEM_BACK_P(PSTR(" repo " FW_REPOSITORY)); - MENU_ITEM_BACK_P(PSTR(" date " SOURCE_DATE_EPOCH)); + MENU_ITEM_BACK_P(PSTR(" Repo:" FW_REPOSITORY)); + MENU_ITEM_BACK_P(PSTR(" Hash:" FW_COMMIT_HASH)); MENU_ITEM_BACK_P(_n("prusa3d.com"));////MSG_PRUSA3D c=18 MENU_ITEM_BACK_P(_n("forum.prusa3d.com"));////MSG_PRUSA3D_FORUM c=18 MENU_ITEM_BACK_P(_n("help.prusa3d.com"));////MSG_PRUSA3D_HELP c=18 @@ -1610,6 +1610,8 @@ static void lcd_support_menu() MENU_ITEM_BACK_P(PSTR(ELECTRONICS)); MENU_ITEM_BACK_P(PSTR(NOZZLE_TYPE)); MENU_ITEM_BACK_P(STR_SEPARATOR); + MENU_ITEM_BACK_P(_i("Date:"));////MSG_DATE c=17 + MENU_ITEM_BACK_P(PSTR(SOURCE_DATE_EPOCH)); #if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) MENU_ITEM_BACK_P(STR_SEPARATOR); diff --git a/PF-build.sh b/PF-build.sh index eb205cc98..265eb59df 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.2-Build_80 +# Version: 2.0.3-Build_89 # 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 @@ -183,6 +183,11 @@ # 06 Jul 2022, 3d-gussner, Change to v1.0.8 and Ardunio_boards v1.0.5-2 # 06 Jul 2022, 3d-gussner, Fix branch check # 12 Jul 2022, 3d-gussner, Check if FW_FLAVAVOR and FW_FLAVERSION are correct +# 29 Sep 2022, 3d-gussner, Rename EN_ONLY to EN_FARM +# 03 Oct 2022, 3d-gussner, Update to Arduino boards 1.0.6 and remove gawk +# 17 Dec 2022, wavexx , Check for the coorect pyton version, improve depencies +# 14 Mar 2023, 3d-gussner, Rename MMU2 to MMU +# 11 Oct 2023, 3d-gussner, Fix issues with new cmake build, remove devel flag SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" export SRCDIR=$SCRIPT_PATH @@ -219,7 +224,6 @@ while getopts b:c:d:g:h:i:j:l:m:n:o:p:v:x:y:?h flag 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};; @@ -245,7 +249,6 @@ 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" @@ -264,7 +267,6 @@ echo " $(tput setaf 2)./PF-build.sh$(tput sgr0) [-b] [-c] [-d] [-g] [-i] [-j] [ 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.19$(tput sgr0)'" echo " -j : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes" @@ -897,18 +899,6 @@ else failures 5 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 - 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)" - failures 5 - fi -fi #Check if Build is selected via argument '-b' if [ ! -z "$build_flag" ] ; then @@ -990,14 +980,14 @@ prepare_code_for_compiling() #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) + BUILD=$(grep --max-count=1 "\bFW_COMMITNR\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) + BUILD_ORG=$(grep --max-count=1 "\bFW_COMMITNR\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d ' ' -f3) echo "Original build number: $BUILD_ORG" 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 + sed -i -- "s/^#define FW_COMMITNR.*/#define FW_COMMITNR $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 @@ -1024,44 +1014,6 @@ prepare_code_for_compiling() failures 26 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 - 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 } #### End: Prepare code for compiling @@ -1121,7 +1073,6 @@ list_usefull_data() 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 @@ -1147,9 +1098,6 @@ prepare_variant_for_compiling() 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 - sed -i -- "s/#define FW_DEV_VERSION FW_VERSION_.*/#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 @@ -1407,10 +1355,9 @@ cleanup_firmware() fi # Restore files to previous state - sed -i -- "s/^#define FW_DEV_VERSION FW_VERSION_.*/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/g" $SCRIPT_PATH/Firmware/Configuration.h sed -i -- 's/^#define FW_REPOSITORY.*/#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 + sed -i -- "s/^#define FW_COMMITNR.*/#define FW_COMMITNR $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 diff --git a/cmake/ProjectVersion.cmake b/cmake/ProjectVersion.cmake index 753da1085..22a4112f5 100644 --- a/cmake/ProjectVersion.cmake +++ b/cmake/ProjectVersion.cmake @@ -2,11 +2,11 @@ # This file is responsible for setting the following variables: # # ~~~ -# PROJECT_VERSION_MAJOR (4) -# PROJECT_VERSION_MINOR (0) -# PROJECT_VERSION_REV (3) -# PROJECT_VERSION (4.0.3) -# FW_COMMIT_DSC ("v4.0.3-deadbeef") +# PROJECT_VERSION_MAJOR (3) +# PROJECT_VERSION_MINOR (13) +# PROJECT_VERSION_REV (2) +# PROJECT_VERSION (3.13.2) +# FW_COMMIT_DSC ("v3.13.2-deadbeef") # FW_COMMIT_HASH (deadbeef) # FW_COMMIT_DATE (1665051856) #