intenzita LED

Miroslav Mraz mrazik na volny.cz
Sobota Leden 25 10:20:22 CET 2025


Zatím to je jen test, že to jde. S pamětí to není zase tak hrozné - 3 
bity SPI na odeslaný bit stačí. Takže na 1 ledku potřebuji 9 bytů, na 10 
ledek 90 bytů + 90 bytů prodleva. Ten jednorázový DMA bych použil, ale 
až mě napadne k čemu. Spíš zkusím udělat pomocí ADC a FFT "barevnou 
hudbu", kterou jsme dělali jako kluci analogově. Ještě mě nenapadá jak 
kódovat intenzitu a výšku tónu do intenzity, barvy a polohy ledek, aby 
to hezky vypadalo. Odložím to na léto, v přírodě mě snad něco napadne.
Dneska to možná dám na github. Snad se povede i USB, tenhle procesor má 
jen device kontrolér, sice funguje, ale jen ta čínská verze a v té se 
nevyznám, je to divně napsané, chtělo by to upravit aby to mělo nějaké 
rozumnější API. Ale to bude moc práce. Zajímavé je, že tahle řada má v 
těch dražších modelech i HD kontrolér a ten se mi podařilo znásilnit 
skoro bez problémů.

Mrazík

On 24. 01. 25 21:39, Petr Labaj wrote:
> ...
> 
> To generování prodlevy planým odesíláním ale musí vycházet dost náročně 
> na kapacitu paměti, ne?
> Ono už i generování toho protokolu přes SPI asi není zrovna moc 
> optimální. Na rozsvícení jedné LED zřejmě spotřebujete celkem dost paměti.
> Chce to aspoň 5 vyslaných bitů na 1 reálný významový bit, ne? Nebo jste 
> vymyslel nějaký optimalizovaný algoritmus?
> 
> U toho DMA by se zřejmě dal použít jednorázový přenos. Ten by se po 
> jednom cyklu zastavil, a spustil byste ho zase třeba v přerušení od TIKu.
> Případně ho spustil jen když bude příznak změny dat pro zobrazení.
> Tím by automaticky byl vygenerovaná reset puls.
> A snížila by se spotřeba a rušení, protože by přenos jel jen když je co 
> zobrazovat.
> 
> PL
> 
> 


Další informace o konferenci Hw-list