Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Calcolo o Memoria, Array per LED

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] Calcolo o Memoria, Array per LED

Messaggioda Foto UtenteThEnGi » 22 dic 2023, 18:05

Fork di questo topic: Link
Chiedo perché e nata una semi discussione in ufficio

MCU = STM32F1/ qualsiasi MCU a 32bit
Led = 200 * WS2812

Domanda
Per generare giochi di luce è preferibile calcolare al momento la stringa da inviare o leggerla da una memoria esterna ?
Mettiamo che devo fare un fade, faccio prima a calcolarlo o a tenerlo su una memoria esterna e semplicemente leggero e inviarlo ai led ?

Nel caso dell'utilizo di una memoria esterna (Flash ?), i vari array da mandare li genero da PC e li salvo su una SD il micro deve solo leggerli e inviarli ai led (uso cpu basso)
Ipotizando 10 step e arrotondo a 250 per comodità di calcolo:
24bit * 200 * (250/10) = 120 kb
Sono tanti ma ora le memorie ("esterne") costano abbastanza poco

Nel caso del calcolo dovrei usare costantemente il Core M3, voi direte ma tanto non devi farci altro :mrgreen:

Con il Fade è semplice sono tutti valori uguali :mrgreen: ma per qualcosa di più complesso ?
Nel caso dei dati in memoria l'uso/velocità non cambia leggo i miei 5kb e li rinvio, con il calcolo non so come si comporterebbe

Pareri opinioni ?

O_/
Avatar utente
Foto UtenteThEnGi
2.215 3 6 9
Expert EY
Expert EY
 
Messaggi: 2228
Iscritto il: 6 ott 2022, 18:43

0
voti

[2] Re: Calcolo o Memoria, Array per LED

Messaggioda Foto Utenteelfo » 22 dic 2023, 18:53

Controdomanda:

e se uno dovesse/volesse accendere i LED in modo (pseudo)casuale?
Avatar utente
Foto Utenteelfo
6.679 4 5 7
G.Master EY
G.Master EY
 
Messaggi: 2794
Iscritto il: 15 lug 2016, 13:27

0
voti

[3] Re: Calcolo o Memoria, Array per LED

Messaggioda Foto UtenteThEnGi » 22 dic 2023, 19:10

elfo ha scritto:e se uno dovesse/volesse accendere i LED in modo (pseudo)casuale?


Sei un Foto Utenteelfo cattivo :mrgreen:
scusa non ho resistito :oops:

Dovresti generare l'array al momento per forza o accetti di generare a PC un array di X "fotogrammi" casuali e ripeterlo in loop

O_/
Avatar utente
Foto UtenteThEnGi
2.215 3 6 9
Expert EY
Expert EY
 
Messaggi: 2228
Iscritto il: 6 ott 2022, 18:43

0
voti

[4] Re: Calcolo o Memoria, Array per LED

Messaggioda Foto UtenteIlGuru » 16 gen 2024, 13:09

C'è anche una via intermedia, precalcolare i valori dell'array all'inizio o nel momento in cui si decide di cambiare il "gioco" di luci ed utilizzarli poi nel loop.
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
5.317 2 10 13
G.Master EY
G.Master EY
 
Messaggi: 1910
Iscritto il: 31 lug 2015, 23:32

0
voti

[5] Re: Calcolo o Memoria, Array per LED

Messaggioda Foto Utentedjnz » 16 gen 2024, 18:24

Se il calcolo è semplice, e il tempo di calcolo non influisce visibilmente sul tempo di processo, calcolo. Altrimenti LUT.

O, girata al contrario: LUT quando serve velocità, o per configurazioni complesse.
Una domanda ben posta è già mezza risposta.
Avatar utente
Foto Utentedjnz
1.315 1 4 5
Expert
Expert
 
Messaggi: 667
Iscritto il: 26 lug 2020, 14:52

0
voti

[6] Re: Calcolo o Memoria, Array per LED

Messaggioda Foto Utentelelerelele » 17 gen 2024, 10:03

unico motivo per la scelta, secondo me, a parte problemi di velocità di esecuzione, che in qusto caso sono certo non c'entri niente, potrebbe essere la possibilità di cambiare sequenza da PC, nel caso di usare un supporto esterno, per esempio un file di testo che possa essere interpretato per le varie combinazioni, altrimenti tanto vale che sia tutto entro il software.

saluti.
Avatar utente
Foto Utentelelerelele
4.452 3 7 9
Master
Master
 
Messaggi: 5104
Iscritto il: 8 giu 2011, 8:57
Località: Reggio Emilia

0
voti

[7] Re: Calcolo o Memoria, Array per LED

Messaggioda Foto Utentedadduni » 17 gen 2024, 11:53

un grande classico di questi problemi. Credo non si possa risolvere senza avere delle "specifiche" di progetto piu' precise.

- i giochi di luce sono tutti "calcolabili"? Esiste una espressione matematica che li rappresenta?
- possono essere arbitrari?
- quante volte devono cambiare nel tempo? (intendo dire quante volte dirai "voglio togliere/aggiungere un gioco di luce che prima non esisteva proprio)

Se hai intenzione dei cambiarli allora coniene una memoria esterna, altrimenti devi riprogrammare il micro. Se non sono calcolabili allora conviene memoria esterna. Se sono pochi, semplici da scrivere, facilmente calcolabili e hai potenza di calcolo allora risparmiati le LUT e calcolali di volta in volta.


In generale direi di calcolarli a meno di non avere altre condizioni particolari.
Avatar utente
Foto Utentedadduni
1.988 2 7 12
Expert EY
Expert EY
 
Messaggi: 1353
Iscritto il: 23 mag 2014, 16:26

0
voti

[8] Re: Calcolo o Memoria, Array per LED

Messaggioda Foto Utentestefanopc » 17 gen 2024, 12:09

Da ignorante vagamente informato io preferisco il calcolo.
I sensi umani poi non sono esattamente perfetti e c'è un certo margine di approssimazione che permette di poter semplificare abbastanza.
Ciao
600 Elettra
Avatar utente
Foto Utentestefanopc
11,9k 5 9 13
Master EY
Master EY
 
Messaggi: 4932
Iscritto il: 4 ago 2020, 9:11

0
voti

[9] Re: Calcolo o Memoria, Array per LED

Messaggioda Foto UtenteDavideDaSerra » 30 mar 2024, 20:14

La risposta, per me, dipende dalle condizioni al contorno, entrambe le soluzioni sono valide, ma nessuna in senso assoluto.

Vuoi una configurabilità esterna più semplice -> memoria
Hai poca memoria e una cpu potente -> calcolo
Hai CPU potente stressata da altre funzionalità -> memoria
Vuoi effetti (pseudo) casuali -> calcolo
Hai effetti che considerano input esterni (es ritmo musicale) -> calcolo
Hai bisogno della massima predicibilità -> memoria
Avatar utente
Foto UtenteDavideDaSerra
213 1 7
Expert
Expert
 
Messaggi: 279
Iscritto il: 21 gen 2018, 18:41


Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti