BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Radiocomandi (https://www.baronerosso.it/forum/radiocomandi/)
-   -   FrSky Taranis - Lua scripts per tutti (https://www.baronerosso.it/forum/radiocomandi/353596-frsky-taranis-lua-scripts-per-tutti.html)

TermicOne 17 novembre 16 08:36

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)."

LONGFLYER 17 novembre 16 11:25

Citazione:

Originalmente inviato da TermicOne (Messaggio 4981642)
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.

TermicOne 17 novembre 16 15:01

Citazione:

Originalmente inviato da LONGFLYER (Messaggio 4981703)
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.

marzipane 17 novembre 16 15:43

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

TermicOne 17 novembre 16 15:51

Si devi metterli in SCRIPT/TELEMETRY

TermicOne 17 novembre 16 16:01

Naturalmente dopo aver messo gli script nella directory TELEMETRY devi assegnare ogni script a una pagina di telemetria nella sezione telemetria di companion. Devi definire i sensori come da screeshot allegato e infine definire il timer1 come tempo motore o come tempo volo a seconda di cosa vuoi visualizzare in grande nella pagina.

marzipane 17 novembre 16 16:05

1 Allegato/i
grz TermicOne

si ho controllato i nomi delle variabili e come timer ho il tempo di volo (Mot) ma adesso mi ritrovo questa schermata

che cosa significa?

sinapse75 17 novembre 16 16:53

Citazione:

Originalmente inviato da marzipane (Messaggio 4981861)
grz TermicOne

si ho controllato i nomi delle variabili e come timer ho il tempo di volo (Mot) ma adesso mi ritrovo questa schermata

che cosa significa?

Confermo che anche a me da lo stesso risultato, mentre nel simulatore funziona.
Più tardi provo a smanettarci un pochino, sempre che nel frattempo Luciano non dia la soluzione :D :D :D

Inviato dal mio GT-P7500 utilizzando Tapatalk

marzipane 17 novembre 16 17:12

ti dico io come ho risolto!

1 - cancella il sensore cels dalla pagina telemetria
2 - vai su aggiungi sensore
3 - definisci manualmente il sensore per la batteria come nell'immagine allegata al post

puoi fare anche tutto da opentx e po copiare il modello sulla radio. da me ora funziona

LONGFLYER 17 novembre 16 18:00

Citazione:

Originalmente inviato da TermicOne (Messaggio 4981816)
..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.


Tutti gli orari sono GMT +2. Adesso sono le 01:16.

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/2019 - K-Bits P.I. 09395831002