Hallo,
auf dem "Ramps 1.4" mit "RepRapDiscount Smart Controller" oder dem "RepRapDiscount Full Graphic Smart Controller"
endet ein Druck auf den Display Taster in einer Endlosschleife.
Das Board ist "Killed".
Da ich auch noch ein MKS Gen 2Z 1.1 besitze, weiß ich, das dort der Taster einen Reset des Prozessors auslöst.
Nun habe ich eine Möglichkeit gefunden, auch mit dem Ramps 1.4 einen Reset auszulösen.
In der Datei "Marlin_main.cpp" folgende Zeilen / Funktion suchen und hiermit ersetzen:
Quote
void kill(const char *lcd_msg) {
#if ENABLED(ULTRA_LCD)
lcd_setalertstatuspgm(lcd_msg);
#endif
cli(); // Stop interrupts
disable_all_heaters();
disable_all_steppers();
#if HAS_POWER_SWITCH
pinMode(PS_ON_PIN, INPUT);
#endif
SERIAL_ERROR_START;
SERIAL_ERRORLNPGM(MSG_ERR_KILLED);
// FMC small patch to update the LCD before ending
sei(); // enable interrupts
for (int i = 5; i--; lcd_update()) delay(200); // Wait a short time
cli(); // disable interrupts
suicide();
//TobyTetzi Beginn
//Software Reset statt Endlosschleife
// while(1) { /* Intentionally left empty */ } // Wait for reset
asm volatile (" jmp 0");
//TobyTetzi Ende
}
Statt der Endlosschleife ins Niegendwo springe ich mit dem "jmp 0" zum Programmspeicher Anfang.
Das löst den Software Reset aus.
Ich benutze Marlin 1.1.0 RC, sollte aber auch bei alten Versionen gehen.
Ich hoffe es kann gebraucht werden.
Gruß Toby