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 gennaio 16 18:27

FrSky Taranis - Lua scripts per tutti
 
1 Allegato/i
Una tra le caratteristiche più interessanti di Open TX è la possibilità di estendere le funzioni disponibili della nostra Taranis (che sono già tantissime) con scripts in linguaggio Lua.

Ma questa funzionalità è davvero per tutti o è riservata solo ai guru dell'informatica?

Non mi sono mai avvicinato a questa funzionalità perchè intimorito dal fatto di mettersi ad imparare a 65 anni suonati il linguaggio Lua solo per aggiungere qualche funzionalità ad una radio ....che ne ha già fin troppe!

La possibilità però di disegnare a piacimento delle schermate popolate solo delle informazioni che servono, con caratteri belli grandi e leggibili senza occhiali intanto che si vola e facendo magari anche qualche piccolo calcolo, mi ha stimolato e ho provato ad avventurarmi.

Ho così scoperto che nonostante il linguaggio preveda numerosissimi comandi e funzioni (tanti da perdersi) in fondo si riescono a fare molte cose dal risultato (per me) sorprendente usando solo pochissimi statements dalla sintassi assai semplice.

Lasciando le funzioni più complesse agli esperti penso che la maggior parte di noi si possa avventurare a scrivere poche righe di codice per costruire semplicissimi scripts per generare variabili calcolate (model scripts) e soprattutto disegnare pagine con solo le informazioni che servono durante il volo (telemetry scripts) visualizzate nel modo che ci è più utile.

Penso che possa essere utile mettere in comune questo percorso sia per condividere con altri questo "approccio semplice" ai Lua scripts (non ho trovato un "Taranis Lua scripts for dummies"), sia perchè magari qualche esperto potrà darci commenti e suggerimenti... ...mantenendosi però rigorosamente sulla strada della assoluta semplicità.

Naturalmente possiamo usare questo thread anche per condividere i nostri semplici scripts che magari faranno sorridere i più esperti ma potranno essere di ispirazione anche per altri.

Al momento sto usando la versione 2.0.19 di OpenTx e di Companion.

Luciano

TermicOne 17 gennaio 16 18:34

Risorse
 
Non ho trovato dei tutorial sufficientemente "for dummies" e quindi ho usato questi reference guide:

https://docs.google.com/document/d/1...h.d47rzdjza6kz

https://opentx.gitbooks.io/opentx-lu...guide/content/

Particolarmente utili come guida introduttiva sono le due simpatiche paginette linkate qui:

Grad School | OpenTX University


Una delle cose più interessanti di questi Lua Scripts è che si possono testare interamente usando il simulatore nel Companion per poi passarli sulla radio solo quando funzionano. Per fare questo è comodo avere sul PC una cartella con la copia delle directories della SD della radio e fare in modo che Companion nel "Setting" utilizzi quella cartella.

Per creare i nostri script, visto che saranno semplici, si puo' usare anche il "blocco note".

Una delle cose invece più antipatiche è che non è comodo trovare gli errori perchè non ho trovato come fare un debugging decente. Se manca una virgola lo script non gira dicendo <error> e sono cavoli amari trovare l'errore, spesso per esclusione.

Un'altra cosa antipatica è che mi sono imbattuto in comandi che funzionano perfettamente su Companion ma che non sono riuscito a far girare sulla Taranis. Negli esempi che seguiranno ho messo solo i comandi che girano in entrambi gli ambienti.

TermicOne 17 gennaio 16 18:38

Including Lua in OpenTX Download
 
Per iniziare potete usare anche solo Companion e provare i vostri primi scripts.

Se invece volete provarli anche sulla radio occorre configurare la vostra Taranis in modo che supporti Lua. Il supporto Lua è infatti una delle opzioni che generano un firmware da caricare sulla radio.

E' tutto molto semplice. Occorre solo seguire il capitoletto "Including Lua in OpenTX Download" nella guida introduttiva linkata sopra.

TermicOne 17 gennaio 16 19:18

Telemetry scripts
 
1 Allegato/i
Mi è sembrato che gli script più semplici e più utili siano quelli che configurano nuove pagine di telemetria.

Per creare nuove pagine di telemetria è sufficiente creare nella directory SCRIPTS della SD una subdirectory con il medesimo nome del modello in uso. In questa subdirectory verranno messi gli script lua che creano le nuove pagine di telemetria per quel modello.

Ad esempio il mio modello si chiama INSIDE-F5J quindi ho messo il mio primo script telem1.lua nella SD (e nel PC) nella directory \SCRIPTS\INSIDE-F5J\telem1.lua

TermicOne 17 gennaio 16 19:25

Primo script per creare una pagina telemetry di esempio
 
1 Allegato/i
Provate a creare il file telem1.lua nella subdirectory con il nome del vostro modello usando un editor di testo qualsiasi, anche blocco note va bene:

Codice:

local function run()
 
  tempoVolo = model.getTimer(0)

  lcd.drawTimer(100, 1, tempoVolo.value, XXLSIZE)
       
end

return { run=run }

Se tutto è configurato bene e avete salvato telem1.lua nella subdirectory con il nome del vostro modello allora potrete vedere che nel simulatore Taranis di Companion c'è una nuova pagina di telemetria con il timer1 scritto bello grosso in posizione 100 sulla riga 1 (vedi immagine allegata).

Ora possiamo creare le nostre pagine personalizzate mettendo quello che vogliamo visualizzare tra

Codice:

local function run()
e

Codice:

end

return { run=run }


TermicOne 17 gennaio 16 19:36

I comandi da mettere nello script come sopra che ho trovato particolarmente utili e che ho provato sono:

Per leggere i timer
model.getTimer(0)
model.getTimer(1)

esempio:
Codice:

tempoVolo = model.getTimer(0)
Per visualizzare un timer
lcd.drawTimer(x, y, value, flags)
esempio:
Codice:

lcd.drawTimer(100, 1, tempoVolo.value, XXLSIZE)
Per visualizzare un canale qualsiasi (vedi lista)
lcd.drawChannel(x, y, value, flags)
esempio:
Codice:

lcd.drawChannel(26, 48, "tx-voltage", DBLSIZE)
Per visualizzare un testo
lcd.drawText(x, y, text, flags)
esempio:
Codice:

lcd.drawText(100, 45, "tempo volo", 0)
Per disegnare righe di separazione
lcd.drawLine(x1, y1, x2, y2, pattern, flags)
esempio:
Codice:

lcd.drawLine(0, 39, 89, 39, SOLID, 0)
Per maggiori dettagli potete consultare i reference guide linkati nei primi post, ma anche solo con questi 5 tipi di comandi si possono creare telemetry pages che mi sembrano particolarmente interessanti.

TermicOne 17 gennaio 16 19:45

1 Allegato/i
A titolo di esempio ecco un semplice script che usa unicamente i comandi sopra riportati con i quali si possono fare molto semplicemente pagine anche ricche e complesse.

Le righe che iniziano con "--" sono commenti e possono essere omesse


Codice:

local function run()
 
          -- leggi tempo volo corrente da timer1
        tempoVolo = model.getTimer(0)
       
        -- leggi tempo motore totale da timer2
        tempoMotore = model.getTimer(1)
       
        -- display tempo motore totale
        lcd.drawText(1, 1, "tempo motore", 0) 
        lcd.drawTimer(1, 12, tempoMotore.value, DBLSIZE)

        -- display tensione batterie TX e RSSI
        lcd.drawText(5, 41, "batt", SMLSIZE)
        lcd.drawText(68, 41, "rssi", SMLSIZE) 
        lcd.drawChannel(26, 48, "tx-voltage", DBLSIZE)
        lcd.drawChannel(87, 48, "rssi", DBLSIZE)       

        -- display tempo volo in grande
        lcd.drawTimer(100, 1, tempoVolo.value, XXLSIZE)
        lcd.drawText(100, 45, "tempo volo", 0)
       
        -- righe divisorie
        lcd.drawLine(90, 0, 90, 70, SOLID, 0)
        lcd.drawLine(0, 39, 89, 39, SOLID, 0)

end

return { run=run }


lambdafly 17 gennaio 16 19:46

Complimenti per l'ottima iniziativa, sicuramente darà la spinta che manca a molti per iniziare a sviluppare script LUA.

TermicOne 17 gennaio 16 19:51

Citazione:

Originalmente inviato da lambdafly (Messaggio 4824792)
...sicuramente darà la spinta che manca a molti per iniziare a sviluppare script LUA.

...grazie lamdafly...mi auguro che altri amici si avventurino in questo ambiente che all'inizio sembra un pochino ostico ma che apre un sacco di possibilità...

..e che in fondo non è poi tanto difficile se un pensionato di 65 anni è riuscito a farci qualcosa....:old:

Luciano

alevilla 17 gennaio 16 21:45

1 Allegato/i
Citazione:

Originalmente inviato da TermicOne (Messaggio 4824735)
Una delle cose invece più antipatiche è che non è comodo trovare gli errori perchè non ho trovato come fare un debugging decente. Se manca una virgola lo script non gira dicendo <error> e sono cavoli amari trovare l'errore, spesso per esclusione.

Seguo la discussione con interesse.
Per lavoro, quando devo scrivere del codice, uso Notepad++ che ho scoperto avere la possibilità di settare come linguaggio proprio LUA.
Non è un debugger, ma aiuta visivamente a vedere se tutto è stato scritto nella maniera corretta, soprattutto quando hai diversi processi annidati.
Inoltre non costa nulla e volendo non necessita neanche di installazione. Io stesso uso la versione portable.
Allego schermata.

In attesa di altri post, ti faccio i complimenti per l'iniziativa.

Saluti
Alevilla

TermicOne 17 gennaio 16 22:05

Si...anch'io uso notepad++ ...e' davvero molto comodo per scrivere codice e ti aiuta a tenere tutto ordinato.

LONGFLYER 17 gennaio 16 22:14

Citazione:

Originalmente inviato da TermicOne (Messaggio 4824797)
...grazie lamdafly...mi auguro che altri amici si avventurino in questo ambiente che all'inizio sembra un pochino ostico ma che apre un sacco di possibilità...

..e che in fondo non è poi tanto difficile se un pensionato di 65 anni è riuscito a farci qualcosa....:old:

Luciano

Mi accodo ai complimenti che già Ti hanno rivolto per aggiungerci anche i miei :)

Complimenti per l'iniziativa malgrado l'età che, a questo punto, è solo anagrafica perchè biologicamente ne mostri molti meno :clap:

romoloman 17 gennaio 16 22:16

Valutate anche pspad, per molti versi lo considero superiore a notepad+

akrobaticone 17 gennaio 16 22:44

Ciao Romolo
per Linux cosa consigli?

romoloman 17 gennaio 16 22:46

Citazione:

Originalmente inviato da akrobaticone (Messaggio 4824953)
Ciao Romolo
per Linux cosa consigli?

Io uso kate

akrobaticone 17 gennaio 16 22:50

Citazione:

Originalmente inviato da romoloman (Messaggio 4824956)
Io uso kate

non ci avevo pensato
funziona
grazie
potrebbe essere interessante raccogliere gli script e dividerli per categorie
il problema è dove e come

BBC25185 17 gennaio 16 23:55

1 Allegato/i
Aggiungo anche la mia...
Con le ultime versioni di OpenTx, non serve piú creare la cartella del modello dentro Telemetry... basta inserirla nella cartella Telemetry e selezionare script con il file giusto sui setup nelle pagine della telemetria...

Per quanto riguarda un codice, inserisco un ZIP di una telemetria che uso abbinato a CleanFlight...
Praticamente, con una schermata, mi restituisce:
1) Tensione Batteria di volo (in modo numerico e grafico)
2) Consumo di corrente (solo in modo numerico)
3) Modalitá di volo (Estrapolato dalla posizione degli switch che, nel mio caso, é il B per Acro, Angle e Horizon e il C per Baro e Baro+Mag)
4) Timer 1 in modo numerico
5) Una icona che mi indica se stá registrando il file di LOG o no (estrapolato dalla lettura dello Switch logico L1)
6) Stato segnale RX RSSI...

Nel mio mezzo, giusto per dare una indicazione di come faccio ad avere tutte queste cose, uso Cleanflight collegato in PPM per i comandi e con una porta seriale sulla telemetria della RX D4RII...

Ha... il codice non é completamente mio... é un derivato che viene da un'altra telemetria che era studiata per il Phantom... Purtroppo non mi ricordo dove lo avevo preso e chi lo aveva fatto e negli originali non é presente nessun credit!!!

TermicOne 18 gennaio 16 07:09

Citazione:

Originalmente inviato da BBC25185 (Messaggio 4825024)
...
Con le ultime versioni di OpenTx, non serve piú creare la cartella del modello dentro Telemetry... basta inserirla nella cartella Telemetry e selezionare script con il file giusto sui setup nelle pagine della telemetria...

Avevo letto che nella 2.1 si fa così ma non avevo avuto conferme quindi non l'ho citata. Grazie della segnalazione.

marzipane 18 gennaio 16 10:27

mi sono sempre chiesto di come fosse questo linguaggio LUA...
leggendo già qualche esempio adesso fa meno paura...

mi cimenterò anche io in qualcosa...

direi pero di mantenere pulita questa discussione rimanendo in tema e senza farla diventare quel groviglio di domande/richieste/risposte/commenti...

sarebbe meglio postare i file dei propri script con una spiegazione...

quindi mi taccio io per primo

ash26 18 gennaio 16 21:40

Complimenti Luciano
 
Ciao Luciano e a tutti ... sono passato a x9E con Marco Generali per gli alianti. La trovo grandiosa per le infinite cose che gli fai fare...
Ti seguo alla grande e con attenzione e complimenti

Paolo De Luca

akrobaticone 19 gennaio 16 09:18

Foglio di calcolo PredimRc in LUA
https://drive.google.com/folderview?...p=sharing#list

gugu_ 21 gennaio 16 23:25

script per phantom2+anysense+taranis con companion 2.1.7
 
3 Allegato/i
grandissimo termic!
Io metto il mio script (mooolto da neofita), funziona su phantom2 + anysense + companion 2.1.7 (taranis x9d+ e ricevente x8r)
lo script lua per la telemetria è semplicemente copiato ed accrocchiato da altri script che funzionavano per anysense e zaggometry (ollimetry e frostie).
quindi li ho semplicemente inseriti in una schermata....lo script sicuro ha qualche cappella e decisamente non è ottimizzato. Però secondo me può essere utile.

E' inoltre molto utile (per possessori di phantom) il monitoraggio delle celle e l'indicatore di direzione.
Metto delle immagini della schermata e della telemetria che ho impostato. Più un paio di link a due filmetti veloci e un bel po' sfocati che ho messo.


https://drive.google.com/open?id=0By...Hc3ay03N3hrRHc

https://www.youtube.com/watch?v=Sc4tJa4H-A0

https://www.youtube.com/watch?v=WlAvNqrlmIk

Carmelo1712 22 gennaio 16 00:20

Citazione:

Originalmente inviato da gugu_ (Messaggio 4828885)
grandissimo termic!
Io metto il mio script (mooolto da neofita), funziona su phantom2 + anysense + companion 2.1.7 (taranis x9d+ e ricevente x8r)
lo script lua per la telemetria è semplicemente copiato ed accrocchiato da altri script che funzionavano per anysense e zaggometry (ollimetry e frostie).
quindi li ho semplicemente inseriti in una schermata....lo script sicuro ha qualche cappella e decisamente non è ottimizzato. Però secondo me può essere utile.

E' inoltre molto utile (per possessori di phantom) il monitoraggio delle celle e l'indicatore di direzione.
Metto delle immagini della schermata e della telemetria che ho impostato. Più un paio di link a due filmetti veloci e un bel po' sfocati che ho messo.


https://drive.google.com/open?id=0By...Hc3ay03N3hrRHc

https://www.youtube.com/watch?v=Sc4tJa4H-A0

https://www.youtube.com/watch?v=WlAvNqrlmIk

Bravo gugu, non ci capisco nulla, e per questo che ti faccio una domanda... potrei usarlo su una fc a2?

akrobaticone 24 gennaio 16 15:01

Un po di scripts

R/C Settings - Lua Scripts

gugu_ 24 gennaio 16 18:21

Citazione:

Originalmente inviato da Carmelo1712 (Messaggio 4828910)
Bravo gugu, non ci capisco nulla, e per questo che ti faccio una domanda... potrei usarlo su una fc a2?

io come sensore di telemetria sto usando anysense, che è specifico per phantom2 e quindi per Naza. anysense si attacca infatti tramite una can-bus al compass del phantom2 (anysense ha due can-bus, in una ci attacchi il compass e nell'altra io ci ho messo il miniosd).
Se guardi su internet ciò che supporta anysense ufficialmente è: DJI Wookong M, DJI Naza-M, DJI Naza-M V2, DJI Phantom 2, DJI Phantom 1.
Anche A2 usa la can-bus, ma non so cosa "sputi fuori".
Quindi indicativamente non è così scontato che supporti A2. Prova a mandare una mail ai tipi di anysense....
Sicuro, se va bene, qualche sistemata ai nomi delle variabili ed alle costanti (tipo voltaggio max e min delle lipo che usi) lo dovrai fare nello script.

TermicOne 25 gennaio 16 20:33

Autonomy 2016
 
4 Allegato/i
Sempre a scopo didattico e per capire cosa si puo' fare sono andato avanti a pasticciare con lua con questi tre semplici script che insieme realizzano due schermate di telemetria per le nuove gare di AUTONOMY 2016 (vedi regolamento).

L'obiettivo è di poter avere sotto controllo sulla TARANIS il tempo volo, il tempo motore del volo che si sta facendo e il tempo motore complessivamente utilizzato nei diversi voli della competizione. Poichè la telemetria non è consentita si stima il guadagno di quota ottenuto sotto motopre (complessivo e del singolo volo) in base ad un rateo medio di salita pre-impostato.

http://www.baronerosso.it/forum/atta...9&d=1453749827

Gli script vanno copiati nella directory SCRIPTS. I due script telem1.lua e telem4.lua vanno copiati nell subdirectory con il nome del modello in uso. Lo script TimerMot1.lua va copiato nella subdirectory MIXES

Nella Taranis occorre definire il Timer1 come countdown del tempo volo e il Timer2 come timer del tempo motore totale da resettare a fine gara solo manualmente (persistent) in modo da non perdere il dato se si spegne la TX tra un volo e l'altro.
Occorre inoltre inserire nella variabile globale GV2 il rateo medio di salita misurato precedentemente in telemetria o dai log. Con le solite funzioni si possono attivare gli annunci vocali del timer del tempo volo e del timer del tempo motore del singolo volo e/o del tempo motore totale.

Il reset del volo corrente viene effettuato dal logical switch 17, da attivare come si vuole.

Lo script TimerMot1.lua calcola il tempo motore del volo corrente e il numero di voli effettuati. Lo script va assegnato ad un LUA nei Custom Scripts

Lo script telem1.lua visualizza il tempo volo corrente, il tempo motore corrente, il tempo motore totale di tutti i voli effettuati, una stima dell'altezza guadagnata sotto motore sulla base del tempo motore per il rateo di salita impostato e una stima del guadagno complessivo di altezza sempre sulla base del rateo medio di salita impostato.

Lo script telem4.lua visualizza una tabellina con l'elenco dei tempi motore utilizzati nei singoli voli. Al momento la tabellina dei singoli voli non viene scritta nella eeprom e quindi si perde allo spegnimento della radio. Quando capirò come si fa a salvare su EEPROM non si perderà più.

http://www.baronerosso.it/forum/atta...0&d=1453749832

Gli script sono costruiti sempre con i medesimi pochissimi statements elencati alcuni post fa e sono commentati per maggiore comprensione. Per eventuali chiarimenti sono qui. Sarò grato a chi mi vorrà far risparmiare tempo e mi spiega come si fa a salvare un vettore su eeprom nel modo più semplice possibile.:D

Luciano

TermicOne 29 gennaio 16 20:27

LUA Scripts per allenamento alla AUTONOMY 2016
 
3 Allegato/i
Ho provato a cercare ma con OpenTX 2.0 non sembra esserci modo di accedere al file system per salvare dati.

L'unico modo che ho trovato per salvare qualche variabile che si vuole mantenere anche a radio spenta è quello di salvarne il valore in una Global Variable dei Flight Modes usando gli appositi comandi per leggere e scrivere le GV:

model.getGlobalVariable(gvar, flightmode)
model.setGlobalVariable(gvar, flightmode, value)


Con questi nuovi (per me) comandi e con i pochi listati nei post precedenti ho provato a scrivere alcuni scripts per le gare di Autonomy 2016.

Nello zip allegato ci sono un model script (autonomy.lua) da mettere nella directory /SCRIPTS/MIXES/ e due telemetry scripts (telem5.lua e telem6.lua) da mettere nella directory /SCRIPTS/nome modello/ . Con questi scripts è possibile simulare e provare una gara Autonomy 2016 anche senza logger Multi2, utilizzando solamente le funzioni di telemetria garantite dal sensore barometrico FrSky. L'obiettivo è di poter provare ad effettuare una simulazione completa sia semplicemente per provare sia per allenarsi senza dover accedere al logger durante i voli, leggendo tutto in tempo reale sullo schermo della TARANIS. Naturalmente il logger, se disponibile, si puo' lasciare collegato per poter poi leggere comodamente a casa il log dei voli.

Ho rilevato che il sensore barometrico di FrSky ha una lettura sensibilmente diversa dai sensori di RC Electronics usati in Autonomy. Il model script autonomy.lua utilizza quindi un valore memorizzato nella Global Variable1 del Flight Mode 8 per applicare un correttivo. Nel mio caso ho visto che applicando un correttivo di 1,18 i valori di altezza del sensore FrSky e dei sensori RC Electronics corrispondono perfettamente. Nella GV1 del FM8 ho quindi inserito 118.

Il timer1 (countdown) calcola il tempo volo mentre il timer2 (persistent) mantiene il conto del tempo motore complessivo dei vari voli.
Lo script durante il volo calcola il valore di altezza corretto, il guadagno di quota con motore acceso (Logical Switch 11 on = motore acceso) e il tempo motore. Durante il reset (fatto con Logical Switch 17) aggiorna il numero voli e il guadagno totale di quota che vengono salvati nelle GV2 e GV3 del FM8 in modo da non perderne il valore se si spegne la radio tra un volo e l'altro.

A inizio sessione di voli si resetta il timer2 a 0 (resettato manualmente) e il successivo reset (sempre con LS17) resetta tutti i valori salvati a 0.

La pagina generata da telem5.lua riassume tutti i valori della sessione dei voli mentre la pagina generata da telem6.lua è una pagina che trovo comodo usare durante il volo. Naturalmente durante le gare Autonomy 2016 i dati di quota in telemetria non sono disponibili ma trovo che durante gli allenamenti una occhiata ai dati di altezza possono essere utili per farsi un po' l'occhio alle quote in rapporto al tempo motore.

http://www.baronerosso.it/forum/atta...2&d=1454095274

http://www.baronerosso.it/forum/atta...3&d=1454095279


Gli scripts usano solo i pochi statements elencati nei post precedenti e sono commentati per maggiore comprensione.

Tutti i valori sono disponibili alle Special Functions di Taranis per poter essere usati negli annunci vocali, suoni, allarmi, vibrazioni, ecc. ecc.

Luciano

fanno 26 febbraio 16 17:40

Citazione:

Originalmente inviato da TermicOne (Messaggio 4835599)
Ho provato a cercare ma con OpenTX 2.0 non sembra esserci modo di accedere al file system per salvare dati.

L'unico modo che ho trovato per salvare qualche variabile che si vuole mantenere anche a radio spenta è quello di salvarne il valore in una Global Variable dei Flight Modes usando gli appositi comandi per leggere e scrivere le GV:

model.getGlobalVariable(gvar, flightmode)
model.setGlobalVariable(gvar, flightmode, value)


Con questi nuovi (per me) comandi e con i pochi listati nei post precedenti ho provato a scrivere alcuni scripts per le gare di Autonomy 2016.

Nello zip allegato ci sono un model script (autonomy.lua) da mettere nella directory /SCRIPTS/MIXES/ e due telemetry scripts (telem5.lua e telem6.lua) da mettere nella directory /SCRIPTS/nome modello/ . Con questi scripts è possibile simulare e provare una gara Autonomy 2016 anche senza logger Multi2, utilizzando solamente le funzioni di telemetria garantite dal sensore barometrico FrSky. L'obiettivo è di poter provare ad effettuare una simulazione completa sia semplicemente per provare sia per allenarsi senza dover accedere al logger durante i voli, leggendo tutto in tempo reale sullo schermo della TARANIS. Naturalmente il logger, se disponibile, si puo' lasciare collegato per poter poi leggere comodamente a casa il log dei voli.

Ho rilevato che il sensore barometrico di FrSky ha una lettura sensibilmente diversa dai sensori di RC Electronics usati in Autonomy. Il model script autonomy.lua utilizza quindi un valore memorizzato nella Global Variable1 del Flight Mode 8 per applicare un correttivo. Nel mio caso ho visto che applicando un correttivo di 1,18 i valori di altezza del sensore FrSky e dei sensori RC Electronics corrispondono perfettamente. Nella GV1 del FM8 ho quindi inserito 118.

Il timer1 (countdown) calcola il tempo volo mentre il timer2 (persistent) mantiene il conto del tempo motore complessivo dei vari voli.
Lo script durante il volo calcola il valore di altezza corretto, il guadagno di quota con motore acceso (Logical Switch 11 on = motore acceso) e il tempo motore. Durante il reset (fatto con Logical Switch 17) aggiorna il numero voli e il guadagno totale di quota che vengono salvati nelle GV2 e GV3 del FM8 in modo da non perderne il valore se si spegne la radio tra un volo e l'altro.

A inizio sessione di voli si resetta il timer2 a 0 (resettato manualmente) e il successivo reset (sempre con LS17) resetta tutti i valori salvati a 0.

La pagina generata da telem5.lua riassume tutti i valori della sessione dei voli mentre la pagina generata da telem6.lua è una pagina che trovo comodo usare durante il volo. Naturalmente durante le gare Autonomy 2016 i dati di quota in telemetria non sono disponibili ma trovo che durante gli allenamenti una occhiata ai dati di altezza possono essere utili per farsi un po' l'occhio alle quote in rapporto al tempo motore.

http://www.baronerosso.it/forum/atta...2&d=1454095274

http://www.baronerosso.it/forum/atta...3&d=1454095279


Gli scripts usano solo i pochi statements elencati nei post precedenti e sono commentati per maggiore comprensione.

Tutti i valori sono disponibili alle Special Functions di Taranis per poter essere usati negli annunci vocali, suoni, allarmi, vibrazioni, ecc. ecc.

Luciano

Grazie Luciano mi hai aperto un mondo nuovo sulla telemetria della taranis.Ora mi cimento pure io a studiare qualcosa.Ciao

iottand 29 marzo 16 13:33

mi iscrivo alla discussione

nerowoss 30 marzo 16 19:30

scripts lua
 
Citazione:

Originalmente inviato da TermicOne (Messaggio 4824763)
Mi è sembrato che gli script più semplici e più utili siano quelli che configurano nuove pagine di telemetria.

Per creare nuove pagine di telemetria è sufficiente creare nella directory SCRIPTS della SD una subdirectory con il medesimo nome del modello in uso. In questa subdirectory verranno messi gli script lua che creano le nuove pagine di telemetria per quel modello.

Ad esempio il mio modello si chiama INSIDE-F5J quindi ho messo il mio primo script telem1.lua nella SD (e nel PC) nella directory \SCRIPTS\INSIDE-F5J\telem1.lua

ciao, scusami se ti chiedo un po' d'aiuto, ho fatto quello che dici tu, per provare uno script solo in Companion 2.1.7, in Settings seleziono la SD da cui leggere, poi in Companion apro il mio modello, ma non riesco a leggere nessuno script di quelli caricati nella SD, quando ci provo appaiono sbiaditi, non attivi, doc'è che sbaglio?
grazie mille, ci sto ammattendo,...


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

Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002