Geen arm-printerstuurprogramma? Schrijf gewoon je eigen

wanneer je aan de kleine machines denkt die de kleverige labels op pakketten afdrukken, zou je misschien niet verwachten een complexe printer te vinden met een eigen programmeertaal (ZPL). Echter, [Dan Pastusek] keek online rond en vond een kleine labelprinter op ieders favoriete online opslagfaciliteit voor een geweldige prijs die suggereerde dat het ZPL. Helaas had [Dan] grote dromen voor het creëren van een Raspberry PI-gebaseerde printstation en vond dat de chauffeurs verpakt voor deze specifieke printer geen arm compatibel waren. Niet helemaal tevreden om het daar te laten, begon hij op de lagen te chippen totdat hij een werkend bestuurder had.

Zpl, in zijn kern, is slechts een taal waarin ASCII-opdrachten over een seriële verbinding worden beschreven. Dus terwijl de printer opkwam als een eindpunt, werkte het niet als de filters (het deel van de chauffeur die weet hoe ze van een PNG naar ZPL) kunnen worden geconverteerd, was alleen X86. Op Linux hebben printer chauffeurs ook een PPD-bestand dat beschrijft wat een printer kan omgaan met het papierformaat en andere instellingen. Het PPD-bestand voor de kleine printer gaf de eerste aanwijzing. In het veld ShortNickName identificeert het zichzelf als HPRT N41, een populaire HP-printer. Dus deze kleine printer moet een kloon van een printer in die familie zijn. Met name ondersteunen ze geen ZPL. In plaats daarvan ondersteunt de HPRT-serie TSPL, een andere printertaal ontwikkeld door TSC.

Dit presenteerde een probleem als de scheepvaartservice die de labels aanbood die [DAN] gebruikte, verstrekte labels in drie formaten: PNG, PDF en ZPL. Momenteel lijkt het wel alsof er een TSPL aan ZPL-converter is voor gebruik, dus in plaats van die van hem te schrijven, nam hij een snelkoppeling en schreef in plaats daarvan een rasterizer. Aanvankelijk probeerde hij enige voorbeeldcode te gebruiken die hij vond, en terwijl hij iets kreeg om uit de printer te komen, was het leeg. Dus de volgende test was om de RAW TSPL-uitvoer van een filer en de kat rechtstreeks op de seriële poort op te slaan. Dit werkte verbazingwekkend. Vervolgens schreef hij een converter om een ​​PNG te nemen en converteer ze in het bitmap-formaat dat de TSPL heeft. De converter bevindt zich in JavaScript omdat deze wordt uitgevoerd als onderdeel van de webserver die het printstation beheert. Zou het in een andere taal sneller kunnen zijn? Zeker. Maar een andere taal zou de printer niet sneller maken.

Met de toevoeging van een draadloze barcodescanner, is het bevredigend om het printstation omhoog en hardlopen te zien. Hier bij Hackaday zijn we geen vreemdeling om mensen uit elkaar te zien om de printers uit elkaar te gaan om de software en fysieke lagen terug te pellen die ze maken.

Leave a Reply

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