Move M155 to cpp, auto-report to Temperature
This commit is contained in:
parent
df031ab100
commit
df0432c7c8
5 changed files with 41 additions and 28 deletions
|
@ -374,23 +374,6 @@ bool pin_is_protected(const int8_t pin) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLED(AUTO_REPORT_TEMPERATURES) && (HAS_TEMP_HOTEND || HAS_TEMP_BED)
|
|
||||||
|
|
||||||
static uint8_t auto_report_temp_interval;
|
|
||||||
static millis_t next_temp_report_ms;
|
|
||||||
|
|
||||||
inline void auto_report_temperatures() {
|
|
||||||
if (auto_report_temp_interval && ELAPSED(millis(), next_temp_report_ms)) {
|
|
||||||
next_temp_report_ms = millis() + 1000UL * auto_report_temp_interval;
|
|
||||||
thermalManager.print_heaterstates();
|
|
||||||
SERIAL_EOL();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "gcode/temperature/M155.h"
|
|
||||||
|
|
||||||
#endif // AUTO_REPORT_TEMPERATURES && (HAS_TEMP_HOTEND || HAS_TEMP_BED)
|
|
||||||
|
|
||||||
#if DISABLED(EMERGENCY_PARSER)
|
#if DISABLED(EMERGENCY_PARSER)
|
||||||
#include "gcode/control/M108.h"
|
#include "gcode/control/M108.h"
|
||||||
#include "gcode/control/M112.h"
|
#include "gcode/control/M112.h"
|
||||||
|
@ -902,7 +885,7 @@ void idle(
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(AUTO_REPORT_TEMPERATURES) && (HAS_TEMP_HOTEND || HAS_TEMP_BED)
|
#if ENABLED(AUTO_REPORT_TEMPERATURES) && (HAS_TEMP_HOTEND || HAS_TEMP_BED)
|
||||||
auto_report_temperatures();
|
thermalManager.auto_report_temperatures();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
manage_inactivity(
|
manage_inactivity(
|
||||||
|
|
|
@ -144,7 +144,6 @@ extern void gcode_M140();
|
||||||
extern void gcode_M145();
|
extern void gcode_M145();
|
||||||
extern void gcode_M149();
|
extern void gcode_M149();
|
||||||
extern void gcode_M150();
|
extern void gcode_M150();
|
||||||
extern void gcode_M155();
|
|
||||||
extern void gcode_M163();
|
extern void gcode_M163();
|
||||||
extern void gcode_M164();
|
extern void gcode_M164();
|
||||||
extern void gcode_M165();
|
extern void gcode_M165();
|
||||||
|
@ -495,9 +494,7 @@ void GcodeSuite::process_next_command() {
|
||||||
return; // "ok" already printed
|
return; // "ok" already printed
|
||||||
|
|
||||||
#if ENABLED(AUTO_REPORT_TEMPERATURES) && (HAS_TEMP_HOTEND || HAS_TEMP_BED)
|
#if ENABLED(AUTO_REPORT_TEMPERATURES) && (HAS_TEMP_HOTEND || HAS_TEMP_BED)
|
||||||
case 155: // M155: Set temperature auto-report interval
|
case 155: M155(); break; // M155: Set temperature auto-report interval
|
||||||
gcode_M155();
|
|
||||||
break;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_TEMP_BED
|
#if HAS_TEMP_BED
|
||||||
|
|
|
@ -20,13 +20,21 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "../../inc/MarlinConfig.h"
|
||||||
|
|
||||||
|
#if ENABLED(AUTO_REPORT_TEMPERATURES) && (HAS_TEMP_HOTEND || HAS_TEMP_BED)
|
||||||
|
|
||||||
|
#include "../gcode.h"
|
||||||
|
#include "../../module/temperature.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* M155: Set temperature auto-report interval. M155 S<seconds>
|
* M155: Set temperature auto-report interval. M155 S<seconds>
|
||||||
*/
|
*/
|
||||||
void gcode_M155() {
|
void GcodeSuite::M155() {
|
||||||
if (parser.seenval('S')) {
|
|
||||||
auto_report_temp_interval = parser.value_byte();
|
if (parser.seenval('S'))
|
||||||
NOMORE(auto_report_temp_interval, 60);
|
thermalManager.set_auto_report_interval(parser.value_byte());
|
||||||
next_temp_report_ms = millis() + 1000UL * auto_report_temp_interval;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // AUTO_REPORT_TEMPERATURES && (HAS_TEMP_HOTEND || HAS_TEMP_BED)
|
|
@ -2259,4 +2259,19 @@ void Temperature::isr() {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLED(AUTO_REPORT_TEMPERATURES)
|
||||||
|
|
||||||
|
uint8_t Temperature::auto_report_temp_interval;
|
||||||
|
millis_t Temperature::next_temp_report_ms;
|
||||||
|
|
||||||
|
void Temperature::auto_report_temperatures() {
|
||||||
|
if (auto_report_temp_interval && ELAPSED(millis(), next_temp_report_ms)) {
|
||||||
|
next_temp_report_ms = millis() + 1000UL * auto_report_temp_interval;
|
||||||
|
print_heaterstates();
|
||||||
|
SERIAL_EOL();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // AUTO_REPORT_TEMPERATURES
|
||||||
|
|
||||||
#endif // HAS_TEMP_HOTEND || HAS_TEMP_BED
|
#endif // HAS_TEMP_HOTEND || HAS_TEMP_BED
|
||||||
|
|
|
@ -527,6 +527,16 @@ class Temperature {
|
||||||
|
|
||||||
#if HAS_TEMP_HOTEND || HAS_TEMP_BED
|
#if HAS_TEMP_HOTEND || HAS_TEMP_BED
|
||||||
static void print_heaterstates();
|
static void print_heaterstates();
|
||||||
|
#if ENABLED(AUTO_REPORT_TEMPERATURES)
|
||||||
|
static uint8_t auto_report_temp_interval;
|
||||||
|
static millis_t next_temp_report_ms;
|
||||||
|
static void auto_report_temperatures(void);
|
||||||
|
FORCE_INLINE void set_auto_report_interval(uint8_t v) {
|
||||||
|
NOMORE(v, 60);
|
||||||
|
auto_report_temp_interval = v;
|
||||||
|
next_temp_report_ms = millis() + 1000UL * v;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
Reference in a new issue