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;
|
||||
}
|
||||
|
||||
#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)
|
||||
#include "gcode/control/M108.h"
|
||||
#include "gcode/control/M112.h"
|
||||
|
@ -902,7 +885,7 @@ void idle(
|
|||
#endif
|
||||
|
||||
#if ENABLED(AUTO_REPORT_TEMPERATURES) && (HAS_TEMP_HOTEND || HAS_TEMP_BED)
|
||||
auto_report_temperatures();
|
||||
thermalManager.auto_report_temperatures();
|
||||
#endif
|
||||
|
||||
manage_inactivity(
|
||||
|
|
|
@ -144,7 +144,6 @@ extern void gcode_M140();
|
|||
extern void gcode_M145();
|
||||
extern void gcode_M149();
|
||||
extern void gcode_M150();
|
||||
extern void gcode_M155();
|
||||
extern void gcode_M163();
|
||||
extern void gcode_M164();
|
||||
extern void gcode_M165();
|
||||
|
@ -495,9 +494,7 @@ void GcodeSuite::process_next_command() {
|
|||
return; // "ok" already printed
|
||||
|
||||
#if ENABLED(AUTO_REPORT_TEMPERATURES) && (HAS_TEMP_HOTEND || HAS_TEMP_BED)
|
||||
case 155: // M155: Set temperature auto-report interval
|
||||
gcode_M155();
|
||||
break;
|
||||
case 155: M155(); break; // M155: Set temperature auto-report interval
|
||||
#endif
|
||||
|
||||
#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>
|
||||
*/
|
||||
void gcode_M155() {
|
||||
if (parser.seenval('S')) {
|
||||
auto_report_temp_interval = parser.value_byte();
|
||||
NOMORE(auto_report_temp_interval, 60);
|
||||
next_temp_report_ms = millis() + 1000UL * auto_report_temp_interval;
|
||||
}
|
||||
void GcodeSuite::M155() {
|
||||
|
||||
if (parser.seenval('S'))
|
||||
thermalManager.set_auto_report_interval(parser.value_byte());
|
||||
|
||||
}
|
||||
|
||||
#endif // AUTO_REPORT_TEMPERATURES && (HAS_TEMP_HOTEND || HAS_TEMP_BED)
|
|
@ -2259,4 +2259,19 @@ void Temperature::isr() {
|
|||
#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
|
||||
|
|
|
@ -527,6 +527,16 @@ class Temperature {
|
|||
|
||||
#if HAS_TEMP_HOTEND || HAS_TEMP_BED
|
||||
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
|
||||
|
||||
private:
|
||||
|
|
Reference in a new issue