e-ink 드라이버 버그 사냥, 알고 보니 패널이 거짓말을 하고 있었다
E-Paper Panel Isn't Broken: How Retained State Makes Drivers Look Buggy

e-paper 드라이버에서 세 가지 버그를 고치는 데 하루를 보냈지만, 실제 버그는 하나도 없었다. e-paper 컨트롤러는 전원을 꺼도 상태를 유지하는데, 리프레시 도중 전원을 끊으면 컨트롤러가 멈춘 상태로 남아 이후 모든 명령이 실패한다. 하드웨어 리셋으로는 해결되지 않고 전원을 완전히 차단해야만 초기화된다. 이 글은 이러한 '유지 상태(retained state)' 문제가 어떻게 화면 밀림, 깜빡임, 멈춤 등 다양한 버그로 오인되는지 설명하고, 실제로 효과 있었던 디버깅 기법(검증된 코드 실행, 기준 타이밍 확보, 디스플레이 직접 관찰)을 공유한다.
소프트웨어만으로는 두 경우를 구분할 수 없습니다. 그래서 해결책은 물리적이었습니다. 전원을 뽑고 화면을 보는 것입니다.