PDA

View Full Version : Sending FSUIPC offset from SIOC problem, needs help



Roarkr
11-10-2011, 08:56 AM
Hi,

I need some help to solve a SIOC issue.


In my SIOC script I send the 69990 control to FSUIPC with 2 consequtive values in order to switch the VOR1/ADF1 in PMDG NGX EFIS panel. In order to cahnge the PMDG switch I need to send 2 consequtive values not only 1.

The SIOC code is:

Var 0074, Link IOCARD_SW, Input 65, Type I
{
IF V0074 = 1
{
&FS_PAR = -2147483648
&FS_CONTROL = 69990
&FS_CONTROL = DELAY 0 ,15

&FS_PAR = 524288
&FS_CONTROL = 69990
&FS_CONTROL = DELAY 0 ,15
}

ELSE
{
&FS_PAR = 536870912
&FS_CONTROL = 69990
&FS_CONTROL = DELAY 0 ,15

&FS_PAR = 131072
&FS_CONTROL = 69990
&FS_CONTROL = DELAY 0 ,15
}
}


This doesn't work as the second sending of the 69990 control under both the IF and ELSE statement is the only thing that is executed. I can see that both in FSUIPC and IOCP Console.

My question is way doesn't SIOC send the first 69990 control with the para -2147483648 and 536870912.

I have tried everything , but can't get it work. I probably do a silly fault, but can't see it myself.



Anyone see what is wrong here or a suggestion on how to do this in another way.

rgs

Roar K

deering
11-10-2011, 09:48 AM
Roar,

the DELAYs are not synchronous; i.e. the script won't pause while they expire; so, you're overwriting the first values before they can be acted on.

Change it to set the second set of values after the delay expires...mind you don't get into a loop there.

Jim.

Roarkr
11-10-2011, 10:52 AM
Thanks for replying, but what should the coding be for that? Im lost here.

Roar K

deering
11-10-2011, 05:20 PM
Here's one way:




Var 0074, Link IOCARD_SW, Input 65, Type I
{
IF V0074 = 1
{
&FS_PAR = -2147483648
V0123 = DELAY 524288, 15
}

ELSE
{
&FS_PAR = 536870912
V0123 = DELAY 131072, 15
}

&FS_CONTROL = 69990
&FS_CONTROL = DELAY 0, 10

}

Var 0123
{
&FS_PAR = V0123
&FS_CONTROL = 69990
&FS_CONTROL = DELAY 0, 10
}

kiek
11-10-2011, 05:21 PM
Try this:



Var 74, Link IOCARD_SW, Input 65, Type I
{
IF V74 = 1
{
&FS_PAR = -2147483648
&FS_CONTROL = 69990
&FS_CONTROL = DELAY 0, 15
v75 = DELAY 0, 20
}
ELSE
{
&FS_PAR = 536870912
&FS_CONTROL = 69990
&FS_CONTROL = DELAY 0, 15
v76 = DELAY 0, 20
}
}


Var 75 Link SUBRUTINE
{
&FS_PAR = 524288
&FS_CONTROL = 69990
&FS_CONTROL = DELAY 0, 15
}


Var 76 Link SUBRUTINE
{
&FS_PAR = 131072
&FS_CONTROL = 69990
&FS_CONTROL = DELAY 0, 15
}


regards,
Nico Kaan
Howto program in SIOC (http://www.lekseecon.nl/howto.html)

Roarkr
11-20-2011, 02:48 AM
Thanks for the inputs . It Solved my problems.

rgs