10+ Posting Member
Paid work for SIOC code and IOCards configuration
I'm looking for someone to help me with SIOC code and help me configure IOCards. As an example I want to do:
1.- Some functions for Autopilot
2.- A trim wheel
3.- Setup some warning leds to light on special events. eg on overspeed.
I can pay with Bank Transfer or PayPal. If you're interest please PM me.
Our new friend needs to reach 10 posts to get to the next flight level
hello to everyone,
even I would pay for help me with SIOC code and help me configure IOCards, I bought two FMC (Opencockpits store), connected all the buttons, but with Project Magenta as I have it operate independent?
I happens that when the two active SIOC all and two keyboards command the main CDU, I do not know precisely how to resolve the situation, thanks to all in advance.
150+ Forum Groupie
SIOC is not that difficult you know ... I have written a complete script for airbus suite of project magenta together with AST software. Also this script checks which plane is loaded
and depending on the plane the functions can vary.
Just describe what exactly you need. Which FS version, which plane (stock FS plane or addon) and which functions you want. Also take a look at the many examples on the site of Niko Kaan http://www.lekseecon.nl/
Be aware that sioc speaks to FS via FSUIPC so many addon planes dont update the standard fsuipc offsets and because of this many addons dont allow to read its states.
as addon leveld is an exception. They have an SDK which allows an external program to
register to its state and received updates, that is exactly what Niko did, he translated the levelD states to fsuipc offsets. His latest version is somewhat different since his program
talks now IOCP but this goes further and it not needed for starting with SIOC.
Setting up the opencockpits cards is also a breeze. Just dont try it without the USB expansion board. Connecting the mastercard via the parallel printer port is tricky because there are
many flavours of parallel port in the PC's.
Just plug in the usb expansion board and the mastercards connected to it.
Fill in the SIOC.INI file correctly and start SIOC. The default SIOC.SSI file will be loaded
or you can also overwrite this in the SIOC.INI file.
the most simple way of writing sioc is to write it in a simple text editor and then load it
into the config_sioc program where you can perform then SAVE AS and compile it into ssi file.
writing a sioc script is not difficult... you just need to think the right way. What is the right way...well see it as follows ... sioc is a program which controls 10000 variables. Each variable can have a piece of code attached to it which will be executed when the value of the variable changes. Initially all these variables have the value of UNKNOWN so the
attached pieces of code will be executed when the first value is received.
Another client can also register to these changes and receive them but this is going deeper
into IOCP protocol. No need for this for you...
If variable 0000 exists and has an initial value of 0 then the initialisation starts there.
VAR 0000, name init, value = 0
&varlocal1 = 5
VAR 0001, name varOut1, link IOCARD_OUT, Ouput 1
VAR 0002, name varIn1, link IOCARD_SW, Input 1
if &varIn1 = 1
&varOut1 = 1
&VarOut1 = 0
VAR 0003, name varlocal1
this is a small example ... what will it do :
all 4 variable start with state unknown
then var 0000 is checked and given the initial value 0
since it changes from unknown to 0 it executes the code
this code set variable 0003 to the value of 5
then var 1 -> this is linked to an output and the value doesnot change
then var 2 -> this is linked to an input, so the value of this variable will become
0 or 1 depending if the switch is open or closed
either way, the variable changes from unknown to 0 or 1
so the code is executed and depending on 0 or 1 the variable 0001
will become 0 or 1. Since var 1 is linked to an output this output will
stay at 0 volt or change to 5 volt.
then var 3 -> this has value 5 and is initialised already so nothing happens further
now its finished, sioc will continuously check the fsuipc_in linked vars, the iocards_in linked vars, etc... and as soon as a variable changes value the attached code is executed
thats it... start experimenting....
Post Thanks / Like - 2 Thanks, 0 Likes, 0 Dislikes
10+ Posting Member
Originally Posted by pdpo
First of all, I really appreciate the time that you spent (or wasted) for writing this so detailed message.
Coming to my topic, what I've to say is that I've some disavantages unlike other users. Being 50+, maybe I'm too young to say that I'm old, but the reality is that I'm too old to say that I'm young So, not so much power (and maybe clear mind) to start from zero. Worst of all, I'm professional programmer since 1984, but in database applications. So, I've used to work with pre-definied functions or my own functions. Here seems that there is no pre-definied functions and that's that confuse me.
Thank you that you mentioned that SIOC works throught FSUIPC). Haven't understood it before (as many others). Also didn't knew that each aircraft uses different standards. In my mind, it was like that there eg a variable xxxx() which returns aircraft's heading position, so by writing:
heading_postition = 0
heading_position = xxxx()
PRINT or ECHO or ... or ... heading_position I should be able to display it in a 7-segments display or LCD etc.
Maybe there are predefinied functions and I've missed them???
In any case, once more, my warmest greetings
WOW! After reading this I am so glad Im selling my Sim LOL WHEWWWWWWWW! Thats complicated!
150+ Forum Groupie
I understand that you would like to use opencockpits cards but are afraid of starting to use SIOC. I understand...it takes some time to get used to it.
But if you want someone else to write your SIOC you will have to provide info :
- your hardware setup ?
- your FS version ?
- wether you have FSUIPC and wideFS running already (not sure how fast your computer is but in my case SIOC is running on a second computer, not on the FS computer itself
if you want SIOC to run on the FS PC itself you only need FSUIPC
- which functions do you want
maybe better we continue this outside of the forum
send me a PM on mycockpit.org
1000+ Poster - Fantastic Contributor
Originally Posted by pdpo
Thank you for your help explaining SIOC to others, a good job!
I just want to add to your statement above, to make it more clear.
You cannot register to states of the Level-D SDK (like you can with Simconnect). The SDK is a static interface, it provides variables representing states in the panel. You still have to poll these variables regularly in order to detect changes in value. You cannot be notified so to speak. It is similar to how FSUIPC offsets work.
My FSCONV program translates these states to FSUIPC offsets, but you still have to poll these FSUIPC offsets from your cockpit building software (FSBUS, SIOC, Phigets, EPIC, ..).
With my lekseecon program however, you do can 'register' to state varables (if you are using SIOC). You do this very easy by using a predefined Level-D SIOC Var in your SIOC program. lekseecon will detect that you use that variable and will do the polling of the SDK for you. If it detects a change in value it will notify SIOC (via the IOCP protocol). For an annnotated animation click here: http://www.lekseecon.nl/images/lekse...nno_output.htm
of course the other way round, sending commands to the SDK is supported by lekseecon, more animations can be found at my lekseecon page: http://www.lekseecon.nl/lekseecon.html