Page 1 sur 2

SIOC et mon QI de moule

MessagePosté: Lun 12 Déc 2022 18:53
de sikorsky77
Bonsoir
J'ai un souci avec mon premier bout de script SIOC pour gérer un MCP V3 Opencockpit
Tout fonctionne jusqu'à la Variable 0028 , le contenu des variables est OK (voir la Console), mais plus rien ne se passe sur la variable 0030 , les commandes ne semblent pas s’exécuter et donc rien ne s'affiche sur le LCD course via la 0032
par exemple dans la configuration présente je suis en mode test (MCP_LED_TEST = 1), la variable MCP_CRS_SELECT ne s'alimente pas de la valeur 888 ce qui n'affiche pas cette valeur sur le CRS LCD
ou si je ne suis pas en mode test et que je switch entre le mode NAV ou GPS (MCP_CRS_DRIVE 0 ou 1 via le Garmin 3000 sur MSFS2020) , le MCP_CRS_SELECT ne s'alimente pas de la valeur de l'Offset sélectionné par choix MCP_CRS_DRIVE

et de plus je ne peux pas insérer la copie d'écran en JPG ou PNG du script et de la console car j'ai ce message bizarre
L’image doit faire au moins 0 pixels de large, 0 pixels de haut et au plus 1 pixels de large et 1 pixels de haut. L’image actuelle fait 1570 pixels de large et 775 pixels de haut.
en clair , les moules sont plus intelligentes que moi
PS : mesdames les moules , je m'excuse platement de vous avoir stigmatisé

SIOC Version 7.03.B2 / MSFS 2020 / Windows 11 / MCP V3

Re: SIOC et mon QI de moule

MessagePosté: Lun 12 Déc 2022 19:15
de sikorsky77
avec le scrip en .txt c'est mieux
// *****************************************************************************
// * Config_SIOC ver 5.2 - By Manuel Velez - http://www.opencockpits.com
// *****************************************************************************
// * FileName : MS C700-MCP V1-00.txt
// * Date : 12/12/2022



Var 0010, name SYST_POWER_ON, static // Check Master Batt. + Avionic Swith > ON

Var 0012, name BAT_MASTER_ON, static, Link FSUIPC_IN, Offset $281C, Length 2 // APTest Battery Master = ON

Var 0014, name MCP_LED_TEST, static, Value 0

Var 0016, name MCP_CWSB_SWITC, static, Link IOCARD_SW, Device 15, Input 18, Type P
{
&MCP_LED_TEST = &MCP_CWSB_SWITC // Test Button = ON or OFF
}

Var 0018, name SYS_AVIONIC_ON, static, Link FSUIPC_IN, Offset $2E80, Length 4 // AP test Avionic Swith ON
{
&SYS_AVIONIC_ON = 1
IF &BAT_MASTER_ON = 1
{
IF &SYS_AVIONIC_ON = 1
{
&SYST_POWER_ON = 1 // MCP Battery ON & Avionic ON
}
ELSE
{
&SYST_POWER_ON = 0 // Battery and/or Avionic OFF ==> NO power
}
}
}

Var 0024, name MCP_NAV_CRS_RE, static, Link FSUIPC_IN, Offset $0C4E, Length 4 // AP CRS Drive = NAV >Read CRS from NAV
{
&MCP_CRS_SELECT = &MCP_NAV_CRS_RE
}

Var 0026, name MCP_GPS_CRS_RE, static, Link FSUIPC_IN, Offset $6060, Length 8, Numbers 7 // AP CRS Drive=GPS > Read CRS from FLP
{
&MCP_CRS_SELECT = &MCP_GPS_CRS_RE
}

Var 0028, name MCP_CRS_DRIVE, static, Link FSUIPC_IN, Offset $132C, Length 4 // AP CRS Drive / 0 = NAV / 1 = GPS

Var 0030, name MCP_CRS_SELECT, static, Value 0 // AP Course Selected by NAV Drive
{
IF &SYST_POWER_ON = 0 // MCP Power Test of Battery + Avionic =OFF
{
&MCP_CRS_SELECT = -999999 // MCP Show Nothing on LCD
}
ELSE
{
IF &MCP_LED_TEST = 1 // MCP Test are Running
{
&MCP_CRS_SELECT = 888
}
ELSE
{
IF &MCP_CRS_DRIVE = 0
{
&MCP_CRS_SELECT = &MCP_NAV_CRS_RE
}
ELSE
{
L0 = 359 / 6.2657320146 // Convert radian in degree
&MCP_CRS_SELECT = L0 * &MCP_GPS_CRS_RE
}
}
}
}

Var 0032, name MCP_CRS_CA_LCD, static, Link IOCARD_DISPLAY, Device 15, Digit 0, Numbers 3
{
&MCP_CRS_CA_LCD = &MCP_CRS_SELECT
}

Re: SIOC et mon QI de moule

MessagePosté: Mar 13 Déc 2022 08:59
de fab
Salut,

Je n'ai pas forcément lu tout ton script mais déjà je trouve étrange la méthode de placer du code dans les variables. Code qui demande de changer la variable dans laquelle se trouve le code (le serpent se mort la queue là)

Sachant que le code ne se déclenche que si la variable change. gratgrat

Re: SIOC et mon QI de moule

MessagePosté: Mar 13 Déc 2022 12:52
de sikorsky77
Merci Fab pour ta première réponse

sauf erreur de ma part , on ne peut placer du code que sous une variable a moins que j'ai loupé quelque chose dans les differents tuto que j'ai lu ce qui est du domaine du totalement possible
je n'ai pas vu comment mettre des fonctions IF ELSE ASSIGN ailleurs que rattaché à une variable

Cordialement
Thierry

Re: SIOC et mon QI de moule

MessagePosté: Mar 13 Déc 2022 13:08
de fab
Oui, tu as raison, le code doit se trouver "dans" une variable, mais le code "dans" la variable ne doit pas changer cette même variable.


En écrivant
Code: Tout sélectionner
Var 0032, name MCP_CRS_CA_LCD, static, Link IOCARD_DISPLAY, Device 15, Digit 0, Numbers 3
{
&MCP_CRS_CA_LCD = &MCP_CRS_SELECT
}


Tu fais ce qu'il ne faut pas faire nondoightblanc

Re: SIOC et mon QI de moule

MessagePosté: Mar 13 Déc 2022 13:10
de fab
Il faut que tu intègres que SIOC est une programmation événementielle.

Une variable change, le code est exécuté

Re: SIOC et mon QI de moule

MessagePosté: Mar 13 Déc 2022 13:24
de sikorsky77
Merci Fab
je ne vais pas abuser de ton temps

je laisse tomber pour le moment le MCP et les EFIS car je ne vois pas comment utiliser la philosophie du SIOC sur quelque chose de simple comme ce bout de code, je n'ose meme pas imaginer sur des choses bien plus complexes comme un overhead
je vais me reconcentrer sur le reste du cockpit

Encore merci pour aide
Thierry

Re: SIOC et mon QI de moule

MessagePosté: Mar 13 Déc 2022 19:11
de fab
De rien.

Tu abandonnes bien vite, tu n'abuses pas de mon temps, OK, mais, en abandonnant, tu me l'as fais perdre furieuxfumée .

Bonne continuation.
Fabien

Re: SIOC et mon QI de moule

MessagePosté: Mer 14 Déc 2022 11:43
de sikorsky77
Désolé Fab
J'ai aussi perdu des heures à tenter de faire fonctionner ce bout de code dans toutes les combinaisons possibles et cela ne fonctionne toujours pas y compris après tes messages d'aides
Afin de ne pas faire perdre du temps aux membres du forum , je ne posterai plus de messages et me contenterai de lire le forum au cas ou un message m'interesserai

Merci encore pour ton aide
Thierry

Re: SIOC et mon QI de moule

MessagePosté: Mer 14 Déc 2022 15:12
de FiX
Les forums vivent (et malheureusement ils disparaissent de plus en plus) aussi parce que les débutants (ou pas) posent des questions.
Se contenter de lire n'alimente pas un forum.
Alors n'hésite surtout pas à poser des questions!!!
Quand on passe des jours à galérer sur un truc (on y passe tous, à part peut-être quelques sur-doués que l'on a la chance d'avoir ici), un forum sert justement à ne pas rester planté, tout seul.
Donc tu n'abuses du temps de personne, si quelqu'un n'a pas de temps à donner il ne répondra pas, de toute façon.