SIOC script for MainPanel DU Selector help..?
ok, so if someone can help me i came up with something like that and... it does NOTHING ! :(
PHP Code:
Var 0001 Link IOCARD_SW DEVICE 4 Input 1 Type I
{
v0007 = CHANGEBIT 0 v0001
}
Var 0002 Link IOCARD_SW DEVICE 4 Input 2 Type I
{
v0007 = CHANGEBIT 1 v0002
}
Var 0003 Link IOCARD_SW DEVICE 4 Input 3 Type I
{
v0007 = CHANGEBIT 2 v0003
}
Var 0004 Link IOCARD_SW DEVICE 4 Input 7 Type I
{
v0007 = CHANGEBIT 3 v0004
}
Var 0005 Link IOCARD_SW DEVICE 4 Input 4 Type I
{
v0007 = CHANGEBIT 4 v0005
}
Var 0007, Link FSUIPC_OUT, Offset $654C, Length 2 // $654C - MainPanelDUSel
The switch appears to be connected correctly all works in basic switch/card testing but nothing changes when in FSX
This script is meant to change MainPanelDu on PMDG737NGX in FSX
I kinda based it on EFIS script that I have similar things are written for APP/VOR/MAP/PLN selector and it does work
Offset taken from offset document in FSUIPC documents for PMDG737NGX
then I changed the code somewhat after reading NICO KAAN website and based the script no landing light switch... still nothing.
FROM EFIS SCRIPT
PHP Code:
Var 0119, name APP_E, Link IOCARD_SW, Device 1, Input 9, Type I
{
V0094 = CHANGEBIT 0 ,&APP_E // toggle APP
}
Var 0120, name VOR_E, Link IOCARD_SW, Device 1, Input 10, Type I
{
V0094 = CHANGEBIT 1 ,&VOR_E // toggle VOR
}
FROM NICO KAAN for landing light switch kinda the same i guess 8 pos rotary switch is like 8 on/off switches just ALWAYS only ONE is ON
PHP Code:
Var 1 Link IOCARD_SW Input 50 Type I
{
v2 = CHANGEBIT 2 v1
}
Var 2 Link FSUIPC_OUT Offset $0D0C Length 2
IDK any help is appreciated.
Andy
Re: SIOC script for MainPanel DU Selector help..?
I believe the offsets from the FSUIPC document are read-only offsets.
You need to have SIOC send the buttons as virtual buttons to FSUIPC, then set the control code in FSUIPC to activate the switch in FSX.
Shaun
Re: SIOC script for MainPanel DU Selector help..?
Something like this:
Code:
Var 1 Link IOCARD_SW device 1 Input 55 Type I
{
&FO_JoyStick64 = CHANGEBIT 0 v1 // toggle button 0 of joystick 64
}
Var 3 Link IOCARD_SW device 1 Input 56 Type I
{
&FO_JoyStick64 = CHANGEBIT 1 v3 // toggle button 1 of joystick 64
}
Var 4 Link IOCARD_SW device 1 Input 57 Type I
{
&FO_JoyStick64 = CHANGEBIT 2 v4 // toggle button 2 of joystick 64
}
Var 5 Link IOCARD_SW device 1 Input 58 Type I
{
&FO_JoyStick64 = CHANGEBIT 3 v5 // toggle button 3 of joystick 64
}
Var 6 Link IOCARD_SW device 1 Input 59 Type I
{
&FO_JoyStick64 = CHANGEBIT 4 v6 // toggle button 4 of joystick 64
Var 2 name FO_JoyStick64 Link FSUIPC_OUT Offset $3340 Length 4
Then set these custom control codes in FSUIPC:
Button 0 – Custom Control 69967 – Parameter 0
Button 1 – Custom Control 69967 – Parameter 1
Button 2 – Custom Control 69967 – Parameter 2
Button 3 – Custom Control 69967 – Parameter 3
Button 4 – Custom Control 69967 – Parameter 4
Re: SIOC script for MainPanel DU Selector help..?
arg, why won't it just post my code as I paste it.
EDIT: Finally, there we go. Just change the device/input numbers for your switches.
While you might be able to do it all via SIOC, I find using virtual joystick buttons a *lot* simpler to setup.
Really, though. For switches like this you might wanna just get a joystick controller and skip SIOC completely. Just use FSUIPC and NGX control codes.
Re: SIOC script for MainPanel DU Selector help..?
OK thanks I will try see what happens
Andy
Re: SIOC script for MainPanel DU Selector help..?
You are a Genius !!!
It works !
Few questions
well just ONE really after reading some more stuff :)
- FO_JoyStick64 is this just a name you made up? could it be CP_JoyStick1 or whatever else I am guessing ## 64 might have some significance...? maybe...?
Ok i red a bit could it be any number from 64 to 73... or does FSUIPC just assign it a number based of "NAME" "Variable" that we declared in this case "FO_JoyStick64" but we could have said "john" and FSUIPC would just say #64 then we added "mike" and since FSUIPC already sees there is "john" so FSUIPC gives "mike" #65
Sorry to bug you just trying to kinda understand the philosophy behind it.
- Custom Control 69967 where did this number come from...? Again red some more 69632+335 (from you site as well custom controls for PMDG) so next switch i use for LowerDU Captain side will be 69632+336=69668 (just happens to be next in sequence)
Quote:
#define EVT_DSP_CPT_BELOW_GS_INHIBIT_SWITCH (THIRD_PARTY_EVENT_ID_MIN + 327) // CAPT Side BELOW GS INHIBIT Pushbutton
#define EVT_DSP_CPT_MAIN_DU_SELECTOR (THIRD_PARTY_EVENT_ID_MIN + 335) // CAPT side MAIN PANEL DISPLAY UNITS (MAIN PANEL DUs) Selector
#define EVT_DSP_CPT_LOWER_DU_SELECTOR (THIRD_PARTY_EVENT_ID_MIN + 336) // CAPT side LOWER DISPLAY UNIT (LOWER DU) Selector
OK I guess I answer this myself good I'm getting somewhere :)
- Var 2 name FO_JoyStick64 Link FSUIPC_OUT Offset $3340 Length 4 I did get this one reading some docs on you site so i kinda understand it. So it will be same offset for all that i program as joystick buttons.
Quote:
Really, though. For switches like this you might wanna just get a joystick controller and skip SIOC completely. Just use FSUIPC and NGX control codes.
live and learn, live and learn.. oh boy.. well for now i got the master card so i go with this for the time being, but i just might look into some other options later on, by the controller card do you mean something like BU0836?
Thanks for your help, I will try to expand the code to other switches add the lower DU selector see what happens.. if anything lol,
Andy