micropython priklad

Raspberry, Arduino, Mini-PC a další

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
samec
Příspěvky: 3692
Registrován: 19 pro 2017, 01:00

micropython priklad

#1 Příspěvek od samec »

Nahral som henten program pre OLED displej podlľa návodu do Raspberry Pi Pico a až na nesprávnu komunikačnú linku v schéme to funguje.
https://www.hackster.io/diyprojectslab/ ... ico-d9d9cb
Vie mi však niekto vysvetliť, kde sa v tom programe berie font zobrazovaného textu na displeji?

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#2 Příspěvek od Mahoney »

Hned na začátku toho kódu připojuješ modul framebuf, jehož součástí je třída FrameBuffer, a jedna z jejích metod (pro podle ní vytvořený objekt) je .text, která zpracovává ASCII text, který přijme v řetězci.

Pokud to chceš dopodrobna, musíš si najít zdrojový kód toho modulu a prostudovat si tu metodu v něm.

nixdorf
Příspěvky: 540
Registrován: 06 kvě 2017, 02:00

#3 Příspěvek od nixdorf »

Ten font sa berie odtiaľto - modframebuf.c, implementácia framebuf_text(), pole font_petme128_8x8 - bitmapa fontu je dostupná tu. Už podľa názvu chce vývojár asi pohladkať, takže opatrne.

Z dokumentácie framebuf,
https://docs.micropython.org/en/latest/ ... mebuf.html
framebuf.text() píše:All characters have dimensions of 8x8 pixels and there is currently no way to change the font.
Druhá možnosť, než si spraviť vlastný build micropythonu s prepínatelnými fontami, je možno ešte oddediť ssd1306 a spraviť vlastné vykreslovanie - tu je jeden (dosť škaredý) príklad cez čiary, navyše to pokrýva iba litery a cifry, nie (aspoň prvú polovicu) ASCII. A bude to pomalé.

Odpovědět

Zpět na „Miniaturní počítače (Arduino, Raspberry a další)“