X - PLANE
After spending the entire summer of 2016 programming B737-800 for PMDG for my cockpit and concluding that Prepar3D and PMDG had no added value to me compared to FSX, I decided to switch to X- Plane.
Also, during programming, the number of available function keys in SCPascal turned out to be inadequate to program everything from the cockpit programmatically.
I already had a version 10 from X-Plane in home, but this version only had a 737X as a freeware add-on, and it has been in development for some time and seems to be out of development. In addition, the FMC controller also had to be purchased as an add-on.
Then there was suddenly the FS weekend 2016 in Lelystad. There was an introduction to the new X-Plane11. An fingerlicking introduction ... the user interface was redigned, as well as for the cockpit builders, the various possibilities were made easier.
The most beautiful of all was, however, that there was a B737-800 as a standard plane.
The intention was that X-Plane11 would be marketed in spring 2017.
At a overcrowded Aviodome auditorium, it was announced that in December 2016 there would be a beta version of X-Plane11.
Well, and then the decision was taken verry quickly.
1. No examples
2. Interface board supplier has no experience with x-plane
3. There are no glass cockpits. So no PFD, ND and no upper and lower EICASS
4. The Sismo IDE (SCPascal) can not process strings as commands and can not process Data-Refs strings.
5. My hardware FMC from FDS (Flight Deck Solution) is probably not compatible with X-Plane
Simple ..... reinventing the wheel
After a search on various forums, I encountered a plug-in for X-Plane, called "Fly With Lua"
I had previously come into contact with LUA, ie when programming the PMDG for Sismo boards, it appeared that the Float64, which is frequently used by PMDG, can not be processed by SCPascal. So I was forced to write a conversion script that could convert these floats via FSUIPC.
Again, after a search on the Internet, I came up with a program with which LUA itself can design various instruments. The program is called "Air Manager". Available from the following website: http://www.siminnovations.com/
To address the problem of my IDE, I was forced to search for a solution. The problem was that my IDE can only send and receive numbers.
To send the command strings of X-Plane, the solution was quite simple. I put all the necessary commands for e.g. The MCP in a Lua Array.
By now sending the index number of the appropriate command in the array via SCPascal, everything that concerns switches and pushbuttons was resolved.
An example of such an array I have published here:
An MCP has several "annunciators" (signal lights) and they must be lit if the command is received. Here too, it was not possible to read out the relevant DataRefs.
The solution was partially located in an X-Plane plug-in called UIPCX. This plugin is basically an IOCP server but only provides data exchange between the original DataRefs of X-Plane and the outside world. By means of this plugin it was possible to read the displays at least and transfer their values directly to the displays of my cockpit.
Unfortunately, Laminar (the X-Plane designer) for all other lights they had designed other DataRefs that could not be processed by UIPCX.
Again, the solution was to fill an array via FWL with the ON / OFF values of the various lamps, multiplying these values with the bit values (1, 2, 4, 8, etc.) and than added them up. This value was send to SCPascal and analyzed the received values through a bitwise (TestBit) instruction.
As for the FMC. I first sent Flight Deck Solutions Europe an email asking if there was a X-Plane program available. To date, I have not received a responce yet.