|
|
|
@ -202,6 +202,7 @@ bool Stopped=false;
|
|
|
|
|
//===========================================================================
|
|
|
|
|
|
|
|
|
|
void get_arc_coordinates();
|
|
|
|
|
bool setTargetedHotend(int code);
|
|
|
|
|
|
|
|
|
|
void serial_echopair_P(const char *s_P, float v)
|
|
|
|
|
{ serialprintPGM(s_P); SERIAL_ECHO(v); }
|
|
|
|
@ -957,16 +958,9 @@ void process_commands()
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 104: // M104
|
|
|
|
|
tmp_extruder = active_extruder;
|
|
|
|
|
if(code_seen('T')) {
|
|
|
|
|
tmp_extruder = code_value();
|
|
|
|
|
if(tmp_extruder >= EXTRUDERS) {
|
|
|
|
|
SERIAL_ECHO_START;
|
|
|
|
|
SERIAL_ECHO(MSG_M104_INVALID_EXTRUDER);
|
|
|
|
|
SERIAL_ECHOLN(tmp_extruder);
|
|
|
|
|
if(setTargetedHotend(104)){
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (code_seen('S')) setTargetHotend(code_value(), tmp_extruder);
|
|
|
|
|
setWatch();
|
|
|
|
|
break;
|
|
|
|
@ -974,16 +968,9 @@ void process_commands()
|
|
|
|
|
if (code_seen('S')) setTargetBed(code_value());
|
|
|
|
|
break;
|
|
|
|
|
case 105 : // M105
|
|
|
|
|
tmp_extruder = active_extruder;
|
|
|
|
|
if(code_seen('T')) {
|
|
|
|
|
tmp_extruder = code_value();
|
|
|
|
|
if(tmp_extruder >= EXTRUDERS) {
|
|
|
|
|
SERIAL_ECHO_START;
|
|
|
|
|
SERIAL_ECHO(MSG_M105_INVALID_EXTRUDER);
|
|
|
|
|
SERIAL_ECHOLN(tmp_extruder);
|
|
|
|
|
if(setTargetedHotend(105)){
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#if (TEMP_0_PIN > -1)
|
|
|
|
|
SERIAL_PROTOCOLPGM("ok T:");
|
|
|
|
|
SERIAL_PROTOCOL_F(degHotend(tmp_extruder),1);
|
|
|
|
@ -1008,16 +995,9 @@ void process_commands()
|
|
|
|
|
break;
|
|
|
|
|
case 109:
|
|
|
|
|
{// M109 - Wait for extruder heater to reach target.
|
|
|
|
|
tmp_extruder = active_extruder;
|
|
|
|
|
if(code_seen('T')) {
|
|
|
|
|
tmp_extruder = code_value();
|
|
|
|
|
if(tmp_extruder >= EXTRUDERS) {
|
|
|
|
|
SERIAL_ECHO_START;
|
|
|
|
|
SERIAL_ECHO(MSG_M109_INVALID_EXTRUDER);
|
|
|
|
|
SERIAL_ECHOLN(tmp_extruder);
|
|
|
|
|
if(setTargetedHotend(109)){
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
LCD_MESSAGEPGM(MSG_HEATING);
|
|
|
|
|
#ifdef AUTOTEMP
|
|
|
|
|
autotemp_enabled=false;
|
|
|
|
@ -1830,4 +1810,28 @@ void setPwmFrequency(uint8_t pin, int val)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#endif //FAST_PWM_FAN
|
|
|
|
|
|
|
|
|
|
bool setTargetedHotend(int code){
|
|
|
|
|
tmp_extruder = active_extruder;
|
|
|
|
|
if(code_seen('T')) {
|
|
|
|
|
tmp_extruder = code_value();
|
|
|
|
|
if(tmp_extruder >= EXTRUDERS) {
|
|
|
|
|
SERIAL_ECHO_START;
|
|
|
|
|
switch(code){
|
|
|
|
|
case 104:
|
|
|
|
|
SERIAL_ECHO(MSG_M104_INVALID_EXTRUDER);
|
|
|
|
|
break;
|
|
|
|
|
case 105:
|
|
|
|
|
SERIAL_ECHO(MSG_M105_INVALID_EXTRUDER);
|
|
|
|
|
break;
|
|
|
|
|
case 109:
|
|
|
|
|
SERIAL_ECHO(MSG_M109_INVALID_EXTRUDER);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
SERIAL_ECHOLN(tmp_extruder);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|