Petit Script LUA
+10
Avionic78
Sacre100
Heisenberg
CoyotteDundee
blonblon
pat31
.AleX.
nicephore
cdauv
Eric84AMC
14 participants
Page 1 sur 7
Page 1 sur 7 • 1, 2, 3, 4, 5, 6, 7
Petit Script LUA
Voici un petit script qui affiche la tension de l'émetteur, la tension A2 et 2 chronos
j'ai utilisé telem1.lua. J'ai remplacé l'affichage de l'altitude par celle de A2. Pour l'instant la tension max permettant de calculer du pourcentage dans la barre est écrit en dure dans le script
une amélioration fort utile serait d'ajouter le calcul du nombre de cellule (script cellv.lua) est de le multiplier par 4.6
Juste un petit conseil. Il serait bon pour celui qui n'est pas au courant de préciser l'installation de ces fichiers LUA et comment les programmer à partir de la Taranis.
La Modération
j'ai utilisé telem1.lua. J'ai remplacé l'affichage de l'altitude par celle de A2. Pour l'instant la tension max permettant de calculer du pourcentage dans la barre est écrit en dure dans le script
une amélioration fort utile serait d'ajouter le calcul du nombre de cellule (script cellv.lua) est de le multiplier par 4.6
Juste un petit conseil. Il serait bon pour celui qui n'est pas au courant de préciser l'installation de ces fichiers LUA et comment les programmer à partir de la Taranis.
La Modération
Invité- Invité
Re: Petit Script LUA
Eric84AMC a écrit:Peux-tu faire passer ton fichier au format ZIP ?
+1, pensez à mettre en partage vos fichier LUA, EEPE ou autre sinon ça ne sert à rien.
Invité- Invité
Re: Petit Script LUA
je pensais l'avoir joint mais les fichiers .lua ne doivent pas être acceptés. le voici en zip
- Fichiers joints
Invité- Invité
Re: Petit Script LUA
J'ai modifié le script Telem2 de base pour mettre une légende en dessous des 2 chronos, ce n'est pas grand chose à faire, mais peut être que certains trouveront cela plus sympa
- Fichiers joints
Re: Petit Script LUA
correction dans le calcul du % du récepteur et amélioration graphique
j'ai toujours un problème dans le calcul de la capacité de la batterie si quelqu'un à la formule pour calculer le pourcentage d'une lipo
j'ai toujours un problème dans le calcul de la capacité de la batterie si quelqu'un à la formule pour calculer le pourcentage d'une lipo
- Fichiers joints
Invité- Invité
Re: Petit Script LUA
Eric84AMC a écrit:Merci pour le fichier.
Peut-on tester ces fichiers avec Companion directement ?
oui si tu crées le dossier SCRIPTS dans le répertoire de la structure de la carte SD
mais le problème est l'abscence de réelle télémétrie pour vérifier les valeurs et les gauges
mon impression d'écran vient de companion
@ntoine
Invité- Invité
Re: Petit Script LUA
jpg63 a écrit:correction dans le calcul du % du récepteur et amélioration graphique
j'ai toujours un problème dans le calcul de la capacité de la batterie si quelqu'un à la formule pour calculer le pourcentage d'une lipo
ca dépend du nombre de cellule
V tension
S nombre de cellule
(V-3*S*100)/((4.2*S)-(3*S))=pourcentage
mais au lieu de passer par la variable pourcentage je fais le calcul dans gauge
- Code:
lcd.drawGauge(5, 45, 202, 18, ((getValue(202)-6)), 2.4)
pour améliorer l'affichage de la gauge j'ai multiplié par 100
- Code:
lcd.drawGauge(5, 45, 202, 18, ((getValue(202)-6)*100), 240)
@ntoine
Invité- Invité
Re: Petit Script LUA
J'utilise Cette formule, mais le courbe de decharge n'est pas lineaire
Pour 11.37v pour une lipo 3s
On a 11.37 / 3 = 3.79
(V-3*S*100)/((4.2*S)-(3*S))=pourcentage
(3.79-3)*3*100. / (4.2*3)-(3*3) = 237 / 3.6 = 66%
Alors que le testeur donne 31%
Pour 3.92 = 70%
276 / 3.6 = 77%
Pour 3.3 = 5%
90 / 3.6 = 25%
J'aî une table
0% 3v
5% 3.3v
10% 3.6
20% 3.7
30% 3.75
40% 3.79
50% 3.83
60% 3.87
70% 3.93
80% 3.97
90% 4.1
100% 4.2
La fonction n'a pas l'air d'etre lineaire et je seche. La solution pas tres proptre serait une serie de if et l'affichage de valeur de % par comparaison mais pour etre juste et propre il faudrait la fonction qui represente au plus pret l'ensemble des points
Pour 11.37v pour une lipo 3s
On a 11.37 / 3 = 3.79
(V-3*S*100)/((4.2*S)-(3*S))=pourcentage
(3.79-3)*3*100. / (4.2*3)-(3*3) = 237 / 3.6 = 66%
Alors que le testeur donne 31%
Pour 3.92 = 70%
276 / 3.6 = 77%
Pour 3.3 = 5%
90 / 3.6 = 25%
J'aî une table
0% 3v
5% 3.3v
10% 3.6
20% 3.7
30% 3.75
40% 3.79
50% 3.83
60% 3.87
70% 3.93
80% 3.97
90% 4.1
100% 4.2
La fonction n'a pas l'air d'etre lineaire et je seche. La solution pas tres proptre serait une serie de if et l'affichage de valeur de % par comparaison mais pour etre juste et propre il faudrait la fonction qui represente au plus pret l'ensemble des points
Invité- Invité
Re: Petit Script LUA
c'est quasi linéaire entre 20% et 100%
avec équation
tension = 0,0059 pourcentage + 3,5534
@ntoine
avec équation
tension = 0,0059 pourcentage + 3,5534
@ntoine
Invité- Invité
Re: Petit Script LUA
pour du 2S %=(T-7,1068)/0,0118
pour du 3S %=(T-10,6602)/0,0177
pour du 4S %=(T-14,2136)/0,0236
pour du 5S %=(T-17,767)/0,0295
voila normalement des linéaires correspondant au % de 100% a 20% en dessous de 20% il annonce un % plus faible que le % réel
sinon j'ai bien un polynomiale d'ordre 6 qui colle bien
mais c'est un peu galère a coder
pour du 3S %=(T-10,6602)/0,0177
pour du 4S %=(T-14,2136)/0,0236
pour du 5S %=(T-17,767)/0,0295
voila normalement des linéaires correspondant au % de 100% a 20% en dessous de 20% il annonce un % plus faible que le % réel
sinon j'ai bien un polynomiale d'ordre 6 qui colle bien
mais c'est un peu galère a coder
Invité- Invité
Re: Petit Script LUA
c'est super, je vais utiliser l’équation linéaire avec calcul du nombre d’élément dans un premier temps, j'améliorerai peu être plus tard, je post le fichier lua dès que c'est terminé
Invité- Invité
Re: Petit Script LUA
@ntoine a écrit:Eric84AMC a écrit:Merci pour le fichier.
Peut-on tester ces fichiers avec Companion directement ?
oui si tu crées le dossier SCRIPTS dans le répertoire de la structure de la carte SD
mais le problème est l'abscence de réelle télémétrie pour vérifier les valeurs et les gauges
mon impression d'écran vient de companion
@ntoine
Merci Antoine c'est exactement ce que je cherchais, je n'y avais pas pensé ! c'est quand même plus pratique pour ajuster par exemple la position d'un texte !
Re: Petit Script LUA
@ntoine a écrit:pour du 2S %=(T-7,1068)/0,0118
pour du 3S %=(T-10,6602)/0,0177
pour du 4S %=(T-14,2136)/0,0236
pour du 5S %=(T-17,767)/0,0295
voila normalement des linéaires correspondant au % de 100% a 20% en dessous de 20% il annonce un % plus faible que le % réel
sinon j'ai bien un polynomiale d'ordre 6 qui colle bien
mais c'est un peu galère a coder
jpg63 a écrit:c'est super, je vais utiliser l’équation linéaire avec calcul du nombre d’élément dans un premier temps, j'améliorerai peu être plus tard, je post le fichier lua dès que c'est terminé
je suis entrain de faire tourner mon ultramat 16 brancher avec logview pour vérifier la courbe des accus lipo et faire une courbe pour les accus life car j'ai un life 3S en batterie d’émission
@ntoine
Invité- Invité
Re: Petit Script LUA
après tracage des courbes avec avec mon chargeur ultramat je confirme donc
les équations linéaires pour du lipo valable de 100 20 %
2S %=(T-7,1068)/0,0118
3S %=(T-10,6602)/0,0177
4S %=(T-14,2136)/0,0236
5S %=(T-17,767)/0,0295
et rajoute
les équations linéaires pour du life valable de 80 20 %
2S %=(T-6,0156)/0,0055
3S %=(T-9,0233)/0,0082
4S %=(T-12,031)/0,0109
5S %=(T-15,039)/0,0137
les équations linéaires pour du lipo valable de 100 20 %
2S %=(T-7,1068)/0,0118
3S %=(T-10,6602)/0,0177
4S %=(T-14,2136)/0,0236
5S %=(T-17,767)/0,0295
et rajoute
les équations linéaires pour du life valable de 80 20 %
2S %=(T-6,0156)/0,0055
3S %=(T-9,0233)/0,0082
4S %=(T-12,031)/0,0109
5S %=(T-15,039)/0,0137
Dernière édition par @ntoine le Dim 20 Juil 2014 - 16:24, édité 1 fois
Invité- Invité
Re: Petit Script LUA
voici le script modifier pour une lipo 3S sur A2
je travaille sur la détection du nombre de cellule
je travaille sur la détection du nombre de cellule
- Fichiers joints
Invité- Invité
Re: Petit Script LUA
pour choisir entre 2 et 3S
c'est relativement simple car il n'y a pas de plage de tension commune
un truc comme ca devrait passer
c'est relativement simple car il n'y a pas de plage de tension commune
- Code:
local t = (getValue(203))
if t < 8.7 then
local percent1 = (getValue(203)-7.1068) / 0.0118
if percent1 < 0 then
percent1 = 0
end
else
local percent1 = (getValue(203)-10.6602) / 0.0177
if percent1 < 0 then
percent1 = 0
end
end
un truc comme ca devrait passer
Invité- Invité
Re: Petit Script LUA
C'est ce que je m'appretais a faire car je travaillais sur un script lua a ajouter dans la page script lua qui permettre de faire le choix de la source et qui renverai le nombre de cellule. Le robleme c'est qu'il faut paser par une voie pour recuperer l'info dans le script de telemetrie. La fonction math.ceil me renvoi pas la bonne valeur tres bizare. Du coup un simple test simplifie tout
Invité- Invité
Re: Petit Script LUA
fichier renomme
contenu
local function run(event)
-- Recuperation tension sur A1
-- local t = getValue(202)
-- Recuperation tension sur A2
local t = getValue(203)
-- affichage de la tension
lcd.drawText(100, 1, t, XXLSIZE)
-- barre graph % capacite renstante
-- pour du 2S %=(T-7,1068)/0,0118
-- pour du 3S %=(T-10,6602)/0,0177
-- pour du 4S %=(T-14,2136)/0,0236
-- pour du 5S %=(T-17,767)/0,0295
local percent1 = 0
if t < 8.7 then
percent1 = (t-7.1068) / 0.0118
if percent1 < 0 then
percent1 = 0
end
else
percent1 = (t-10.6602) / 0.0177
if (percent1 < 0) then
percent1 = 0
end
end
lcd.drawNumber(145, 45, percent1, LEFT+MIDSIZE)
lcd.drawText(lcd.getLastPos(), 45, "%", MIDSIZE)
lcd.drawGauge(110, 42, 88, 18, percent1, 100)
-- Timer
local timer = model.getTimer(0)
lcd.drawTimer(10, 10, timer.value, MIDSIZE)
lcd.drawPoint(10,23)
lcd.drawLine(8,23,45,23, SOLID, 0)
lcd.drawLine(45,23,45,10, SOLID, 0)
timer = model.getTimer(1)
lcd.drawTimer(55, 10, timer.value, MIDSIZE)
lcd.drawPoint(53,23)
lcd.drawLine(53,23,90,23, SOLID, 0)
lcd.drawLine(90,23,90,10, SOLID, 0)
-- Tension emetteur
lcd.drawChannel(11, 29, "tx-voltage", LEFT+MIDSIZE)
local settings = getGeneralSettings()
local percent = (getValue("tx-voltage")-settings.battMin) * 100 / (settings.battMax-settings.battMin)
lcd.drawNumber(35, 45, percent, LEFT+MIDSIZE)
lcd.drawText(lcd.getLastPos(), 45, "%", MIDSIZE)
lcd.drawGauge(5, 42, 88, 18, percent, 100)
lcd.drawText(63, 26, "rrsi", SMLSIZE)
lcd.drawText(67, 34, getValue(200), SMLSIZE)
-- SMLSIZE MIDSIZE DBLSIZE XXLSIZE INVERSE
end
return { run=run }
contenu
local function run(event)
-- Recuperation tension sur A1
-- local t = getValue(202)
-- Recuperation tension sur A2
local t = getValue(203)
-- affichage de la tension
lcd.drawText(100, 1, t, XXLSIZE)
-- barre graph % capacite renstante
-- pour du 2S %=(T-7,1068)/0,0118
-- pour du 3S %=(T-10,6602)/0,0177
-- pour du 4S %=(T-14,2136)/0,0236
-- pour du 5S %=(T-17,767)/0,0295
local percent1 = 0
if t < 8.7 then
percent1 = (t-7.1068) / 0.0118
if percent1 < 0 then
percent1 = 0
end
else
percent1 = (t-10.6602) / 0.0177
if (percent1 < 0) then
percent1 = 0
end
end
lcd.drawNumber(145, 45, percent1, LEFT+MIDSIZE)
lcd.drawText(lcd.getLastPos(), 45, "%", MIDSIZE)
lcd.drawGauge(110, 42, 88, 18, percent1, 100)
-- Timer
local timer = model.getTimer(0)
lcd.drawTimer(10, 10, timer.value, MIDSIZE)
lcd.drawPoint(10,23)
lcd.drawLine(8,23,45,23, SOLID, 0)
lcd.drawLine(45,23,45,10, SOLID, 0)
timer = model.getTimer(1)
lcd.drawTimer(55, 10, timer.value, MIDSIZE)
lcd.drawPoint(53,23)
lcd.drawLine(53,23,90,23, SOLID, 0)
lcd.drawLine(90,23,90,10, SOLID, 0)
-- Tension emetteur
lcd.drawChannel(11, 29, "tx-voltage", LEFT+MIDSIZE)
local settings = getGeneralSettings()
local percent = (getValue("tx-voltage")-settings.battMin) * 100 / (settings.battMax-settings.battMin)
lcd.drawNumber(35, 45, percent, LEFT+MIDSIZE)
lcd.drawText(lcd.getLastPos(), 45, "%", MIDSIZE)
lcd.drawGauge(5, 42, 88, 18, percent, 100)
lcd.drawText(63, 26, "rrsi", SMLSIZE)
lcd.drawText(67, 34, getValue(200), SMLSIZE)
-- SMLSIZE MIDSIZE DBLSIZE XXLSIZE INVERSE
end
return { run=run }
- Fichiers joints
Invité- Invité
Re: Petit Script LUA
Un peu plus de détails dans l'entête du programme ou mode d'emploie aide bien à l'installation. Et ce sera parfait
-- Ce programme affiche les tensions en bargraf blablabla
-- A installer dans le dossier SCRIPTS/X/X
-- Activer avec XXXXX
-- Renommer en TelemX.lua
-- Etc...
local function run(event)
-- Recuperation tension sur A1
-- local t = getValue(202)
-- Recuperation tension sur A2
local t = getValue(203)
-- affichage de la tension
lcd.drawText(100, 1, t, XXLSIZE)
-- barre graph % capacite renstante
-- pour du 2S %=(T-7,1068)/0,0118
-- pour du 3S %=(T-10,6602)/0,0177
-- pour du 4S %=(T-14,2136)/0,0236
-- pour du 5S %=(T-17,767)/0,0295
etc...
-- Ce programme affiche les tensions en bargraf blablabla
-- A installer dans le dossier SCRIPTS/X/X
-- Activer avec XXXXX
-- Renommer en TelemX.lua
-- Etc...
local function run(event)
-- Recuperation tension sur A1
-- local t = getValue(202)
-- Recuperation tension sur A2
local t = getValue(203)
-- affichage de la tension
lcd.drawText(100, 1, t, XXLSIZE)
-- barre graph % capacite renstante
-- pour du 2S %=(T-7,1068)/0,0118
-- pour du 3S %=(T-10,6602)/0,0177
-- pour du 4S %=(T-14,2136)/0,0236
-- pour du 5S %=(T-17,767)/0,0295
etc...
Invité- Invité
Re: Petit Script LUA
Script Lua testé sur openTx 2.07
Affichage :
du Timer1 et du Timer2
du le tension de la batterie de l’émetteur complété d'un barregraphe de la capacité restante
affichage RSSI
Affichage en font XXL de la tension du récepteur
le choix de la source se fait dans le script en choisissant A1 ou A2
-- Recuperation tension sur A1
-- local t = getValue(202)
-- Recuperation tension sur A2
local t = getValue(203)
Le script ne fonctionne que pour les lipos 2S ou 3S
if t < 8.7 then
-- lipo 2S
percent1 = (t-7.1068) / 0.0118
if percent1 < 0 then
percent1 = 0
end
else
-- lipo 3S
percent1 = (t-10.6602) / 0.0177
if (percent1 < 0) then
percent1 = 0
end
end
le nom du script telemX.lua est a renommé en telem1.lua ou 2 ou 3 suivant que vous souhaitiez qu'il apparaisse en 1er, 2eme ou 3eme écran de télémétrie
le script est à installer dans SCRIPT\"nom du modèle" sur la carte SD
le nom du modèle ne doit pas contenir d'espace
Affichage :
du Timer1 et du Timer2
du le tension de la batterie de l’émetteur complété d'un barregraphe de la capacité restante
affichage RSSI
Affichage en font XXL de la tension du récepteur
le choix de la source se fait dans le script en choisissant A1 ou A2
-- Recuperation tension sur A1
-- local t = getValue(202)
-- Recuperation tension sur A2
local t = getValue(203)
Le script ne fonctionne que pour les lipos 2S ou 3S
if t < 8.7 then
-- lipo 2S
percent1 = (t-7.1068) / 0.0118
if percent1 < 0 then
percent1 = 0
end
else
-- lipo 3S
percent1 = (t-10.6602) / 0.0177
if (percent1 < 0) then
percent1 = 0
end
end
le nom du script telemX.lua est a renommé en telem1.lua ou 2 ou 3 suivant que vous souhaitiez qu'il apparaisse en 1er, 2eme ou 3eme écran de télémétrie
le script est à installer dans SCRIPT\"nom du modèle" sur la carte SD
le nom du modèle ne doit pas contenir d'espace
- Fichiers joints
Invité- Invité
Re: Petit Script LUA
Salut
Sympa ton script
Est ce qu'il est possible de l'adapter pour du 4s ?
Sur la copie d'écran tu as rrsi au lieu de RSSI
Sympa ton script
Est ce qu'il est possible de l'adapter pour du 4s ?
Sur la copie d'écran tu as rrsi au lieu de RSSI
Page 1 sur 7 • 1, 2, 3, 4, 5, 6, 7
Sujets similaires
» quel petit recepteur pour un petit planeur 3 axes?
» Doc sympa pour les scripts LUA sous OpenTX 2.1
» Script LUA Lview
» Script LUA S6R
» vol script lua
» Doc sympa pour les scripts LUA sous OpenTX 2.1
» Script LUA Lview
» Script LUA S6R
» vol script lua
Page 1 sur 7
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum