Merge pull request #5060 from thinkyhead/rc_fix_ugly_code
Reduce, clean up MINTEMP / MAXTEMP test code
This commit is contained in:
commit
cfb47929ca
@ -3145,7 +3145,7 @@ inline void gcode_G4() {
|
|||||||
if (DEBUGGING(LEVELING)) DEBUG_POS(">>> home_delta", current_position);
|
if (DEBUGGING(LEVELING)) DEBUG_POS(">>> home_delta", current_position);
|
||||||
#endif
|
#endif
|
||||||
// Init the current position of all carriages to 0,0,0
|
// Init the current position of all carriages to 0,0,0
|
||||||
memset(current_position, 0, sizeof(current_position));
|
ZERO(current_position);
|
||||||
sync_plan_position();
|
sync_plan_position();
|
||||||
|
|
||||||
// Move all carriages together linearly until an endstop is hit.
|
// Move all carriages together linearly until an endstop is hit.
|
||||||
|
@ -674,7 +674,7 @@ bool SdBaseFile::open(SdBaseFile* dirFile,
|
|||||||
index = 0;
|
index = 0;
|
||||||
}
|
}
|
||||||
// initialize as empty file
|
// initialize as empty file
|
||||||
memset(p, 0, sizeof(dir_t));
|
ZERO(p);
|
||||||
memcpy(p->name, dname, 11);
|
memcpy(p->name, dname, 11);
|
||||||
|
|
||||||
// set timestamps
|
// set timestamps
|
||||||
|
@ -36,7 +36,7 @@ CardReader::CardReader() {
|
|||||||
sdpos = 0;
|
sdpos = 0;
|
||||||
workDirDepth = 0;
|
workDirDepth = 0;
|
||||||
file_subcall_ctr = 0;
|
file_subcall_ctr = 0;
|
||||||
memset(workDirParents, 0, sizeof(workDirParents));
|
ZERO(workDirParents);
|
||||||
|
|
||||||
autostart_stilltocheck = true; //the SD start is delayed, because otherwise the serial cannot answer fast enough to make contact with the host software.
|
autostart_stilltocheck = true; //the SD start is delayed, because otherwise the serial cannot answer fast enough to make contact with the host software.
|
||||||
autostart_index = 0;
|
autostart_index = 0;
|
||||||
|
@ -40,7 +40,6 @@
|
|||||||
|
|
||||||
// Change EEPROM version if these are changed:
|
// Change EEPROM version if these are changed:
|
||||||
#define EEPROM_OFFSET 100
|
#define EEPROM_OFFSET 100
|
||||||
#define MAX_EXTRUDERS 4
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* V24 EEPROM Layout:
|
* V24 EEPROM Layout:
|
||||||
|
@ -78,6 +78,7 @@
|
|||||||
#define NUMERIC(a) ((a) >= '0' && '9' >= (a))
|
#define NUMERIC(a) ((a) >= '0' && '9' >= (a))
|
||||||
#define NUMERIC_SIGNED(a) (NUMERIC(a) || (a) == '-')
|
#define NUMERIC_SIGNED(a) (NUMERIC(a) || (a) == '-')
|
||||||
#define COUNT(a) (sizeof(a)/sizeof(*a))
|
#define COUNT(a) (sizeof(a)/sizeof(*a))
|
||||||
|
#define ZERO(a) memset(a,0,sizeof(a))
|
||||||
|
|
||||||
// Macros for initializing arrays
|
// Macros for initializing arrays
|
||||||
#define ARRAY_6(v1, v2, v3, v4, v5, v6, args...) { v1, v2, v3, v4, v5, v6 }
|
#define ARRAY_6(v1, v2, v3, v4, v5, v6, args...) { v1, v2, v3, v4, v5, v6 }
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
void mesh_bed_leveling::reset() {
|
void mesh_bed_leveling::reset() {
|
||||||
status = MBL_STATUS_NONE;
|
status = MBL_STATUS_NONE;
|
||||||
z_offset = 0;
|
z_offset = 0;
|
||||||
memset(z_values, 0, sizeof(z_values));
|
ZERO(z_values);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // MESH_BED_LEVELING
|
#endif // MESH_BED_LEVELING
|
||||||
|
@ -275,6 +275,10 @@
|
|||||||
#define SUICIDE_PIN -1
|
#define SUICIDE_PIN -1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef MAX_EXTRUDERS
|
||||||
|
#define MAX_EXTRUDERS 4
|
||||||
|
#endif
|
||||||
|
|
||||||
// Marlin needs to account for pins that equal -1
|
// Marlin needs to account for pins that equal -1
|
||||||
#define marlinAnalogInputToDigitalPin(p) ((p) == -1 ? -1 : analogInputToDigitalPin(p))
|
#define marlinAnalogInputToDigitalPin(p) ((p) == -1 ? -1 : analogInputToDigitalPin(p))
|
||||||
|
|
||||||
|
@ -137,8 +137,8 @@ Planner::Planner() { init(); }
|
|||||||
|
|
||||||
void Planner::init() {
|
void Planner::init() {
|
||||||
block_buffer_head = block_buffer_tail = 0;
|
block_buffer_head = block_buffer_tail = 0;
|
||||||
memset(position, 0, sizeof(position));
|
ZERO(position);
|
||||||
memset(previous_speed, 0, sizeof(previous_speed));
|
ZERO(previous_speed);
|
||||||
previous_nominal_speed = 0.0;
|
previous_nominal_speed = 0.0;
|
||||||
#if ABL_PLANAR
|
#if ABL_PLANAR
|
||||||
bed_level_matrix.set_to_identity();
|
bed_level_matrix.set_to_identity();
|
||||||
@ -1266,7 +1266,7 @@ void Planner::_set_position_mm(const float &a, const float &b, const float &c, c
|
|||||||
stepper.set_position(na, nb, nc, ne);
|
stepper.set_position(na, nb, nc, ne);
|
||||||
previous_nominal_speed = 0.0; // Resets planner junction speeds. Assumes start from rest.
|
previous_nominal_speed = 0.0; // Resets planner junction speeds. Assumes start from rest.
|
||||||
|
|
||||||
memset(previous_speed, 0, sizeof(previous_speed));
|
ZERO(previous_speed);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Planner::set_position_mm_kinematic(const float position[NUM_AXIS]) {
|
void Planner::set_position_mm_kinematic(const float position[NUM_AXIS]) {
|
||||||
|
@ -151,7 +151,7 @@ volatile bool Temperature::temp_meas_ready = false;
|
|||||||
millis_t Temperature::next_bed_check_ms;
|
millis_t Temperature::next_bed_check_ms;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
unsigned long Temperature::raw_temp_value[4] = { 0 };
|
unsigned long Temperature::raw_temp_value[MAX_EXTRUDERS] = { 0 };
|
||||||
unsigned long Temperature::raw_temp_bed_value = 0;
|
unsigned long Temperature::raw_temp_bed_value = 0;
|
||||||
|
|
||||||
// Init min and max temp with extreme values to prevent false errors during startup
|
// Init min and max temp with extreme values to prevent false errors during startup
|
||||||
@ -1758,6 +1758,9 @@ void Temperature::isr() {
|
|||||||
} // switch(temp_state)
|
} // switch(temp_state)
|
||||||
|
|
||||||
if (temp_count >= OVERSAMPLENR) { // 10 * 16 * 1/(16000000/64/256) = 164ms.
|
if (temp_count >= OVERSAMPLENR) { // 10 * 16 * 1/(16000000/64/256) = 164ms.
|
||||||
|
|
||||||
|
temp_count = 0;
|
||||||
|
|
||||||
// Update the raw values if they've been read. Else we could be updating them during reading.
|
// Update the raw values if they've been read. Else we could be updating them during reading.
|
||||||
if (!temp_meas_ready) set_current_temp_raw();
|
if (!temp_meas_ready) set_current_temp_raw();
|
||||||
|
|
||||||
@ -1766,85 +1769,54 @@ void Temperature::isr() {
|
|||||||
current_raw_filwidth = raw_filwidth_value >> 10; // Divide to get to 0-16384 range since we used 1/128 IIR filter approach
|
current_raw_filwidth = raw_filwidth_value >> 10; // Divide to get to 0-16384 range since we used 1/128 IIR filter approach
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
temp_count = 0;
|
ZERO(raw_temp_value);
|
||||||
for (int i = 0; i < 4; i++) raw_temp_value[i] = 0;
|
|
||||||
raw_temp_bed_value = 0;
|
raw_temp_bed_value = 0;
|
||||||
|
|
||||||
#if HAS_TEMP_0 && DISABLED(HEATER_0_USES_MAX6675)
|
int constexpr temp_dir[] = {
|
||||||
#if HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP
|
#if ENABLED(HEATER_0_USES_MAX6675)
|
||||||
#define GE0 <=
|
0
|
||||||
|
#elif HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP
|
||||||
|
-1
|
||||||
#else
|
#else
|
||||||
#define GE0 >=
|
1
|
||||||
#endif
|
#endif
|
||||||
if (current_temperature_raw[0] GE0 maxttemp_raw[0]) max_temp_error(0);
|
#if HAS_TEMP_1 && HOTENDS > 1
|
||||||
if (minttemp_raw[0] GE0 current_temperature_raw[0] && !is_preheating(0) && target_temperature[0] > 0.0f) {
|
#if HEATER_1_RAW_LO_TEMP > HEATER_1_RAW_HI_TEMP
|
||||||
#ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
|
, -1
|
||||||
if (++consecutive_low_temperature_error[0] >= MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED)
|
#else
|
||||||
|
, 1
|
||||||
#endif
|
#endif
|
||||||
min_temp_error(0);
|
|
||||||
}
|
|
||||||
#ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
|
|
||||||
else
|
|
||||||
consecutive_low_temperature_error[0] = 0;
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#if HAS_TEMP_2 && HOTENDS > 2
|
||||||
|
#if HEATER_2_RAW_LO_TEMP > HEATER_2_RAW_HI_TEMP
|
||||||
|
, -1
|
||||||
|
#else
|
||||||
|
, 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#if HAS_TEMP_3 && HOTENDS > 3
|
||||||
|
#if HEATER_3_RAW_LO_TEMP > HEATER_3_RAW_HI_TEMP
|
||||||
|
, -1
|
||||||
|
#else
|
||||||
|
, 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
#if HAS_TEMP_1 && HOTENDS > 1
|
for (uint8_t e = 0; e < COUNT(temp_dir); e++) {
|
||||||
#if HEATER_1_RAW_LO_TEMP > HEATER_1_RAW_HI_TEMP
|
const int tdir = temp_dir[e], rawtemp = current_temperature_raw[e] * tdir;
|
||||||
#define GE1 <=
|
if (rawtemp > maxttemp_raw[e] * tdir) max_temp_error(e);
|
||||||
#else
|
if (rawtemp < minttemp_raw[e] * tdir && !is_preheating(e) && target_temperature[e] > 0.0f) {
|
||||||
#define GE1 >=
|
|
||||||
#endif
|
|
||||||
if (current_temperature_raw[1] GE1 maxttemp_raw[1]) max_temp_error(1);
|
|
||||||
if (minttemp_raw[1] GE1 current_temperature_raw[1] && !is_preheating(1) && target_temperature[1] > 0.0f) {
|
|
||||||
#ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
|
#ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
|
||||||
if (++consecutive_low_temperature_error[1] >= MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED)
|
if (++consecutive_low_temperature_error[e] >= MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED)
|
||||||
#endif
|
#endif
|
||||||
min_temp_error(1);
|
min_temp_error(e);
|
||||||
}
|
}
|
||||||
#ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
|
#ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
|
||||||
else
|
else
|
||||||
consecutive_low_temperature_error[1] = 0;
|
consecutive_low_temperature_error[e] = 0;
|
||||||
#endif
|
#endif
|
||||||
#endif // TEMP_SENSOR_1
|
}
|
||||||
|
|
||||||
#if HAS_TEMP_2 && HOTENDS > 2
|
|
||||||
#if HEATER_2_RAW_LO_TEMP > HEATER_2_RAW_HI_TEMP
|
|
||||||
#define GE2 <=
|
|
||||||
#else
|
|
||||||
#define GE2 >=
|
|
||||||
#endif
|
|
||||||
if (current_temperature_raw[2] GE2 maxttemp_raw[2]) max_temp_error(2);
|
|
||||||
if (minttemp_raw[2] GE2 current_temperature_raw[2] && !is_preheating(2) && target_temperature[2] > 0.0f) {
|
|
||||||
#ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
|
|
||||||
if (++consecutive_low_temperature_error[2] >= MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED)
|
|
||||||
#endif
|
|
||||||
min_temp_error(2);
|
|
||||||
}
|
|
||||||
#ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
|
|
||||||
else
|
|
||||||
consecutive_low_temperature_error[2] = 0;
|
|
||||||
#endif
|
|
||||||
#endif // TEMP_SENSOR_2
|
|
||||||
|
|
||||||
#if HAS_TEMP_3 && HOTENDS > 3
|
|
||||||
#if HEATER_3_RAW_LO_TEMP > HEATER_3_RAW_HI_TEMP
|
|
||||||
#define GE3 <=
|
|
||||||
#else
|
|
||||||
#define GE3 >=
|
|
||||||
#endif
|
|
||||||
if (current_temperature_raw[3] GE3 maxttemp_raw[3]) max_temp_error(3);
|
|
||||||
if (minttemp_raw[3] GE3 current_temperature_raw[3] && !is_preheating(3) && target_temperature[3] > 0.0f) {
|
|
||||||
#ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
|
|
||||||
if (++consecutive_low_temperature_error[3] >= MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED)
|
|
||||||
#endif
|
|
||||||
min_temp_error(3);
|
|
||||||
}
|
|
||||||
#ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
|
|
||||||
else
|
|
||||||
consecutive_low_temperature_error[3] = 0;
|
|
||||||
#endif
|
|
||||||
#endif // TEMP_SENSOR_3
|
|
||||||
|
|
||||||
#if HAS_TEMP_BED
|
#if HAS_TEMP_BED
|
||||||
#if HEATER_BED_RAW_LO_TEMP > HEATER_BED_RAW_HI_TEMP
|
#if HEATER_BED_RAW_LO_TEMP > HEATER_BED_RAW_HI_TEMP
|
||||||
|
Loading…
Reference in New Issue
Block a user