j'ai un problème

Questions de programmation / Offset FSUIPC et IOCP

j'ai un problème

Messagede trajector » Lun 13 Sep 2021 19:56

Bonjour à tous,

je m'adresse plus particulièrement aux utilisateurs de sioc.
Pour mon baron j'avais déjà concocté des petits programmes
qui fonctionnaient bien en indépendants.
Il s'agit maintenant des les mettre en commun pour faire fonctionner
mon simulateur "Mon Baron" et c'est là que le bât blesse.

Voici en image, entourer de rouge, le non fonctionnement:

Image

tout fonctionne jusqu'à la Var 14, dans le IOCP, mais l'allumage de la Led
ne se fait pas.

Pourquoi?

Pour plus de compréhension pour les avertis, voici l'embryon de mon code:

Code: Tout sélectionner
// *****************************************************************************
// * Config_SIOC ver 5.1   -     By Manuel Velez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : Baron_58_perso.txt
// * Date : 13/09/2021



Var 0000, name init, Value 0     // initialisation

Var 0001, name courant, Value 0     // courant g_n_ral

Var 0002, name fs_bat, Link FSUIPC_INOUT, Offset $3102, Length 1     // batterie FS
{
  &fs_bat = &sw_batt   
}

Var 0003, name sw_batt, Link IOCARD_SW, Input 126     // Inter batterie
{
  &fs_bat = &sw_batt   
  CALL &sub_courant
}

Var 0004, name disp, Link IOCARD_DISPLAY, Digit 5, Numbers 3     // pour debug

Var 0005, name fs_gen1, Link FSUIPC_INOUT, Offset $3B78, Length 4     // fs_gen1
{
  &fs_gen1 = &sw_gen1   
}

Var 0006, name sw_gen1, Link IOCARD_SW, Input 136     // inter génératrice 1
{
  &fs_gen1 = &sw_gen1   
  CALL &sub_courant
}

Var 0007, name fs_gen2, Link FSUIPC_INOUT, Offset $3AB8, Length 4     // fs_gen2
{
  &fs_gen2 = &sw_gen2   
}

Var 0008, name sw_gen2, Link IOCARD_SW, Input 131     // inter génératrice 2
{
  &fs_gen2 = &sw_gen2   
  CALL &sub_courant
}

Var 0009, name RPM_mot_1, Link FSUIPC_IN, Offset $0898, Length 2     // Tours moteur 1
{
  CALL &sub_courant
}

Var 0010, name RPM_mot_2, Link FSUIPC_IN, Offset $0930, Length 2     // Tours moteur 2
{
  CALL &sub_courant
}

Var 0011, name sub_courant, Link SUBRUTINE     // détermine si courant d'après tension bus
{
  IF   = 2800     // au moins si une génértrice fonctionne
  {
    &courant = 1         // le courant est ON...
  }
  ELSE
  {
    IF &fs_bat = 1     // si inter batterie ON
    {
      IF &temp_batt > 1680     // si tension suffisante     
      {
        &courant = 1         // le courant est ON...
      }
    }
    ELSE
    {
      &courant = 0         // le courant est OFF
    }
  }
}

Var 0014, name fs_batt_volt, Link FSUIPC_IN, Offset $2840, Length 8, Numbers 2
{
  &temp_batt = &fs_batt_volt   
}

Var 0016, name temp_batt

Var 0017, name led
{
  IF &courant = 1
  {
    &led = 1   
  }
  ELSE
  {
    &led = 0   
  }
}


Merci pour votre aide

Jean-Gilles
trajector
 
Messages: 123
Inscription: 19/04/09

Re: j'ai un problème

Messagede A320 hérétique » Lun 13 Sep 2021 22:08

Bonjour Jean-Gilles,
Bizarre, ton code ... (par exemple, if = 2800)

Pour ce qui concerne ta variable led, je ne comprends pas ce que tu cherches à faire : voilà un bout de code (après la déclaration de variable) qui est sensé s'exécuter si la variable led change de valeur, alors qu'elle n'est reliée à rien , et qu'aucun autre bout de code ne vient modifier ??? Il ne se passera jamais rien !

Michel
http://www.myA320sim.com
Simu mixte P3D/FS2020, serveur P3Dv4/A320 FMGS (7700k et GTX 1070 sous W10 64), client P3Dv4/FS2020 (i9-12900K et RTX 4070 Ti Super sous W10 64), 3 vdp Optoma GT1080E, client A320 FMGS (2600k sous W10 64).
Avatar de l’utilisateur
A320 hérétique
 
Messages: 3357
Inscription: 2/09/12
Localisation: Pornic

Re: j'ai un problème

Messagede fab » Mar 14 Sep 2021 07:39

Bonjour,

Michel à mis le doigt dessus : tu mets du code derrière une variable qui ne change pas, à part, par elle même...

En général, ce n'est pas une bonne idée de mettre du code derrière une variable liée à une sortie.

Le "if = 2800" est pour moi aussi très étrange... gratgrat

Fabien
Avatar de l’utilisateur
fab
 
Messages: 4417
Inscription: 26/12/12
Localisation: Roubaix

Re: j'ai un problème

Messagede tabar57 » Mar 14 Sep 2021 08:50

Bonjour à tous,

Oui, tout est dit par Michel et Fab c'est le concept de programmation Sioc qu'il faut revoir

Bernard
Mon blog de construction : http://tabar57.blog4ever.com
Hémicockpit de Beechcraft B200 ( de FlightOne ) P3DV4.5 et 2 PC en réseau W7 64 bits et W10, cartes OC et FDbus, vibreur et yoke rdf de BFFsimulation, météo réelle asp4
Avatar de l’utilisateur
tabar57
 
Messages: 3651
Inscription: 29/12/10
Localisation: Dans ma cabine en Lorraine

Re: j'ai un problème

Messagede trajector » Mar 14 Sep 2021 10:23

Bonjours à tous,

merci de prendre mon problème en considération.
Pour information, le bout de programme, de la ligne 0 à 16
est emprunté au code du baron 58 des deux Pierre.
Il fonctionne bien, car dans sa mise en service avec FSX la
variable 2 me donne bien courant=1.

Ce que je souhaite c'est d'allumer des leds des alarmes "LT ALTR"
"RT ALTR" lorsqu'il y a du courant.
bien entendu, ces leds sont reliées à un output.

J'ai essayer de comprendre ce que disait stevelep à Kelt760 en Mars 2008

SIOC est orienté évènement -> pas d'événement pas d'exécution de code.
il faut donc que les IF qui contienne une variable soit
- dans le code dessous la variable
- dans une subroutine, lancée par la variable
- dans une variable de temps (fs_secondes)

sinon le code n'est jamais exécuté...


C'est cela que j'ai du mal à mettre en application

Jean-Gilles
trajector
 
Messages: 123
Inscription: 19/04/09

Re: j'ai un problème

Messagede fab » Mar 14 Sep 2021 11:47

trajector a écrit:
../..
Ce que je souhaite c'est d'allumer des leds des alarmes "LT ALTR"
"RT ALTR" lorsqu'il y a du courant.
bien entendu, ces leds sont reliées à un output.
../..



Et bien tu mets ton code d'allumage de LED dans la variable qui représente le "courant".
Avatar de l’utilisateur
fab
 
Messages: 4417
Inscription: 26/12/12
Localisation: Roubaix

Re: j'ai un problème

Messagede A320 hérétique » Mar 14 Sep 2021 11:55

Bonjour,

1) tu déclares la variable led en la liant à la sortie correspondante de la carte
2) dans le script de la variable qui représente le courant, tu y mets le code qui modifie la valeur de led en fonction de la valeur du courant : ce code s'exécutera à chaque fois que la valeur du courant changera.

Je te recommande d'essayer de faire fonctionner ce petit programme tout seul, sans le mélanger avec autre chose.
Quand au code des 2 Pierre, tu as dû l'abimer, car en l'état je pense qu'il n'est même pas compilable.

Michel

Oups, doublon, pardon Fabien !
http://www.myA320sim.com
Simu mixte P3D/FS2020, serveur P3Dv4/A320 FMGS (7700k et GTX 1070 sous W10 64), client P3Dv4/FS2020 (i9-12900K et RTX 4070 Ti Super sous W10 64), 3 vdp Optoma GT1080E, client A320 FMGS (2600k sous W10 64).
Avatar de l’utilisateur
A320 hérétique
 
Messages: 3357
Inscription: 2/09/12
Localisation: Pornic

Re: j'ai un problème

Messagede fab » Mar 14 Sep 2021 12:17

Pas de problème !

Par contre, cela à l'air d'être compilable, on le voit dans sa copie d'écran :
Image

étrange gratgrat
Avatar de l’utilisateur
fab
 
Messages: 4417
Inscription: 26/12/12
Localisation: Roubaix

Re: j'ai un problème

Messagede fab » Mar 14 Sep 2021 12:20

Je viens de tester, c'est en effet pas compilable nondoightblanc

Réponse du compilateur SIOC :

ERROR! -
Line: 67 IF = 2800 // AU MOINS SI UNE GéNéRTRICE FONCTIONNE
==> =
%FAILED%
* COMPILATION ERROR*


Je ne sais pas comment tu as pu produire ce script avec "if =2800" yeuxhaut
Avatar de l’utilisateur
fab
 
Messages: 4417
Inscription: 26/12/12
Localisation: Roubaix

Re: j'ai un problème

Messagede pierre01 » Mar 14 Sep 2021 13:49

Bonjour Jean-Gilles et à tous,

Il y a longtemps que je n'ai pas mis le nez dans SIOC ...
Je vais m'y replonger pour regarder ton Pb, mais effectivement il doit y avoir un "loup" quelque part !

Notre code (que a beaucoup évolué) fonctionne correctement.
Les 2800 viennent de l'offset "bus volt" et qui représente les 28V batterie (x100).
Si tu veux je peux t'envoyer la dernière version, à toi de l'adapter bien sûr (écrite avec NotePad++).
A+
Pierre.
Avatar de l’utilisateur
pierre01
 
Messages: 1771
Inscription: 19/04/09
Localisation: Vers Vesoul (Haute Saône)

Suivante

Retourner vers Programmation Sioc





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 16 invités