Fix serial output for MBL, M303
This commit is contained in:
parent
58c8e6cef2
commit
b63d70b186
@ -71,6 +71,7 @@
|
|||||||
#define SERIAL_PROTOCOLLNPGM(x) do{ serialprintPGM(PSTR(x "\n")); }while(0)
|
#define SERIAL_PROTOCOLLNPGM(x) do{ serialprintPGM(PSTR(x "\n")); }while(0)
|
||||||
|
|
||||||
#define SERIAL_PROTOCOLPAIR(name, value) SERIAL_ECHOPAIR(name, value)
|
#define SERIAL_PROTOCOLPAIR(name, value) SERIAL_ECHOPAIR(name, value)
|
||||||
|
#define SERIAL_PROTOCOLLNPAIR(name, value) do{ SERIAL_ECHOPAIR(name, value); SERIAL_EOL; }while(0)
|
||||||
|
|
||||||
extern const char errormagic[] PROGMEM;
|
extern const char errormagic[] PROGMEM;
|
||||||
extern const char echomagic[] PROGMEM;
|
extern const char echomagic[] PROGMEM;
|
||||||
|
@ -3280,10 +3280,9 @@ inline void gcode_G28() {
|
|||||||
case MeshReport:
|
case MeshReport:
|
||||||
if (mbl.has_mesh()) {
|
if (mbl.has_mesh()) {
|
||||||
SERIAL_PROTOCOLPAIR("State: ", mbl.active() ? "On" : "Off");
|
SERIAL_PROTOCOLPAIR("State: ", mbl.active() ? "On" : "Off");
|
||||||
SERIAL_PROTOCOLPAIR("\nNum X,Y: ", MESH_NUM_X_POINTS);
|
SERIAL_PROTOCOLLNPGM("\nNum X,Y: " STRINGIFY(MESH_NUM_X_POINTS) "," STRINGIFY(MESH_NUM_Y_POINTS));
|
||||||
SERIAL_PROTOCOLCHAR(','); SERIAL_PROTOCOL(MESH_NUM_Y_POINTS);
|
SERIAL_PROTOCOLLNPGM("Z search height: " STRINGIFY(MESH_HOME_SEARCH_Z));
|
||||||
SERIAL_PROTOCOLPAIR("\nZ search height: ", MESH_HOME_SEARCH_Z);
|
SERIAL_PROTOCOLPGM("Z offset: "); SERIAL_PROTOCOL_F(mbl.z_offset, 5);
|
||||||
SERIAL_PROTOCOLPGM("\nZ offset: "); SERIAL_PROTOCOL_F(mbl.z_offset, 5);
|
|
||||||
SERIAL_PROTOCOLLNPGM("\nMeasured points:");
|
SERIAL_PROTOCOLLNPGM("\nMeasured points:");
|
||||||
for (py = 0; py < MESH_NUM_Y_POINTS; py++) {
|
for (py = 0; py < MESH_NUM_Y_POINTS; py++) {
|
||||||
for (px = 0; px < MESH_NUM_X_POINTS; px++) {
|
for (px = 0; px < MESH_NUM_X_POINTS; px++) {
|
||||||
|
@ -395,8 +395,7 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) {
|
|||||||
if (file.open(curDir, fname, O_READ)) {
|
if (file.open(curDir, fname, O_READ)) {
|
||||||
filesize = file.fileSize();
|
filesize = file.fileSize();
|
||||||
SERIAL_PROTOCOLPAIR(MSG_SD_FILE_OPENED, fname);
|
SERIAL_PROTOCOLPAIR(MSG_SD_FILE_OPENED, fname);
|
||||||
SERIAL_PROTOCOLPAIR(MSG_SD_SIZE, filesize);
|
SERIAL_PROTOCOLLNPAIR(MSG_SD_SIZE, filesize);
|
||||||
SERIAL_EOL;
|
|
||||||
sdpos = 0;
|
sdpos = 0;
|
||||||
|
|
||||||
SERIAL_PROTOCOLLNPGM(MSG_SD_FILE_SELECTED);
|
SERIAL_PROTOCOLLNPGM(MSG_SD_FILE_SELECTED);
|
||||||
@ -417,8 +416,7 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
saving = true;
|
saving = true;
|
||||||
SERIAL_PROTOCOLPAIR(MSG_SD_WRITE_TO_FILE, name);
|
SERIAL_PROTOCOLLNPAIR(MSG_SD_WRITE_TO_FILE, name);
|
||||||
SERIAL_EOL;
|
|
||||||
lcd_setstatus(fname);
|
lcd_setstatus(fname);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -449,6 +447,7 @@ void CardReader::removeFile(char* name) {
|
|||||||
if (!myDir.open(curDir, subdirname, O_READ)) {
|
if (!myDir.open(curDir, subdirname, O_READ)) {
|
||||||
SERIAL_PROTOCOLPAIR("open failed, File: ", subdirname);
|
SERIAL_PROTOCOLPAIR("open failed, File: ", subdirname);
|
||||||
SERIAL_PROTOCOLCHAR('.');
|
SERIAL_PROTOCOLCHAR('.');
|
||||||
|
SERIAL_EOL;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -322,17 +322,17 @@ unsigned char Temperature::soft_pwm[HOTENDS];
|
|||||||
SERIAL_PROTOCOLPAIR(MSG_T_MIN, min);
|
SERIAL_PROTOCOLPAIR(MSG_T_MIN, min);
|
||||||
SERIAL_PROTOCOLPAIR(MSG_T_MAX, max);
|
SERIAL_PROTOCOLPAIR(MSG_T_MAX, max);
|
||||||
if (cycles > 2) {
|
if (cycles > 2) {
|
||||||
Ku = (4.0 * d) / (3.14159265 * (max - min) * 0.5);
|
Ku = (4.0 * d) / (M_PI * (max - min) * 0.5);
|
||||||
Tu = ((float)(t_low + t_high) * 0.001);
|
Tu = ((float)(t_low + t_high) * 0.001);
|
||||||
SERIAL_PROTOCOLPAIR(MSG_KU, Ku);
|
SERIAL_PROTOCOLPAIR(MSG_KU, Ku);
|
||||||
SERIAL_PROTOCOLPAIR(MSG_TU, Tu);
|
SERIAL_PROTOCOLPAIR(MSG_TU, Tu);
|
||||||
workKp = 0.6 * Ku;
|
workKp = 0.6 * Ku;
|
||||||
workKi = 2 * workKp / Tu;
|
workKi = 2 * workKp / Tu;
|
||||||
workKd = workKp * Tu * 0.125;
|
workKd = workKp * Tu * 0.125;
|
||||||
SERIAL_PROTOCOLLNPGM(MSG_CLASSIC_PID);
|
SERIAL_PROTOCOLLNPGM("\n" MSG_CLASSIC_PID);
|
||||||
SERIAL_PROTOCOLPAIR(MSG_KP, workKp);
|
SERIAL_PROTOCOLPAIR(MSG_KP, workKp);
|
||||||
SERIAL_PROTOCOLPAIR(MSG_KI, workKi);
|
SERIAL_PROTOCOLPAIR(MSG_KI, workKi);
|
||||||
SERIAL_PROTOCOLPAIR(MSG_KD, workKd);
|
SERIAL_PROTOCOLLNPAIR(MSG_KD, workKd);
|
||||||
/**
|
/**
|
||||||
workKp = 0.33*Ku;
|
workKp = 0.33*Ku;
|
||||||
workKi = workKp/Tu;
|
workKi = workKp/Tu;
|
||||||
@ -390,40 +390,38 @@ unsigned char Temperature::soft_pwm[HOTENDS];
|
|||||||
|
|
||||||
#if HAS_PID_FOR_BOTH
|
#if HAS_PID_FOR_BOTH
|
||||||
const char* estring = hotend < 0 ? "bed" : "";
|
const char* estring = hotend < 0 ? "bed" : "";
|
||||||
SERIAL_PROTOCOLPAIR("#define DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Kp ", workKp);
|
SERIAL_PROTOCOLPAIR("#define DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Kp ", workKp); SERIAL_EOL;
|
||||||
SERIAL_PROTOCOLPAIR("#define DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Ki ", workKi);
|
SERIAL_PROTOCOLPAIR("#define DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Ki ", workKi); SERIAL_EOL;
|
||||||
SERIAL_PROTOCOLPAIR("#define DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Kd ", workKd);
|
SERIAL_PROTOCOLPAIR("#define DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Kd ", workKd); SERIAL_EOL;
|
||||||
#elif ENABLED(PIDTEMP)
|
#elif ENABLED(PIDTEMP)
|
||||||
SERIAL_PROTOCOLPAIR("#define DEFAULT_Kp ", workKp);
|
SERIAL_PROTOCOLPAIR("#define DEFAULT_Kp ", workKp); SERIAL_EOL;
|
||||||
SERIAL_PROTOCOLPAIR("#define DEFAULT_Ki ", workKi);
|
SERIAL_PROTOCOLPAIR("#define DEFAULT_Ki ", workKi); SERIAL_EOL;
|
||||||
SERIAL_PROTOCOLPAIR("#define DEFAULT_Kd ", workKd);
|
SERIAL_PROTOCOLPAIR("#define DEFAULT_Kd ", workKd); SERIAL_EOL;
|
||||||
#else
|
#else
|
||||||
SERIAL_PROTOCOLPAIR("#define DEFAULT_bedKp ", workKp);
|
SERIAL_PROTOCOLPAIR("#define DEFAULT_bedKp ", workKp); SERIAL_EOL;
|
||||||
SERIAL_PROTOCOLPAIR("#define DEFAULT_bedKi ", workKi);
|
SERIAL_PROTOCOLPAIR("#define DEFAULT_bedKi ", workKi); SERIAL_EOL;
|
||||||
SERIAL_PROTOCOLPAIR("#define DEFAULT_bedKd ", workKd);
|
SERIAL_PROTOCOLPAIR("#define DEFAULT_bedKd ", workKd); SERIAL_EOL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define _SET_BED_PID() \
|
#define _SET_BED_PID() do { \
|
||||||
bedKp = workKp; \
|
bedKp = workKp; \
|
||||||
bedKi = scalePID_i(workKi); \
|
bedKi = scalePID_i(workKi); \
|
||||||
bedKd = scalePID_d(workKd); \
|
bedKd = scalePID_d(workKd); \
|
||||||
updatePID()
|
updatePID(); } while(0)
|
||||||
|
|
||||||
#define _SET_EXTRUDER_PID() \
|
#define _SET_EXTRUDER_PID() do { \
|
||||||
PID_PARAM(Kp, hotend) = workKp; \
|
PID_PARAM(Kp, hotend) = workKp; \
|
||||||
PID_PARAM(Ki, hotend) = scalePID_i(workKi); \
|
PID_PARAM(Ki, hotend) = scalePID_i(workKi); \
|
||||||
PID_PARAM(Kd, hotend) = scalePID_d(workKd); \
|
PID_PARAM(Kd, hotend) = scalePID_d(workKd); \
|
||||||
updatePID()
|
updatePID(); } while(0)
|
||||||
|
|
||||||
// Use the result? (As with "M303 U1")
|
// Use the result? (As with "M303 U1")
|
||||||
if (set_result) {
|
if (set_result) {
|
||||||
#if HAS_PID_FOR_BOTH
|
#if HAS_PID_FOR_BOTH
|
||||||
if (hotend < 0) {
|
if (hotend < 0)
|
||||||
_SET_BED_PID();
|
_SET_BED_PID();
|
||||||
}
|
else
|
||||||
else {
|
|
||||||
_SET_EXTRUDER_PID();
|
_SET_EXTRUDER_PID();
|
||||||
}
|
|
||||||
#elif ENABLED(PIDTEMP)
|
#elif ENABLED(PIDTEMP)
|
||||||
_SET_EXTRUDER_PID();
|
_SET_EXTRUDER_PID();
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user