Stránka 1 z 1

PicoVGA - displej VGA/TV na Raspberry Pico

Napsal: 10 čer 2021, 11:41
od Panda38
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

Napsal: 10 čer 2021, 12:05
od Zmije
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.

Napsal: 10 čer 2021, 12:59
od Panda38
O Githubu jsem už i uvažoval a díval se na to, ale stále ho jaksi neumím použít abych to tam dal. :-(

Napsal: 10 čer 2021, 14:11
od Zmije
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

Napsal: 10 čer 2021, 20:47
od Panda38
PicoVGA na Githubu: https://github.com/Panda381/PicoVGA

Děkuji moc za pomoc!

Napsal: 13 čer 2021, 00:05
od Zerog

Napsal: 16 čer 2021, 16:48
od Zmije
Seriál na mcu.cz

Napsal: 17 čer 2021, 01:21
od Panda38
Dostal jsem dotaz, jak v PicoVGA rozdělit HSYNC a VSYNC. Nejjednodušší je tento postup:
- Nastavit VSYNC pin na výstup.
- Jít do funkce VgaLine (v vga.cpp), před switch(linetype). Doplnit:
if (linetype==LINE_VSYNC), potom nastavit VSYNC pin na LOW, jinak na HIGH.

Napsal: 22 čer 2021, 14:10
od Zmije
Šlo by to připravit pomocí podmíněného překladu?

Např. do x_config.h přidat

DEFINE += -DHSYNC_VSYNC_DIV

do kódu pak
#ifdef HSYNC_VSYNC_DIV
if (linetype==LINE_VSYNC) {
.....
}
#endif

Ten pin by se taky mohl někde definovat.

Napsal: 23 čer 2021, 09:31
od Panda38
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.

Napsal: 17 zář 2021, 10:36
od Panda38
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

Napsal: 28 pro 2021, 11:10
od Panda38
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

Napsal: 24 led 2022, 20:50
od RayeR
Budem s kolegou obejdvavat par Pico z PiShopu za 109Kc, tak chcete-li se nekdo z Prahy pripojit k objednavce... (objednam asi zitra nebo pozitri vecer)

Napsal: 08 dub 2022, 02:07
od RayeR
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/

Napsal: 21 dub 2022, 13:22
od RayeR