Ingen armskriverdriver? Bare skriv din egen

Når du tenker på de små maskinene som skriver ut de klissete etikettene på pakkene, kan du ikke forvente å finne en kompleks skriver med eget programmeringsspråk (ZPL). Men [Dan PastuseK] så på nettet og fant en liten etikettskriver på alles favoritt nettbaserte lagringsanlegg for en god pris som foreslo det støttet ZPL. Dessverre hadde [Dan] store drømmer for å skape en Raspberry PI-basert utskriftsstasjon og fant sjåførene som var pakket for denne skriveren, var ikke armkompatible. Ikke helt fornøyd med å forlate det der, begynte han å chip bort på lagene til han hadde en arbeidsdriver.

ZPL, i kjernen, er bare et språk som beskriver ASCII-kommandoer som sendes over en seriell tilkobling. Så mens skriveren viste seg som et endepunkt, fungerte det ikke som filtrene (den delen av sjåføren som vet hvordan man skal konvertere fra en PNG til ZPL) var bare X86. På Linux har skriver sjåfør også en PPD-fil som beskriver hva en skriver kan håndtere i papirstørrelse og andre innstillinger. PPD-filen for den lille skriveren ga den første ledetråden. I feltet ShortnickName, identifiserer det seg selv som HPRT N41, som er en populær HP-skriver. Så denne lille skriveren skal være en klone av en skriver i den familien. Spesielt støtter de ikke Zpl. I stedet støtter HPRT-serien TSPL, et annet skriver språk utviklet av TSC.

Dette presenterte et problem som forsendelsestjenesten som tilbød etikettene som [Dan] brukte gitt etiketter i tre formater: PNG, PDF og ZPL. For tiden virker det som om det er en tspl til zpl converter der ute for bruk, så i stedet for å skrive sin egen, tok han en snarvei og skrev en rasterizer i stedet. I utgangspunktet prøvde han å bruke noen prøvekode som han fant, og mens han fikk noe å komme ut av skriveren, var det tomt. Så den neste testen var å lagre den røde TSPL-utgangen fra en filer og katt direkte til seriell port. Dette fungerte utrolig. Deretter skrev han en omformer for å ta en PNG og konvertere dem til bitmap-formatet TSPL har. Omformeren er i JavaScript, da den kjører som en del av WebServer som administrerer utskriftsstasjonen. Kan det være raskere på et annet språk? Sikker. Men et annet språk ville ikke gjøre skriveren noe raskere.

Med tillegg av en trådløs strekkodeskanner, er den tilfredsstillende for å se utskriftsstasjonen oppe. Her på Hackaday, er vi ikke fremmed for å se folkene, ta fra hverandre skrivere til å skrelle programvaren og fysiske lag som gjør dem opp.

Leave a Reply

Your email address will not be published. Required fields are marked *