전자잉크 디스플레이를 macOS 프린터로 만들기

Key Point
전자잉크 디바이스에서 실시간 메모리 제약을 해결하며 표준 프린팅 프로토콜을 직접 구현한 창의적인 접근이 임베디드 개발자들에게 실질적인 설계 아이디어를 제공한다.
핵심 요약
- Xteink X3 전자잉크 디스플레이에 IPP(인터넷 프린팅 프로토콜)를 구현해 macOS에서 AirPrint처럼 인식되는 프린터로 만들었다.
- macOS의 네이티브 인쇄 대화상자에서 '펭귄(penguin)'이라는 프린터로 나타나며, PDF나 이미지를 직접 보낼 수 있다.
- 4MB 용량의 풀 페이지 이미지를 400KB RAM의 장치에서 처리하기 위해, 들어오는 데이터를 실시간으로 디코딩·축소·디더링하면서 디스플레이 프레임버퍼에 직접 기록하는 파이프라인 방식을 사용했다.
- Bonjour mDNS 광고로 네트워크에 자동 발견되며, 300dpi 흑백 출력을 지원하고 출력된 페이지는 SD카드에 저장된다.
- 인쇄 완료까지 약 1초 소요되며, 구현 코드는 CrossPoint 포크에 공개되어 있다.