Le forum français des radios OpenTX ou FrOS
Le forum français des radios OpenTX ou FrOS
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

LUA Scripting sur V2.1.x

+4
JimboFarrar
Eric84AMC
Kilrah
Heisenberg
8 participants

Page 4 sur 7 Précédent  1, 2, 3, 4, 5, 6, 7  Suivant

Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par JimboFarrar Lun 5 Oct 2015 - 9:24

Merci de vos conseils,
BtRx, c'est la tension de l'accu de réception, ce que je cherche à retrouver, c'est l'accu d'émission. A la détection des capteurs, je n'ai rien qui ressemble à Batt ou TxBatt ou qqchose du genre.
A+
Jimbo

JimboFarrar

Masculin Messages : 22
Date d'inscription : 17/12/2014
Age : 64
Localisation : Bordeaux

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Invité Lun 5 Oct 2015 - 10:14

Oui, je viens de voir ca. un test a faire :

Utiliser cette fonction : 


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

l'appeler comme ca : 

local mytxbatt= getValue(getTelemetryId("tx-voltage"))

Si on as -1 c'est que ce label n'est plus valide,ça donnera déjà une piste

G

Invité
Invité


Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Sacre100 Lun 5 Oct 2015 - 12:11

A voir les sources de la 2.1.3, "tx-voltage" devrait être toujours disponible (ligne 1924 de myeeprom.h) néanmoins, dans les écrans de télémétrie, pour obtenir cette valeur, il faut utiliser "Batt", est-ce nom nom qu'il faut utiliser, je n'ai pas approndi la chose.

Un chose est sûr, "tx-voltage", "clock", "timer1", "timer2" et "timer3" n'apparaissent pas dans les capteurs trouvés mais ils devraient être en principe disponibles dans LUA.
Sacre100
Sacre100

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

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Cels

Message par Heisenberg Jeu 8 Oct 2015 - 0:07

Le petit bout de script suivant fonctionne sous Companion mais bug sur ma radio (écran blanc).
J'ai fait une erreur quelque-part ou est-ce un réel bug ?

local function run(event)
lcd.lock()
lcd.clear()
 local batt_cels = getValue("Cels")
 lcd.drawNumber (100, 25, batt_cels, XXLSIZE + LEFT)
end
return { run = run }


Pareil pour ça, essayé au cas où...

local function run(event)
lcd.lock()
lcd.clear()
 local batt_cels = getValue("Cels")
local test = (batt_cels* 3)
lcd.drawNumber (100, 25, test, XXLSIZE + LEFT)
end
return { run = run }


Impossible de récupérer la valeur Cels, si j'utilise VFAS à la place, le script ne pose aucun problème.
Heisenberg
Heisenberg

Masculin Messages : 1505
Date d'inscription : 30/07/2015
Age : 52
Localisation : A l'étranger

http://tinyurl.com/TARANIS-HEISENBERG

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Invité Jeu 8 Oct 2015 - 7:14

Utilise la fonction que j'ai donné 2 postes plus haut, ça te permet déjà de vérifier la validé des noms.

Sinon j'ai eu aussi un soucis qui semblait affecter le flvss et pas vfas, et comme dit plus haut, j'ai crée un second capteur qui reprend la valeur de cels (j'ai fait un calculé , add,  et juste cels comme source), mais sans l'unité et la ça refonctionne. A tester

G

Invité
Invité


Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Heisenberg Jeu 8 Oct 2015 - 11:17

Gandalf a écrit:.../...j'ai crée un second capteur qui reprend la valeur de cels (j'ai fait un calculé , add,  et juste cels comme source), mais sans l'unité et la ça refonctionne. A testerG

Et ça marche très bien comme ça ! Merci pour l'astuce.
Les valeurs de Cels manipulés par la radio sont toutes dispo comme Cmin, Cmax etc...
Par contre, le script Lua ne peut pas utiliser directement Cels directement, c'est curieux.

Le fautif est le capteur défectueux ou OpenTX ?
Heisenberg
Heisenberg

Masculin Messages : 1505
Date d'inscription : 30/07/2015
Age : 52
Localisation : A l'étranger

http://tinyurl.com/TARANIS-HEISENBERG

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Kilrah Jeu 8 Oct 2015 - 11:55

Sauf erreur quand tu getValue("Cels") ça te retourne un tableau avec les tensions de chaque élément, pas le total.

Kilrah

Masculin Messages : 2181
Date d'inscription : 28/01/2014
Localisation : Suisse

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Heisenberg Jeu 8 Oct 2015 - 14:28

Kilrah a écrit:Sauf erreur quand tu getValue("Cels") ça te retourne un tableau avec les tensions de chaque élément, pas le total.
Vu comme ça, c'est logique, mais un peu illogique que la radio ou qu'un Lua dans companion seulement puisse l'afficher comme un total, ça induit en erreur.
Heisenberg
Heisenberg

Masculin Messages : 1505
Date d'inscription : 30/07/2015
Age : 52
Localisation : A l'étranger

http://tinyurl.com/TARANIS-HEISENBERG

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Sacre100 Jeu 8 Oct 2015 - 14:59

C'est juste souvient-toi, on en avait déjà parlé de getValue("Cels") : https://frskytaranis.forumactif.org/t2666p30-lua-scripting-sur-v2-1-x#31254

Pourquoi ça marche sur le simulateur et pas sur la radio, je n'ai pas d'explication et cela me surprend, peut-être un problème de casting, je ne sais pas.

En tout cas, en cas de problème comme ça, ne pas hésiter à regarder le type de la valeur retournée par getValue(...) :
- "nil" indiquerait plutôt une valeur inexistante
- "table" indique que getValue retourne plusieurs valeurs dans une table (cas "Cells" et "GPS" et ... je ne sais pas s'il y en a d'autre)
- "number", une valeur utilisable dans drawNumber
- "number", "string" ou "boolean" (je ne sais pas si le cas existe), une valeur utilisable dans drawText
- "function", "thread" ou "userdata", ça ne devrait pas ne produire en principe.
Sacre100
Sacre100

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

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Heisenberg Jeu 8 Oct 2015 - 15:47

Sacre100 a écrit:C'est juste souvient-toi, on en avait déjà parlé de getValue("Cels") : https://frskytaranis.forumactif.org/t2666p30-lua-scripting-sur-v2-1-x#31254
Je me souviens bien, mais je n'ai pas fait le rapprochement, j'avais compris une lecture de table mais n'avais pas compris que ça renvoyait en forme de table à l'appel de Cels.

Sacre100 a écrit:Pourquoi ça marche sur le simulateur et pas sur la radio, je n'ai pas d'explication et cela me surprend, peut-être un problème de casting, je ne sais pas.
Il m'a fallu un moment pour trouver l'erreur, le script marchant très bien sur Companion, je n'ai pas été cherché sur ce domaine.

Sacre100 a écrit:En tout cas, en cas de problème comme ça, ne pas hésiter à regarder le type de la valeur retournée par getValue(...) :.../...
Pour connaître ce type, c'est avec les quelques lignes postées par Gandalf ?
Je n'ai pas encore essayé car ne suis pas à la maison pour le moment, sinon, quelle est la formule magique pour connaître le "type" ?
Heisenberg
Heisenberg

Masculin Messages : 1505
Date d'inscription : 30/07/2015
Age : 52
Localisation : A l'étranger

http://tinyurl.com/TARANIS-HEISENBERG

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Sacre100 Jeu 8 Oct 2015 - 16:35

Heisenberg a écrit:...
Pour connaître ce type, c'est avec les quelques lignes postées par Gandalf ?
Je n'ai pas encore essayé car ne suis pas à la maison pour le moment, sinon, quelle est la formule magique pour connaître le "type" ?

type(...) est une fonction de LUA, son usage est décrit ici : http://www.lua.org/manual/5.2/manual.html#pdf-type

Dans ton code, pour éviter d'avoir un écran blanc et comprendre le problème, tu peux écrire provisoirement quelque chose du genre :
Code:
local maValeur = getValue("maValeur")
local sonType = type(maValeur)
if sonType == "number" then
  lcd.drawNumber(x, y, maValeur)
elseif sonType == "string"
  lcd.drawText(x, y, maValeur)
else
  lcd.drawtext(x, y, sonType)
end
Sacre100
Sacre100

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

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Heisenberg Jeu 8 Oct 2015 - 17:54

Ouuuh, mais c'est encore très interressant pour débugger mes petits pépins ça !!
Je ne connaissais pas.
Merci de cette info précieuse.
Heisenberg
Heisenberg

Masculin Messages : 1505
Date d'inscription : 30/07/2015
Age : 52
Localisation : A l'étranger

http://tinyurl.com/TARANIS-HEISENBERG

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par dev.fred Sam 10 Oct 2015 - 8:41

Bien que le sujet a été déjà traité par Sacre100, j'en rajoute une couche en présentant le script de dsbeach, le dev qui a introduit les tableaux dans LUA pour les capteurs multiples.

LUA Scripting sur V2.1.x - Page 4 Captur15

Il teste lui aussi le type "table" et montre une autre façon de le lire : for i, v in ipairs(cellResult) do
Cette boucle à l'avantage de parcourir le tableau en entier, on peut donc lire une nombre de cellules de lipo quelconque.
Puis comment concaténer une chaine de caractères : cellValue = cellValue .. i .. ": " .. v .. " "
Enfin il utilise également une fonction background qui fait la lecture du capteur en plus du run qui affiche.

Code:
local cellValue = "unknown"
local cellResult = nil
local cellID = nil

local function rnd(v,d)
    if d then
     return math.floor((v*10^d)+0.5)/(10^d)
    else
     return math.floor(v+0.5)
    end
end

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

local function init()
  cellId = getTelemetryId("Cels")
end

local function background()
  cellResult = getValue(cellId)
  if (type(cellResult) == "table") then
    cellValue = ""
    for i, v in ipairs(cellResult) do
      cellValue = cellValue .. i .. ": " .. v .. " "
    end
  else
    cellValue = "telemetry not available"
  end
end

local function run(e)
  lcd.clear()

  lcd.drawText(1,1,"OpenTx 2.1.3 testing",0)

  lcd.drawText(1,11,"Cels:", 0)
  lcd.drawText(lcd.getLastPos()+2,11,cellValue,0)
  lcd.drawText(1, 56, "Mem:", 0)
  lcd.drawText(lcd.getLastPos() + 4, 56, rnd(collectgarbage("count"), 4), 0)
end

return{init=init,run=run,background=background}

Par contre, je n'arrive pas à afficher la latitude et la longitude du GPS, le tableaux est bien détecté mais lcd.drawText n'affiche rien à part le titre; ça résiste.  scratch

Edit a écrit:C'est surement en rapport avec #2921

dev.fred

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

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Heisenberg Lun 12 Oct 2015 - 19:33

J'avance bien même si je n'ai pas encore terminé et je pense avoir compris pourquoi les annonces étaient saccadées lorsque l'écran de mon Lua est affiché.

Ça ne me paraît pas être une surcharge de calculs mais trop d’accès à la carte SD.
J'utilise quelques icônes BMP qui sont rappelées lors de chaque cycles, ce qui fait que la carte est très sollicitée en accès lecture.

LUA Scripting sur V2.1.x - Page 4 Screen13

Sur cette capture, il y-a 1 contour de jauge de fuel, 1 jauge RSSI, 6 icônes de mesures, 1 icône d'horloge, et un cadenas, ça fait 10 BMP rappelés à chaque boucle sans compter d'autres icônes qui s'affichent ou pas en fonction des évènements, sans compter les cachées qui s'affichent lors du basculement d'un inter.

1 cycle = 1 lcd.clear() et un nouveau remplissage de l'écran avec 10 BMP.

Positionner mes icônes avant la boucle ne sert à rien justement à cause du lcd.clear(), quels conseils auriez-vous pour pallier à ce petit problème ?

Je pensais à changer la SD pour une plus rapide et éviter le lcd.clear() et remplir chacune de mes lignes de texte par des caractères blancs en début de boucle, je n'ai pas encore essayé mais il est probable que ça donne un effet de scintillement. Suis-je passé à côté d'une solution plus simple ou mon raisonnement n'est-t-il pas bon ?
Heisenberg
Heisenberg

Masculin Messages : 1505
Date d'inscription : 30/07/2015
Age : 52
Localisation : A l'étranger

http://tinyurl.com/TARANIS-HEISENBERG

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Sacre100 Lun 12 Oct 2015 - 22:12

Problème classique, trop d'accès à la SD (bitmap ou son), il faut repenser tout ton affichage si tu veux obtenir quelque chose de correct. Exemple, mon horizon artificiel où je n'utilise pas une seule bitmap.

Sacre100
Sacre100

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

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Heisenberg Mar 13 Oct 2015 - 10:43

C'est rassurant, j'ai au moins identifié correctement le problème.
Je vais essayer avec une map de mes icônes déjà placées sur un format 212X64, ça va déjà alléger de 7 bitmaps, j'ai bon espoir d'y gagner un peu en truandant un peu partout le code.

Il est très beau ton écran d'horizon artificiel !!
La partie gauche, je comprends dans les gdes lignes comment tu as fait, ça doit d'ailleurs faire un bon paquet de lignes de code et de mise au point.

Par contre, quelle est ton astuce pour le cercle de droite ?
drawCircle n'existant pas, c'est du point par point ?
Heisenberg
Heisenberg

Masculin Messages : 1505
Date d'inscription : 30/07/2015
Age : 52
Localisation : A l'étranger

http://tinyurl.com/TARANIS-HEISENBERG

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Sacre100 Mar 13 Oct 2015 - 11:50

Jette un coup d'oeil dans le script, il n'est pas énorme, même pas 500 lignes : http://quetzal.homepage.bluewin.ch/ArduIMU_SPort.zip

Le cercle est dessiné par la fonction drawEllipse, une dizaine de lignes pas plus, c'est tout simple.

Par contre la partie de gauche, c'était nettement plus "touchy" même s'il ne faut pas tant de lignes pour arriver au résultat.
Sacre100
Sacre100

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

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Heisenberg Mer 14 Oct 2015 - 14:20

Je compte regarder ça dans la semaine.

J'ai essayé une autre astuce pour récupérer ma valeur Cels...
Les chiffres permettraient paraît il de récupérer les tensions de chaque éléments en allant directement piocher dans la table.

 local batt_cel1 = getValue("Cels",1)
 local batt_cel2 = getValue("Cels",2)

etc...

pour obtenir à la fin :

local batt_total = (batt_cel1 + batt_cel2 + batt_cel3 + batt_cel4 + batt_cel5 + batt_cel6)

L'idée me semblait simple et facile.
Sous companion avec l'utilitaire de Dev.Fred, bizarrement, chaque cellule affiche la totalité de la tension du pack.
Et dans la radio, ça bug, encore un écran blanc.

[EDIT] Erreur de ma part, ça pourrait être dispo dans les prochaines versions mais pas encore maintenant [/EDIT]
Heisenberg
Heisenberg

Masculin Messages : 1505
Date d'inscription : 30/07/2015
Age : 52
Localisation : A l'étranger

http://tinyurl.com/TARANIS-HEISENBERG

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Sacre100 Mer 14 Oct 2015 - 15:25

Un bout de code comme ça (pas testé), ça devrait faire l'affaire me semble-t-il.

Code:
local batt_total = 0
local batt_cells = getValue("Cels")
if type(batt_cells) == "table" then
  for , item in batt_cells do
    batt_total = batt_total + item
  end
end
Sacre100
Sacre100

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

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Heisenberg Mer 14 Oct 2015 - 16:11

Merci Sacre100.
Je vais essayer en fin de journée.
A vue d'oeil, la ligne ci-dessous doit causer une erreur (?)
Code:

  for , item in batt_cells do
Heisenberg
Heisenberg

Masculin Messages : 1505
Date d'inscription : 30/07/2015
Age : 52
Localisation : A l'étranger

http://tinyurl.com/TARANIS-HEISENBERG

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Heisenberg Mer 14 Oct 2015 - 17:20

J'ai un peu modifié ton script.
Et il me dit que Cels n'est pas une table, c'est curieux.

Code:

local batt_total = 0
local batt_cells = getValue("Cels")
if (type(batt_cells) == "table") then
 lcd.drawText(82, 40, "Le type est une table", SMLSIZE)
   for item in batt_cells do
       batt_total = batt_total + item
     end
else
        lcd.drawText(82, 40, "Le type n'est pas une table", SMLSIZE)
end
lcd.drawNumber(82, 48, batt_total, PREC2 + SMLSIZE + LEFT)
Heisenberg
Heisenberg

Masculin Messages : 1505
Date d'inscription : 30/07/2015
Age : 52
Localisation : A l'étranger

http://tinyurl.com/TARANIS-HEISENBERG

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Sacre100 Mer 14 Oct 2015 - 22:19

Heisenberg a écrit:... A vue d'oeil, la ligne ci-dessous doit causer une erreur (?)
Code:

  for , item in batt_cells do

Pas si sur, la syntaxe complète devrait être la suivante :
Code:
for index, item in pairs(batt_cells) do

ou

Code:
for index, item in ipairs(batt_cells) do

Mais sauf erreur, on peut ignorer index tout en laissant la virgule et le pairs(...) (ou ipairs(...)) peut l'être aussi.  A vérifier

Heisenberg a écrit:J'ai un peu modifié ton script.
Et il me dit que Cels n'est pas une table, c'est curieux.

Pour ce qui est de Cels qui ne retourne pas une table, je suspecte que le problème vient de la manière dont Cels est déclaré dans la télémétrie, j'avais constaté la chose et j'en parlais ici : https://frskytaranis.forumactif.org/t2666p30-lua-scripting-sur-v2-1-x#31294

En fait, lorsque Cels est détecté automatiquement, OpenTx crée le capteur spécial qui retourne bien une table. Si Cels est créé manuellement avec l'Id de Cels, c'est un capteur normal qui donne sauf erreur la totalité de la tension du pack.

Vérifie que ton Cels est bien ce capteur un peu spécial et non un capteur prédéfini usuel.
Sacre100
Sacre100

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

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par dev.fred Jeu 15 Oct 2015 - 8:38

Ton horizon artificiel fait des émules, 2em post de la page : http://forum.taulabs.org/viewtopic.php?f=17&t=797

dev.fred

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

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Sacre100 Jeu 15 Oct 2015 - 9:02

dev.fred a écrit:Ton horizon artificiel fait des émules, 2em post de la page : http://forum.taulabs.org/viewtopic.php?f=17&t=797

Sur le cul le Marco, excellent, il faut que je regarde ça en détail, ça me fait super plaisir, merci pour le lien.
Sacre100
Sacre100

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

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Heisenberg Jeu 15 Oct 2015 - 18:20

Sacre100 a écrit:.../...Vérifie que ton Cels est bien ce capteur un peu spécial et non un capteur prédéfini usuel.

Tu as eu du nez, je n'aurais jamais trouvé, c'était bien la source de l'erreur, c'est vicieux cette détection automatique.

Finalement, ça fonctionne avec un peu de modifs perso et autres sources que j'ai rassemblées d'un autre forum que tu fréquentes.

Code:

local batt_sum = 0  
cellResult = getValue("Cels")
  if (type(cellResult) == "table") then
    cellValue = ""
    for i, v in ipairs(cellResult) do
      cellValue = cellValue .. i .. ": " .. v .. " "
      batt_sum = batt_sum + v
    end
  else
    cellValue = "telemetry not available"
  end

Avec ça, je récupère ma valeur de batterie totale et j'ai aussi un string dans lequel est affiché la valeur de chaque élément individuel.

Jusque là tout va bien sauf que j'aimerais pouvoir récupérer le nombre d'éléments et la valeur de chacun éléments pour les manipuler ensuite. En gros, le string cellValue, c'est bien mais je ne parviens pas à le disséquer proprement.

Dans un autre langage de prog, ce serait cellValue[1], cellValue[2] etc... mais pas en Lua.

Avec ce qui suit, ça marche mais je ne trouve pas cette méthode très propre.
De plus ça m'a l'air bien gourmand en ressources car je dois supprimer pas mal de lignes qui suivent pour le faire tourner sur la radio sinon ça plante.

Y-a t'il une autre méthode pour le même résultat ?

Code:

local batt_sum = 0  
cellResult = getValue("Cels")
  if (type(cellResult) == "table") then
    cellValue = ""
    for i, v in ipairs(cellResult) do
      cellValue = cellValue .. i .. ": " .. v .. " "
      batt_sum = batt_sum + v      

if i == 1 then
  cell01 = v  -- Tension de l'élément 1
  battype = 1  -- Nombre d'éléments du pack
elseif i == 2 then
  cell02 = v
  battype = 2
elseif i == 3 then
  cell03 = v
  battype = 3
elseif i == 4 then
  cell04 = v
  battype = 4
elseif i == 5 then
  cell05 = v
  battype = 5
elseif i == 6 then
  cell06 = v
  battype = 6
end
  else
    cellValue = "telemetry not available"
  end

[Edit] pour connaître le nombre d'élément, je viens de réagir que je l'ai sous les yeux, c'est tout simplement "i" une fois sorti de ce bout de code.
Mais pour avoir Cell01, Cell02 et la suite, je ne trouve pas. [/Edit]
Heisenberg
Heisenberg

Masculin Messages : 1505
Date d'inscription : 30/07/2015
Age : 52
Localisation : A l'étranger

http://tinyurl.com/TARANIS-HEISENBERG

Revenir en haut Aller en bas

LUA Scripting sur V2.1.x - Page 4 Empty Re: LUA Scripting sur V2.1.x

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 4 sur 7 Précédent  1, 2, 3, 4, 5, 6, 7  Suivant

Revenir en haut


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