![]() |
![]() |
|
![]() |
![]() |
|
Home Cockpit - Das Forum für die "Bastler" Cockpitbauer tauschen Pläne, Erfahrungen, Meinungen über den Bau von Homecockpits aus... |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Master
![]() |
![]() hi, ich hab mir das neuste fsuipc-sdk runterfeladen, und da is ja auch fs interrogate dabei...da kann ich jetzt aber als plattform nur fs 98 oder 2000 auswählen und cfs, habe aber den fs2002...
wenn ich jetzt cfs nehme, dann liest er zwar werte aus, gibt aber keine bezeichnung (field name) dafür aus, bei 98 und 2000 tut sich gar nix, kann man da irgendwao nen pfad angeben oder gibt es ein update für 2002? gruss Phil |
![]() |
![]() |
![]() |
#2 |
Senior Member
![]() Registriert seit: 04.04.2001
Beiträge: 112
|
![]() Hi!
Nimm bei new project einfach "Unknown". Gebe die offsets ein, die du Lesen/Schreiben möchtest und es sollte dann tadellos mit dem FS2002 und FS2004 funktionieren. MfG Stephan
____________________________________
Do you know the A320 Flightdeck Project? Visit www.a320flightdeck.com |
![]() |
![]() |
![]() |
#3 |
Master
![]() |
![]() ah, ok ich hatte da was falsch verstanden im manual, also gibt mir fs interrogate NICHT beim readout alle offsets MIT den namen...?
|
![]() |
![]() |
![]() |
#4 |
Senior Member
![]() Registriert seit: 04.04.2001
Beiträge: 112
|
![]() Hi!
Wenn du bei Interrogate "interrogate the entire buffer" auswählst scannt er denn ganzen FSUIPC Offsetbereich ab, schreibt aber keine Bezeichnung bei den einzelnen offsets dazu, nur die HEX Adresse. MfG Stephan
____________________________________
Do you know the A320 Flightdeck Project? Visit www.a320flightdeck.com |
![]() |
![]() |
![]() |
#5 |
Master
![]() |
![]() ok, mist ich dachte das würde mir endlich mal klarheit bringen. Im fsuipc-sdk sind ja längst nicht alle offsets in der Doc aufgeführt...oder gibt es da inzwischen ne neue?
Ich habe da nämlich immernoch das problem, dass ich werte wie pitch, long/lat, bank (also alles was mit gradzahlen zu tun hat) nicht vernünftig formatiret kriege. Könnt jmd der das blcick vielleicht kurz ein beispiel posten (quelltext) wie ich zb bank/pich und Lat/long auslese (fsuipc_read...) verarbeite und dann in nem label oder edit-fenster (ja ich arbeite mmit delphi, ne andere sprache kann ich ned) anzeigen lassen kann) die Lat/long klappen bei mir gar nicht nach dem umrechnungsschlüssel aus der doc, und bank/pich nur nach oben im positiven bereich. Gruss Phil |
![]() |
![]() |
![]() |
#6 |
Master
![]() Registriert seit: 14.02.2002
Alter: 66
Beiträge: 644
|
![]() Hallo Phil,
da können wir uns die Hände schütteln. Das war einer der grossen Knackpunkte im FSBUS. Die von dir gewünschten Daten sind 8Byte Werte. Neuere Compiler für 64Bit Maschinen nennen das Format longlong. Leider hat aber weder mein C-Builder noch das verwandte Delphi sowas nicht. Ich habe mich dann entschieden, alle 64Bitwerte erst in 32Bit umzurechnen. Die dadurch fehlende Präzision ist vernachlässigbar. Ich bin aber sicher, wenn du die Längen/Breiten mitverwendest, wird es eng. In Delphi liest du den Offset in Länge 8 und nimmst den Puffer dann als 2*4Byte unsigned int. Bei den meisten Werten reicht die Verwendung des höherwertigen Wortes. Bei Altitude musst du das höherwertige Wort um 4 Bit nach links schieben und aus dem niederwertigen Wort die oberen 4 Bit in diesen freigewordenen Bereich übertragen. Ich nehme an, du kannst die Beschreibung in Pascal umsetzen. In dieser Sprache ist das jedoch bei weitem nicht so einfach wie in C. Viel Erfolg Dirk |
![]() |
![]() |
![]() |
#7 |
Veteran
![]() Registriert seit: 01.12.2002
Alter: 54
Beiträge: 202
|
![]() Hallo,
hier die Formatierungen für Lat/Long. Code ist in VB geschrieben. Mußt Du Dir also für Delphi herrichten. If ACLat_1_scal > 0 Then lbl1ACLat.Text = "N " & Int(ACLat_1_scal * 90.0 / (10001750.0 * 65536.0 * 65536.0)) & " " & ((ACLat_1_scal * 90.0 / (10001750.0 * 65536.0 * 65536.0)) - (Int(ACLat_1_scal * 90.0 / (10001750.0 * 65536.0 * 65536.0)))) * 60 Else lbl1ACLat.Text = "S " & Math.Abs(Int(ACLat_1_scal * 90.0 / (10001750.0 * 65536.0 * 65536.0))) - 1 & " " & 60 - (((ACLat_1_scal * 90.0 / (10001750.0 * 65536.0 * 65536.0)) - (Int(ACLat_1_scal * 90.0 / (10001750.0 * 65536.0 * 65536.0)))) * 60) End If If ACLong_1_scal > 0 Then lbl1ACLong.Text = "E " & Int(ACLong_1_scal * 360.0 / (65536.0 * 65536.0 * 65536.0 * 65536.0)) & " " & ((ACLong_1_scal * 360.0 / (65536.0 * 65536.0 * 65536.0 * 65536.0)) - (Int(ACLong_1_scal * 360.0 / (65536.0 * 65536.0 * 65536.0 * 65536.0)))) * 60 Else lbl1ACLong.Text = "W " & Math.Abs(Int(ACLong_1_scal * 360.0 / (65536.0 * 65536.0 * 65536.0 * 65536.0))) - 1 & " " & 60 - (((ACLong_1_scal * 360.0 / (65536.0 * 65536.0 * 65536.0 * 65536.0)) - (Int(ACLong_1_scal * 360.0 / (65536.0 * 65536.0 * 65536.0 * 65536.0)))) * 60) End If
____________________________________
Joachim member of www.a320flightdeck.com |
![]() |
![]() |
![]() |
#8 |
Master
![]() |
![]() @Dirk, meinst du jetzt aLtitude oder aTTitude? ich meine letzteres...
Ich habe übrigens endlich was gefunden wie ich per delphi den druckerport auslesen und auch setzen kann, nennt sich IO.DLL und kann in programme eingebunden werden. Sehr geil das ganze, morgen geht es an die erfindung eines einfachen protokolls... @jjjanezik (woher stammt der name?) danke, ich denke wenn ich mir das morgern nochmal durchlese werd ich damit klarkommen, heut abend krieg ich das nimmer hin ;o) grüssle Phil |
![]() |
![]() |
![]() |
#9 |
Veteran
![]() Registriert seit: 01.12.2002
Alter: 54
Beiträge: 202
|
![]() Es war einmal...
mein Urgroßvater in Slowenien, als dieses noch zu Österreich gehört und daher der Name Janezic...
____________________________________
Joachim member of www.a320flightdeck.com |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|