|
Post by PapaLima on Apr 9, 2020 10:57:02 GMT
Hi,
My configuration is :
P3D (actually v4.5) the DHC-6 Twin Otter extended aerosoft addon (with last update 1.2) FSUIPC v5.155 (registered) LINDA (latest v3.1.1 64b) completed with the TwinOtter library Aerosoft Twin Otter Extended (module 1.3)
SIOC V7.03B2 for the opencockpit compatibles IOcards I have
The goal is to link all of this with the simulator
From my understanding of "now" here is what I know and how I will implement. Please stop me if I am wrong
I understood:
- That with SIOC, I can program scripts to handle actions to the LEDs and from the buttons linked to the IO cards and then act on a FSUIPC OFFSETs
- On the FSUIPC side, the particular OFFSET can trig an action to the simulator BUT it is using the common regular FSUIPC offsets and with the TwinOtter addon (like most) we arrive quickly out of capacity using only those OFFSETs.
- It is why cockpit builders are using LVARs implemented in the ADDON to better fine tune the interface with the simulator.
- LVARs can be kicked from a LUA script implemented in FSUIPC or in LINDA
- A LINDA dedicated library for the TwinOtter (my addon) is available and could be used BUT LINDA can only interface joystick like cards.... Thus as is my IO opencockpits cards are "not seen".
How I forecast the implementation of my setup:
- I will write one SIOC script per panel (to make it easy to develop and test) and merge all the scripts together after using the "group files" SIOC editor function
- The SIOC script will link to spare FSUIPC offset called "virtual joystick OFFSETs" to use this dedicated memory area for my own purpose putting bits on/off for buttons pressed/unpressed and LED on/off state
- I keep FSUIPC as a transporter to/from the simulator
- on the LINDA side, I can implement the user.lua script method Timer inside the aircraft linda folder to loop on the FSUIPC offsets to see if any state changed. If so, the appropriate LUA function in the TwinOtter library will be called
Does it makes sense ?
Thanks
|
|
|
Post by MarkH on Apr 10, 2020 10:49:30 GMT
I don't know anything about IOCards or SIOC but from a quick look they don't seem like an ideal solution. It seems they rely on FSUIPC offsets which, as you suggest, is limited. This is also the approach used by MobiFlight, which I almost started to use for my autopilot.
If the IOCards are just generic USB interface cards I would say you are much better dropping them with Bodnar boards (HIDs) and/or Arduinos. The only Arduino solution I have tried is the Air Manager interface, which is also programmed in Lua (but implemented inside AM, not dependent on FSUIPC). Obviously this would have cost implications if you have lots of them, and you may also have a lot of legacy infrastructure you have built around them. I guess you could write some kind of generic SIOC server program in Lua that bridges the gap between your IOCards and LINDA (perhaps this is what you are suggesting). The only thing about that might be getting the performance good enough.
|
|
|
Post by PapaLima on Apr 10, 2020 13:12:35 GMT
yes ... i am front of my choice some years ago ... I selected OpenCockpits like cards because I saw of lot of cockpit builders using them.... but it is mostly to interface with PMDG for liners ... things are written...
I cannot throw the cards now... they are here and mostly fully wired... it was before Arduino and AirManager ...
I will now try to do something like a gateway or wrapper between FSUIPC free offsets use and LINDA calls (the libs which encapsulated the LVars use). I'll tell you then.
Happy Easter to all
|
|
|
Post by PapaLima on Apr 10, 2020 14:57:02 GMT
Hey !!
This is my setup !! I'll try it ...
|
|
|
Post by MarkH on Apr 10, 2020 17:08:31 GMT
Hey !!
This is my setup !! I'll try it ... Woo, good stuff
|
|
|
Post by PapaLima on Apr 11, 2020 18:31:38 GMT
Good news !!!! It works as expected !! To sumarize: 1) from the IOcards side, I have a SIOC script which is setting FSUIPC Joystick64 OFFSET bits to 1 or 0 according to the hardware switches positions 2) it goes thru FSUIPC (nothing implemented in FSUIPC side) 3) on the LINDA side, the user.lua the function handleButtons(joynum, button, downup) is implemented and if the button is ON (downup parameter is 1), I can call the LINDA function I want (in my test, the fire pull method) I'll illustrate the mecanism here later (when I'll be back on my sim PC) So by now from the hardware, I can trig any LINDA function. I can dig in either the DHC-6-300 aerosoft LINDA library and/or the AlmostAviation one !!!
|
|
|
Post by MarkH on Apr 11, 2020 19:26:26 GMT
Great stuff. My version of the LINDA library is uploaded here. I think I added a few extra things that didn't get added to the official file.
|
|