marlin
"The variable is defined as a scalar but initialized with an array of values.
Issue 1800: https://github.com/MarlinFirmware/Marlin/issues/1800"
Bug fixed by commit fc3c76fc164
Type | IncompatibleType |
Config | "HAS_BED_THERMAL_PROTECTION" (1st degree) |
Fix-in | code |
Location | temperature/ |
#include <stdbool.h> #if HAS_HEATER_THERMAL_PROTECTION || HAS_BED_THERMAL_PROTECTION enum TRState { TRInactive, TRFirstHeating, TRStable }; static bool thermal_runaway = false; #if HAS_HEATER_THERMAL_PROTECTION enum TRState thermal_runaway_state_machine[4] = { TRInactive, TRInactive, TRInactive, TRInactive }; static unsigned long thermal_runaway_timer[4]; // = {0,0,0,0}; #endif #if HAS_BED_THERMAL_PROTECTION static TRState thermal_runaway_bed_state_machine = { TRInactive, TRInactive, TRInactive, TRInactive }; static unsigned long thermal_runaway_bed_timer; #endif #endif int main(void) { return 0; }
diff --git a/simple/fc3c76f.c b/simple/fc3c76f.c --- a/simple/fc3c76f.c +++ b/simple/fc3c76f.c @@ -8,7 +8,7 @@ static unsigned long thermal_runaway_timer[4]; // = {0,0,0,0}; #endif #if HAS_BED_THERMAL_PROTECTION - static TRState thermal_runaway_bed_state_machine = { TRInactive, TRInactive, TRInactive, TRInactive }; + static TRState thermal_runaway_bed_state_machine = TRInactive; static unsigned long thermal_runaway_bed_timer; #endif #endif
#include <stdbool.h> int main(void){ #if HAS_HEATER_THERMAL_PROTECTION || HAS_BED_THERMAL_PROTECTION enum TRState { TRInactive, TRFirstHeating, TRStable }; static bool thermal_runaway = false; #if HAS_HEATER_THERMAL_PROTECTION enum TRState thermal_runaway_state_machine[4] = { TRInactive, TRInactive, TRInactive, TRInactive }; static unsigned long thermal_runaway_timer[4]; // = {0,0,0,0}; #endif #if HAS_BED_THERMAL_PROTECTION static TRState thermal_runaway_bed_state_machine = { TRInactive, TRInactive, TRInactive, TRInactive }; static unsigned long thermal_runaway_bed_timer; #endif #endif return 0; }
. ERROR temperature.cpp:87: static TRState thermal_runaway_bed_state_machine = { TRInactive, TRInactive, TRInactive, TRInactive }; // static scalar object thermal_runaway_bed_state_machine needs one element in initializer