MarlinFirmware / Configurations

Configurations for Marlin Firmware
https://marlinfw.org
GNU General Public License v3.0
1.98k stars 3.33k forks source link

[BUG] Weedo Tina2 config not compiling version 2.1.2.4 PREHEAT_2_TEMP_HOTEND #1072

Closed kaiomatico closed 1 week ago

kaiomatico commented 1 week ago

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:

```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

  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.

thisiskeithb commented 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.