Ingen arm skrivardrivrutin? Skriv bara din egen

Ingen arm skrivardrivrutin? Skriv bara din egen
Ingen arm skrivardrivrutin? Skriv bara din egen

när du tänker på de små maskinerna som skriver ut de klibbiga etiketterna på förpackningar, kanske du inte förväntar dig att hitta en komplex skrivare med eget programmeringsspråk (ZPL). Men [Dan Pastusek] tittade runt online och hittade en liten etikettskrivare på allas favorit online lagringsanläggning till ett bra pris som föreslog det stödde ZPL. Tyvärr hade [Dan] stora drömmar för att skapa en Raspberry Pi-baserad utskriftsstation och fann att chaufförerna förpackades för den här skrivaren var inte arm-kompatibla. Inte helt nöjd att lämna det där, började han chipa bort på lagren tills han hade en arbetsförare.

ZPL, i sin kärna, är bara ett språk som beskriver ASCII-kommandon som sänds över en seriell anslutning. Så medan skrivaren visade sig som en slutpunkt fungerade det inte som filter (den del av chauffören som vet hur man konverterar från en PNG till ZPL) var X86. På Linux har skrivarchaufförurer också en PPD-fil som beskriver vad en skrivare kan hantera i pappersstorlek och andra inställningar. PPD-filen för den lilla skrivaren gav den första ledtråden. I fältet ShortnickName identifierar det sig som HPRT N41, som är en populär HP-skrivare. Så den här lilla skrivaren ska vara en klon av en skrivare i den familjen. I synnerhet stöder de inte ZPL. Istället stöder HPRT-serien TSPL, ett annat skrivarspråk utvecklat av TSC.

Detta presenterade ett problem som frakttjänsten som erbjöd de etiketter som [Dan] använde tillhandahållna etiketter i tre format: PNG, PDF och ZPL. För närvarande verkar det som om det finns en TSPL till ZPL-omvandlare där ute för användning, så snarare än att skriva sin egen, tog han en genväg och skrev istället en rasterare. Inledningsvis försökte han använda en viss provkod som han hittade, och medan han fick något att komma ut ur skrivaren var det tomt. Så nästa test var att spara den råa TSPL-utgången från en filer och katt direkt till seriell port. Detta fungerade otroligt. Därefter skrev han en omvandlare för att ta en PNG och konvertera dem till Bitmap-formatet TSPL har. Omvandlaren är i JavaScript eftersom den körs som en del av webbservern som hanterar utskriftsstationen. Kan det vara snabbare på ett annat språk? Säker. Men ett annat språk skulle inte göra skrivaren någon snabbare.

Med tillägg av en trådlös streckkodsläsare är det tillfredsställande att se skrivningsstationen igång. Här på Hackaday är vi ingen främling att se folk ta bort skrivare för att avlägsna programvaran och de fysiska skikten som gör dem.