X - PLANE
Nadat ik de hele zomer van 2016 gespendeerd had aan het programmeren van de 737-800 van PMDG voor mijn cockpit en tot de slotsom was gekomen dat Prepar3D en PMDG geen meerwaarde voor mij haden vergeleken met FSX, besloot ik om over te stappen naar X-Plane.
Tevens bleek tijdens het programmeren dat het aantal ter beschikking staande functie toetsen in SCPascal ontoereikend was om alles van de cockpit programmatisch te realiseren.

Ik had al een versie 10 van X-Planein huis, maar deze versie had alleen maar een 737X als freeware add-on en deze was al geruime tijd in ontwikkeling en schijnt niet uit ontwikkeld te geraken. Bovendien moest de besturing voor de FMC ook nog eens als add-on erbij gekocht worden.

Toen was daar ineens het FS-weekend 2016 in Lelystad. Hier zou ook een introductie gegeven worden van de nieuwe X-Plane11. Een intro waar je U tegen kunt zeggen....de user interface was in zijn geheel aan gepakt alsmede voor de cockpitbuilders waren de diverse mogelijkheden wat eenvoudiger gemaakt.
Het mooiste van alles was echter dat er een B737-800 als standaard vliegtuig in begrepen was.
De bedoeling was dat X-Plane11 in het voorjaar van 2017 op de markt zou worden gebracht.
In een bomvol auditorium van Aviodome werd toen bekend gemaakt dat in december 2016 er een beta versie zou komen van X-Plane11.

Tja, en toen was de beslissing snel genomen.

PROBLEMEN:
1.  Geen voorbeelden
2.  Leverancier van interface boards heeft geen ervaring met x-plane
3.  Er bestaan geen glass cockpits. Dus geen PFD, ND en geen upper- en lower EICASS
4.  De IDE van Sismo (SCPascal) kan geen strings als opdrachten verwerken en kan ook geen Data-Refs strings verwerken.
5.  Mijn hardware FMC van FDS (Flight Deck Solution) is waarschijnlijk niet compatible met X-Plane

OPLOSSINGEN:




















1.
Simpel.....het wiel opnieuw uitvinden
2.
Na een zoektocht op diverse fora, kwam ik een plugin voor X-Plane tegen, genaamd "Fly With Lua"
Ik was al eens eerder met LUA in aanraking gekomen, nl. bij het programmeren van de PMDG voor Sismo boards bleek dat de Float64, die veelvuldig door PMDG wordt gebruikt, niet door SCPascal kan worden verwerkt. Dus was ik genoodzaakt om een conversie scriptje te schrijven die deze floats via FSUIPC kon omzetten.
3.
Ook hier kwam ik na een zoektocht op internet een programma tegen waarmee ook met behulp van LUA men zelf  diverse instrumenten kan ontwerpen. Het programma heet "Air Manager". Te verkrijgen via de volgende website: http://www.siminnovations.com/
4.
Om het probleem van mijn IDE te tackelen, was ik genoodzaakt om een tussen oplossing te zoeken. Het probleem was dat mijn IDE uitsluiten getallen en cijfers kan verzenden en ontvangen.
Om de commando strings van X-Plane te verzenden was de oplossing vrij simpel. Ik heb alle benodigde commando's voor b.v. de MCP in een Lua Array gezet.
Door nu het indexnummer van het betreffende commando in de array via SCPascal te verzenden was alles wat switches en drukknoppen opgelost.
Een voorbeeld van een dergelijke array heb ik hier gepubliceerd:
http://forums.x-plane.org/index.php?/forums/topic/115063-coroutines/

Een MCP bezit diverse "annunciators" (signaal lampjes) en deze dienen te gaan branden als daartoe de opdracht wordt ontvangen. Ook hier was het niet mogelijk om de desbetreffende DataRefs uit te lezen.
De oplossing was gedeeltelijk gelegen in een plugin voor X-Plane, genaamd UIPCX. Deze plugin is in feite een IOCP server maar dat uitsluitend de data uitwisseling verzorgt tussen de orginele DataRefs van X-Plane en de buitenwereld. Door middel van deze plugin was het mogelijk om in ieder geval de displays uit te lezen en de waarden ervan direct naar de displays van mijn cockpit over te zetten.
Helaas had Laminar (de ontwerper van X-Plane) voor alle andere lampjes allemaal andere DataRefs ontworpen welke niet door UIPCX kunnen worden verwerkt.
Ook hiervoor was wederom de oplossing om via FWL een array te vullen met de ON/OFF waardes van de diverse lampjes, deze waardes respectievelijk met de bitwaardes (1, 2, 4, 8, enz) te vermenigvuldigen
en de uitkomst naar SCPascal te sturen en daar de ontvangen waardes via een bitwise (TestBit) instructie te ontleden.
5.
Wat betreft de FMC. Ik heb allereerst Flight Deck Solutions Europe een mail gezonden met de vraag of er een programma voor X-Plane te verkrijgen was. Tot op heden heb ik hierover nog geen bericht ontvangen.