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.
-50%
Le deal à ne pas rater :
-50% Baskets Nike Air Huarache
64.99 € 129.99 €
Voir le deal

[Presque RESOLU] Problème avec un script - la radio freeze

3 participants

Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty [Presque RESOLU] Problème avec un script - la radio freeze

Message par Sacre100 Sam 23 Aoû 2014 - 20:44

J'ai un problème avec un script que je suis en train de mettre au point.

Dans Companion, il fonctionne sans problème.

Sur la Taranis, quand j'appuie sur la touche EXIT (événement EVT_EXIT_BREAK), au lieu de mettre fin au script, la radio freeze et je dois enlever la batterie pour pouvoir l'éteindre. Ensuite, quand je la rallume, l'accès à la carte SIM ne fonctionne pas mais dans ce cas, il suffit d^éteindre et rallumer la radio pour résoudre ce problème.

Avez-vous déjà rencontré ce genre de problème ?

C'est le seul problème que j'ai avec ce script, sinon tout le reste fonctionne comme prévu à mon plus grand plaisir.

[EDIT 25.08.14 0:30]

Le problème de freeze est résolu. Cela venait de l'emploi de l'opérateur ".." qui permet de concaténer deux chaines de caractères. J'ai modifié le script pour éviter de faire cette opération et ça la radio ne freeze plus.

Il reste un problème qui fait que lorsque l'on quitte le script et qu'on le relance, on obtient parfois un message "NOT ENOUGH MEMORY". Dans ce cas, il faut presser sur la touche EXIT et relancer le script.

Le problème est en main de l'équipe de développement d'OpenTx : https://github.com/opentx/opentx/issues/1643#issuecomment-53201996

J'ai mis à jour le fichier attaché avec la nouvelle version et si le coeur vous en dit, vous pouvez tester aussi dans la radio.
[/EDIT]

[EDIT 25.08.14 10:30]

Nouvelle version du script qui ne semble plus produire de message "Not enough memory" mais ça reste à vérifier à l'usage.

Pour cela, j'ai sorti toutes les variables locales des fonctions pour les remonter au niveau du script ainsi, LUA n'a plus à faire des allocations mémoire pour ces variables à chaque appel des fonctions. Il est possible de le faire uniquement si les fonctions ne sont pas appelées récursivement soit directement, soit indirectement.
[/EDIT]
Fichiers joints
[Presque RESOLU] Problème avec un script - la radio freeze Attachment
predimrc.zip Vous n'avez pas la permission de télécharger les fichiers joints.(6 Ko) Téléchargé 8 fois


Dernière édition par Sacre100 le Lun 25 Aoû 2014 - 10:34, édité 2 fois
Sacre100
Sacre100

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

Revenir en haut Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty Re: [Presque RESOLU] Problème avec un script - la radio freeze

Message par Invité Dim 24 Aoû 2014 - 1:05

Bonjour,

Je peux savoir où tu le places sur la carte SD pour le reconnaitre et comment tu fais pour le tester sous Companion/OpenTx ?

Invité
Invité


Revenir en haut Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty Re: [Presque RESOLU] Problème avec un script - la radio freeze

Message par Sacre100 Dim 24 Aoû 2014 - 9:05

Murphy a écrit:Bonjour,

Je peux savoir où tu le places sur la carte SD pour le reconnaitre et comment tu fais pour le tester sous Companion/OpenTx ?

Volontiers, dans le fichier joint, tu trouveras comment faire.
Fichiers joints
[Presque RESOLU] Problème avec un script - la radio freeze Attachment
PredimRC_Slim - Installation.doc Vous n'avez pas la permission de télécharger les fichiers joints.(558 Ko) Téléchargé 30 fois
Sacre100
Sacre100

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

Revenir en haut Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty Re: [Presque RESOLU] Problème avec un script - la radio freeze

Message par Invité Dim 24 Aoû 2014 - 12:25

D'accord, mais il faudrait quand même décrire un peu à quoi il sert ce script [Presque RESOLU] Problème avec un script - la radio freeze 2258904616

Invité
Invité


Revenir en haut Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty Re: [Presque RESOLU] Problème avec un script - la radio freeze

Message par Sacre100 Dim 24 Aoû 2014 - 13:40

Murphy a écrit:D'accord, mais il faudrait quand même décrire un peu à quoi il sert ce script [Presque RESOLU] Problème avec un script - la radio freeze 2258904616

Bien volontiers. C'est un programme qui permet de calculer le centre de gravité d'un planeur ou d'un avion en fonction de sa géométrie. Le centrage d'une machine est très important pour avoir quelque chose d'agréable à piloter. C'est aussi important pour la sécurité.

C'est une version simplifié du PredimRC original qui a été développé par Franck Aguerre et qui en fait beaucoup plus : http://www.jivaro-models.org/predim_rc/page_predim_rc.htm

L'utilisation est la suivante :

  • Dans la première page, tu saisis les dimensions de ton aile (jusqu'à 5 trapèzes)
  • Dans la deuxième page, tu saisis les dimensions de ton stabilisateur (jusqu'à 5 trapèzes)
  • Dans la troisième page, tu saisis :
    - la position de ton stabilisateur (distance entre l'aile et le stab, et la hauteur du stab au dessus ou au dessous de l'aile)
    - la longueur du fuselage, la longueur du nez et le genre de fuselage (pour fine, normale, épaisse ou fuselage de jet)
  • Dans la quatrième page, tu indiques la marge statique (3% est la valeur qui va bien) et tu obtiens la distance en mm entre le bord d'attaque et le centre de gravité.
  • La cinquième page te donne le résultat de plusieurs calculs à titre d'information (envergure, surface, allongement, foyer, etc...)

Cette version est capable de calculer le centre de gravité pour des machines habituelles (stab derrière les ailes), mais aussi pour des ailes volantes (pas de stab), des canards (stab devant l'aile) ou des machines style "Pou du Ciel" (pas de stab mais deux ailes de taille similaire assez proche l'une de l'autre). Par contre, elle n'est pas capable de calculer le CG d'un biplan comme peut le faire la version originale.

Quand le problème de freeze sera résolu et que des tests poussés auront été fait sur les calculs, je publierai la chose avec la documentation nécessaire.
Sacre100
Sacre100

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

Revenir en haut Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty Re: [Presque RESOLU] Problème avec un script - la radio freeze

Message par Invité Dim 24 Aoû 2014 - 13:50

J'attend avec impatiente [Presque RESOLU] Problème avec un script - la radio freeze 2258904616

Invité
Invité


Revenir en haut Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty Re: [Presque RESOLU] Problème avec un script - la radio freeze

Message par Sacre100 Dim 24 Aoû 2014 - 14:14

Murphy a écrit:J'attend avec impatiente [Presque RESOLU] Problème avec un script - la radio freeze 2258904616

Si tu as envie de faire déjà des tests (toute aide pour débugger la chose est la bienvenue), ça marche très bien dans Companion et sur la radio, pour éviter le problème, il suffit juste d'éteindre la radio pour arrêter le script au lieu d'appuyer sur le bouton EXIT (c'est un pis-allé pas très propre pour une diffusion du script mais pour des tests, ça peut aller)
Sacre100
Sacre100

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

Revenir en haut Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty Re: [Presque RESOLU] Problème avec un script - la radio freeze

Message par blonblon Dim 24 Aoû 2014 - 22:59

Bonsoir Sacre100
Est tu sur de la valeur de retour ici

Code:

local function run(event)
  if event == nil then
    error("Cannot be run as a model script!")
  end
 
  if event == EVT_EXIT_BREAK then return 2 end

Je penserais a return 0, je n'ai pas essayé
blonblon
blonblon

Masculin Messages : 214
Date d'inscription : 25/03/2014
Age : 73
Localisation : pres d'Uzes (Gard)

Revenir en haut Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty Re: [Presque RESOLU] Problème avec un script - la radio freeze

Message par Sacre100 Lun 25 Aoû 2014 - 0:48

blonblon a écrit:Bonsoir Sacre100
Est tu sur de la valeur de retour ici

Code:

local function run(event)
  if event == nil then
    error("Cannot be run as a model script!")
  end
  
  if event == EVT_EXIT_BREAK then return 2 end

Je penserais a return 0, je n'ai pas essayé

Le "return 2" est correct.

"Return 0" n'arrête pas le script par contre "return n" ou n est différent de 0 arrête bien le script.

Le problème de freeze est résolu mais il reste un problème lorsque l'on relance le script après l'avoir arrêté. J'ai modifié le premier message en conséquence avec une nouvelle version du script que vous pouvez tester sur la radio. Si vous obtenez le message "NOT ENOUGH MEMORY" en relançant le script, ce n'est pas grâve, il suffit de presser sur la touche EXIT et le relancer une nouvelle fois.
Sacre100
Sacre100

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

Revenir en haut Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty Re: [Presque RESOLU] Problème avec un script - la radio freeze

Message par Invité Lun 25 Aoû 2014 - 9:44

Je vais regarder ce problème avant de sortir la 2.0.10
Au pire un NOT ENOUGH MEMORY est acceptable, mais pas un freeze. J'ai l'impression qu'on dépasse la zone de mémoire autorisée pour les allocations.

Invité
Invité


Revenir en haut Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty Re: [Presque RESOLU] Problème avec un script - la radio freeze

Message par Sacre100 Lun 25 Aoû 2014 - 10:44

De mon côté, dans mon script, j'ai résolu le problème de freeze en supprimant tout usage de l'opérateur ".." qui fait la concaténation de chaine de caractère, opération qui est probablement gourmande en allocation mémoire.

J'ai réussi aussi à ne plus obtenir le message "Not enough memory" mais ça reste à vérifier à l'usage.

Pour cela, j'ai sorti toutes les variables locales des fonctions pour les remonter au niveau du script ainsi, LUA n'a plus à faire des allocations mémoire pour ces variables à chaque appel des fonctions. Il est possible de le faire uniquement si les fonctions ne sont pas appelées récursivement soit directement, soit indirectement.

Ces "bonnes" pratiques (éviter l'usage de l'opérateur de concaténation ".." et éviter les variables locales dans les fonctions) permettront aux développeurs de script LUA d'éviter les "Not enough memory".

Ca vaudra peut-être la peine de documenter ces bonnes pratiques dans la documentation LUA d'OpenTx.

Pour ce qui est du freeze, merci de prendre ce point pour la 2.0.10, c'est effectivement à résoudre dans OpenTx.
Sacre100
Sacre100

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

Revenir en haut Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty Re: [Presque RESOLU] Problème avec un script - la radio freeze

Message par Ao2 Mar 18 Oct 2016 - 12:12

Bonjour à tous,
me voici à nouveau dépanné par ce sujet. merci Sacre100.
aujourd'hui avec Opentx 2.1 j'ai PredimRC sans problème; par contre j'ai récupéré un script de télémétrie "DANDYS" qui pose ce problème.

J'ai sorti les variables locales des fonctions et réduit un peu le code . ...
et le resultat est bon.
Deux questions toutefois:
- quelle est la limite de la Taranis ? il semble que c'est le total des tailles des scripts des 4 pages ?
- je n'ai pas eu de succès avec LUAedit et Decoda ! quel est le débugger gratuit et léger à installer ?
Bons vols

Ao2

Messages : 66
Date d'inscription : 15/12/2013
Localisation : 77680 Roissy en brie

http://mcs77370.free.fr

Revenir en haut Aller en bas

[Presque RESOLU] Problème avec un script - la radio freeze Empty Re: [Presque RESOLU] Problème avec un script - la radio freeze

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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