You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have just set up firmware that allows M600 to be used without marlin Mode, and unfortunately a new but separate quirk of the printing process has reared its head. In order for the TFT to keep track of XYZ positions, I need them to be auto-reported while printing from Octoprint otherwise I have to interrupt the active serial port with the TFT commanding M114. A 'P' parameter for position in the M155 command should do, as shown below:
M155 S1 P ;Temperature AND position reported every 1 sec
[and so on...]
Additional Information
This code has been tested working. I'm new to Marlin and not that familiar with your coding conventions, so you may want to clean it up for your liking should you choose to adopt it.
The text was updated successfully, but these errors were encountered:
Description
I have just set up firmware that allows M600 to be used without marlin Mode, and unfortunately a new but separate quirk of the printing process has reared its head. In order for the TFT to keep track of XYZ positions, I need them to be auto-reported while printing from Octoprint otherwise I have to interrupt the active serial port with the TFT commanding M114. A 'P' parameter for position in the M155 command should do, as shown below:
//M155.cpp
void GcodeSuite::M155() {
if (parser.seen('P')){//automatically report_current_position_projected(); /new/
gcode.autoreport_position = true;
}
else gcode.autoreport_position = false;
if (parser.seenval('S'))
thermalManager.set_auto_report_interval(parser.value_byte());
}
//temperature.cpp
//gcode.cpp
#if HAS_AUTO_REPORTING || ENABLED(HOST_KEEPALIVE_FEATURE)
bool GcodeSuite::autoreport_paused; // = false
bool GcodeSuite::autoreport_position; // = false /new/
#endif
//gcode.h
#if HAS_AUTO_REPORTING || ENABLED(HOST_KEEPALIVE_FEATURE)
static bool autoreport_position; /new/
static bool autoreport_paused;
static inline bool set_autoreport_paused(const bool p) {
const bool was = autoreport_paused;
autoreport_paused = p;
return was;
}
Feature Workflow
Additional Information
This code has been tested working. I'm new to Marlin and not that familiar with your coding conventions, so you may want to clean it up for your liking should you choose to adopt it.
The text was updated successfully, but these errors were encountered: