Closed kaiomatico closed 1 week ago
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.
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 release2.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:
```prolog 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
2.1.2.4
from github2.1.2.4
from this repo. Copy the config/examples/Weedo/Tina2/V3/Configuration.h and Configuration_adv.h files to the Marlin Release2.1.2.4
Marlin
folderExpected 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.