Projekt:Labeldrucker: Unterschied zwischen den Versionen

Teil 2
(Fix Infobox)
(Teil 2)
Zeile 38: Zeile 38:
Es folgt: Musik (part 1): um diesen auszunutzen habe ich ein script geschrieben dass midi Dateien abspielen kann.
Es folgt: Musik (part 1): um diesen auszunutzen habe ich ein script geschrieben dass midi Dateien abspielen kann.


Danach habe ich beim Durch scrollen [https://www.barcodedeus.de/artikeldownload/pdf_en/Inter-C4_Guide.pdf einem der Dokumente] eine sehr komische zeile gelesen und damit einen noch lustigeren Befehl entdeckt:<syntaxhighlight>
Danach habe ich beim Durch scrollen [[:Datei:Inter-C4 Guide.pdf|einem der Dokumente]] eine sehr komische Zeile gelesen und damit einen noch lustigeren Befehl entdeckt:<syntaxhighlight>
RUN "insmod <device><file>" (insert module)
RUN "insmod <device><file>" (insert module)
</syntaxhighlight>insmod, ist das nicht Linux kernel bzw. einfach shell command? - Ja!<syntaxhighlight>
</syntaxhighlight>insmod, ist das nicht Linux kernel bzw. einfach shell command? - Ja!<syntaxhighlight>
Zeile 60: Zeile 60:


Musik: [https://soundcloud.com/meltedmoon/pripyat Pripyat] von [https://soundcloud.com/meltedmoon Melted Moon]
Musik: [https://soundcloud.com/meltedmoon/pripyat Pripyat] von [https://soundcloud.com/meltedmoon Melted Moon]
----
=== Teil 2 - es geht weiter! ===
Nach einem weiteren halben Jahr ist es so weit, ich habe mich zusammen gerafft und das gefixt, was kaputt war: alles!
Was geschah:<blockquote>Ich fand raus, dass dass der Drucker meine konformen RLL encodierten daten nicht mag :(, also habe ich mich auf PNGs geeinigt, die sind schoen klein und einfach (spoiler: sind es wohl nicht) schienen
Manche meiner PNGs crashen wohl den ZPL-Interpreter :(
Nach weiterem Probieren findet sich auch Fehler: ein segfault.... EIN SEGFAULT!??! Mama, mein Drucker Segfaultet! - warum? :B:remium Industriesoftware von Honeywell halt. Haben ueberlegt, ob wie den Support mal anrufen sollen, wie ich meinen Drucker zum drucken bekomme :P
Naja nach rumprobieren, fehlerhafte Pixelkonfigurationen zu finden testete ich das Bild erst in Blocke (100x100 px) und dann streifen (100x800 px) zu teilen, maessiger erfolg. Dann, aus desperation die erloesung: ich tauschte mein `png.Encode` durch ein `bmp.Encode` und was sehe ich da? ein drucker der druckt? bitte was?</blockquote>Also, die alten Bitmaps waren wohl Erloesung fuer unseren Drucker! also verfeinerte ich die Software (fputils) weiter, sodass sie nun mit `printchunk` auch in bmp chunks drucken kann.
Und weil ich grade so gut drauf war, baute ich gleich noch support fuer USB-Seriell ein, nun kann mit --ctype zwischen net und serial gewechselt werden (bzw auch mit env var IPL_CTYPE) USB ist zwar langsamer aber jetzt ist die Software vollstaendig :D.
Nun fuer die Normies, die drucken wollen, sich aber nicht zu ImageMagick und meinem esoterischen interface belesen wollen: ich habe fpweb geschrieben, ein webinterface fuer den drucker, etwas einfacher aufzusetzen und super zum einfach auf einen Pi schmeissen, und genau das habe ich dann auch gemacht: in unserem Drucker, auf einem der ungenutzen expansion slots ist jetzt ein rpi0w mit besagter software (das zum cross-compilieren zu bringen war zwar eine Reise fuer sich aber das passt hier nicht rein)
Besagtes [https://github.com/rileys-trash-can/libfp/tree/main/cmd/fpweb webinterface] hat auch eine zugehoerige [https://github.com/rileys-trash-can/libfp/blob/main/cmd/fpweb/index.txt API] um diverse Bilder vom server direkt dithern und dann drucken zu lassen.


Links zu Zeugs:
Links zu Zeugs:


* resultierendes [https://github.com/rileys-trash-can/libfp GitHub repo]  
* resultierendes [https://github.com/rileys-trash-can/libfp GitHub repo]  
* [https://www.barcodedeus.de/artikeldownload/pdf_en/Inter-C4_Guide.pdf Intermec Fingerprint® v8.10]
* [[:Datei:Inter-C4 Guide.pdf|Intermec Fingerprint® v8.10]]
* [https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/ppr/ja/public/products/printers/industrial/px4i/documents/sps-ppr-intermec-direct-protocol-860-programmers-reference-manual-60.pdf Intermec Direct Protocol v8.60]
* [[:Datei:Sps-ppr-intermec-direct-protocol-860-programmers-reference-manual-60.pdf|Intermec Direct Protocol v8.60]]
mitglieder
70

Bearbeitungen