Projekt:Labeldrucker: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
(Jetzt mit: schoener Geschrieben)
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:
|owner          = Riley
|owner          = Riley
|image          = labelprinter_image.jpg
|image          = labelprinter_image.jpg
|version        = 1.0
|version        = 2.0
 
}}
Vorgeschichte:


=== Vorgeschichte: ===
Die heilige elektronische Bucht, ein Ort der Wunder und Geheimnisse.
Die heilige elektronische Bucht, ein Ort der Wunder und Geheimnisse.
An einem einsamen Tag verfiel unser byte erneut in ihrem Bann.
An einem einsamen Tag verfiel unser byte erneut in ihrem Bann.
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, skalieren 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]]
* [http://44.128.42.32/ Lokale Adresse unseres Druckers]
mitglieder
64

Bearbeitungen