Browse Source

Reduce size of heater state print code

pull/1/head
Scott Lahteine 8 years ago
parent
commit
da8e946efb
  1. 102
      Marlin/Marlin_main.cpp

102
Marlin/Marlin_main.cpp

@ -5889,7 +5889,7 @@ inline void gcode_M17() {
}
static bool pause_print(const float &retract, const float &z_lift, const float &x_pos, const float &y_pos,
const float &unload_length = 0 , int8_t max_beep_count = 0, bool show_lcd = false
const float &unload_length = 0 , const int8_t max_beep_count = 0, const bool show_lcd = false
) {
if (move_away_flag) return false; // already paused
@ -5989,7 +5989,7 @@ inline void gcode_M17() {
return true;
}
static void wait_for_filament_reload(int8_t max_beep_count = 0) {
static void wait_for_filament_reload(const int8_t max_beep_count = 0) {
bool nozzle_timed_out = false;
// Wait for filament insert by user and press button
@ -6014,7 +6014,7 @@ inline void gcode_M17() {
KEEPALIVE_STATE(IN_HANDLER);
}
static void resume_print(const float &load_length = 0, const float &initial_extrude_length = 0, int8_t max_beep_count = 0) {
static void resume_print(const float &load_length = 0, const float &initial_extrude_length = 0, const int8_t max_beep_count = 0) {
bool nozzle_timed_out = false;
if (!move_away_flag) return;
@ -6974,39 +6974,57 @@ inline void gcode_M104() {
#if HAS_TEMP_HOTEND || HAS_TEMP_BED
void print_heater_state(const float &c, const float &t,
#if ENABLED(SHOW_TEMP_ADC_VALUES)
const float r,
#endif
const int8_t e=-2
) {
SERIAL_PROTOCOLCHAR(' ');
SERIAL_PROTOCOLCHAR(
#if HAS_TEMP_BED && HAS_TEMP_HOTEND
e == -1 ? 'B' : 'T'
#elif HAS_TEMP_HOTEND
'T'
#else
'B'
#endif
);
#if HOTENDS > 1
if (e >= 0) SERIAL_PROTOCOLCHAR('0' + e);
#endif
SERIAL_PROTOCOLCHAR(':');
SERIAL_PROTOCOL(c);
SERIAL_PROTOCOLPAIR(" /" , t);
#if ENABLED(SHOW_TEMP_ADC_VALUES)
SERIAL_PROTOCOLPAIR(" (", r / OVERSAMPLENR);
SERIAL_PROTOCOLCHAR(')');
#endif
}
void print_heaterstates() {
#if HAS_TEMP_HOTEND
SERIAL_PROTOCOLPGM(" T:");
SERIAL_PROTOCOL(thermalManager.degHotend(target_extruder));
SERIAL_PROTOCOLPGM(" /");
SERIAL_PROTOCOL(thermalManager.degTargetHotend(target_extruder));
#if ENABLED(SHOW_TEMP_ADC_VALUES)
SERIAL_PROTOCOLPAIR(" (", thermalManager.rawHotendTemp(target_extruder) / OVERSAMPLENR);
SERIAL_PROTOCOLCHAR(')');
#endif
print_heater_state(thermalManager.degHotend(target_extruder), thermalManager.degTargetHotend(target_extruder)
#if ENABLED(SHOW_TEMP_ADC_VALUES)
, thermalManager.rawHotendTemp(target_extruder)
#endif
);
#endif
#if HAS_TEMP_BED
SERIAL_PROTOCOLPGM(" B:");
SERIAL_PROTOCOL(thermalManager.degBed());
SERIAL_PROTOCOLPGM(" /");
SERIAL_PROTOCOL(thermalManager.degTargetBed());
#if ENABLED(SHOW_TEMP_ADC_VALUES)
SERIAL_PROTOCOLPAIR(" (", thermalManager.rawBedTemp() / OVERSAMPLENR);
SERIAL_PROTOCOLCHAR(')');
#endif
print_heater_state(thermalManager.degBed(), thermalManager.degTargetBed(),
#if ENABLED(SHOW_TEMP_ADC_VALUES)
thermalManager.rawBedTemp(),
#endif
-1 // BED
);
#endif
#if HOTENDS > 1
HOTEND_LOOP() {
SERIAL_PROTOCOLPAIR(" T", e);
SERIAL_PROTOCOLCHAR(':');
SERIAL_PROTOCOL(thermalManager.degHotend(e));
SERIAL_PROTOCOLPGM(" /");
SERIAL_PROTOCOL(thermalManager.degTargetHotend(e));
HOTEND_LOOP() print_heater_state(thermalManager.degHotend(e), thermalManager.degTargetHotend(e),
#if ENABLED(SHOW_TEMP_ADC_VALUES)
SERIAL_PROTOCOLPAIR(" (", thermalManager.rawHotendTemp(e) / OVERSAMPLENR);
SERIAL_PROTOCOLCHAR(')');
thermalManager.rawHotendTemp(e),
#endif
}
e
);
#endif
SERIAL_PROTOCOLPGM(" @:");
SERIAL_PROTOCOL(thermalManager.getHeaterPower(target_extruder));
@ -7206,16 +7224,12 @@ inline void gcode_M109() {
print_heaterstates();
#if TEMP_RESIDENCY_TIME > 0
SERIAL_PROTOCOLPGM(" W:");
if (residency_start_ms) {
long rem = (((TEMP_RESIDENCY_TIME) * 1000UL) - (now - residency_start_ms)) / 1000UL;
SERIAL_PROTOCOLLN(rem);
}
else {
SERIAL_PROTOCOLLNPGM("?");
}
#else
SERIAL_EOL();
if (residency_start_ms)
SERIAL_PROTOCOL(long((((TEMP_RESIDENCY_TIME) * 1000UL) - (now - residency_start_ms)) / 1000UL));
else
SERIAL_PROTOCOLCHAR('?');
#endif
SERIAL_EOL();
}
idle();
@ -7339,16 +7353,12 @@ inline void gcode_M109() {
print_heaterstates();
#if TEMP_BED_RESIDENCY_TIME > 0
SERIAL_PROTOCOLPGM(" W:");
if (residency_start_ms) {
long rem = (((TEMP_BED_RESIDENCY_TIME) * 1000UL) - (now - residency_start_ms)) / 1000UL;
SERIAL_PROTOCOLLN(rem);
}
else {
SERIAL_PROTOCOLLNPGM("?");
}
#else
SERIAL_EOL();
if (residency_start_ms)
SERIAL_PROTOCOL(long((((TEMP_BED_RESIDENCY_TIME) * 1000UL) - (now - residency_start_ms)) / 1000UL));
else
SERIAL_PROTOCOLCHAR('?');
#endif
SERIAL_EOL();
}
idle();

Loading…
Cancel
Save