Nusipirkau pabandymui iš kinų epaper (elektroninio popieriaus, e-ink) tipo ekraniuką. Pažymėtas jis waveshare logotipu, o kas gamintojas iš tikrųjų aš nežinau, nes ir datasheete nurodytas tik šis pavadinimas.
Yra dokumentacija pdf faile, kurios kaip ir neskaičiau, nes buvo pavyzdinis softas. Softas skirtas ARM, mini linux variantui ir aišku Arduino. Softas dalinai tinkamas ir mažiems kontroleriams, tačiau jis reikalauja “video RAM”. Čia iškilo problemėlė, nes ir mažiausiam ekraniukui reikia (200×200/8=5000) vos ne 5kB RAMo!
Savo softo variantą supaprastinau ir panaudojau paprastą senovišką ATMEGĄ. Konkrečiai ATMEGA162, tačiau tiks ir bet kuri kita. Tereikia tik keletos laisvų pinų ir aparatinio SPI.
Vėl eilinį karta teko pasibaisėti originalaus softo optimizavimu ir biški iš tikro optimizuoti. Mano variantas kiek greitesnis, dalis konstantų perrašyta į PROGMEM.
Dabar biški apie “elektroninio rašalo ir popieriaus” veikimo subtilybes. Tikriausiai daugelis matė, kad kartais elektroninės knygos “mirguliuoja ekranu” kai perpaišo vaizdelį. Taip daroma todėl, kad ekranas turi “burn-out” t.y. biški lieka seno vaizdo. Tačiau perpaišus vaizdą pilnai į juodą ir poto pilnai į baltą, senas vaizdelis išsivalo pilnai. Taip galima daryti automatiškai suprogramavus kontrolerį- tada pasiuntus naują vaizdą ekranas automatiškai persipaišys. O galima įjungti “rankinį režimą” ir tada ekranas neatsinaujina. Tada lieka seni vaizdeliai. Juos galima panaikinti lokaliai užtušavus ekrano dalį juodai ir poto baltai.
Dar viena ekrano įpatybė, kad ekranas turi du ekrano buferius- į vieną galima rašyti informaciją, o kitas tuo metu rodomas. Tačiau norint operatyviai parodyti naują informaciją tenka du kartus perduoti informaciją į ekraną.
Kadangi ekraniukas buvo nupirktas tik pabandymui, o ne kažkokiam projektui, tai softas surašytas tik pabandymui. Nėra nei grafinių operatorių nei didelių raidžių. Tėra tik dviejų tipų teksto rašymas ir paveiksliuko paišymas (čia vėl papuolė arklys ir jo klasika apie “resistance” ir “penis harder”). Beja, tik dabar pastebėjau, kad vaizdelis konvertavosi kaip veidrodinis.
Ekranas organizuotas baitais, todėl galima perpaišyti tik po mažiausiai vieną baitą. Kadangi nėra skaitymo iš ekrano, atsiranda problemos su grafikos primityvais. Dėl to kila ir šrifto naudojimo apribojimai.
Jei bus sugalvotas koks nors projektas, tada bus galima ir patobulinti visą softą. O dabar štai:
waveshare e-ink, e-paper software source code for clasic C and AVR ATMEGA .
Ten yra source kodas, +visokie niekai kaip “penis harder” paveiksliukas ir jo B/W versija C kalboje [penis.c]. Taip pat Atari ir ZX Spectrum šriftai. Taip pat proporcinis šriftas.
Ir dar neparašiau, kad vaizdas išlieka išjungus maitinimą. Tačiau ir taip aišku, nes čia e-ink’as.