Welcome to the forum for MobiFlight! Feel free to reach out to the community in case you have questions, issues or just want to share great ideas or details about your latest home cockpit project.
You like MobiFlight? Donate via PayPal and support the MobiFlight development. Thanks!
05/03/2024 - This forum is read-only
The community support for MobiFlight has moved exclusively over to our Discord server. Register for free and enjoy more interactive functions like image and video upload, voice chat. More than 7,000 registered users around the world make it a great experience!
A HUGE Thank You to everyone who participated in the forum, especially obviously to Pizman and Stephan who did an outstanding job over so many years providing an incredible service to the MobiFlight community.
The forum is still providing a lot of good content, hence we keep this information accessible.
ich habe gerade ein Brett vor dem Kopf und bekomme es nicht gebrochen. Wie ermittele ich das Offset aus dem PMDG SDK zum auslesen eines Annunciator (LED)? Den Eintrag im SDK für den entsprechenden Output finde ich ja im oberen Teil des SDK, die Zeile fängt mit "bool" keine Ahnung wie ich da das Offset draus erkennen soll.
da hättest du ein Stück weiterlesen sollen in der PMDG_NGX_SDK.h.
Deine Suche wäre ab Zeile 516 erfolgreich gewesen. Suche einfach nach // Control Events. Da steht dann #define THIRD_PARTY_EVENT_ID_MIN 0x00011000 //equals to 69632
Ab Zeile 579 stehen dann die Control Events. Diese Werte zum obigen Schlüsselwert hinzuaddieren und du hast deine EventID.
Es geht aber auch einfacher, indem du dir die PDF-Liste PMDG_/37NGX_EVENT_IDs_SP1d.pdf anschaust. Da sind alle drin.
Aber:
Du möchtest ja die LED-Adressen auslesen, also die Outputs. Für die Outputs braucht man Offsets. Dazu gibt es ebenfalls eine Liste. Klicke dich dahin durch, vom Stammverzeichnis des Simulators \modukes\FSUIPC Documents\ und dort das PDF Offset Mapping for PMDG 737NGX.pdf. Damit brauchst du nichts rechnen und wühlen, einfach nur nachschlagen.
Das war's.
Ansich habt ihr beide Recht.... Aber Stephans Antwort ist etwas zu "flach". Deine Frage Flori, war durchaus berechtigt !
Die INPUTS kann man sich aus dem SDK zusammenreimen.....
Wie Stephan sagte steht dort "THIRD_PARTY_EVENT_ID_MIN 0x00011000 //equals to 69632"
Sprich jedes dortige Event mit einer nummer muss nur zu diesen immaginären Wert von 69632 dazugerechnet werden !
z.b.
#define EVT_OH_ELEC_BATTERY_SWITCH (THIRD_PARTY_EVENT_ID_MIN + 1) // 01 - BAT Switch
entspricht....
EventID 69633 EVT_OH_ELEC_BATTERY_SWITCH ( also 69632+1=69633 )
******************
Bei den OUTPUTS geht das aber nicht. Diese sind im SDK schlicht nur aufgelistet in Relation zu ihrerer Position (denn es sind SIMCONNECT Variablen aus einen bestimmten Bereich..... KEINE Offsets ! ) .
Welchen "Offset" diese haben bestimmt einzig und alleine Pete Dowson.... Der diese Rohdaten ausliest und dann nach seinen ermessen die Zahlen auf Offsets legt.
Am Ende hat aber Stephan trotzdem Recht! Besagte Liste von Offsets ist teil der FSUIPC Manuals ( PDF File im Moduels Ordner) .
Zusammengefasst..... Aus dem SDK ist die Information NICHT ersichtlich.... Trotzdem hat jeder der FSUIPC installiert hat besagte Liste auf seiner Festplatte!
Somit wie immer.... Handbuch lesen ..... Und man hat kein Problem..... Oder auf Englisch " RTFM " !
klar die Input ID´s waren soweit klar, die Offset .pdf´s von Pete kenne ich natürlich auch...Kp, sag ja: nach vielen Monaten der Baupause hatte ich nen Brett vor dem Kopf