Ingen arm printerdriver? Skriv bare din egen
Når du tænker på de små maskiner, der udskriver de klæbende etiketter på pakker, kan du ikke forvente at finde en kompleks printer med sit eget programmeringssprog (ZPL). Men [Dan Pastusek] kiggede på online og fandt en lille etiketprinter på alles foretrukne online lagerplads til en fantastisk pris, der foreslog, at den understøttede ZPL. Desværre havde [Dan] store drømme til at oprette en Raspberry PI-baseret printstation og fandt chaufførerne pakket til denne særlige printer, der ikke var arme kompatible. Ikke helt tilfreds med at forlade det der, han begyndte at chip væk på lagene, indtil han havde en arbejdsdriver.
ZPL, ved kernen, er kun et sprog, der beskriver ASCII-kommandoer, der overføres over en seriel forbindelse. Så mens printeren viste som et endepunkt, fungerede det ikke som filtre (den del af chaufføren, der ved, hvordan man konverterer fra en PNG til ZPL), var kun X86. På Linux har printerchauffører også en PPD-fil, der beskriver, hvad en printer kan håndtere i papirstørrelse og andre indstillinger. PPD-filen til den lille printer gav den første anelse. I feltet Shortnickname identificerer det sig som HPRT N41, som er en populær HP-printer. Så denne lille printer skal være en klon af en printer i den familie. Navnlig understøtter de ikke ZPL. I stedet understøtter HPRT-serien TSPL, et andet printersprog, der er udviklet af TSC.
Dette fremlagde et problem som forsendelsestjenesten, der tilbød de etiketter, som [Dan] brugte, leverede etiketter i tre formater: PNG, PDF og ZPL. I øjeblikket ser det ud som om der er en tspl til zpl konverter derude til brug, så snarere end at skrive sin egen, tog han en genvej og skrev en rasterizer i stedet. I første omgang forsøgte han at bruge nogle prøvekode, som han fandt, og mens han fik noget at komme ud af printeren, var det tomt. Så den næste test var at gemme den rå TSPL-udgang fra en filer og kat direkte til seriel port. Dette fungerede utroligt. Derefter skrev han en konverter til at tage en PNG og konvertere dem til BitMAP-formatet TSPL har. Konverteren er i JavaScript, da den løber som en del af webserveren, der styrer printstationen. Kan det være hurtigere på et andet sprog? Jo da. Men et andet sprog ville ikke gøre printeren hurtigere.
Med tilføjelsen af en trådløs stregkodescanner er det tilfredsstillende at se udskrivningsstationen i gang. Her på Hackaday er vi ikke fremmede at se folk, der tager adskilt printere til at skrælle softwaren og fysiske lag, der gør dem op.