Le forum français des radios FrSKY

Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Page 5 sur 11 Précédent  1, 2, 3, 4, 5, 6 ... 9, 10, 11  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par dev.fred le Dim 9 Aoû - 10:59

Cool
C'était ça la clé ensuite ça suis ce que l'on peut lire là : http://www.lua.org/pil/1.2.html

1.2 – Global Variables

Global variables do not need declarations. You simply assign a value to a global variable to create it. It is not an error to access a non-initialized variable; you just get the special value nil as the result:

   print(b)  --> nil
   b = 10
   print(b)  --> 10

Usually you do not need to delete global variables; if your variable is going to have a short life, you should use a local variable. But, if you need to delete a global variable, just assign nil to it:

   b = nil
   print(b)  --> nil

After that, it is as if the variable had never been used. In other words, a global variable is existent if (and only if) it has a non-nil value.


Dernière édition par dev.fred le Dim 9 Aoû - 11:48, édité 1 fois

dev.fred

Messages : 567
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Sacre100 le Dim 9 Aoû - 11:17

Kilrah a écrit:Oui mais si ce que j'ai dit est correct il n'a pas besoin d'utiliser de GVAR et le problème est réglé!
Je parle de "variable déclarée globalement" dans le script lua évidemment.

On a eu plusieurs cas sur le forum où des variables globales étaient utilisées sans aucun besoin de stockage dans l'eeprom entre deux sessions de vol et cela en dehors de tout script LUA.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Gandalf le Dim 9 Aoû - 12:49

Viii c'est une très bonne remarque qui fonctionne, mais il y a un 'catch 22' !

le script model assigne la variable, le script telemetry la lit, mais il ne peut la lire QUE si elle a été assignée, mais comme on ne sais pas trop si le script model tourne avant le script telemetry, il faut bien l'assigner une première fois, idéalement dans le init=init du script de télémétrie

G

Gandalf

Messages : 260
Date d'inscription : 17/09/2013

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Sacre100 le Dim 9 Aoû - 13:41

Gandalf a écrit:Viii c'est une très bonne remarque qui fonctionne, mais il y a un 'catch 22' !

le script model assigne la variable, le script telemetry la lit, mais il ne peut la lire QUE si elle a été assignée, mais comme on ne sais pas trop si le script model tourne avant le script telemetry, il faut bien l'assigner une première fois, idéalement dans le init=init du script de télémétrie

G

Sauf erreur, si une variable n'a pas été assignée, sa lecture retourne nil ce qui permet de savoir si elle est déjà renseeignée ou pas.

Néanmoins c'est bien dommage que maintenant qu'on doit déclarer les telemetry script, il n'y aie pas la possibilité de déclarer des variable en entrée comme on peut le faire pour les model script, ça éviterait de passer via des model script pour passer des données aux telemetry script.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par dev.fred le Dim 9 Aoû - 15:50

J'ai testé et je n'ai pas de problème particulier au moins dans l’émulateur de companion:
Même déclaré dans une fonction locale, la variable est automatiquement globale si elle n'est pas précédée par le mot clé local.

custom.lua écrit 50 dans la variable globale globaleV
Code:
-- LUA custom script
-- SD\SCRIPTS\MIXES

    local outputs = { "out" }
    --inutile
    --globaleV = -1

    local function run()
    globaleV = 50
     return 100*10.24
    end

    return { run=run, output=outputs }

affiche.lua affiche la variable globale globaleV de custom.lua  dans l'écran de télémétrie
Code:
-- Affiche la variable globale  de custom.lua
-- Reside dans SD\SCRIPTS\TELEMETRY

local function init(event)
 autolowestc = 4.5
 autolowlipo = 50
end

local function run(event)

 ------------
 -- Cadres --
 ------------
lcd.clear()

lcd.drawLine(0, 20, 211, 20,SOLID,0) -- ligne h du bas
lcd.drawLine(80, 20, 80, 64,SOLID,0) -- ligne v avant cur volt
lcd.drawLine(150, 20, 150, 64,SOLID,0) -- ligne v avant min volt
lcd.drawLine(45, 20, 45, 0,SOLID,0) -- ligne v avant premier timer
lcd.drawLine(130, 20, 130, 0,SOLID,0) -- ligne v avant second timer

 ------------
 -- Timers --
 ------------
local timer = model.getTimer(0)
lcd.drawPixmap(134, 3, "/SCRIPTS/TELEMETRY/BMP/kaldi/timer_1.bmp")
lcd.drawTimer(152, 3, timer.value, DBLSIZE)
  
local timer2 = model.getTimer(1)
lcd.drawPixmap(59, 3, "/SCRIPTS/TELEMETRY/BMP/kaldi/timer_1.bmp")
lcd.drawTimer(77, 3, timer2.value, DBLSIZE)

 -------------------
 -- Main Battery  --
 --------------------

local percent = globaleV
--local percent = 30 -- for DEBUGGIG

lcd.drawPixmap(2, 42, "/SCRIPTS/TELEMETRY/BMP/kaldi/batt.bmp")

 
 -- Pas de mesure
 if percent < 1 then
    lcd.drawText(10, 48, "connect!", 1)
  end
  
 -- Dessin Accu
 if percent > 1 then
 lcd.drawNumber(20, 46, percent, LEFT+MIDSIZE)
 lcd.drawText(lcd.getLastPos(), 46, "%", MIDSIZE)
 lcd.drawGauge(7, 45, 49, 14, percent, 100)
 end
 

end
return { run=run, init=init}

Le script custom dit PERSO


Le resultat dans l'écran de télémétrie


Dernière édition par dev.fred le Lun 10 Aoû - 8:54, édité 6 fois

dev.fred

Messages : 567
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Gandalf le Dim 9 Aoû - 18:27

J'ai repris ca en grand, en passant le pourcentage en variable globale, et en ne refesant le calcul que lorsque la tension de lipo change

percent.lua
Code:
-- LUA model script
local inputs = { {"lipo", SOURCE}}
local outputs = { "Celp" }

function findPercentRemaining(targetVoltage )
 local myArrayPercentList =
{
{3.683, 10},
{3.715, 15},
{3.747, 20},
{3.769, 25},
{3.791, 30},
{3.802, 35},
{3.812, 40},
{3.826, 45},
{3.839, 50},
{3.861, 55},
{3.883, 60},
{3.910, 65},
{3.936, 70},
{3.986, 75},
{3.999, 80},
{4.042, 85},
{4.085, 90},
{4.142, 95},
{4.170, 97},
{4.200, 100}
}
 local result = 10

 if targetVoltage > 4.200 or targetVoltage < 3.683
 then
 -- trap for odd values not in array
   if  targetVoltage > 4.200
   then
      result = 100
   end
   if  targetVoltage < 3.683
   then
      result = 1
   end
 else
   -- method of finding percent in my array provided by on4mh (Mike)
   for i, v in ipairs( myArrayPercentList )
   do
      if v[ 1 ] >= targetVoltage
      then
         result =  v[ 2 ]
      break
      end
   end
 end
 
 return result
end

local lastvoltage

local function run(voltage)
 
    if voltage ~= lastvolatge then
      global_lipopercent = findPercentRemaining(voltage / (math.ceil(voltage / 4.25)))
      lastvolatge = voltage
   end

 return global_lipopercent * 10
end

return { run=run, input=inputs, output=outputs }

lipo.lua

Code:
-- Version 2
-- Attente :
-- Senseur A2, VFAS ou FLVSS avec le nom : lipo
-- senseur calculé lowc : cell min (sauf vfas, ceci est alors calculé ici)

local autolowestc
local autolowestlipo

local function init(event)
   autolowestc = 4.5
   autolowestlipo = 50
   global_lipopercent = 0
end

local function getTelemetryId(name)
   field = getFieldInfo(name)
   if field then
     return field.id
   else
     return -1
   end
end


local function run(event)

 ------------
 -- Cadres --
 ------------
lcd.clear()

lcd.drawLine(0, 20, 211, 20,SOLID,0) -- ligne h du bas
lcd.drawLine(80, 20, 80, 64,SOLID,0) -- ligne v avant cur volt
lcd.drawLine(150, 20, 150, 64,SOLID,0) -- ligne v avant min volt
lcd.drawLine(45, 20, 45, 0,SOLID,0) -- ligne v avant premier timer
lcd.drawLine(130, 20, 130, 0,SOLID,0) -- ligne v avant second timer

 ------------
 -- Timers --
 ------------
local timer = model.getTimer(0)
lcd.drawPixmap(134, 3, "/SCRIPTS/TELEMETRY/BMP/kaldi/timer_1.bmp")
lcd.drawTimer(152, 3, timer.value, DBLSIZE)
    
local timer2 = model.getTimer(1)
lcd.drawPixmap(59, 3, "/SCRIPTS/TELEMETRY/BMP/kaldi/timer_1.bmp")
lcd.drawTimer(77, 3, timer2.value, DBLSIZE)

 -------------------
 -- Main Battery  --
 --------------------

local voltage = getValue(getTelemetryId("lipo"))
local cell_count = math.ceil(voltage / 4.25)
lcd.drawText(10, 3, cell_count.."S", DBLSIZE)

local autolowc = getTelemetryId("lowc")  -- cherche si lowc existe, dans le cas du vfas, il n'existe pas

if autolowc == -1 then
   autolowc = voltage / cell_count
else
   autolowc = getValue(getTelemetryId("lowc"))
end

if autolowestc > autolowc and autolowc > 3.3 then
   autolowestc = autolowc
end

if autolowestlipo > voltage and voltage > 0 then
   autolowestlipo = voltage
end

local percent = global_lipopercent
-- local percent = 30 -- for DEBUGGIG

lcd.drawPixmap(2, 42, "/SCRIPTS/TELEMETRY/BMP/kaldi/batt.bmp")
lcd.drawText(25, 22, "Lipo", SMLSIZE)
lcd.drawText(100, 22, "Actual", SMLSIZE)
lcd.drawText(165, 22, "Lowest", SMLSIZE)

-- Dessin Accu   
lcd.drawNumber(20, 46, percent, LEFT+MIDSIZE)
lcd.drawText(lcd.getLastPos(), 46, "%", MIDSIZE)
lcd.drawGauge(7, 45, 49, 14, percent, 100)
      
-- Affichage de la tension 
lcd.drawNumber (90,48, voltage, LEFT+PREC2+DBLSIZE)
lcd.drawNumber (95,30, autolowc, LEFT+PREC2+DBLSIZE)

-- Affichage de la tension minimale durant le vol
lcd.drawNumber (165,48, autolowestlipo, LEFT+PREC2+DBLSIZE)
lcd.drawNumber (170,30, autolowestc, LEFT+PREC2+DBLSIZE)

end
return { run=run, init=init}

Gandalf

Messages : 260
Date d'inscription : 17/09/2013

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par dev.fred le Dim 9 Aoû - 19:08

Je refais tourner un code trivial qui fonctionnait avant que je passe en 2.1.1 mais en fait je n'ai jamais affiché dans l'écran de télémétrie.

test.lua
Code:
   local outputs = { "out" }
 
    local function run()
       return 100 *10.24
    end

    return { run=run, output=outputs }

La c'est OK:



La c'est NOK:


La conf:


Le bug a été corrigé https://github.com/opentx/opentx/issues/2684


Dernière édition par dev.fred le Lun 24 Aoû - 17:53, édité 3 fois

dev.fred

Messages : 567
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Gandalf le Dim 9 Aoû - 19:21

Etrange, je vais voir si j'ai ce soucis sur ma radio

G

Gandalf

Messages : 260
Date d'inscription : 17/09/2013

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Gandalf le Dim 9 Aoû - 19:57

Je n'ai pas précisément testé avec tes scripts, mais chez moi, j'arrive bien a afficher Celp, la sortie de mon script model

G

Gandalf

Messages : 260
Date d'inscription : 17/09/2013

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Murphy le Dim 9 Aoû - 20:10

Bonsoir,

J'ai un problème avec le vario. Pourquoi celui-ci m'indique 250,0m au lieu de 0,0m quand je l'initialise ?

Et pourquoi dans Télémetry j'ai trois "Alt" ?

_________________
Encore là...
X9D+ EU-LBT 2.1.9,
Horus EU-LBT 2.2.0

Forum du club ACPM
avatar
Murphy
Modérateur

Messages : 6214
Date d'inscription : 27/08/2013
Age : 72
Localisation : Montbéliard, près de la Suisse

http://bethoncourt-indoor.forumgratuit.org/

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Gandalf le Dim 9 Aoû - 20:17

Pour le vario, je ne crois pas avoir eu le soucis des triplés, mais j'ai eu celui de l'altitude. Il faut cocher une option (de mémoire, un truc genre offset auto)

G

Gandalf

Messages : 260
Date d'inscription : 17/09/2013

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Sacre100 le Dim 9 Aoû - 20:21

Murphy a écrit:Bonsoir,

J'ai un problème avec le vario. Pourquoi celui-ci m'indique 250,0m au lieu de 0,0m quand je l'initialise ?

Et pourquoi dans Télémetry j'ai trois "Alt" ?

Il te donne l'altitude absolue, si tu veux qu'il te donne 0.0m lors de l'initialisation, tu dois cocher la case "Offset auto".

Sinon as-tu vraiment trois "Alt" ? Ne serait-ce pas Alt, Alt+ et Alt- ?
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par dev.fred le Dim 9 Aoû - 21:15

J'ai fait le test dans ma radio en 2.1.1 avec le même programme trivial, l'écran de télémétrie affiche bien 100.
C'est semble-t-il un pb dans companion, je vais ouvrir un ticket sur github = #2684



Le bug a été corrigé : https://github.com/opentx/opentx/issues/2684


Dernière édition par dev.fred le Lun 24 Aoû - 17:54, édité 5 fois

dev.fred

Messages : 567
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Murphy le Dim 9 Aoû - 21:23

J'ai du mal à faire une copie d'écran des menus déroulants mais "Source vario" et "Source d'altitude" j'ai 3 "Alt" comme en bas de la page.





Pour "Offset auto" je vais tester sur mon avion.

A par cela, je me rend compte que sur la photo les deux potar linéaires son S1 et S2.

_________________
Encore là...
X9D+ EU-LBT 2.1.9,
Horus EU-LBT 2.2.0

Forum du club ACPM
avatar
Murphy
Modérateur

Messages : 6214
Date d'inscription : 27/08/2013
Age : 72
Localisation : Montbéliard, près de la Suisse

http://bethoncourt-indoor.forumgratuit.org/

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Sacre100 le Dim 9 Aoû - 22:20

Lequel des trois garder, le troisième à mon avis, les deux premiers me paraissent louches.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Murphy le Dim 9 Aoû - 22:51

Je vais tester car radio en route avec l'avion je n'ai rien sur l'écran d'affichage de la télémétry.









Comment je fais pour régler à 0m et afficher sur l'écran.

En plus j'ai programme Alt3 sur un inter et j'ai "277 milli ampère". Ya une erreur dans les annonces que je vais essayer de corriger dans le fichier annonces.

--------------------- C'est bien ça, le "0133" est mal fait. Sur le bureau j'ai bien "0 mètres" maintenant que j'ai refait l'annonce. Donc "FSx SA- Lire valeur Alt 10s" et c'est OK. Et le "0130" fait doublon !!!

_________________
Encore là...
X9D+ EU-LBT 2.1.9,
Horus EU-LBT 2.2.0

Forum du club ACPM
avatar
Murphy
Modérateur

Messages : 6214
Date d'inscription : 27/08/2013
Age : 72
Localisation : Montbéliard, près de la Suisse

http://bethoncourt-indoor.forumgratuit.org/

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Sacre100 le Dim 9 Aoû - 23:39

Avant, tu avais deux écrans prédéfinis mais c'était avant, maintenant, tu dois tous les définir. Ceci dit, si toi tu galères, on n'est pas sorti de l'auberge avec cette nouvelle télémétrie.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Murphy le Dim 9 Aoû - 23:50

Sacre100 a écrit:Avant, tu avais deux écrans prédéfinis mais c'était avant, maintenant, tu dois tous les définir. Ceci dit, si toi tu galères, on n'est pas sorti de l'auberge avec cette nouvelle télémétrie.

Tu trouves ?

J'étais en train de lire le post depuis le début, j'y comprend rien. J'ai du quitter l'école trop tôt Sad

En fait on parle beaucoup de programmation LUA et pas beaucoup de la programmation de la radio.

Je plaint les nouveaux qui vont acheter une X9E et démarrer avec le 2.1.0

_________________
Encore là...
X9D+ EU-LBT 2.1.9,
Horus EU-LBT 2.2.0

Forum du club ACPM
avatar
Murphy
Modérateur

Messages : 6214
Date d'inscription : 27/08/2013
Age : 72
Localisation : Montbéliard, près de la Suisse

http://bethoncourt-indoor.forumgratuit.org/

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Gandalf le Lun 10 Aoû - 8:52

Je viens de vérifier sur mes planeurs, j'ai un seul Alt (id100 instance 1) avec les sondes FVAS-02H

G

Gandalf

Messages : 260
Date d'inscription : 17/09/2013

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Sacre100 le Lun 10 Aoû - 9:13

Quelqu'un a-t-il compris comment obtenir les coordonnées GPS (latitude et longitude) ?

La distance, on l'obtient avec une donnée calculée en indiquant l'opération "Distance" et la capteur GPS mais la latitude et la longitude, je n'ai pas trouvé.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Gandalf le Lun 10 Aoû - 9:29

C'est simple, ces deux données composent l'entité GPS, donc dès que tu as un lock tu les vois dans la page telemetry, et au choix dans un des écrans de telemetry en choisissant num et GPS

G

Gandalf

Messages : 260
Date d'inscription : 17/09/2013

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Sacre100 le Lun 10 Aoû - 9:43

Tu parles de la 2.0 ou la 2.1.

Si c'est la 2.1, peux-tu nous faire une copie d'écran pour voir ce qu'il en est.

A noter qu'avec la 2.1, le print screen existe aussi sur la radio mais je ne connais pas la combinaison de touche. J'avais proposé ENTER et EXIT pressés simultanément mais je ne sais pas ce qui a été retenu.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Gandalf le Lun 10 Aoû - 10:08

Je suis en 2.1.1, et que je ne sais pas trop non plus pour le print screen, en voila un 'old style' Very Happy Désolé, j'ai du zipper la photo puisque le site n'accepte pas plus de 800*600 comme résolution.

A noter que dans l'écran de télémetry tu a les coordonnées complète (avec les secondes)

G
Fichiers joints
IMG_20150810_100503760.zip Vous n'avez pas la permission de télécharger les fichiers joints.(84 Ko) Téléchargé 29 fois

Gandalf

Messages : 260
Date d'inscription : 17/09/2013

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par pat31 le Lun 10 Aoû - 10:17

Bonjour à tous
Pour Gandalf: je viens de regarder ta photo. Je vois que le cap (hdg) apparait. 41° sur ta photo. Quel capteur gps utilises tu?  FrSky ou un autre?
avatar
pat31

Messages : 367
Date d'inscription : 11/11/2013
Age : 71
Localisation : Pays de l'Ovalie

Revenir en haut Aller en bas

Re: Presentation de la telemetrie OpenTX 2.1- Traduction de "OpenTX 2.1 telemetry system preview"

Message par Gandalf le Lun 10 Aoû - 10:22

Multiwii comme capteur

G

Gandalf

Messages : 260
Date d'inscription : 17/09/2013

Revenir en haut Aller en bas

Page 5 sur 11 Précédent  1, 2, 3, 4, 5, 6 ... 9, 10, 11  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum