Das ginge auch. An Release-Button hatte ich gar nicht gedacht.
Beiträge von Skino
-
-
Wenn du es mit 2 Tastern machen würdest, jeder mit 2 Kontaktpaaren, die am Boadnar hängen?
Jeweils ein Kontakt schaltet den AP, der 2. Kontakt schaltet parallel dazu eine ungenutzte Funktion, Hook oder Drop z.b.
diese könnte ich dann mit meinem Programm auswerten.
Wenn du den klassischen Z-Befehl verwendest müsste mein Programm in der aktuellen Version das Relais zumindest ausschalten. Kannst du das mal probieren?
-
Wie aktivierst du den AP? Maus oder Button am Joystick?
Du hast doch einen Boadnar. Wenn du da Buttons für den AP anschließen würdest ginge es vermutlich. Müsstest aber IMMER damit schalten, da eben nicht der AP sondern wirklich nur die Schalter/Taster abgefragt werden.
-
Beides eigentlich. Die Buttons im Sim wären besser. Kannst du Hardware den Buttons zuordnen?
-
Mist. Dann müssen wir ziemlich tricksen. Also erstmal versuchen die Schalter abzufangen.
-
Bin wieder online.
gibt es etwas neues in Bezug auf die FSLab Offsets?
-
Hier erst mal die korrigierte Version. Jetzt sollte mit den Standardfliegern alles passen.
Bis Sonntag bin ich erstmal raus, jetzt gehts nach Berlin, Urlaub geniessen.
-
Kann man die Fcu als 2D Panel aufrufen? Dann könnte ich die LED auslesen als Indikator ob der AP an ist und brauche keinen Offset.
-
Es gibt ein Linda Modul für den Bus und Sioc(?) Lvars wie VC_GSLD_FCU_AP1_Brt_Lt.
Das könnte ein Ansatz sein.
-
Gibt es Hardware FCUs, die mit dem Fslab läuft?
Welches Setup fliegst du? Im VC mit Hardware oder Homecockpit?
Mit FsInterrogate (liegt dem Fsuipc Sdk bei) könnte man nach dem Offset suchen. Oder bei den Mobiflight Leuten nachfragen ob da Offsets bekannt sind.
Sollte es nicht ein Fslab Sdk geben?
-
Dann ist das mit dem Relais so gut wie erledigt. Fehlt noch der Offset. Ich denke aber das wird auch noch.
-
Ok, das bringt uns weiter. Werde morgen Nachmittag mal eine neue Exe hochladen. Habe vermutlich die Befehle für On und Off verwechselt. Bleibt immer noch das Offset Problem.
Edit: Habe gerade im Quellcode oben gesehen das ich für On und Off den selben Code eingetragen habe.
Wenn du es mal ohne Flusi versuchst, nur mit den Buttons, klappt es dann?
-
Nach Neuinstallation ist da Atc Fenster wieder da.
-
Kann nicht mehr bearbeiten, also neuer Post:
Dim by() As Byte = {&HA0, &H1, &H1, &HA2}
Hier wird der On bzw Off-Code (A0 01 01 A2) in Hex konvertiert. Ich gehe davon aus das das Relais Byte will, nicht Bit.
If SerialPort1.IsOpen Then SerialPort1.Write(by, 0, by.Length)
Hier wird geprüft ob der gewählte Port offen ist und der Hex Wert gesendet.
Ich hoffe das hilft dir weiter.
-
Momentan ist das Programm auf Abfrage von Offsets eingestellt. Das wäre also gut. Diese Excel Tabelle mit Offsets aus dem Forum wäre toll.
Hier mal der Quellcode (VB NET 2017) als Text . &H7BC ist der Offset des Standard Autopiloten Master, im Hex Format. Da sollte der vom FsLabs rein.
Dies ist die 3_ Version. Bei Bedarf schicke ich dir den Quellcode gern zu.
Code
Alles anzeigenImports FSUIPC Imports System.IO.Ports Public Class Form1 Dim compass As Offset(Of Integer) = New FSUIPC.Offset(Of Integer)(&H7BC) Public PortNummer As Integer Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing FSUIPCConnection.Close() End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load PortNummer = My.Settings.PN Try FSUIPCConnection.Open() Timer1.Enabled = True Button3.Visible = False Catch Timer1.Enabled = False MsgBox("FSUIPC nicht gefunden") End Try RichTextBox1.Text = PortNummer End Sub Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick FSUIPCConnection.Process() If compass.Value = 0 Then Label2.Text = "OFF" Dim by() As Byte = {&HA0, &H1, &H1, &HA2} If SerialPort1.IsOpen Then SerialPort1.Write(by, 0, by.Length) Else Label2.Text = "ON" Dim by() As Byte = {&HA0, &H1, &H1, &HA2} If SerialPort1.IsOpen Then SerialPort1.Write(by, 0, by.Length) End If End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Me.Close() End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Try FSUIPCConnection.Open() Timer1.Enabled = True Button3.Visible = False Catch Timer1.Enabled = False MsgBox("FSUIPC nicht gefunden") End Try End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim by() As Byte = {&HA0, &H1, &H1, &HA2} If SerialPort1.IsOpen Then SerialPort1.Write(by, 0, by.Length) End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Dim by() As Byte = {&HA0, &H1, &H0, &HA1} If SerialPort1.IsOpen Then SerialPort1.Write(by, 0, by.Length) End Sub Private Sub RichTextBox1_TextChanged(sender As Object, e As EventArgs) Handles RichTextBox1.TextChanged PortNummer = RichTextBox1.Text My.Settings.PN = PortNummer SerialPort1.PortName = "COM" & PortNummer 'change com port to match your Arduino port SerialPort1.BaudRate = 9600 SerialPort1.DataBits = 8 SerialPort1.Parity = Parity.None SerialPort1.StopBits = StopBits.One SerialPort1.Handshake = Handshake.None SerialPort1.Encoding = System.Text.Encoding.Default 'very important! Try SerialPort1.Open() Catch MsgBox("Relay an COM" & PortNummer & " nicht erkannt") End Try End Sub End Class
-
Da ich nicht sicher bin, welches Protokoll auf dem Chip läuft habe ich mal 3 Versionen programmiert.
Da der Chip auch auf den China Arduinos verbaut ist vermute ich das die die 3_ Version die größten Chancen hat.
-
Ok, ich muss den Befehl als Hex senden, nicht als String. Probiere ich morgen mal.
-
Dann muss ich mir das Format der Steuerung noch mal ansehen. Schon mal gut das das Relais erkannt wird.
-
Ich habe 2 Wochen Urlaub. Da habe ich viel Zeit zum programmieren. Also kein Thema. Hauptsache wir kriegen es hin.
-
Hier stehen sicher interessante Infos, ich bin aber nicht in diesem Forum angemeldet. Vlt. hat ja jemand Zugriff auf die Seiten
https://forums.flightsimlabs.c…3-offset-fsuipc-for-a320/