Stimmt, das "Was und Warum" ist evtl. ein bischen untergegangen.
Weil ich grad wieder mal kurz da bin, greife ich rf_42 etwas vor
Er hatte das im Grunde initiiert, ich hab mich dann eingemischt, weil ich das was rf_42 rausgefunden hatte gelesen hatte und gebrauchen konnte.
1)
Es gibt mehrere Versionen von Arduino Compiler (immer neue Updates) und anscheinend hat sich da in der Versionsreihe beim Arduino Compiler etwas geändert, sodass die RFx000-Firmware auf der Arduino Version 1.6.5 compiliert werden kann, aber auf der 1.8.0 nicht mehr. (Nicht mehr ohne Anpassung kleiner Details in der Firmware.) Das war schon länger bekannt und es steht auch im Forum. (
http://www.rf1000.de/viewtopic.php?f=7&t=68)
2)
Der Arduino Compiler (nur 1.8.0) spuckt neben den
Fehlern zusätzlich eine ganze Menge
Warnungen (1.6.5 wie auch 1.8.0) aus, wenn man die Firmware kompilieren will. Die Warnungen sieht man normalerweise aber nur, wenn man sie im Arduino Compiler scharf stellt.
Screenshot_2.jpg
Screenshot_1.jpg
Einstellen + Restart des Arduino
Was wurde mit den Infos tatsächlich gemacht? Timeline:
- Ich habe (auf Github) in mhiers z-Offset-Mod Version der Firmware, die Änderungen von Firmware 1.33 auf 1.35 übernommen, indem ich alle Änderungen, die RF1000 gemacht habe, auch dort umgesetzt habe.
- Als rf_42 hier gemeldet hatte, dass es möglich ist, die Fehler, die der Arduino Compiler 1.8.0 ausspuckt zu beheben, habe ich auch seine Änderungen in "meiner ebenfalls auf Github liegenden" Kopie von mhiers Firmware übernommen.
- Danach konnte ich mit dem Arduino Compiler 1.8.0 die Firmware kompilieren und auf den Drucker spielen.
- Der Drucker lief super, aber mir ist der Drucker abgestürzt, wenn ich OutputObject ausgeführt habe. Warum ist mir zur Zeit noch unklar. Mit 1.6.5 gings aber.
Also blieb ich beim Arduino Compiler 1.6.5.
- Das hat mich doch irgendwie gewurmt. Ich hab mich also vor ein paar Tagen drangemacht und jede einzelne Warnung "behoben", sodass ich sehen konnte wo sich diese "einfach sichtbaren" kritischen Stellen in der Firmware befinden könnten.
Warum?
Die Aktion ist tatsächlich
ohne tatsächlichen Nutzen, ich habe das nur gemacht, weil ich sehen wollte, ob mir dadurch zufällig irgendwas klar wird, was das komische Verhalten von 1.8.0 erklärt.
Vermerk an dieser Stelle: Der Drucker läuft auch mit den Warnungen! Nur konnte ich vor lauter Detailwarnungen das evtl. Wichtige nicht sehen und mich hats gestört.
Inzwischen sind fast alle (bis auf zwei) Warnungen beim z-Mod raus und ich habe dadurch einiges gelernt. Der Code wurde also aus Compiler-Sicht etwas sauberer. Ich habe Details vereinheitlicht und ein paar Kleinigkeiten korrigiert. Das kam gestern Abend wieder dem z-Offset-Mod zugute, denn nun wusste ich, wie ich den zMod (vermutlich-) sinnvoll umbauen konnte.
LG