With that setting you should get
RequestPause:Extruder Jam Detected!
in console when you get more than 1800. When you see the debug output control is also enabled.
Then it is up to server to pause.
For more analysis check this function where all this is handled:
void Printer::handleInterruptEvent() {
if (interruptEvent == 0)
return;
int event = interruptEvent;
interruptEvent = 0;
switch (event) {
#if EXTRUDER_JAM_CONTROL
case PRINTER_INTERRUPT_EVENT_JAM_DETECTED:
if (isJamcontrolDisabled())
break;
EVENT_JAM_DETECTED;
Com::printFLN(PSTR("important:Extruder jam detected"));
UI_ERROR_P(Com::translatedF(UI_TEXT_EXTRUDER_JAM_ID));
#if JAM_ACTION == 1 // start dialog
Printer::setUIErrorMessage(false);
#if UI_DISPLAY_TYPE != NO_DISPLAY
uid.executeAction(UI_ACTION_WIZARD_JAM_EOF, true);
#endif
#elif JAM_ACTION == 2 // pause host/print
#if SDSUPPORT
if (sd.sdmode == 2) {
sd.pausePrint(true);
break;
}
#endif // SDSUPPORT
GCodeSource::printAllFLN(PSTR("// action:out_of_filament T"), (int32_t)Extruder::current->id);
GCodeSource::printAllFLN(PSTR("RequestPause:Extruder Jam Detected!"));
// GCodeSource::printAllFLN(PSTR("// action:pause")); // add later when host/server know new meaning!
#endif // JAM_ACTION
EVENT_JAM_DETECTED_END;
break;
case PRINTER_INTERRUPT_EVENT_JAM_SIGNAL0:
case PRINTER_INTERRUPT_EVENT_JAM_SIGNAL1:
case PRINTER_INTERRUPT_EVENT_JAM_SIGNAL2:
case PRINTER_INTERRUPT_EVENT_JAM_SIGNAL3:
case PRINTER_INTERRUPT_EVENT_JAM_SIGNAL4:
case PRINTER_INTERRUPT_EVENT_JAM_SIGNAL5: {
if (isJamcontrolDisabled())
break;
fast8_t extruderIndex = event - PRINTER_INTERRUPT_EVENT_JAM_SIGNAL0;
Extruder& ext = extruder[extruderIndex];
int32_t steps = abs(extruder[extruderIndex].jamStepsOnSignal);
EVENT_JAM_SIGNAL_CHANGED(extruderIndex, steps);
if (steps > ext.jamSlowdownSteps && !ext.tempControl.isSlowedDown()) {
extruder[extruderIndex].tempControl.setSlowedDown(true);
Commands::changeFeedrateMultiply(ext.jamSlowdownTo);
//UI_ERROR_P(Com::tFilamentSlipping);
UI_MESSAGE(4);
}
if (isDebugJam()) {
Com::printF(PSTR("Jam signal steps:"), steps);
int32_t percent = static_cast<int32_t>(steps) * 100 / JAM_STEPS;
Com::printF(PSTR(" / "), percent);
Com::printFLN(PSTR("% on "), (int)extruderIndex);
}
} break;
#endif // EXTRUDER_JAM_CONTROL case PRINTER_INTERRUPT_EVENT_JAM_DETECTED:
}
}
For analysing timeouts you need to check the full log. With ping pong disabled and 127 byte buffer it should fix missing ok on the fly, in ping pong mode every unreadable "ok" causes a timeout.