F3News Le forum du planeur radiocommandé catégorie F3x |
|
| *** FR-SKY TARANIS *** Mega thread | |
|
+29Thierry SIMON gregoire72 Matthias Didier MORVIN jb verrier arno sourisse JLucP sylvain gilles13 R. Dubois Sebastien_152 Jerome39 Marc PUJOL Michel on4mj Deguelle J-Bastien frank Laurent maume gilles patrick_83 basile ginel pierre meunier 39 ced_toulouse stefmog patrick Z. Boulanger Yanick Nicolas C Fred fl BenjaminB Christophe Bourdon 33 participants | |
Auteur | Message |
---|
maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Ven 10 Oct - 16:28 | |
| Michel, J'ai essayé de faire fonctionner ton petit script : je n'arrive pas a le faire fonctionner j'ai crée le dossier scripts sur la carte sd de la radio j'ai crée le dossier LUAQ11E dans scripts ou j'ai collé ton script J'ai modifié ls9 par ls1 qui est déjà programmé sur mon programme pour tester Cela ne fonctionne pas quand je L1 passe a 1 ? Peut etre que cela vient de la version 2.0.5 ? As tu une idée Michel? Merci Gilles | |
| | | Michel on4mj Pilote pro
Nombre de messages : 221 Localisation : Belgique Date d'inscription : 08/10/2014
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Ven 10 Oct - 17:40 | |
| Voilà le bazar... En haut, la config pour le timer 1, pour avoir le countdown vocal. A noter que ça aide d'avoir le package son "Amber", qu'on trouve sur RC Groups. /forums/showthread.php?t=2151914 (NB: en tant que nouveau, je ne peux tjs pas mettre de liens, donc il vous faudra recomposer l'url vous-même ; désolé)Voici le code. J'ai tout mis in english. Quand vous m'aurez fait part de vos éventuelles remarques (ou bugs), j'irai le mettre sur RC settings, ça pourrait servir à pas mal de monde. Il y a des commentaires explicatifs dans l'en-tête. - Code:
-
--[[ LUA telemetry script for F5J training Displays the altitude at engine cut-off, 10s after that, and max reached during the flight Displays the work time, engine time and (an approximation of) the glide time
If the engine is used more that 30s or twice in the same flight, the flight is declared invalid (a badflight.wav file can be used to signal this with audio)
Switch F can be used to signal the end of the flight (and stop the timers) Switch H can be used to reset the script (this can only happen after the 10s delay)
Customization (look for numbers in the code): (1) CH1 is used for the throttle (2) The value where the throttle is meant to be active (defaults to -1024) (3) Switch F is used to end the flight (4) Switch H is used to reset the flight (5) Language for the sounds (for the texts, change the texts in the drawDashboard() and drawFault() functions)
ON4MJ --]]
-- -- Timer class -- (this is generic, and will have to be modified in 2.0.13+ where the setTimer() bug is fixed) -- Precondition: timerId is either 0 or 1 -- local function createTimer( timerId, startValue ) local id = timerId local timer = model.getTimer( id )
local function setTimerWA() -- work-around for the difference in parameters of setTimer() compared to the return of getTimer() local t = { mode=timer.mode, start=timer.start, value=timer.value, countdownBeep=timer.countdownBeep, minuteBeep = timer.minuteBeep and 1 or 0, persistent = timer.persistent and 1 or 0 } model.setTimer( id, t ) end
local function getVal() timer.value = model.getTimer( id ).value return timer.value end
local function start() timer.mode = 1 setTimerWA() end
local function stop() timer = model.getTimer( id ) timer.mode = 0 setTimerWA() return timer.value end
local function reset() timer.value = timer.start setTimerWA() end
local function draw( x, y, att ) local val = getVal() lcd.drawTimer( x, y, val, att ) return val end
if startValue then timer.start = startValue reset() end
return { start = start, stop = stop, reset = reset, draw = draw, getVal = getVal } end
-- F5J stuff
local SOUND_PATH = '/SOUNDS/EN/' -- (5)
local THROTTLE_MIN = -1020 -- (2) (normally -1024) local THR = getFieldInfo( 'ch1' ).id -- (1) local ALT = getFieldInfo( 'altitude' ).id local SF = getFieldInfo( 'sf' ).id -- (3) local SH = getFieldInfo( 'sh' ).id -- (4)
local alt = 0 local alt10 = 0 local max = 0 local state = 1 -- 1=reset; 2=launch; 3=cutoff; 4=glide; 5=landed; 6=disqualify
local timer1 = createTimer( 0, 600 ) -- flight time local timer2 = createTimer( 1, 0 ) -- engine time local time3 = 0
local function vocalEnabled() return true end
local function handleMax() local a = getValue( ALT ) if a > max then max = a end return a end
local function disqualify() if vocalEnabled() then playFile( SOUND_PATH .. 'badflight.wav' ) end timer2.stop() state = 6 end
local function checkThrottle() if getValue( THR ) > THROTTLE_MIN then disqualify() end end
local function checkReset() if getValue( SH ) > 0 then timer2.stop() timer1.stop() timer2.reset() timer1.reset()
time3 = 0
alt = 0 alt10 = 0 max = 0
state = 1 return true end return false end
local function checkEnd() -- switch F ? return (getValue( SF ) > 0) end
-- state transition functions
local function resetState() -- wait for take-off if getValue( THR ) > THROTTLE_MIN then timer2.start() timer1.start() state = 2 end end
local function launchState() -- wait for the motor cut if getValue( THR ) <= THROTTLE_MIN then timer2.stop() alt = getValue( ALT ) max = alt if vocalEnabled() then playNumber( alt, 6, 0 ) end state = 3 elseif timer2.getVal() > 30 then disqualify() end end
local function cutoffState() local a = handleMax()
-- wait for the 10s end if ((600 - timer1.getVal()) - timer2.getVal()) >= 10 then alt10 = a if vocalEnabled() then playNumber( alt10, 6, 0 ) end state = 4 else checkThrottle() end end
local function glideState() handleMax()
-- wait for the end of flight if checkEnd() then timer2.stop() timer1.stop() state = 5 end
if not checkReset() then checkThrottle() end end
local function landedState() -- wait for reset checkReset() end
local function disqualifyState() -- wait for reset checkReset() end
local functions = { resetState, launchState, cutoffState, glideState, landedState, disqualifyState }
function background() functions[ state ]() end
local function drawDashboard() lcd.drawFilledRectangle( 0, 23, 212, 18, 0 )
lcd.drawText( 4, 4, "Alt cut:", MIDSIZE ) lcd.drawNumber( 64, 4, alt, MIDSIZE+LEFT ) lcd.drawText( lcd.getLastPos(), 4, "m", 0 )
lcd.drawText( 4, 26, "Alt 10s:", MIDSIZE+INVERS ) lcd.drawNumber( 64, 26, alt10, MIDSIZE+LEFT+INVERS ) lcd.drawText( lcd.getLastPos(), 26, "m", INVERS ) lcd.drawText( 4, 48, "Alt max:", MIDSIZE ) lcd.drawNumber( 64, 48, max, MIDSIZE+LEFT ) lcd.drawText( lcd.getLastPos(), 48, "m", 0 ) lcd.drawText( 120, 4, "Total:", MIDSIZE ) timer1.draw( 174, 4, MIDSIZE )
lcd.drawText( 120, 26, "Engine:", MIDSIZE+INVERS ) timer2.draw( 174, 26, MIDSIZE+INVERS )
lcd.drawText( 120, 48, "Glide:", MIDSIZE ) local t = (600 - timer1.getVal()) - timer2.getVal() if t > time3 then time3 = t end lcd.drawTimer( 174, 48, time3, MIDSIZE ) end
local function drawFault() lcd.drawRectangle( 4, 4, 204, 56 ) lcd.drawText( 40, 25, "INVALID FLIGHT", DBLSIZE+BLINK ) end
local function run() background()
if state < 6 then drawDashboard() else drawFault() end end
return {background=background, run=run}
Si vous avez des questions ou des remarques, n'hésitez pas EDIT: j'oubliais... au deuxième coup, après le reset des timers, ils ne sont plus synchros à la seconde près. Ca donne une petite imprécision sur le temps de plané. Je sais pas si ça peut se résoudre, ni comment. EDIT 2: le tag code n'est pas génial sur le forum, il bouffe tout le formattage Et je ne peux pas mettre de .zip
Dernière édition par Michel_65 le Ven 10 Oct - 18:10, édité 2 fois | |
| | | Michel on4mj Pilote pro
Nombre de messages : 221 Localisation : Belgique Date d'inscription : 08/10/2014
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Ven 10 Oct - 17:46 | |
| - maume gilles a écrit:
Cela ne fonctionne pas quand je L1 passe a 1 ? Peut etre que cela vient de la version 2.0.5 ?
As tu une idée Michel?
Le premier truc à regarder, c'est si le switch s'active bien avec ta condition (dans l'émulateur, le bouton L1 qu'on trouve dans les onglets "outputs" doit passer au vert ; sur la radio, il faut naviguer dans les pages, il y a une liste de tirets. Si le switch est actif, ça devient un pavé). | |
| | | Michel on4mj Pilote pro
Nombre de messages : 221 Localisation : Belgique Date d'inscription : 08/10/2014
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Sam 11 Oct - 8:19 | |
| J'ai pensé à un truc bête pour améliorer l'ergonomie du script. Plutôt que d'utiliser le switch temporaire pour le reset, je pense le mettre au retour du switch à deux positions qui sert à arrêter le timer. Attendez-vous à une mise à jour d'ici ce soir ---------------- @Gilles: j'ai vérifié dans la doc : getFieldInfo() est apparu en 2.0.8. Tu peux virer les deux premières lignes et les remplacer par - Code:
-
local LS1 = 100 local ALT = 206
Ca devrait marcher. | |
| | | Michel on4mj Pilote pro
Nombre de messages : 221 Localisation : Belgique Date d'inscription : 08/10/2014
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Sam 11 Oct - 8:52 | |
| Vu qu'il n'y avait presque rien à changer, voici déjà la modif. Je n'ai retesté que sur le simulateur, mais ça devrait marcher, y'a pas de raison. - Code:
-
--[[ LUA telemetry script for F5J training Displays the altitude at engine cut-off, 10s after that, and max reached during the flight Displays the work time, engine time and (an approximation of) the glide time
If the engine is used more that 30s or twice in the same flight, the flight is declared invalid (a badflight.wav file can be used to signal this with audio)
Switch F is used to signal the end of the flight and stop the timers (up) then reset everything (down)
Customization (look for numbers in the code): (1) CH1 is used for the throttle (2) The value where the throttle is meant to be active (defaults to -1024) (3) Switch F is used to end (up) then reset (down) the flight (4) Language for the sounds (for the texts, change the texts in the drawDashboard() and drawFault() functions)
ON4MJ --]]
-- -- Timer class -- (this is generic, and will have to be modified in 2.0.13+ where the setTimer() bug is fixed) -- Precondition: timerId is either 0 or 1 -- local function createTimer( timerId, startValue ) local id = timerId local timer = model.getTimer( id )
local function setTimerWA() -- work-around for the difference in parameters of setTimer() compared to the return of getTimer() local t = { mode=timer.mode, start=timer.start, value=timer.value, countdownBeep=timer.countdownBeep, minuteBeep = timer.minuteBeep and 1 or 0, persistent = timer.persistent and 1 or 0 } model.setTimer( id, t ) end
local function getVal() timer.value = model.getTimer( id ).value return timer.value end
local function start() timer.mode = 1 setTimerWA() end
local function stop() timer = model.getTimer( id ) timer.mode = 0 setTimerWA() return timer.value end
local function reset() timer.value = timer.start setTimerWA() end
local function draw( x, y, att ) local val = getVal() lcd.drawTimer( x, y, val, att ) return val end
if startValue then timer.start = startValue reset() end
return { start = start, stop = stop, reset = reset, draw = draw, getVal = getVal } end
-- F5J stuff
local SOUND_PATH = '/SOUNDS/EN/' -- (4)
local THROTTLE_MIN = -1020 -- (2) (normally -1024) local THR = getFieldInfo( 'ch1' ).id -- (1) local ALT = getFieldInfo( 'altitude' ).id local SF = getFieldInfo( 'sf' ).id -- (3)
local alt = 0 local alt10 = 0 local max = 0 local state = 1 -- 1=reset; 2=launch; 3=cutoff; 4=glide; 5=landed; 6=disqualify
local timer1 = createTimer( 0, 600 ) -- flight time local timer2 = createTimer( 1, 0 ) -- engine time local time3 = 0
local function vocalEnabled() return true end
local function handleMax() local a = getValue( ALT ) if a > max then max = a end return a end
local function disqualify() if vocalEnabled() then playFile( SOUND_PATH .. 'badflight.wav' ) end timer2.stop() timer1.stop() state = 6 end
local function checkThrottle() if getValue( THR ) > THROTTLE_MIN then disqualify() end end
local function checkReset() if getValue( SF ) < 0 then timer2.stop() timer1.stop() timer2.reset() timer1.reset()
time3 = 0
alt = 0 alt10 = 0 max = 0
state = 1 return true end return false end
local function checkEnd() return (getValue( SF ) > 0) end
-- state transition functions
local function resetState() -- wait for take-off if getValue( THR ) > THROTTLE_MIN then timer2.start() timer1.start() state = 2 end end
local function launchState() -- wait for the motor cut if getValue( THR ) <= THROTTLE_MIN then timer2.stop() alt = getValue( ALT ) max = alt if vocalEnabled() then playNumber( alt, 6, 0 ) end state = 3 elseif timer2.getVal() > 30 then disqualify() end end
local function cutoffState() local a = handleMax()
-- wait for the 10s end if ((600 - timer1.getVal()) - timer2.getVal()) >= 10 then alt10 = a if vocalEnabled() then playNumber( alt10, 6, 0 ) end state = 4 else checkThrottle() end end
local function glideState() handleMax()
-- wait for the end of flight if checkEnd() then timer2.stop() timer1.stop() state = 5 else checkThrottle() end end
local function landedState() -- wait for reset checkReset() end
local function disqualifyState() -- wait for end if checkEnd() then state = 5 end end
local functions = { resetState, launchState, cutoffState, glideState, landedState, disqualifyState }
function background() functions[ state ]() end
local function drawDashboard() lcd.drawFilledRectangle( 0, 23, 212, 18, 0 )
lcd.drawText( 4, 4, "Alt cut:", MIDSIZE ) lcd.drawNumber( 64, 4, alt, MIDSIZE+LEFT ) lcd.drawText( lcd.getLastPos(), 4, "m", 0 )
lcd.drawText( 4, 26, "Alt 10s:", MIDSIZE+INVERS ) lcd.drawNumber( 64, 26, alt10, MIDSIZE+LEFT+INVERS ) lcd.drawText( lcd.getLastPos(), 26, "m", INVERS ) lcd.drawText( 4, 48, "Alt max:", MIDSIZE ) lcd.drawNumber( 64, 48, max, MIDSIZE+LEFT ) lcd.drawText( lcd.getLastPos(), 48, "m", 0 ) lcd.drawText( 120, 4, "Total:", MIDSIZE ) timer1.draw( 174, 4, MIDSIZE )
lcd.drawText( 120, 26, "Engine:", MIDSIZE+INVERS ) timer2.draw( 174, 26, MIDSIZE+INVERS )
lcd.drawText( 120, 48, "Glide:", MIDSIZE ) local t = (600 - timer1.getVal()) - timer2.getVal() if t > time3 then time3 = t end lcd.drawTimer( 174, 48, time3, MIDSIZE ) end
local function drawFault() lcd.drawRectangle( 4, 4, 204, 56 ) lcd.drawText( 40, 25, "INVALID FLIGHT", DBLSIZE+BLINK ) end
local function run() background()
if state < 6 then drawDashboard() else drawFault() end end
return {background=background, run=run} | |
| | | maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Sam 11 Oct - 9:20 | |
| Michel
Merci , je vais tester cela cet après midi .
Il vaudrais surement mieux que que passe la radio en 2.0.12 Non
Gilles | |
| | | Michel on4mj Pilote pro
Nombre de messages : 221 Localisation : Belgique Date d'inscription : 08/10/2014
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Sam 11 Oct - 10:19 | |
| C'est sans doute mieux pour ce qui est du scripting LUA. Les devs ont indiqué qu'il fallait utiliser le getFieldInfo() désormais, car ils vont changer les indices utilisés dans le getValue() à l'avenir. Donc une version antérieure à la 2.0.8 risque de limiter pas mal les choses car les gens vont changer leurs scripts pour se conformer à ça. En ce qui me concerne, je n'ai eu aucun souci lors de mes upgrades, mais ceux qui utilisent des fonctions "sticky" ou "edge" ont dû modifier des trucs, je pense. Sinon, si tu veux essayer avec ta 2.0.5, il faut remplacer les lignes avec des getFieldInfo() par les valeurs directes, qui pour le moment sont: ch1 : 148 (ch2 149, etc... si ton moteur est ailleurs) altitude: 206 sf : 97 sh: 99 (si tu as interverti les SF et SH) Voilà, bons vols et bons tests Merci de me donner du retour ensuite | |
| | | maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Sam 11 Oct - 11:09 | |
| Je suis passé en version 2.0.12
Cela ne fonctionne toujours pas avec le petit script d'essai . Je pense que cela doit venir d'un config qu'il faut cocher dans la version 2.0.12?
Je recommence cet aprem . | |
| | | Michel on4mj Pilote pro
Nombre de messages : 221 Localisation : Belgique Date d'inscription : 08/10/2014
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Sam 11 Oct - 11:43 | |
| Tu as bien le LUA activé dans ton firmware ?
Sinon, ton écran de télémétrie, il est vide, ou il reste à 0 ? | |
| | | maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Sam 11 Oct - 12:56 | |
| - Michel_65 a écrit:
- Tu as bien le LUA activé dans ton firmware ?
Sinon, ton écran de télémétrie, il est vide, ou il reste à 0 ? J'ai bien coché la case lua lorsque j'ai mis le firmware dans la radio . Pour l’écran de télémétrie il ne se passe rien Quand je vais voir les fichiers dans le dossier script de la carte sd de la radio il est écrit comme cela telem.lua.txt Dans la page 12/13 du programme dans la radio ( scripts persos ) quand je sélectionne LUA1 cela me dit AUCUN SCRIPT SD . Je suis pommé , je reprendrais plus tard , je ne comprends pas d'ou vient le pb. Gilles | |
| | | Michel on4mj Pilote pro
Nombre de messages : 221 Localisation : Belgique Date d'inscription : 08/10/2014
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Sam 11 Oct - 13:08 | |
| Ak, ok, c'est normal. Le fichier doit s'appeler telem1.lua Et il ne faut pas d'extension .txt ensuite. | |
| | | maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Sam 11 Oct - 15:10 | |
| Michel Cela marche pour le petit script . Je ne peux plus continuer aujourd'hui la suite demain ou lundi Ça va être long , je suis pas bon Merci Gilles | |
| | | Michel on4mj Pilote pro
Nombre de messages : 221 Localisation : Belgique Date d'inscription : 08/10/2014
| | | | maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Sam 11 Oct - 17:53 | |
| Michel Pourrais tu ajouter une fonction au petit script stp . raz du l'alt affiché si L10 = +100 par exemple cela va me permettre de comprendre mieux la chose. Merci Gilles | |
| | | Michel on4mj Pilote pro
Nombre de messages : 221 Localisation : Belgique Date d'inscription : 08/10/2014
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Sam 11 Oct - 22:02 | |
| - Code:
-
local LS9 = getFieldInfo( 'ls9' ).id local LS10 = getFieldInfo( 'ls10' ).id local ALT = getFieldInfo( 'altitude' ).id
local alt = 0
local function background() if getValue( LS9 ) > 0 then alt = getValue( ALT ) end if getValue( LS10 ) == 100 then alt = 0 end end
local function run() background() --lcd.drawChannel(20, 4, ALTITUDE, MIDSIZE+PREC1+LEFT) lcd.drawNumber(70, 4, alt, MIDSIZE+LEFT) lcd.drawText( lcd.getLastPos(), 4, "m", 0 ) end
return {background=background, run=run}
Si tu te poses des questions sur la syntaxe du LUA, il y a le bouquin "Programming in lua" (dispo en ligne sur lua.org pour la 1ere édition). | |
| | | maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Dim 12 Oct - 7:49 | |
| Merci Michel
Je vais tester ce petit script aujourd'hui et dans la semaine celui de f5j
Merci pour le lien aussi.
Gilles | |
| | | Michel on4mj Pilote pro
Nombre de messages : 221 Localisation : Belgique Date d'inscription : 08/10/2014
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Dim 12 Oct - 9:00 | |
| Euh, au fait, j'ai fait ça hier soir sans réfléchir pour répondre à ta demande. Mais en fait, un Logical Switch, ça ne peut avoir que deux valeurs. Si la condition est false, ça vaut -1024 et si elle est vraie, ça vaut 1024. Donc, tester si ça vaut 100, ça n'a pas beaucoup de sens.
-----
En ce qui concerne le script F5J, je pense y ajouter une option "autocut", et si on l'a choisie, de changer la valeur d'une GV (0 ou 100), de sorte qu'on puisse l'intégrer dans le mix (bêtement comme poids de l'input du moteur, ou en combinaison avec un switch, de sorte à pouvoir réactiver la commande en cas de catastrophe).
Au bout des 30s, on aurait donc deux fonctionnalités possibles : soit ça coupe le moteur, soit ça déclare le vol non valide. | |
| | | maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Dim 12 Oct - 9:52 | |
| Michel,
Pour ma demande de hier soir , cela devrait me permettre de remettre a zéro l'alt .
Personnellement j'utilise pour l'instant s1 -100= L9 pour ton 1er script et je voulais remettre a zero l'alt avec s1 +100 = L10
Pour le moteur , on a droit a 1 seul coup de moteur de 30s max . si il y a 2 coups de moteur = vol nul . Donc aucune interdiction de mettre 2 coups de moteur mais si s'est le cas le vol est nul . Après le vol on peut noter les valeurs qui nous intéresse et ensuite on fait un reset des valeurs pour initialiser l’écran pour un nouveau vol .
Gilles | |
| | | Michel on4mj Pilote pro
Nombre de messages : 221 Localisation : Belgique Date d'inscription : 08/10/2014
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Dim 12 Oct - 10:18 | |
| - maume gilles a écrit:
Pour le moteur , on a droit a 1 seul coup de moteur de 30s max . si il y a 2 coups de moteur = vol nul . Donc aucune interdiction de mettre 2 coups de moteur mais si s'est le cas le vol est nul . Après le vol on peut noter les valeurs qui nous intéresse et ensuite on fait un reset des valeurs pour initialiser l’écran pour un nouveau vol .
C'est comme ça que fonctionne le script actuel. Je voudrais juste ajouter une option qui permette de couper le moteur automatiquement. Pour tes switchs logiques, je pense que tu comprendras mieux quand tu joueras un peu avec. On en reparle ensuite | |
| | | maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Dim 12 Oct - 17:31 | |
| Oui je vois ce que tu veux dire . Je te tiens au courant des que j'en suis là Gilles | |
| | | maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Dim 12 Oct - 18:00 | |
| Michel,
Effectivement il avait un pb pour la remise a zero de l'alt . J'ai corrigé le script ça marche maintenant .
code/
local LS9 = getFieldInfo( 'ls9' ).id local LS10 = getFieldInfo( 'ls10' ).id local ALT = getFieldInfo( 'altitude' ).id
local alt = 0
local function background() if getValue( LS9 ) > 0 then alt = getValue( ALT ) end if getValue( LS10 ) > 0 then alt = 0 end end
local function run() background() --lcd.drawChannel(20, 4, ALTITUDE, MIDSIZE+PREC1+LEFT) lcd.drawNumber(70, 4, alt, MIDSIZE+LEFT) lcd.drawText( lcd.getLastPos(), 4, "m", 0 ) end
return {background=background, run=run}
Merci
Gilles
| |
| | | maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Dim 12 Oct - 18:04 | |
| Michel,
Personnellement le moteur est commandé par un inter 3 positions:
SD bas = moteur arrêté
SD milieur = vitesse 1
SD haut = vitesse 2 ( full )
Je crois que tu as basé ton script pour cette fonction avec le manche de gaz .
Je regarde ça demain
Gilles | |
| | | Michel on4mj Pilote pro
Nombre de messages : 221 Localisation : Belgique Date d'inscription : 08/10/2014
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Dim 12 Oct - 19:27 | |
| En fait, mon script est basé sur le canal en sortie, pas sur une input. Donc, peu importe les règlages (sécurité moteur par switch ou sticky, commande par autre chose que le manche de gaz, etc...), ça devrait toujours être bon. Il faut juste mettre le bon canal. - Code:
-
Customization (look for numbers in the code): (1) CH1 is used for the throttle (2) The value where the throttle is meant to be active (defaults to -1024)
et le code lui-même (lignes 90 et suivantes) : - Code:
-
local THROTTLE_MIN = -1020 -- (2) (normally -1024) local THR = getFieldInfo( 'ch1' ).id -- (1)
il faut juste mettre ton canal de gaz à la place de 'ch1' si ton "servo" de gaz est sur un autre canal que le 1. Pas de panique, ça va aller | |
| | | maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Lun 13 Oct - 9:36 | |
| Michel, J'ai opté pour la voie 7 Je devrais avoir le temps aujourd'hui de faire les essais Gilles | |
| | | maume gilles pilote d'or
Nombre de messages : 640 Localisation : 13 Date d'inscription : 16/12/2007
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread Lun 13 Oct - 12:22 | |
| Michel, Cela fonctionne mais je n'ai pas encore tout compris. Le programme lua interfère avec le programme du planeur . Il faut que je réalise quelque adaptation. Je ne comprends pas la fonction exacte de l'inter E ? On dirait si E CENTRE = reset temps moteur // Si E HAUT moteur comptabilisé Pour l'instant voila ce que je pense qu'il faut modifier dans un premier temps ( il faudra ensuite rajouté du vocal pour le temps moteur et temps de travail et peu être glide ) : -- sachant que le temps moteur fait partie du temps de vol , Pour simplifié je pense que le temps GLIDE commence a la mise en marche du moteur et s’arrête quand le planeur touche le sol ou quand le temps de travail atteint les 10mn. Demarrage du temps de travail inter ? Démarrage temps de vol GLIDE lorsque le moteur est mis en marche Arrêt du temps de vol GLIDE et du temps de travail TOTAL inter ? Reset de la page pour un nouveau vol inter? Au niveau du moteur il doit s’arrêter automatiquement au bout de 30sec mais pouvoir redémarrer quand même après réarmement . Je pense que le réarmement pourrait être réalisé AVEC la fonction qui commande le moteur ( pour mon cas SD bas = réarmement ) Donc SD haut le moteur marche au bout de 30sec le moteur s’arrête ( alors que SD toujours en haut ) si je mets SD en BAS je réarme le moteur si je remets SD en HAUT ou CENTRE d’ailleurs le moteur redémarre mais la page affiche vol nul . Pour ce qui est de 2 démarrages du moteur dans les 30sec cela fonctionne bien et affiche bien vol nul . Tu as fait du super bon boulot , merci mille fois , quelques petites motif est c'est tout bon . Gilles | |
| | | Contenu sponsorisé
| Sujet: Re: *** FR-SKY TARANIS *** Mega thread | |
| |
| | | | *** FR-SKY TARANIS *** Mega thread | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |
|