www.F3News.fr

Le forum du planeur radiocommandé catégorie F3x
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 *** FR-SKY TARANIS *** Mega thread

Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5, 6 ... 9 ... 14  Suivant
AuteurMessage
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Ven 10 Oct 2014 - 18: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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel on4mj
Pilote pro
Pilote pro


Nombre de messages : 221
Localisation : Belgique
Date d'inscription : 08/10/2014

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Ven 10 Oct 2014 - 19: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 Wink

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 Neutral
Et je ne peux pas mettre de .zip No


Dernière édition par Michel_65 le Ven 10 Oct 2014 - 20:10, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel on4mj
Pilote pro
Pilote pro


Nombre de messages : 221
Localisation : Belgique
Date d'inscription : 08/10/2014

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Ven 10 Oct 2014 - 19: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é).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel on4mj
Pilote pro
Pilote pro


Nombre de messages : 221
Localisation : Belgique
Date d'inscription : 08/10/2014

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Sam 11 Oct 2014 - 10: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 Wink

----------------

@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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel on4mj
Pilote pro
Pilote pro


Nombre de messages : 221
Localisation : Belgique
Date d'inscription : 08/10/2014

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Sam 11 Oct 2014 - 10: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}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Sam 11 Oct 2014 - 11: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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel on4mj
Pilote pro
Pilote pro


Nombre de messages : 221
Localisation : Belgique
Date d'inscription : 08/10/2014

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Sam 11 Oct 2014 - 12: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 Wink
Merci de me donner du retour ensuite Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Sam 11 Oct 2014 - 13: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 .
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel on4mj
Pilote pro
Pilote pro


Nombre de messages : 221
Localisation : Belgique
Date d'inscription : 08/10/2014

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Sam 11 Oct 2014 - 13: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 ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Sam 11 Oct 2014 - 14: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



Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel on4mj
Pilote pro
Pilote pro


Nombre de messages : 221
Localisation : Belgique
Date d'inscription : 08/10/2014

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Sam 11 Oct 2014 - 15:08

Ak, ok, c'est normal.  Le fichier doit s'appeler telem1.lua
Et il ne faut pas d'extension .txt ensuite.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Sam 11 Oct 2014 - 17: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 pirat

Merci

Gilles
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel on4mj
Pilote pro
Pilote pro


Nombre de messages : 221
Localisation : Belgique
Date d'inscription : 08/10/2014

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Sam 11 Oct 2014 - 19:17

maume gilles a écrit:
Ça va être long , je suis pas bon pirat

Boah... Ca va aller tout seul, maintenant Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Sam 11 Oct 2014 - 19: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. drunken



Merci

Gilles
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel on4mj
Pilote pro
Pilote pro


Nombre de messages : 221
Localisation : Belgique
Date d'inscription : 08/10/2014

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Dim 12 Oct 2014 - 0: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).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Dim 12 Oct 2014 - 9:49

Merci Michel

Je vais tester ce petit script aujourd'hui et dans la semaine celui de f5j

Merci pour le lien aussi.

Gilles
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel on4mj
Pilote pro
Pilote pro


Nombre de messages : 221
Localisation : Belgique
Date d'inscription : 08/10/2014

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Dim 12 Oct 2014 - 11: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Dim 12 Oct 2014 - 11: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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel on4mj
Pilote pro
Pilote pro


Nombre de messages : 221
Localisation : Belgique
Date d'inscription : 08/10/2014

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Dim 12 Oct 2014 - 12: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 Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Dim 12 Oct 2014 - 19:31

Oui je vois ce que tu veux dire .
Je te tiens au courant des que j'en suis là Smile

Gilles
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Dim 12 Oct 2014 - 20: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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Dim 12 Oct 2014 - 20: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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel on4mj
Pilote pro
Pilote pro


Nombre de messages : 221
Localisation : Belgique
Date d'inscription : 08/10/2014

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Dim 12 Oct 2014 - 21: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 Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Lun 13 Oct 2014 - 11:36

Michel,

J'ai opté pour la voie 7

Je devrais avoir le temps aujourd'hui de faire les essais Very Happy cheers

Gilles
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maume gilles
pilote d'or
pilote d'or
avatar

Nombre de messages : 637
Localisation : 13
Date d'inscription : 16/12/2007

MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   Lun 13 Oct 2014 - 14:22

Michel,

Cela fonctionne cheers cheers cheers 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: *** FR-SKY TARANIS *** Mega thread   

Revenir en haut Aller en bas
 
*** FR-SKY TARANIS *** Mega thread
Revenir en haut 
Page 5 sur 14Aller à la page : Précédent  1, 2, 3, 4, 5, 6 ... 9 ... 14  Suivant
 Sujets similaires
-
» *** FR-SKY TARANIS *** Mega thread
» [NEW] Chargeur Turnigy MEGA 400W 20.0A
» mega probleme SPL et ROM URGENT !!!!
» Mega Gargant !!
» Mega size

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
www.F3News.fr  :: Les news du F3x ! :: Du blabla, forum commun à tous !-
Sauter vers: