HeadlinesBriefing favicon HeadlinesBriefing.com

E-Ink-Display als Drucker

Hacker News •
×

Ich plante, ein E-Ink-Display zu bauen, und fand das Xteink X3, das vollständig programmierbar war. Es fühlte sich solide und flach an, aber das Laden von Inhalten war mühsam – ich musste seinen Hotspot und einen Web-Uploader verwenden. Ich wollte, dass es sich wie Papier verhält, also erkundete ich das Internet Printing Protocol (IPP).

IPP ermöglicht es einem Computer, die Fähigkeiten eines Druckers abzufragen, Dokumente zu übermitteln und den Status von Aufträgen über HTTP zu überprüfen. Ich kündigte Monochrom-Ausgabe mit 300 dpi, eine Kopie, einseitig, unter Annahme von Apple- und PWG-Rasterformaten an. Dann konvertierte der Mac die Seiten in Pixel.

Ich deklarierte A5- und Letter-Papier, Schreibwarenmedien und ein Ausgabefach mit der Vorderseite nach oben und nannte es "penguin" mit Bonjour für treiberlose Erkennung unter macOS. Die Herausforderung war der Speicher: Eine Letter-Seite mit 300 dpi unkomprimiert ist 8,4 MB, aber das X3 hatte nur 400 KB RAM. Ich verwendete eine Transformations-Pipeline, um Zeilen direkt auf dem Display zu dekodieren, zu skalieren und zu dithern, wodurch ein vollständiges zweites Bild vermieden wurde.

Der RAM des Displays diente als Framebuffer, und ich verarbeitete Zeilen sequenziell und zeigte Bänder wie Papierzufuhr. Jede Aktualisierung dauerte eine halbe Sekunde, also wechselte ich zur Anzeige der gesamten Seite auf einmal. Ich speicherte das endgültige Bild als BMP auf der SD-Karte mit dem vorhandenen Screenshot-Schreiber.

Das befreite genug Speicher für Netzwerkpuffer. Das Drucken einer Manga-Seite aus Preview funktionierte – sie erschien in etwa einer Sekunde auf dem E-Ink-Bildschirm, und das Bild blieb dort. Das Projekt war erfolgreich und verwandelte ein einfaches E-Ink-Display in einen funktionalen Drucker.