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