Fix error next command in autotune (PR#2274)

Now send only temperature for T or B, but not send OK.
Host interprets the line to show the right temperature, but not in
response to M105 then stop and send commands until it ends the autotune.
This commit is contained in:
MagoKimbra 2015-06-10 08:27:56 +02:00 committed by Richard Wackerbarth
parent 55b23c896a
commit eb81982fcd
3 changed files with 5 additions and 9 deletions

View file

@ -4510,9 +4510,6 @@ inline void gcode_M303() {
int c = code_seen('C') ? code_value_short() : 5; int c = code_seen('C') ? code_value_short() : 5;
float temp = code_seen('S') ? code_value() : (e < 0 ? 70.0 : 150.0); float temp = code_seen('S') ? code_value() : (e < 0 ? 70.0 : 150.0);
PID_autotune(temp, e, c); PID_autotune(temp, e, c);
// Suppress a line mismatch error
gcode_LastN += 1;
FlushSerialRequestResend();
} }
#ifdef SCARA #ifdef SCARA

View file

@ -195,8 +195,8 @@
#define MSG_KP " Kp: " #define MSG_KP " Kp: "
#define MSG_KI " Ki: " #define MSG_KI " Ki: "
#define MSG_KD " Kd: " #define MSG_KD " Kd: "
#define MSG_OK_B "ok B:" #define MSG_B "B:"
#define MSG_OK_T "ok T:" #define MSG_T "T:"
#define MSG_AT " @:" #define MSG_AT " @:"
#define MSG_PID_AUTOTUNE_FINISHED MSG_PID_AUTOTUNE " finished! Put the last Kp, Ki and Kd constants from below into Configuration.h" #define MSG_PID_AUTOTUNE_FINISHED MSG_PID_AUTOTUNE " finished! Put the last Kp, Ki and Kd constants from below into Configuration.h"
#define MSG_PID_DEBUG " PID_DEBUG " #define MSG_PID_DEBUG " PID_DEBUG "

View file

@ -191,8 +191,7 @@ static void updateTemperaturesFromRawValues();
//================================ Functions ================================ //================================ Functions ================================
//=========================================================================== //===========================================================================
void PID_autotune(float temp, int extruder, int ncycles) void PID_autotune(float temp, int extruder, int ncycles) {
{
float input = 0.0; float input = 0.0;
int cycles = 0; int cycles = 0;
bool heating = true; bool heating = true;
@ -324,11 +323,11 @@ void PID_autotune(float temp, int extruder, int ncycles)
int p; int p;
if (extruder < 0) { if (extruder < 0) {
p = soft_pwm_bed; p = soft_pwm_bed;
SERIAL_PROTOCOLPGM(MSG_OK_B); SERIAL_PROTOCOLPGM(MSG_B);
} }
else { else {
p = soft_pwm[extruder]; p = soft_pwm[extruder];
SERIAL_PROTOCOLPGM(MSG_OK_T); SERIAL_PROTOCOLPGM(MSG_T);
} }
SERIAL_PROTOCOL(input); SERIAL_PROTOCOL(input);