![]() |
![]() |
|
|
|||||||
| Designer Forum Treffpunkt für Gedankenaustausch von Simmern, die selbst |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#11 |
|
Veteran
![]() Registriert seit: 06.08.2002
Alter: 38
Beiträge: 363
|
Hallo.
Ich bin es noch mal. Ich habe jetzt versucht, die Oil Temperature statt der FS-Uhr anzeigen zu lassen. Ich habe einfach die Timer1 ersetzt durch Engine 1 Oil temperature. Was ist passier??? Klar, das was immer passiert... Fehlermeldung. Achja, in welcher Datei sind eigentlich die Offsets registriert??? Oder haben die damit nichts zu tun??? Danke im Vorraus. mfg Atze.
____________________________________
Der Weg vom Pils Liebe geht durch den Magen, Pils durch die Blase
|
|
|
|
|
|
#12 |
|
Jr. Member
![]() Registriert seit: 01.10.2002
Alter: 57
Beiträge: 90
|
Hä Timer? Alles mit Timer1 in dem Beispiel hat nichts mit dem FS Zugriff zu tun, es ist ein Timer im Programm der immer wieder aufgerufen wird.
Das Eigentliche ist wie schon gesagt der Zugriff auf FSUIPC_Read und FSUIPC_Process. Wie schon oben erwähnt ist der Offset für Oil Temp 08BA, also FSUIPC_Read(&H238,... durch FSUIPC_Read(&H8BA,... ersetzen, fertig. D.h. vermutlich müssen noch der Variablentyp, und ein paar Umrechnungen angepasst werden. z.B. so was: Private Sub Timer1_Timer() Dim dwResult As Long Dim uiPress As Long ' As an example of retrieving data, we will get the FS clock time. ' If we wanted additional reads/writes at the same time, we could put them here If FSUIPC_Read(&H8BA, 2, VarPtr(uiPress), dwResult) Then ' "Read" proceeded without any problems If FSUIPC_Process(dwResult) Then ' "Process" proceeded without any problems lblClock.Caption = uiPress * 55# / 16384# Else ' Unable to "Process" lblClock.Caption = "Processing: " & ResultText(dwResult) End If Else ' Unable to "Read" lblClock.Caption = "Reading: " & ResultText(dwResult) End If End Sub Nur mal so zusammengehauhen. VB ist wie gesagt nicht ganz mein Metier. Arne Bartels |
|
|
|
|
|
#13 |
|
Veteran
![]() Registriert seit: 06.08.2002
Alter: 38
Beiträge: 363
|
Hallo.
Vielen Dank erstmal. Aber bei mir zeigt er einen Oilpressure von 21.9073und weite Stellen an. Ist das richtig muss man dann nochwas an den Formeln anpassen??? Danke im Vorraus. mfg Atze.
____________________________________
Der Weg vom Pils Liebe geht durch den Magen, Pils durch die Blase
|
|
|
|
|
|
#14 |
|
Jr. Member
![]() Registriert seit: 01.10.2002
Alter: 57
Beiträge: 90
|
Sieht relativ normal aus. Wenigstens sind in der FSUIPC Doku die Umrechnungsfaktoren häufig genug da, beim MS SDK ist das keine Selbstverständlichkeit, da ist man auf Nachdenken und Vergleichen mit anderen Intstrumenten angewiesen. Für den oilpress schreibt die FSUIPC sinngemäß :"16384 entspricht 55 psi", so kommt die Umrechnung zustande. Ansonsten schau doch einfach was andere Instrumente im selben Flugzeug so anzeigen.
Arne Bartels |
|
|
|
|
|
#15 |
|
Veteran
![]() Registriert seit: 06.08.2002
Alter: 38
Beiträge: 363
|
Hallo.
Ich habe auch mal probiert, einfach eine andere Variable von FSUIPC dort einzusetzen, das war gleich wieder eine Fehlermeldung. Kannst Du mir sagen, woher Du weisst, wann man ein anderes Verfahren anwenden muss??? Also, ich hänge nochmal das von dir gemachte Beispiel an: Private Sub Timer1_Timer() Dim dwResult As Long Dim uiPress As Long ' As an example of retrieving data, we will get the FS clock time. ' If we wanted additional reads/writes at the same time, we could put them here If FSUIPC_Read(&H8BA, 2, VarPtr(uiPress), dwResult) Then ' "Read" proceeded without any problems If FSUIPC_Process(dwResult) Then ' "Process" proceeded without any problems lblClock.Caption = uiPress * 55# / 16384# Else ' Unable to "Process" lblClock.Caption = "Processing: " & ResultText(dwResult) End If Else ' Unable to "Read" lblClock.Caption = "Reading: " & ResultText(dwResult) End If End Sub Und hier das Standart-Beispiel mit der Uhr: Private Sub Timer1_Timer() Dim dwResult As Long Dim auiTime() As Byte ReDim auiTime(3) ' As an example of retrieving data, we will get the FS clock time. ' If we wanted additional reads/writes at the same time, we could put them here If FSUIPC_Read(&H238, 3, VarPtr(auiTime(1)), dwResult) Then ' "Read" proceeded without any problems If FSUIPC_Process(dwResult) Then ' "Process" proceeded without any problems lblClock.Caption = Format(auiTime(1), "00") & ":" & _ Format(auiTime(2), "00") & ":" & _ Format(auiTime(3), "00") Else ' Unable to "Process" lblClock.Caption = "Processing: " & ResultText(dwResult) End If Else ' Unable to "Read" lblClock.Caption = "Reading: " & ResultText(dwResult) End If End Sub Da sind einfach ganz große Unterschiede. Ich meine ab If FSUIPC_Process(dwResult) Then... Das was danach kommt. Woher weiss ich, was ich da einsetzen muss??? Ansonsten erscheint mir FSUIPC-Programmierung einfacher, als Gauges programmieren. Vielen Dank im Vorraus. mfg Atze.
____________________________________
Der Weg vom Pils Liebe geht durch den Magen, Pils durch die Blase
|
|
|
|
|
|
#16 |
|
Jr. Member
![]() Registriert seit: 01.10.2002
Alter: 57
Beiträge: 90
|
Ab FSUIPC_Result ist "lediglich" die Darstellung der Daten vorhanden. Die kann natürllich je nach Art der Daten unterschiedlich sein. Du willst ha nicht Öldruck im Stunden:Minuten:Sekunden Format darstellen. Ich hätte auch eine passende "Format()" Anweisung benutzen können, andereseits habe ich auch keine große Lust wegen einem Beispiel VB zu lernen.
Wie gesagt, aus dem "FSUIPC for Programmers" schnappt man sich Offset Variablengröße, Variablentyp und Umrechnungsfaktoren. Das weitere Drumherum ergiebt sich aus den Programmierregeln von VB die meines Wissens problemlosin der Hilfe nachzuschlagen sind. Arne Bartels |
|
|
|
|
|
#17 |
|
Inventar
![]() |
Wie mir vorkommt, möchtest du dich mit FSUIPC mal vertraut machen.
Aber wenn es dir ums EICAS geht, so ist es wohl in normaler Gauge Form leichter zu lösen(obwohl ich von FSUIPC nix verstehe). Denn mit ein paar String Anzeigen und drehbaren Teilen sollte es schon geschafft sein, egal ob C oder XML. Viele Grüße, Harri ![]()
____________________________________
MEINE FLIEGERSEITE XML Gauges Programmierung für Anfänger Panel Design für Anfänger |
|
|
|
|
|
#18 |
|
Jr. Member
![]() Registriert seit: 01.10.2002
Alter: 57
Beiträge: 90
|
Hier nochmal ein Beispielcode mit einem Format mit zwei Nachkommastellen.
Im übrigen hat Harri natürlich recht, ein Gauge ist schneller in XML oder C zu machen, als erst in VB rein und dann wieder zurück. Arne Bartels |
|
|
|
|
|
#19 |
|
Veteran
![]() Registriert seit: 06.08.2002
Alter: 38
Beiträge: 363
|
Hallo.
Naja, aber ich finde, also von den Beispielen her, dass FSUIPC-Schnittstellenprogrammierung einfacher ist, als Gauges-programmieren. Ausserdem will ich das auch lernen, weil ich vor habe, wenn ich in der Ausbildung bin, wird aber noch 1-2 Jahre dauern, mir dann ein Homecockpit zu bauen, da das Preis-Leistungsverhältniss von Project Magenta meiner Meinung nich soo toll ist, wenn man alles haben will, is man ja schon fast 500€ los, und das möchte ich halt nicht unterstützen. Naja, dass waren halt mal so meine Gedanken. mfg Atze.
____________________________________
Der Weg vom Pils Liebe geht durch den Magen, Pils durch die Blase
|
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|