PicoVGA - displej VGA/TV na Raspberry Pico
Moderátor: Moderátoři
- Panda38
- Příspěvky: 713
- Registrován: 21 lis 2012, 01:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
PicoVGA - displej VGA/TV na Raspberry Pico
Raspberry Pico s procesorem RP2040 je výsledně docela výkonný počítač, levný a se snadným použitím. Vytvořil jsem pro něj knihovnu pro výstup na VGA displej a na televizor PAL/NTSC. Knihovna umožňuje snadné použití díky frame bufferům v různých formátech (text, grafika).
www stránka projektu: http://www.breatharian.eu/hw/picovga/index.html
video s ukázkami na YouTube: https://www.youtube.com/watch?v=wX1IPa3Q0LU
www stránka projektu: http://www.breatharian.eu/hw/picovga/index.html
video s ukázkami na YouTube: https://www.youtube.com/watch?v=wX1IPa3Q0LU
Skoro se mi nechce věřit že, něco takového jde, hluboká poklona!
Trochu škoda, že vaše zdrojáky nejsou na http://www.github.com nebo http://www.gitlab.com dnešní programátorská mládež je zvyklá chodit tam.
Trochu škoda, že vaše zdrojáky nejsou na http://www.github.com nebo http://www.gitlab.com dnešní programátorská mládež je zvyklá chodit tam.
Základem je mít git, já s ním pracuji pod Linuxem, ale i na win10 mám klienta, ani nevím jak jsem k němu přišel. Možná se mi nainstaloval, když jsem zapínal WSL. Potom je potřeba udělat si účet na githubu, pro veřejné projekty je zdarma. Já jsem si kvůli tomu založil email na gmail.com
Pak už se jen porvat s gitem, je to sice moloch, ale já si vpodstatě vystačím s těmito příkazy
git clone https://github.com/Panda38/PicoVGA.git
git checkout master
git config --global user.name "Panda 38"
git config --global user.email "panda38@gmail.com"
git pull
git add src/
git commit -m "Initial commit"
git push
Občas se z větve odvážím i na git rebase -i master a následně git push -f, ale s tím opatrně.
Edit: Zapoměl jsem zmínit git status, je to přehled o aktuálním stavu, nedokončený merge, rebase, změněné soubory, přidané ale ne commit nuté soubory ...
Pro vytvoření větve
git branch jmeno-vetve
přepnutí na větev
git checkout jmeno-vetve
přepnutí zpět na master
git checkout master
merge větve (do aktuální větve)
git merge jmeno-vetve
smazání větve (nesmí se na ní stát)
git branch -D jmeno-vetve
Pak už se jen porvat s gitem, je to sice moloch, ale já si vpodstatě vystačím s těmito příkazy
git clone https://github.com/Panda38/PicoVGA.git
git checkout master
git config --global user.name "Panda 38"
git config --global user.email "panda38@gmail.com"
git pull
git add src/
git commit -m "Initial commit"
git push
Občas se z větve odvážím i na git rebase -i master a následně git push -f, ale s tím opatrně.
Edit: Zapoměl jsem zmínit git status, je to přehled o aktuálním stavu, nedokončený merge, rebase, změněné soubory, přidané ale ne commit nuté soubory ...
Pro vytvoření větve
git branch jmeno-vetve
přepnutí na větev
git checkout jmeno-vetve
přepnutí zpět na master
git checkout master
merge větve (do aktuální větve)
git merge jmeno-vetve
smazání větve (nesmí se na ní stát)
git branch -D jmeno-vetve
- Panda38
- Příspěvky: 713
- Registrován: 21 lis 2012, 01:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
Do první verze knihovny jsem už nechtěl zasahovat, protože teď dělám na projektu retro mikropočítače s Pico (což byl původní účel knihovny), kde budou zahrnuta vylepšení vycházející z praxe, včetně podpory odděleného VSYNC. Tam bude pak nová verze PicoVGA, upravená pro tento konkrétní hardware.
Trochu je nepříjemné info, že nové televizory už nepodporují SCART vstup, už jen HDMI. S využitím pro televizory jsem počítal, na nich jede hezky prokládaný mód 640x480. Což je dost škoda že se o to přijde. Tak jedině buď starší televizor nebo novější s VGA-HDMI převodníkem. Realizovat HDMI u Pico nemá smysl - vyžaduje přetaktování sysclock na 250 MHz, jediné použitelné rozlišení je 640x480 a nedají se používat věci jako překryvné roviny, tedy silně nepraktické využití.
U VGA výstupu stále ještě váhám nad jednou možností - kdyby se jinak přeorganizovaly výstupní piny (shluknout k sobě barevné piny stejné váhy, tj. pořadí R0 G0 B0, R1 G1 B1,...), tak pak by bylo možné dělat výstup s volitelnou barevnou hloubkou. To znamená např. 4-bitová barva rychle přes DMA (bez nutnosti převodu přes palety), 8-bitové pixely, až po 16-bitové pixely. PIO vyžaduje spojitý úsek pinů a proto v současnosti nelze přepínat software mezi 8-bitovým a 16-bitovým výstupem. S touhle konfigurací pinů by to bylo možné přepínat. Ale - takové zařízení obsadí velké množství GPIO a stále mi vychází, že 16-bitový barevný mód se nedá moc využít kvůli málo interní RAM. Jediné praktické využití je přehrávání videa přes rychlý mód SD karty, jak to dělá originální VGA, ale jinak tu není 16-bitový mód smysluplný. Takže měnitelná barevná hloubka ztrácí význam. Šlo by to, je to zajímavá varianta, ale k ničemu, zbytečně by to obsadilo GPIO kterých je vždy málo.
Trochu je nepříjemné info, že nové televizory už nepodporují SCART vstup, už jen HDMI. S využitím pro televizory jsem počítal, na nich jede hezky prokládaný mód 640x480. Což je dost škoda že se o to přijde. Tak jedině buď starší televizor nebo novější s VGA-HDMI převodníkem. Realizovat HDMI u Pico nemá smysl - vyžaduje přetaktování sysclock na 250 MHz, jediné použitelné rozlišení je 640x480 a nedají se používat věci jako překryvné roviny, tedy silně nepraktické využití.
U VGA výstupu stále ještě váhám nad jednou možností - kdyby se jinak přeorganizovaly výstupní piny (shluknout k sobě barevné piny stejné váhy, tj. pořadí R0 G0 B0, R1 G1 B1,...), tak pak by bylo možné dělat výstup s volitelnou barevnou hloubkou. To znamená např. 4-bitová barva rychle přes DMA (bez nutnosti převodu přes palety), 8-bitové pixely, až po 16-bitové pixely. PIO vyžaduje spojitý úsek pinů a proto v současnosti nelze přepínat software mezi 8-bitovým a 16-bitovým výstupem. S touhle konfigurací pinů by to bylo možné přepínat. Ale - takové zařízení obsadí velké množství GPIO a stále mi vychází, že 16-bitový barevný mód se nedá moc využít kvůli málo interní RAM. Jediné praktické využití je přehrávání videa přes rychlý mód SD karty, jak to dělá originální VGA, ale jinak tu není 16-bitový mód smysluplný. Takže měnitelná barevná hloubka ztrácí význam. Šlo by to, je to zajímavá varianta, ale k ničemu, zbytečně by to obsadilo GPIO kterých je vždy málo.
- Panda38
- Příspěvky: 713
- Registrován: 21 lis 2012, 01:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
Vytvořil jsem pro Raspberry Pico novou zobrazovací knihovnu PicoQVGA - značně minimalizovanou, s grafickým módem 320x240/8. Má sloužit hlavně jako tutoriál k použití PIO a DMA na Raspberry Pico. Na stránce je podrobný popis kódu programu. ... Docela mě příjemně překvapilo, že videomód 320x240/8 je v praxi pro většinu aplikací postačující.
projekt: http://www.breatharian.eu/hw/picoqvga/index.html
Github: https://github.com/Panda381/PicoQVGA
projekt: http://www.breatharian.eu/hw/picoqvga/index.html
Github: https://github.com/Panda381/PicoQVGA
- Panda38
- Příspěvky: 713
- Registrován: 21 lis 2012, 01:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
Pico16VGA - 16-barevný VGA displej na Raspberry Pico pro analogový VGA monitor a LCD panel s digitálním paralelním rozhraním (s generátorem hodin 25,2 MHz), rozlišení 640x480/16 barev.
projekt: http://www.breatharian.eu/hw/pico16vga/index.html
GitHub: https://github.com/Panda381/Pico16VGA
projekt: http://www.breatharian.eu/hw/pico16vga/index.html
GitHub: https://github.com/Panda381/Pico16VGA
PicoVGA rozbehano, ted budu osazovat PicoDVI. Mam z JLCPCB navic 5ks desticek, kdyby nekdo chtel taky, tak se podelim.
Jinak na Pico uz beha i Doom
https://www.root.cz/zpravicky/doom-na-m ... y-pi-pico/
Jinak na Pico uz beha i Doom
https://www.root.cz/zpravicky/doom-na-m ... y-pi-pico/