Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Radiocomandi


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 17 novembre 16, 10:25   #1 (permalink)  Top
User
 
L'avatar di LONGFLYER
 
Data registr.: 06-09-2008
Messaggi: 11.388
Smile

Citazione:
Originalmente inviato da TermicOne Visualizza messaggio
Grazie LONGFLYER. Non sono certo di aver capito bene ma non mi sembra che nel nostro LUA sia disponibile l'attributo STATIC

"2.3 – Variables
Variables are places that store values. There are three kinds of variables in Lua: global variables, local variables, and table fields.
A single name can denote a global variable or a local variable (or a function's formal parameter, which is a particular kind of local variable):
var ::= Name
Name denotes identifiers, as defined in §2.1.
Any variable is assumed to be global unless explicitly declared as a local (see §2.4.7). Local variables are lexically scoped: local variables can be freely accessed by functions defined inside their scope (see §2.6)."
Ciao, da ciò che riporti si comprende che potresti ottenere il medesimo risultato esecutivo usando Global al posto di Static perdendo lo scope a livello di funzione (lo scope è il campo di utilizzo, cioè in quale pezzo di codice quella variabile opera). Essendo però uno script, percio' tendenzialmente corto (e magari anche il solo) c'e' poco da confondersi prediligendo pertanto l'efficienza funzionale. Se vuoi provare, leggo che una variabile se non specificata diversamente è sempre Global, basterà quindi non usare Static per le variabili da aggiungere (se vuoi puoi anteporre a ciascun nome una g minuscola così da evidenziare ulteriormente la globalità della variabile). Può darsi inoltre che si debba dichiarerà le variabili global fuori dalla funzione (nel caso non funzionasse definirle dentro la funzione).

Buone cose.
__________________
"If flying were the language of man,
soaring would be its poetry."

Ultima modifica di LONGFLYER : 17 novembre 16 alle ore 10:30
LONGFLYER non è collegato   Rispondi citando
Vecchio 17 novembre 16, 14:01   #2 (permalink)  Top
User
 
L'avatar di TermicOne
 
Data registr.: 02-01-2004
Residenza: Vicino a Saronno
Messaggi: 6.998
Citazione:
Originalmente inviato da LONGFLYER Visualizza messaggio
Ciao, da ciò che riporti si comprende che potresti ottenere il medesimo risultato esecutivo usando Global al posto di Static perdendo lo scope a livello di funzione (lo scope è il campo di utilizzo, cioè in quale pezzo di codice quella variabile opera). Essendo però uno script, percio' tendenzialmente corto (e magari anche il solo) c'e' poco da confondersi prediligendo pertanto l'efficienza funzionale. Se vuoi provare, leggo che una variabile se non specificata diversamente è sempre Global, basterà quindi non usare Static per le variabili da aggiungere (se vuoi puoi anteporre a ciascun nome una g minuscola così da evidenziare ulteriormente la globalità della variabile). Può darsi inoltre che si debba dichiarerà le variabili global fuori dalla funzione (nel caso non funzionasse definirle dentro la funzione).
..si avevo visto anch'io questa possibilità (che viene consigliata nei forum LUA quanto fosse necessario avere una funzionalità analoga alle variabili static del C) che ho utilizzato in alcuni casi nei primi script per altre ragioni. E' però riportato che la lettura delle variabili global è assai più lenta della lettura delle variabili local e quindi ero preoccupato che l'utilizzo estensivo di variabili global non andasse poi a detrimento dell'efficienza complessiva dello script....ci farò un approfondimento. Grazie ancora.
TermicOne non è collegato   Rispondi citando
Vecchio 17 novembre 16, 14:43   #3 (permalink)  Top
User
 
L'avatar di marzipane
 
Data registr.: 17-02-2011
Residenza: Rovigo (Cl.Ae.Ro)
Messaggi: 891
scusate ragazzi ma io faccio una domanda proprio base...

sulla radio ho il firmware 2.1.9
ho scaricato gli ultimi due script ma in che cartella li devo mettere sulla sd? continua a dirmi "no script su sd"
ho provato a metterli sotto /script... niente
sotto /script/nome modello... niente

bho ditemi voi
grz

EDIT: ho trovato... nella cartella /script/telemetry giusto? almeno su companion funziona cosi
__________________
Tucano - Sbach342 - Tucano "Cuccolo" - F-22 Pinguino
Come fly with me, let's fly, let's fly away.....
Sito Gruppo Volo

Ultima modifica di marzipane : 17 novembre 16 alle ore 14:47
marzipane non è collegato   Rispondi citando
Vecchio 17 novembre 16, 17:00   #4 (permalink)  Top
User
 
L'avatar di LONGFLYER
 
Data registr.: 06-09-2008
Messaggi: 11.388
Smile

Citazione:
Originalmente inviato da TermicOne Visualizza messaggio
..si avevo visto anch'io questa possibilità (che viene consigliata nei forum LUA quanto fosse necessario avere una funzionalità analoga alle variabili static del C) che ho utilizzato in alcuni casi nei primi script per altre ragioni. E' però riportato che la lettura delle variabili global è assai più lenta della lettura delle variabili local e quindi ero preoccupato che l'utilizzo estensivo di variabili global non andasse poi a detrimento dell'efficienza complessiva dello script....ci farò un approfondimento. Grazie ancora.
Sì approfondisci perché generalmente una variabile globale costa meno in termini di processo: una variabile locale viene creata (istanziata) ed inizializzata all'inizio di funzione/script e poi anche distrutta prima di uscire. Una variabile globale invece è creata ed inizializzata una volta solo. Peraltro come ti dicevo, la variazione di valore di una cella avviene in un tempo notevolmente superiore a quello ciclico dello script, pertanto quest'ultimo passerebbe la maggior parte del tempo a riscrivere il medesimo valore su schermo.
__________________
"If flying were the language of man,
soaring would be its poetry."
LONGFLYER non è collegato   Rispondi citando
Vecchio 17 novembre 16, 21:57   #5 (permalink)  Top
User
 
L'avatar di marzipane
 
Data registr.: 17-02-2011
Residenza: Rovigo (Cl.Ae.Ro)
Messaggi: 891
una domanda tecnica

quali sono i limiti in punti del display? i valori x,y vanno da 0,0 a?
per quanto riguarda i widget esiste una guida? una lista...
__________________
Tucano - Sbach342 - Tucano "Cuccolo" - F-22 Pinguino
Come fly with me, let's fly, let's fly away.....
Sito Gruppo Volo
marzipane non è collegato   Rispondi citando
Vecchio 18 novembre 16, 17:31   #6 (permalink)  Top
User
 
L'avatar di TermicOne
 
Data registr.: 02-01-2004
Residenza: Vicino a Saronno
Messaggi: 6.998
Citazione:
Originalmente inviato da LONGFLYER Visualizza messaggio
Ciao, da ciò che riporti si comprende che potresti ottenere il medesimo risultato esecutivo usando Global al posto di Static perdendo lo scope a livello di funzione (lo scope è il campo di utilizzo, cioè in quale pezzo di codice quella variabile opera). Essendo però uno script, percio' tendenzialmente corto (e magari anche il solo) c'e' poco da confondersi prediligendo pertanto l'efficienza funzionale. Se vuoi provare, leggo che una variabile se non specificata diversamente è sempre Global, basterà quindi non usare Static per le variabili da aggiungere (se vuoi puoi anteporre a ciascun nome una g minuscola così da evidenziare ulteriormente la globalità della variabile). Può darsi inoltre che si debba dichiarerà le variabili global fuori dalla funzione (nel caso non funzionasse definirle dentro la funzione).
Il suggerimento di LONGFLYER mi ha fatto scoprire una cosa interessante di LUA.

Ho provato quello che avevo trovato scritto in un forum (riportato qualche post fa) ed effettivamente funziona.

Se serve una variabile statica è possibile definirla global; in questo caso è statica ma visibile da tutti gli altri LUA script e da OpenTX, con i relativi vantaggi e svantaggi.

Se serve una variabile statica limitatamente ad uno script si puo' definirla local fuori dalla funzione; la variabile si comporta proprio come una variabile statica ma rimane local allo script (e non è quindi visibile negli altri script).

Ora possiamo applicare il suggerimento per ottimizzare il codice....
TermicOne non è collegato   Rispondi citando
Vecchio 19 novembre 16, 00:22   #7 (permalink)  Top
User
 
L'avatar di LONGFLYER
 
Data registr.: 06-09-2008
Messaggi: 11.388
Smile

Citazione:
Originalmente inviato da TermicOne Visualizza messaggio
Il suggerimento di LONGFLYER mi ha fatto scoprire una cosa interessante di LUA.

Ho provato quello che avevo trovato scritto in un forum (riportato qualche post fa) ed effettivamente funziona.

Se serve una variabile statica è possibile definirla global; in questo caso è statica ma visibile da tutti gli altri LUA script e da OpenTX, con i relativi vantaggi e svantaggi.

Se serve una variabile statica limitatamente ad uno script si puo' definirla local fuori dalla funzione; la variabile si comporta proprio come una variabile statica ma rimane local allo script (e non è quindi visibile negli altri script).

Ora possiamo applicare il suggerimento per ottimizzare il codice....
Hai compreso tutto! Buon lavoro
__________________
"If flying were the language of man,
soaring would be its poetry."
LONGFLYER non è collegato   Rispondi citando
Vecchio 23 novembre 16, 19:08   #8 (permalink)  Top
User
 
L'avatar di marzipane
 
Data registr.: 17-02-2011
Residenza: Rovigo (Cl.Ae.Ro)
Messaggi: 891
ringraziandoti ancora per lo script volevo chiederti però perché la terza barra è diversa dalle altre due?

grz
Icone allegate
FrSky Taranis - Lua scripts per tutti-screen-2016-11-23-190221.jpg  
__________________
Tucano - Sbach342 - Tucano "Cuccolo" - F-22 Pinguino
Come fly with me, let's fly, let's fly away.....
Sito Gruppo Volo
marzipane non è collegato   Rispondi citando
Vecchio 23 novembre 16, 19:50   #9 (permalink)  Top
User
 
L'avatar di TermicOne
 
Data registr.: 02-01-2004
Residenza: Vicino a Saronno
Messaggi: 6.998
Citazione:
Originalmente inviato da marzipane Visualizza messaggio
....perché la terza barra è diversa dalle altre due?
La barra nera rappresenta la tensione attuale della cella. La barra bianca rappresenta la tensione minima raggiunta dalla cella nel periodo di tempo. Quando attacchi la batteria, anche se non accendi il motore, puo' capitare che il sensore senta una variazione momentanea di tensione e lo script la registra. Dopo aver collegato la batteria se vuoi vedere tutto pulito puoi fare un reset telemetry tenendo premuto il tasto enter. Naturalmente puoi anche non farlo perchè quando accendi il motore la tensione di tutte le celle scende regolarmente e tutto sembra più regolare.
TermicOne non è collegato   Rispondi citando
Vecchio 23 novembre 16, 20:59   #10 (permalink)  Top
User
 
L'avatar di LONGFLYER
 
Data registr.: 06-09-2008
Messaggi: 11.388
Smile

Citazione:
Originalmente inviato da TermicOne Visualizza messaggio
La barra nera rappresenta la tensione attuale della cella. La barra bianca rappresenta la tensione minima raggiunta dalla cella nel periodo di tempo. Quando attacchi la batteria, anche se non accendi il motore, puo' capitare che il sensore senta una variazione momentanea di tensione e lo script la registra. Dopo aver collegato la batteria se vuoi vedere tutto pulito puoi fare un reset telemetry tenendo premuto il tasto enter. Naturalmente puoi anche non farlo perchè quando accendi il motore la tensione di tutte le celle scende regolarmente e tutto sembra più regolare.
Ciao, magari hai già ottimizzato lo script? Hai potuto notare la differenza effettuando un testo specifico?
Non so come hanno realizzato il software della Taranis (dovrei dare un'occhiata al codice ...), ed è possibile che gli script LUA siano eseguiti in bassa priorità, ma a scanso di equivoci, conviene essere efficaci negli script LUA
__________________
"If flying were the language of man,
soaring would be its poetry."
LONGFLYER non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Messaggio
Taranis e LUA script badtime Radiocomandi 2 02 giugno 18 14:12
Lua file per telemetria su taranis plus 2.1 ludiga Radiocomandi 0 16 settembre 15 13:23
Frsky Taranis salvatoremadasa Compro 1 29 aprile 15 22:16
Frsky Taranis Plus gallma Merc. Motori ed Elettronica 1 29 aprile 15 08:12
FrSky Taranis microchip Compro 11 01 aprile 15 23:49



Tutti gli orari sono GMT +2. Adesso sono le 11:18.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2026
www.baronerosso.it - www.toymagazine.it