Repetier Firmware Bug Tracker: Unterschied zwischen den Versionen

Aus RF1000 Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 334: Zeile 334:
|  
|  
| 01.37v7.Mod
| 01.37v7.Mod
|
|-
| FEATURE_CASE_FAN: Kühlung des Boards bei 2 Extrudern nicht zuverlässig
| 20171027 Nibbels
| RFx000 RF.01.37
|
| T0  ;wahl Hotend links
M104 S100  ;Temp auf 100°C
T1  ;wahl Hotend rechts
M104 S100  ;Temp auf 100°C
T0  ;wahl Hotend links
M104 S0  ;Temp AUS
-> Lüfter für Mainboardkühlung geht nach 60s aus und bleibt aus.
| erzeugt beim RF2000 einen Fall, bei dem ein Hotend geheizt wird, aber der Case-Fan des RF2000 sich abschaltet und aus bleibt.
Grund: Der An-Aus-Status des Lüfters wird immer beim Hotendtemperatur setzen gesteuert, Dualhead war da wohl noch kein Thema.
Immer das letzte abschalten gilt, egal ob irgendwas noch heizt.
|
| 01.37w5.Mod
|  
|  
|-
|-
|}
|}

Version vom 27. Oktober 2017, 11:22 Uhr

Diese Seiten sollen zur Verfolgung von Firmware Bugs dienen, die in der Repetier-Variante der Firmware entdeckt wurden. Diese Firmware-Variante wird im RF1000 und RF2000 eingesetzt.

Es gibt einen eigenen Bereich für Bugs der Firmware des RF100 oder RF500, die auf Marlin basiert.

Bitte nach Möglichkeit den Bug genau beschreiben und die Bedingungen angeben, unter dem der Bug reproduziert werden kann.

Bug Verfolgungsliste
Kurzbez. gemeldet am
& durch
FW Version
und Drucker
in Verwendung
bestätigt am
& durch
FW Vers. des
Bestätigers
Reproduzierbedingungen Bemerkungen, Details behoben in
FW-Version
behoben in
Mod-Version
Bemerkungen Conrads
Speedbug 20161108 Nibbels RFx000
RF.01.33
Marcometaner http://www.rf1000.de/viewtopic.php?f=73&t=1537 hochkritischer Fehler / Watchdog RF.01.35
Home XYZ -> Z-Comp 20170306 Nibbels RFx000 RF.01.37 http://www.rf1000.de/viewtopic.php?f=67&t=1746#p17187 Dem Drucker ist nicht klar, dass X und Y nicht gehomed wurden wenn Z gehomed wurde. Z-Compensation ist aktivierbar, kann aber die Druckkopfposition nicht wissen. 01.37p.Mod
Homed ins Minus fahren 20170306 Nibbels RFx000 RF.01.37 http://www.rf1000.de/viewtopic.php?f=67&t=1748 http://www.rf1000.de/viewtopic.php?f=67&t=1747#p17188 Es existieren diverse Möglichkeiten, über Nutzerbedienung im Druckermenü den Drucker gegen die Heizplatte zu fahren. Zwar wird ein richtiger Crash über die DMS-Sensoren vermieden, das Verhalten könnte aber leicht vermieden werden. Das endet sehr oft im Emergency-Block. 01.37g.mod
1-10-50-Millimeterweise Bewegung stoppt nicht immer an Schalter/Z-Override-Max 20170317 Nibbels RFx000 RF.01.37 https://github.com/Nibbels/Repetier-Firmware/blob/3cb0dda931942f80264ff824b4e79e131a86bc8c/Repetier/motion.cpp#L2170 https://github.com/RF1000community/Repetier-Firmware/commit/b38b84b0573c35900d5ddc744dd98df0c6f9017b Gehört teilweise zu Bug "Homed ins Minus fahren" Jenachdem ob ungehomed, gehomed oder gehomed+Z-Kompensation in Kombination mit Single-Steps, Single-Move oder 1-10-50-Millimeterweise ist das Verhalten der Menübedienung unterschiedlich. Das kann für niemanden intuitiv sein. 01.37g.mod
Homed + Z-Kompensation + Direct-Drive-Knopf halten (Z-Up/Z-Down) > Drucker verzählt sich während der Z-Fahrt im Abstand zum Schalter. 20170324 Nibbels RFx000 RF.01.37 Homen, M3001, Z-Up halten sodass Bett runterfährt. Achsen-Millimeter beobachten. Fährt man unterhalb 3mm los verzählt er sich. 3mm = Z-Compensations Obergrenze. Die Grenze kann man auf 10mm verschieben, wenn man M3008 Z10 nutzt. @RF / Testfixed
RF2000 Notaus + RepetierHost/RepetierServer = Crash RFx000 RF.01.37 https://github.com/Nibbels/Repetier-Firmware/blob/3cb0dda931942f80264ff824b4e79e131a86bc8c/Repetier/motion.cpp#L2170 War schon oft im Forum Thema (http://www.rf1000.de/viewtopic.php?f=7&t=1778, ...). Dasselbe Verhalten gilt für alle Drucker-Abstürze. 01.37l3.Mod
Viele Compiler-Warnungen und Compiler-Fehler in Arduino. 20170323 Nibbels RFx000 RF.01.37 Arduino in diversen Versionen installieren, Firmware compilieren. Um mehr Warnungen zu sehen diese in den Arduino-Optionen sichtbar machen. Die Auflösung der Fehler würde in Zukunft einige ratlose Anfragen im Forum vermeiden. Arduino.cc > Version 1.6.5 ist so nicht nutzbar. 01.37c.Mod
"Pause 2x", sodass der Extruder vom Bauteil wegfährt ist fehlerhaft. 20170514 Nibbels / Wessix RFx000 RF.01.37 youtu.be/72QcUjcITx8 Der Drucker findet nach Fortsetzen des Drucks die Ursprungsposition nicht mehr zuverlässig, wenn die Pause ausserhalb des "Pause-Bewegungs-Rahmens" gestartet wurde, also die Pause-weg-Bewegung durch das Heizbett limitiert wurde. Die Firmware verzählt sich. Wenn dieser Bug raus ist, kann man sich "sinnvollere" Pause-Positionen für den Druckkopf aussuchen. 01.37s6.Mod
Beim Feature Emergency-Pause verbleibt der Druckkopf über dem Bauteil RFx000 RF.01.37 20170514 Nibbels (nicht gemeldet) Emergency-Pause-Feature auf kleinere Digits scharfstellen. http://www.rf1000.de/wiki/index.php/GCodes#M3075_-_Minimal-_und_Maximalkr.C3.A4fte_f.C3.BCr_Notaus_definieren -> Beim Druck auf die DMS drücken, sodass der Drucker pausiert. Extruder bleibt über dem Bauteilstehen und läuft unter Umständen aus. Play drücken um Fortzusetzen. Wenn man im Code einfach zweimal die Funktion "Pause" aufrufen würde, würde der Druckkopf korrekt wegfahren und nicht über dem Bauteil auslaufen. Dafür sollte man aber auch den Bug "Pause 2x" beheben, sonsts wirds schlimmer als bisher. 01.37s6.Mod
Extrudieren während der Pause-Funktion 20170518 Nibbels RFx000 RF.01.37 Druck anfangen, 2x am Drucker Pause drücken. Extrudieren, dann Play. > Emergency-Block (Digits). Extrudiert man während der Pause, will die Fortsetz-Funktion die E-Achse des Extruders wiederherstellen. Das endet sehr oft im Emergency-Block. mit g_nContinueSteps[E_AXIS] = 0; bei Knopfdruck am Drucker sehr einfach zu beheben. https://github.com/Nibbels/Repetier-Firmware/commit/7640a8ef0969ef00de65b8df65196b24b6d4292f @ RF.cpp 01.37l.Mod
Positive Z-Matrix vs. genauer Z-Einstellung 20170529 Nibbels RFx000 RF.01.37 HBS mit leicht zu hohem Heizbett machen. Es kann positive Werte in der Matrix geben. Bei GCode Z=0 reicht die Düse in diesem Fall an den positiven Stellen rechnerisch ins Heizbett, obwohl der HBS fehlerfrei durchlief. Nicht zwingend ein Bug aber idiotensicher ist das nicht. http://www.rf1000.de/viewtopic.php?f=7&t=1380&start=70#p18535 1.37o.Mod
Drive-Free Bug 201704 mhier AtlonXP Nibbels RF1000 RF.01.37 mit Einstellung Circuit für 2 Schalter. Bei RF1000 mit Milling-Feature den Endschalter für Z auf Circuit einstellen. Dann Bett hoch fahren, bis Schalter gedrückt und Drucker resetten. Nach dem Aufwachen fährt der Drucker schrittweise nach oben und zerstört unter Umständen den Schalter. Siehe Diskussionen im Forum. 01.37k4.Mod (removed drive-free)
Display-Nachrichten sind auf 16 Zeichen limitiert. 20170420 Nibbels RF2000 RF.01.37 Tom1972 M117 oder M3117 mit einer 20-Zeichen-Nachricht versenden. Nur die ersten 16 landen im Display. Der RF2000 hat ein 20-Zeichen-Display, der RF1000 16 Zeichen. In der Firmware wurde das nur manchmal angepasst. Patch hier: https://github.com/RF1000community/Repetier-Firmware/commit/7e02f48d2562a84de7dac39d4ed2f98b9c0f8fb4 Siehe Diskussionen im Forum. http://www.rf1000.de/viewtopic.php?f=7&t=1824#p18044 https://github.com/RF1000community/Repetier-Firmware/issues/33 1.37k3.Mod
Display-Nachrichten mit M3117 funktionieren nicht zuverlässig 20170427 Tom1972 (unsicher ob direkt an RF1000 gemeldet) RFx000 RF.01.37 Siehe Diskussionen im Forum. http://www.rf1000.de/viewtopic.php?f=7&t=1824 Patch hier: https://github.com/RF1000community/Repetier-Firmware/commit/d08c88d362fe512c62c18507f8811296c4a6aa94 Betrifft beide Drucker. In der Firmware fehlt die Unterscheidung, dass M3117 keine Parameter sondern nur Text kennt. 1.37k3.Mod
Druckerkommunikation crashed bei "Größe Eingangspuffer" = 63 über Repetier-Server. 20170419 Nibbels RFx000 RF.01.37 Siehe Diskussionen im Forum. http://www.rf1000.de/viewtopic.php?f=73&t=1537&start=10#p17886 @RF
Sporadische Watchdog-Resets zweifelhafter Herkunft 201706 Nibbels RFx000 RF.01.37 / RF.01.37.Mod Quer durch alle Firmware-Versionen sehr selten. Nicht durch denselben G-Code wiederholbar. Drucker steht irgendwann mit halbfertigem Druck wegen "External Reset". Mit Repetier-Server fährt bei Abruch das Heizbett gegen die Front oder der Extruder nach X-Max und rattert. Nur bei Nibbels Drucker? Völlig irres Watchdog/Interrupt/Timingproblem. HAL::timeInMilliseconds(); zählt schneller als erlaubt?! Fix: Watchdogping in internen Watchdog_Interrupt (als Timer verwendet) eintragen + WATCHDOG_MAIN_LOOP_TIMEOUT = >15000 + ???. Problem taucht nach willkürlichen Code-Änderungen gehäuft auf oder verschwindet. Extrem selten in RF.01.37 bei Nibbels, häuffiger in manchen Mod-Versionen. Angeblich nie vorgekommen bei Wessix/hliebscher. fix durch 01.37m5 und 01.37r4.Mod (99%)
Display-Ausfall / Display Blank 201706 Nibbels RFx000 RF.01.37 / RF.01.37.Mod http://www.rf1000.de/viewtopic.php?f=73&t=1772 Ursache anscheinend unterschiedlich, Fehler derselbe. Vermutlich Hardware-Problem. M3200 P13 funktioniert zur Display-Wiederbelebung im laufenden Betrieb. Seit 1.37v3 hilft gegen ein blankes Display, wenn man 10x die Taste Play drückt. @RF / Workaround in 1.37v3
Extruder bohrt sich in Druckobjekte 20170520 Blech RFx000 RF.01.37 Marcometaner http://www.rf1000.de/viewtopic.php?f=7&t=1343 Drucker verhaspelt sich bei vielen Z-Sprüngen in der Z-Koordinate(?) @RF http://www.rf1000.de/viewtopic.php?f=7&t=1343&start=50#p18578
Während HBS wird bei Retry Z gehomed 20170627 Nibbels RFx000 RF.01.37 Theoretisch möglich(?). Vorkommen unbestätigt. Für den unwahrscheinlichen Fall dass der HBS einen Retry macht und an diesem Punkt das Bett höher ist wie der Z-Schalter könnte theoretisch die Düse ins Bett fahren. Damit könnte der Fehler-Abfang-Mechanismus fehlerhaft arbeiten. @RF
Vase-Mode vs. EmergencyBlock 20170707 Nibbels RFx000 RF.01.37 Bug oder Nicht-Bug/Falschkonfiguration kann diskutiert werden.

Mit PETG oder anderen hoch-Digits-Materialien eine Vase im echten Vase-Mode (Spiraldruck) drucken, abwarten. Mit einem älteren V2, welches innen einen hohen Widerstand hat eine Vase im echten Vase-Mode (Spiraldruck) drucken, abwarten.

Im Vase-Mode wird ständig Z bewegt. Also läuft man immer Gefahr, dass der Emergency-Block because of Z-Block ausgeführt wird. EMERGENCY_STOP_DIGITS_MIN und EMERGENCY_STOP_DIGITS_MAX stehen normalerweise auf +-5000 Digits. Werden diese während einer Z-Bewegung überschritten oder unterschritten hört der Drucker auf und verweigert seinen Dienst. Besonders bei für Vasen geeignete Materialien wie PETG sind 5000 knapp bemessen, sogar 8000 sind dann knapp.

Eventuelle Lösung 1: In der Configuration der Firmware EMERGENCY_STOP_DIGITS_MIN und EMERGENCY_STOP_DIGITS_MAX erhöhen. Dann ist aber bei einem echten Z-Crash ebenfalls die Hemmschwelle für den automatischen Notstop viel höher.

Lösung 2: Möglich wäre u.U. eine Strombegrenzung der Extrudermotoren und ein EMERGENCY_STOP_DIGITS_MIN und EMERGENCY_STOP_DIGITS_MAX das ausserhalb dieser Begrenzung liegt. Frage: Ist die Kraft dann schon zu hoch für die Keramik?

Lösung 3: ausgeklügelter Fallausschluss: Wenn gehomed und Z > Zahl [mm], dann kein Emergency-Block bei 5000 sondern erst bei > 15000 o.ä.

01.37r6 (EEPROM support)
Limit-Update des PID Integrator-Anteils 20170719 Nibbels RFx000 RF.01.37 Bug. Patch von Repetier https://github.com/repetier/Repetier-Firmware/commit/c4dd0c1442f96bfd2e8180ecd7fe8ba8d9e602b2#diff-dbe11559ff43e09563388a4968911e40R503 @6 Feb 2015. Fehlt auch u.U. bei https://github.com/Nibbels/Repetier-Firmware/commit/31742b2fc8ce91b35db1f83dbc69f54f51fe3060#diff-92c0eee2af264b2a3a573ca95cb883c3R533 (für Ditto-Mode) Wird eine Temperatur gesetzt, ohne dass der jeweilige Extruder jemals ausgewählt war, so wurden keine Integrator Limits berechnet. Die sind dann 0, was zu einem anderen Aufheizvorgang führt. Unter Umständen erreicht dadurch die Temperatur niemals die Zieltemperatur. Ein beliebiges Ändern der EEPROM-Konstanten oder das Auswählen des T1 und T0 nach dem Druckerstart verschleiern diesen Fehler. http://www.rf1000.de/viewtopic.php?f=25&t=1868&start=10#p19176 01.37q3.Mod
I-Anteil beim PID fehlt meistens. Offset auf Temperatur. 20170719 Nibbels RFx000 RF.01.37 Temperatur einstellen. Warten. Die Temperatur erreicht bei Zieltemperatur nicht exakt die Zieltemperatur sondern +(-)Offset. Der PID Regler wird vom Autotune als PID eingestellt, aber der I-Anteil wird vergessen, sobald die Temperatur über der Zieltemperatur ist. Grund: PID drive min ist immer 0 oder positiv, was in meinen Augen keinen Sinn macht. Damit stimmt die Dynamik vom Regler nicht ganz. Der I-Anteil sollte beim Absenken der Temperatur aber nicht zu hoch werden, um ein Unterschwingen zu vermeiden, weil der Regler nach unten eine ganz andere Dynamik sieht wie nach oben. (Aufheizen ist dynamischer als abkühlen.) Darum ist es sinnvoll, den I-Anteil stark zu begrenzen. Z.B. durch ein kleines negatives(!) PID drive min. Oder man könnte unter Umständen den Faktor KI verwenden, der zum Abkühlen gehört. http://www.rf1000.de/viewtopic.php?f=25&t=1868&start=10#p19176 01.37q3.Mod
Beim HeatBedScan Abbruch wird immer Matrix 1 in den Ram geladen, nicht die ausgewählte. 20170722 Nibbels RFx000 RF.01.37 M3009 Sn für n=(1..9)te Matrix auswählen. HBS starten, abbrechen. Matrix 1 wird (versucht zu laden oder) geladen. Das ist ein Detailproblem, aber meiner Meinung nach auch ein kleiner Fehler. 01.37r.Mod
Buffer Overflow überschreibt Z-Matrix-EEPROM_FORMAT oder g_nPingWatchdog oder sonstiges. 20170730 Nibbels RFx000 RF.01.37 Frequenzabhängig von Interrupts, kann überall auftreten, bis aktuelle Repetier. Vorbote: Temperaturspikes beim Drucken. Das Problem ist, dass je nach compilierter Version etwas anderes überschrieben werden kann. Die Fehler sind selten und zufällig. Besonders mies ist der, wenn g_bPingWatchdog zufällig genullt wird. Das führt zum Reset. 01.37r4.Mod 01.37j.mod.3
Config fehler: EEPROM-Initialisieren beschreibt PID drive max mit MIN statt MAX. 20170731 Nibbels RFx000 RF.01.37 EEPROM abrufen und prüfen: Ist PID drive min und PID drive max beim Extruder jeweils 40? Erklärung hier: http://www.rf1000.de/viewtopic.php?f=25&t=1868&p=19355#p19355 Bug gilt beim RF2000 auch für das zweite Hotend. 01.37r5.Mod 01.37j.mod.3
Pause Motor-Current nur für Extruder 0 20170804 Nibbels RFx000 RF.01.37 Im Quellcode nachlesen. Suchwort setExtruderCurrent. Wenn der Drucker im Pausemodus ist, sollen laut Firmware die Extruder-Motor-Ströme minimiert werden (wegen Filament). Das war beim RF1000 Single so drin, wurde aber für einen zweiten Extruder nicht umgesetzt. 01.37r8.Mod
Feature lin advance benötigt mehrere patches 20170811 Nibbels RFx000 RF.01.37 Siehe Thread http://www.rf1000.de/viewtopic.php?f=67&t=1928 Im Mod funktioniert nun alles. Bug unter Vorbehalt: Das nutzt kaum einer, USE_ADVANCE ist aber eigentlich in Firmware eingebaut und aktiv. 01.37u5.Mod
Evtl-Flow-Bug: Rundung der Extrusions-Steps auf ganze Steps. 20171013 Nibbels RFx000 RF.01.37 Die Steps für die Extrusion werden auf ganze Steps gerundet, nachdem der Filament-Feed-Multiplikator "Flow Multiply: xxx%" im Drucker damit verrechnet wurde. Es könnte sein, dass im Fall von extrem kleinen Pfadabschnitten der Fehler dadurch sehr groß wird. (z.B. in Rundungen/Lochperimetern/...) Repetier hat das vor etwa 3 Jahren (Aug 2014) geändert https://github.com/repetier/Repetier-Firmware/commit/07e46fb79d4dbd1f579971d787c861e7d8b94c8b#diff-11347f18746fb080f5bda21c30428558R166 . Dort wird der Extrusions-Fehler (verlorene Nachkommastellen) grundsätzlich aufsummiert und sobald ein voller Step erreicht wird, wird er ausgeführt. Dadurch bleibt die Extrusionsmenge in jedem Fall so wie kommandiert. 01.37v7.Mod
FEATURE_CASE_FAN: Kühlung des Boards bei 2 Extrudern nicht zuverlässig 20171027 Nibbels RFx000 RF.01.37 T0 ;wahl Hotend links

M104 S100 ;Temp auf 100°C

T1 ;wahl Hotend rechts

M104 S100 ;Temp auf 100°C

T0 ;wahl Hotend links

M104 S0 ;Temp AUS

-> Lüfter für Mainboardkühlung geht nach 60s aus und bleibt aus.

erzeugt beim RF2000 einen Fall, bei dem ein Hotend geheizt wird, aber der Case-Fan des RF2000 sich abschaltet und aus bleibt.

Grund: Der An-Aus-Status des Lüfters wird immer beim Hotendtemperatur setzen gesteuert, Dualhead war da wohl noch kein Thema. Immer das letzte abschalten gilt, egal ob irgendwas noch heizt.

01.37w5.Mod