MarlinFirmware/Configurations

[BUG] Weedo Tina2 config not compiling version 2.1.2.4 PREHEAT_2_TEMP_HOTEND

Closed this issue · 1 comments

Bug Description

When I use Marlin Firmware Auto Build with the config from this repo for release 2.1.2.4 with the Marlin Firmware release 2.1.2.4 I get the following assertion error when trying to build:
Marlin/src/module/temperature.cpp:314:38: error: static assertion failed: PREHEAT_2_TEMP_HOTEND (240) must be less than HEATER_0_MAXTEMP (240) - 15.

Here is the full build log:

platformio run --silent -e mega2560 ; echo "done" >|"/tmp/ipc"
In file included from Marlin/src/module/../inc/MarlinConfigPre.h:37:0,
                 from Marlin/src/module/../inc/MarlinConfig.h:28,
                 from Marlin/src/module/../MarlinCore.h:24,
                 from Marlin/src/module/temperature.cpp:30:
Marlin/src/module/temperature.cpp:314:38: error: static assertion failed: PREHEAT_2_TEMP_HOTEND (240) must be less than HEATER_0_MAXTEMP (240) - 15.
     #define CHECK_PREHEAT__(N,P,T,M) static_assert(T <= (M) - (HOTEND_OVERSHOOT), "PREHEAT_" STRINGIFY(P) "_TEMP_HOTEND (" STRINGIFY(T) ") must be less than HEATER_" STRINGIFY(N) "_MAXTEMP (" STRINGIFY(M) ") - " STRINGIFY(HOTEND_OVERSHOOT) ".");
                                      ^
Marlin/src/module/../inc/../core/macros.h:695:24: note: in definition of macro 'EVAL1'
 #define EVAL1(V...)    V
                        ^
Marlin/src/module/../inc/../core/macros.h:694:30: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:693:24: note: in expansion of macro 'EVAL2'
 #define EVAL4(V...)    EVAL2(EVAL2(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:24: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:30: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:693:30: note: in expansion of macro 'EVAL2'
 #define EVAL4(V...)    EVAL2(EVAL2(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:692:24: note: in expansion of macro 'EVAL4'
 #define EVAL8(V...)    EVAL4(EVAL4(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:24: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:30: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:693:24: note: in expansion of macro 'EVAL2'
 #define EVAL4(V...)    EVAL2(EVAL2(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:24: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:30: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:693:30: note: in expansion of macro 'EVAL2'
 #define EVAL4(V...)    EVAL2(EVAL2(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:692:30: note: in expansion of macro 'EVAL4'
 #define EVAL8(V...)    EVAL4(EVAL4(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:691:24: note: in expansion of macro 'EVAL8'
 #define EVAL16(V...)   EVAL8(EVAL8(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:24: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:30: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:693:24: note: in expansion of macro 'EVAL2'
 #define EVAL4(V...)    EVAL2(EVAL2(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:24: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:30: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:693:30: note: in expansion of macro 'EVAL2'
 #define EVAL4(V...)    EVAL2(EVAL2(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:692:24: note: in expansion of macro 'EVAL4'
 #define EVAL8(V...)    EVAL4(EVAL4(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:24: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:30: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:693:24: note: in expansion of macro 'EVAL2'
 #define EVAL4(V...)    EVAL2(EVAL2(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:24: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                        ^~~~~
Marlin/src/module/../inc/../core/macros.h:694:30: note: in expansion of macro 'EVAL1'
 #define EVAL2(V...)    EVAL1(EVAL1(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:693:30: note: in expansion of macro 'EVAL2'
 #define EVAL4(V...)    EVAL2(EVAL2(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:692:30: note: in expansion of macro 'EVAL4'
 #define EVAL8(V...)    EVAL4(EVAL4(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:691:30: note: in expansion of macro 'EVAL8'
 #define EVAL16(V...)   EVAL8(EVAL8(V))
                              ^~~~~
Marlin/src/module/../inc/../core/macros.h:682:24: note: in expansion of macro 'EVAL16'
 #define EVAL(V...)     EVAL16(V)
                        ^~~~~~
Marlin/src/module/../inc/../core/macros.h:746:33: note: in expansion of macro 'EVAL'
 #define REPEAT2_S(S,N,OP,V...)  EVAL(_REPEAT2(S,SUB##S(N),OP,V))
                                 ^~~~
Marlin/src/module/temperature.cpp:315:33: note: in expansion of macro 'CHECK_PREHEAT__'
     #define CHECK_PREHEAT_(N,P) CHECK_PREHEAT__(N, P, PREHEAT_##P##_TEMP_HOTEND, HEATER_##N##_MAXTEMP)
                                 ^~~~~~~~~~~~~~~
Marlin/src/module/../inc/../core/macros.h:734:3: note: in expansion of macro 'CHECK_PREHEAT_'
   _RPT_OP(_RPT_I,V)                                              \
   ^~~~~~~
Marlin/src/module/../inc/../core/macros.h:746:38: note: in expansion of macro '_REPEAT2'
 #define REPEAT2_S(S,N,OP,V...)  EVAL(_REPEAT2(S,SUB##S(N),OP,V))
                                      ^~~~~~~~
Marlin/src/module/../inc/../core/macros.h:747:33: note: in expansion of macro 'REPEAT2_S'
 #define REPEAT2(N,OP,V...)      REPEAT2_S(0,N,OP,V)
                                 ^~~~~~~~~
Marlin/src/module/temperature.cpp:316:30: note: in expansion of macro 'REPEAT2'
     #define CHECK_PREHEAT(P) REPEAT2(HOTENDS, CHECK_PREHEAT_, P)
                              ^~~~~~~
Marlin/src/module/temperature.cpp:321:7: note: in expansion of macro 'CHECK_PREHEAT'
       CHECK_PREHEAT(2)
       ^~~~~~~~~~~~~
*** [.pio/build/mega2560/src/src/module/temperature.cpp.o] Error 1
====================================================================== [FAILED] Took 45.99 seconds ======================================================================

Environment    Status    Duration
-------------  --------  ------------
mega2560       FAILED    00:00:45.992
================================================================= 1 failed, 0 succeeded in 00:00:45.992 =================================================================

Configuration Files

Configuration.zip

Steps to Reproduce

  1. Download Marlin Release 2.1.2.4 from github
  2. Download Config files Release 2.1.2.4 from this repo. Copy the config/examples/Weedo/Tina2/V3/Configuration.h and Configuration_adv.h files to the Marlin Release 2.1.2.4 Marlin folder
  3. Open VS Code and click build on the Marlin Firmware Auto Build tab

Expected behavior:

The firmware should compile.

Actual behavior:

The following error appears: Marlin/src/module/temperature.cpp:314:38: error: static assertion failed: PREHEAT_2_TEMP_HOTEND (240) must be less than HEATER_0_MAXTEMP (240) - 15.

This has already been fixed in the bugfix-2.1.x branch and will be in the next major release (2.1.3).

Since the hotend cannot reach ABS temperatures (max temp is 240 - 15 overshoot = 225), the ABS preheat option was removed.