Comment lier une Lvar avec une output SIOC ?

Programmation LUA, Macros FSUIPC, logiciel LINDA
et codage en LUA des gauges Air Manager

Comment lier une Lvar avec une output SIOC ?

Messagede tabar57 » Lun 4 Fév 2019 20:23

Bonjour,

Je rencontre une difficulté et je voulais savoir si c'est possible ?
En fait je cherche à lier une Lvar (L:B200CLIgnition) à une output d'un programme SIOC par un script LUA.
Je crois savoir que c'est possible de faire refléter (correspondre ) l'état d'un offset Fsuipc à une Lvar mais pour une output ?
En clair , je cherche à faire correspondre l'état de la Lvar du voyant Lignition avec le voyant physique.
Est ce que quelqu'un a déjà fait et pourrai me guider ?

Ps : les Lvars sont issues du B200 FlightOne

Cordialement

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: Comment lier une Lvar avec une output SIOC ?

Messagede fab » Lun 4 Fév 2019 22:27

Là, comme ça, sans trop chercher, je dirai que tu copies en LUA la Lvar dans un offset libre et tu le récupère dans SIOC gratgrat
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix

Re: Comment lier une Lvar avec une output SIOC ?

Messagede tabar57 » Mar 5 Fév 2019 00:18

Oui effectivement mais je cherchais à m'affranchir de la recherche et de l'utilisation d'un offset libre

Cordialement

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: Comment lier une Lvar avec une output SIOC ?

Messagede gardan » Mar 5 Fév 2019 11:15

Bonjour,

[Lua]

LVarSet = "L:B200CLIgnition"

if ipc.readLvar(LVarSet) == 1 then
ipc.writeUB(0x66C0, 10)

end

**********************************************
[Sioc]

Var 99, name VOYANT, Link FSUIPC_IN, Offset $66C0, Length 2 // Voyant Divers
{

IF v99 = 10
{
&led_xx = 1
}

{
*********************************************

Michel
Avatar de l’utilisateur
gardan
 
Messages: 161
Inscription: 17/05/09
Localisation: TRETS (13)

Re: Comment lier une Lvar avec une output SIOC ?

Messagede tabar57 » Mar 5 Fév 2019 11:38

Merci Michel,

Donc effectivement cela confirme qu'on ne peut pas attaquer directement une output (un link IOCARD_OUT) depuis un script Lua et qu'il faut passer par l'intermédiaire d'un offset libre.

merci affiche pour vos réponses

Cordialement

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: Comment lier une Lvar avec une output SIOC ?

Messagede jacquesvde » Mar 5 Fév 2019 15:09

gardan a écrit:Bonjour,

[Lua]

LVarSet = "L:B200CLIgnition"

if ipc.readLvar(LVarSet) == 1 then
ipc.writeUB(0x66C0, 10)

end

**********************************************
[Sioc]

Var 99, name VOYANT, Link FSUIPC_IN, Offset $66C0, Length 2 // Voyant Divers
{

IF v99 = 10
{
&led_xx = 1
}

{
*********************************************

Michel


Bonjour Michel, merci affiche
Très belle exemple LUA via SIOC.

J’aimerais savoir pour les input comment faire la programmation avec un offset libre récupéré dans SIOC gratgrat
Cordialement,
Jacques
Avatar de l’utilisateur
jacquesvde
 
Messages: 1226
Inscription: 20/04/09
Localisation: Courcelles Belgique

Re: Comment lier une Lvar avec une output SIOC ?

Messagede arcc » Mar 5 Fév 2019 19:16

Bonsoir Jacques.

Moi je fais comme ca (si j'ai bien compris ta question)
j'attribue un offset libre , le 66C0 pour lire l'etat du switch "Alimentation" sur Batterie sur Off ou sur Externe

Fichier lua nommé pour exemple : TwinOtter_state (ne pas oublier de le declarer)

while 1 do

-- Lecture des LVars
sw_DCsource = ipc.readLvar("L:TW_DC_Source_sw")

-- Lecture des offsets

-- formatage des valeurs

-- Ecriture dans LVars

-- Ecriture dans Offsets Libres
ipc.writeSD(0X66C0, sw_DCsource)


ipc.sleep(100)

end


Dans SIOC pour lire la valeur
Var 0564, name sw_avionic, Link FSUIPC_INOUT, Offset $66C0, Length 1 // Etat du switch Avionic 0 = OFF 1 = Batt 255 = Gp externe


Tu devrais relire ces message.
http://www.aircockpit.com/viewtopic.php?f=89&t=3709

Christian
Un ancien sous-marinier qui a pris de la hauteur.
Avatar de l’utilisateur
arcc
 
Messages: 715
Inscription: 16/12/13
Localisation: La ou fini la terre (Finistere)

Re: Comment lier une Lvar avec une output SIOC ?

Messagede stevelep » Mer 6 Fév 2019 00:51

Salut Christian,

Petite erreur dans ton script LUA

ipc.writeSD(0X66C0, sw_DCsource)
Var 0564, name sw_avionic, Link FSUIPC_INOUT, Offset $66C0, Length 1

si tu utilises un offset de longueur 1 (Length 1) tu dois utiliser ipc.writeSB
SB = signed byte = 8 bits signé = longueur de 1 octet

si tu utilise ipc.writeSD, tu dois mettre longueur 2 mais pour cet exemple c'est pas nécessaire

BOB
Avatar de l’utilisateur
stevelep
Administrateur du site
 
Messages: 2075
Inscription: 27/03/09
Localisation: LSGN Neuchâtel, Suisse

Re: Comment lier une Lvar avec une output SIOC ?

Messagede jacquesvde » Mer 6 Fév 2019 01:09

Merci pour votre réponse, merci affiche
Jacques cligneoeil
Avatar de l’utilisateur
jacquesvde
 
Messages: 1226
Inscription: 20/04/09
Localisation: Courcelles Belgique

Re: Comment lier une Lvar avec une output SIOC ?

Messagede arcc » Mer 6 Fév 2019 17:49

si tu utilise ipc.writeSD, tu dois mettre longueur 2 mais pour cet exemple c'est pas nécessaire


Merci pour la précision. Qu'est ce que ca peu donné cette erreur dans le déroulement de Sioc ?
J'ai une bonne dizaine de "writeSD" avec un "lenght" de 1. Bizarement ca fonctionne très bien...

Par contre j'ai bien pris soin de séparer les Offset que je prenais.
Un exemple tirer d'un de mes fichiers lua
ipc.writeSD(0X66C0, sw_DCsource)
ipc.writeSD(0X66C4, Door_CaptState)
ipc.writeSD(0X66C8, Door_FOState)
ipc.writeSD(0X66CC, Alt_Set_AP)
ipc.writeSD(0X9100, starter_switch)
ipc.writeSD(0X9104, Battery_State)
ipc.writeSD(0X9108, AnnTest_State)
ipc.writeSD(0X910C, APTest_State)
ipc.writeSD(0X9110, AP_IAS_State)
ipc.writeSD(0X9114, Fire_Test_State)
ipc.writeSD(0X9118, HYD_CB_State)


Tu crois que je devrais modifier le "SD" ou le "lenght" ?

Merci
Christian
Un ancien sous-marinier qui a pris de la hauteur.
Avatar de l’utilisateur
arcc
 
Messages: 715
Inscription: 16/12/13
Localisation: La ou fini la terre (Finistere)

Suivante

Retourner vers LUA, Linda, Macros & gauges Air Manager





Qui est en ligne

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