Closed Nibbels closed 7 years ago
char displayCache[UI_ROWS][MAX_COLS+1]; in ui.cpp wird auch über MAX_COLS definiert.
Warum 28 ?? Muss das größer sein?
Betreffend: #define MAX_COLS 28 https://github.com/repetier/Repetier-Firmware hat MAX_COLS auf 28 oder 50, je nach UI_DISPLAY_TYPE.
https://github.com/repetier/Repetier-Firmware/blob/master/src/ArduinoAVR/Repetier/ui.h#L542 https://github.com/repetier/Repetier-Firmware/blob/master/src/ArduinoDUE/Repetier/ui.h#L539
Frage von mir an mich und alle: Wenn wir 16 oder 20 Zeichen Displaybreite haben, brauchen wir dann nur 16 oder 20 oder muss das höher sein? Darf ich den Wert so wie er korrekt sein müsste auf 20 stellen?
Ich teste das aktuell, der Drucker läuft, aber für die finale Entscheidung brauche ich einen Tipp oder ich lese mir alle Quelltextstellen genau durch, die das betrifft. Nur das sind viele.
Der Patch ist echt super!
Ich lese nun auf dem RF2000 komplett: IP:192.168.178.39 und nicht mehr nur IP:192.168.178.3____ Auch zeigt der nun: "ETE 12:23:34 day 24" und nicht mehr "ETE 12:23:34 day__"
:) Negative Auswirkungen habe ich nicht bemerken können.
ui.cpp
Die Definition UI_COLS beinhaltet beim RF1000 die Zahl 16 und beim RF2000 die Zahl 20.
while(*txt && i< UI_COLS )
statt "< 16" und "< 20". "<16" stimmt sowieso nicht beim RF2000!Das führt auf die Frage, warum bei beiden Firmwares in ui.h
char statusMsg[21];
definiert ist. UI_COLS wird anhand des Boards (#if MOTHERBOARD == DEVICE_TYPE_RF1000 ...) erst nach der Klasse UIDisplay definiert.Vor Klasse UIDisplay existiert noch:
Das soll vermutlich
sein.
In setStatusP sowie setStatus sollte bis UI_COLS gezählt werden. Ich vermute weiter, dass statusMsg[21] zu statusMsg[UI_COLS] oder besser statusMsg[MAX_COLS] werden müsste.
Test läuft.