Unser neuester Streich der uns über einige Zeit begleiten wird: F-35

Das F-35 Board gibt es in den Varianten:

F-35 A: Buttons Only -> 108 Buttons (zwei LEDs als Indikatoren)

F-35 B: Buttons & Encoder -> 93 Buttons + 5 Drehencoder

Alle Eingänge sind Low Active, d.h. sie müssen auf GND gezogen werden um ein Joystick Button Signal zu erzeugen. Es gibt zwei GND Pins an dem Board jeweils ganz oben auf der Platine links und rechts. Von dort kann der GND abgegriffen werden um die Schalter / Buttons zu versorgen.

-----------------------------------------------------------

/!\ Folgende Pins NICHT auf GND setzen /!\

PC0 - Rote LED

PB0 - Grüne LED

RST - Reset Pin

PA11 - USB DP

PA12 - USB DM

VBAT - Batterie Eingang

-----------------------------------------------------------

F-35 A

Es gibt zwei GND Pins auf dem Board. Alle Schalter / Buttons müssen an ihrem Terminal mit GND verbunden werden. Dann lassen sich die einzelnen Schaltpins der Schalter / Buttons mit den Eingängen verbinden. Die verfügbare Eingänge sind unten in der Liste aufgelistet. Die rot markierten Pins bitte nicht verwenden.

PIN ID Funktion      PIN ID Funktion     PIN ID Funktion     PIN ID Funktion
PA14 JOY1 BTN 1   PE5 JOY2 BTN 1    PF12 JOY3 BTN 1   PG5 JOY4 BTN 1 
PA15 JOY1 BTN 2   PE6 JOY2 BTN 2    PF13 JOY3 BTN 2   PG6 JOY4 BTN 2
PC10 JOY1 BTN 3   PC13 JOY2 BTN 3    PF14 JOY3 BTN 3   PG7 JOY4 BTN 3
PC11 JOY1 BTN 4   PC14 JOY2 BTN 4    PF15 JOY3 BTN 4   PG8 JOY4 BTN 4
PC12 JOY1 BTN 5   PC15 JOY2 BTN 5    PG0 JOY3 BTN 5   PC6 JOY4 BTN 5
PD0 JOY1 BTN 6   PF0 JOY2 BTN 6    PG1 JOY3 BTN 6   PC7 JOY4 BTN 6
PD1 JOY1 BTN 7   PF1 JOY2 BTN 7    PE7 JOY3 BTN 7   PC8 JOY4 BTN 7
PD2 JOY1 BTN 8   PF2 JOY2 BTN 8    PE8 JOY3 BTN 8   PC9 JOY4 BTN 8
PD3 JOY1 BTN 9   PF3 JOY2 BTN 9    PE9 JOY3 BTN 9   PA8 JOY4 BTN 9
PD4 JOY1 BTN 10   PF4 JOY2 BTN 10    PE10 JOY3 BTN 10   PA9 JOY4 BTN 10
PD5 JOY1 BTN 11   PF5 JOY2 BTN 11    PE11 JOY3 BTN 11   PA10 JOY4 BTN 11
PD6 JOY1 BTN 12   PF6 JOY2 BTN 12    PE12 JOY3 BTN 12   PA13 JOY4 BTN 12
PD7 JOY1 BTN 13   PF7 JOY2 BTN 13    PE13 JOY3 BTN 13      
PG9 JOY1 BTN 14   PF8 JOY2 BTN 14    PE14 JOY3 BTN 14      
PG10 JOY1 BTN 15   PF9 JOY2 BTN 15    PE15 JOY3 BTN 15      
PG11 JOY1 BTN 16   PF10 JOY2 BTN 16    PB10 JOY3 BTN 16      
PG12 JOY1 BTN 17   PC1 JOY2 BTN 17    PB11 JOY3 BTN 17      
PG13 JOY1 BTN 18   PC2 JOY2 BTN 18    PB12 JOY3 BTN 18      
PG14 JOY1 BTN 19   PC3 JOY2 BTN 19    PB13 JOY3 BTN 19      
PG15 JOY1 BTN 20   PA0 JOY2 BTN 20    PB14 JOY3 BTN 20      
PB3 JOY1 BTN 21    PA1 JOY2 BTN 21    PB15 JOY3 BTN 21       
PB4 JOY1 BTN 22   PA2 JOY2 BTN 22    PD8 JOY3 BTN 22      
PB5 JOY1 BTN 23   PA3 JOY2 BTN 23    PD9 JOY3 BTN 23      
PB6 JOY1 BTN 24   PA4 JOY2 BTN 24    PD10 JOY3 BTN 24      
PB7 JOY1 BTN 25   PA5 JOY2 BTN 25    PD11 JOY3 BTN 25      
PB8 JOY1 BTN 26   PA6 JOY2 BTN 26    PD12 JOY3 BTN 26      
PB9 JOY1 BTN 27   PA7 JOY2 BTN 27    PD13 JOY3 BTN 27      
PE0 JOY1 BTN 28   PC4 JOY2 BTN 28    PD14 JOY3 BTN 28      
PE1 JOY1 BTN 29   PC5 JOY2 BTN 29    PD15 JOY3 BTN 29      
PE2 JOY1 BTN 30   PB1 JOY2 BTN 30    PG2 JOY3 BTN 30      
PE3 JOY1 BTN 31   PB2 JOY2 BTN 31    PG3 JOY3 BTN 31      
PE4 JOY1 BTN 32   PF11 JOY2 BTN 32    PG4 JOY3 BTN 32      

 

==========================================================================

F-35 B

Die Pin Belegung:

PIN ID Funktion      PIN ID Funktion     PIN ID Funktion     PIN ID Funktion
PA14 JOY1 BTN 1   PE5 JOY2 BTN 1    PC4 ENC1 PH A   PB10 JOY4 BTN 1 
PA15 JOY1 BTN 2   PE6 JOY2 BTN 2    PC5 ENC1 PH B   PB11 JOY4 BTN 2
PC10 JOY1 BTN 3   PC13 JOY2 BTN 3    PB1 ENC2 PH A    PB12 JOY4 BTN 3
PC11 JOY1 BTN 4   PC14 JOY2 BTN 4    PB2 ENC2 PH B   PB13 JOY4 BTN 4
PC12 JOY1 BTN 5   PC15 JOY2 BTN 5    PF11 ENC3 PH A    PB14 JOY4 BTN 5
PD0 JOY1 BTN 6   PF0 JOY2 BTN 6    PF12 ENC3 PH B   PB15 JOY4 BTN 6
PD1 JOY1 BTN 7   PF1 JOY2 BTN 7    PF13 ENC4 PH A   PD8 JOY4 BTN 7
PD2 JOY1 BTN 8   PF2 JOY2 BTN 8    PF14 ENC4 PH B   PD9 JOY4 BTN 8
PD3 JOY1 BTN 9   PF3 JOY2 BTN 9    PF15 ENC5 PH A   PD10 JOY4 BTN 9
PD4 JOY1 BTN 10   PF4 JOY2 BTN 10    PG0 ENC5 PH B   PD11 JOY4 BTN 10
PD5 JOY1 BTN 11   PF5 JOY2 BTN 11    PG1 ENC1 BTN   PD12 JOY4 BTN 11
PD6 JOY1 BTN 12   PF6 JOY2 BTN 12    PE7 ENC2 BTN    PD13 JOY4 BTN 12
PD7 JOY1 BTN 13   PF7 JOY2 BTN 13    PE8 ENC3 BTN    PD14 JOY4 BTN 13
PG9 JOY1 BTN 14   PF8 JOY2 BTN 14    PE9 ENC4 BTN    PD15 JOY4 BTN 14
PG10 JOY1 BTN 15   PF9 JOY2 BTN 15    PE10 ENC5 BTN    PG2 JOY4 BTN 15
PG11 JOY1 BTN 16   PF10 JOY2 BTN 16         PG3 JOY4 BTN 16
PG12 JOY1 BTN 17   PC1 JOY2 BTN 17         PG4 JOY4 BTN 17
PG13 JOY1 BTN 18   PC2 JOY2 BTN 18         PG5 JOY4 BTN 18
PG14 JOY1 BTN 19   PC3 JOY2 BTN 19         PG6 JOY4 BTN 19
PG15 JOY1 BTN 20   PA0 JOY2 BTN 20         PG7 JOY4 BTN 20
PB3 JOY1 BTN 21    PA1 JOY2 BTN 21         PG8 JOY4 BTN 21 
PB4 JOY1 BTN 22   PA2 JOY2 BTN 22         PC6 JOY4 BTN 22
PB5 JOY1 BTN 23   PA3 JOY2 BTN 23         PC7 JOY4 BTN 23
PB6 JOY1 BTN 24   PA4 JOY2 BTN 24         PC8 JOY4 BTN 24
PB7 JOY1 BTN 25   PA5 JOY2 BTN 25         PC9 JOY4 BTN 25
PB8 JOY1 BTN 26   PA6 JOY2 BTN 26         PA8 JOY4 BTN 26
PB9 JOY1 BTN 27   PA7 JOY2 BTN 27         PA9 JOY4 BTN 27
PE0 JOY1 BTN 28   PE11 JOY2 BTN 28         PA10 JOY4 BTN 28
PE1 JOY1 BTN 29   PE12 JOY2 BTN 29         PA13 JOY4 BTN 29
PE2 JOY1 BTN 30   PE13 JOY2 BTN 30            
PE3 JOY1 BTN 31   PE14 JOY2 BTN 31            
PE4 JOY1 BTN 32   PE15 JOY2 BTN 32            

 

Funktionalität F-35 B Boards:

BUTTONS:

JOYX BTN YY > Erzeugt im jeweiligen Interface einen Joystick Button Input.

ENCODER:

Linksdrehen des Encoders -> Erzeugt einen Joystick Button (Button 1)

Rechtsdrehen des Encoders -> Erzeugt einen Joystick Button (Button 2)

Drücken und Linksdrehen des Encoders -> Erzeugt einen Joystick Button (Button 3)

Drücken und Rechtsdrehen des Encoders -> Erzeugt einen Joystick Button (Button 4)

Kurzes Drücken (unter 300ms) des Encoders OHNE Drehung -> Erzeugt einen Joystick Button (Button 5)

Langes Drücken (über 300ms) des Encoders OHNE Drehung -> Erzeugt einen Joystick Button (Button 6)

 

Damit lässt sich ein ENCODER mit sehr vielen Möglichkeiten ausstatten. Auch die klassische Push und Pull Funktion vom Airbus Autopilot lässt sich umsetzen über ein kurzes Drücken (Push) und ein langes Drücken (Pull).

Es gibt ENCODER mit und ohne Buttons (drücken des Drehknopfes). Üblicherweise sind die ENCODER mit Buttons folgendermaßen durchkontaktiert:
- BUTTON Terminal (siehe Abb. Btn)
- BUTTON Out (siehe Abb. Btn)
- ENCODER Terminal (siehe Abbildung T)
- ENCODER Phase A (siehe Abbildung A)
- ENCODER Phase B (siehe Abbildung B)

Hier mal ein Encoder Beispiel mit Button (Taster): www.conrad.de

 

 

Write comment (0 Comments)

 

--- English Description Below ---

 

Hier eine Schritt für Schritt Anleitung für FlyWithLua in Kombination mit unseren Boards (und allen anderen Joysticks):

 

1. FlyWithLua Plugin installieren (Nutzer anlegen notwendig):

XP 9 / 10:

http://forums.x-plane.org/index.php?/files/file/17468-flywithlua-for-xp9-and-xp10/

XP 11:

http://forums.x-plane.org/index.php?/files/file/35579-flywithlua-for-x-plane-11-and-10-windows-linux-mac-os-x-version/


Hier eine gute Einführung im Umgang mit FlyWithLua (Installation etc.)

http://forums.x-plane.org/index.php?/forums/topic/71006-howto-first-steps-using-flywithlua/

2. X-Plane starten und Flugzeug auswählen

3. Hardware anschließen und im normalen X-Plane Menü die Funktionen den Buttons des Joysticks oder des Joystick Boards zuweisen.

Wichtig ist es sich zu merken welche Funktionen auf welchem Button sind. Somit kann man später den Joystick identifizieren und anpassen.

4. X-Plane beenden und neu starten. Dasselbe Flugzeug auswählen.

5. Jetzt sollte in dem FlyWithLua Plugin Ordner die datei "initial_assignments.txt" liegen. X-Plane kann ab hier geöffnet bleiben.

6. Die Datei im editor öffnen und nach dem Bereich Ausschau halten der die gemerkten Funktionen enthält.
 
...

set_button_assignment( (0*40) + 0,"sim/lights/landing_lights_on")

set_button_assignment( (0*40) + 2, "sim/view/forward_with_hud" )

...
 
Interessant ist hier für uns der erste teil:
(0*40)           -> Das identifiziert den Joystick an dem der Button zugewiesen wurde
(0*40) + 2    -> Das identifiziert den Button 2 der an dem Joystick gedrückt wurde
 
Wir wissen also Joystick (0*40) ist der Joystick, Button 0 war der Button dem wir den Autopiloten zugewiesen haben, Button 2 war der Coolie Hat forward switch.
 

7. Ändern von Buttons auf Switches.

Offensichtlich wird hiermit ein Button (Momentary) zugewiesen:

set_button_assignment( (0*40) + 0,"sim/lights/landing_lights_on")

Soll daraus ein switch werden (Kippschalter oder ähnliches) wird es folgendermaßen adaptiert:

create_switch((0*40) + 0, "sim/cockpit/electrical/landing_lights_on")

 

Wie man hier gut sieht, sind die Datarefs für den create_switch Aufruf anders als die assignments in den Button Assignments. Wo man die Datarefs findet, steht weiter unten.

Unter Umständen reicht es aber noch nicht "nur" den Switch zuzuweisen. Eventuell benötigt man manchmal auch Button Events:

 

function button_check() -- This assigns a function

 if button((0*40)+0) and last_button((0*40)+1) then

 command_once("sim/cockpit/electrical/landing_lights_on")

 end

end

 

do_every_frame("button_check") -- This is the "main" function that is called permanently and executes the function

 

8. die geänderte Datei als .lua Datei in den script Ordner von flywithlua speichern.

9. in X-Plane im Plugin Menü von Flywithlua das Script reloaden. Jetzt sollten die Belegungen aktualisiert sein.

Aber Achtung! das script hebt erst alle X-Plane Belegungen auf und macht sie dann wie in dem script neu. Es müssen jetzt also alle Belegungen im script gemacht werden. Alles was im normalen X-Plane Menü belegt wird, wird ignoriert. Oft ist es allerdings am aufwendigsten erstmal das richtige dataref für die gewünschte Funktion zu finden.

Dazu kann ich die folgenden link empfehlen: http://www.xsquawkbox.net/xpsdk/docs/DataRefs.html

Sehr hilfreich ist auch ein Plugin welches in X-Plane alle datarefs mit werten anzeigt. Hier kann man auch nach geänderten werten filtern: https://github.com/leecbaker/datareftool

Unbedingt zu empfehlen ist das Fly With Lua Manual, dort bekommt man Einblick in alle Funktionen und Fähigkeiten von FlyWithLua:

https://github.com/X-Friese/FlyWithLua/blob/master/FlyWithLua/Documentation/FlyWithLua_Manual_en.pdf

----------------------------------------------------------------------------------------------------------------------------

ENGLISH Version

This is a step by step guide to enhance your X Plane Flight Simulator with FlyWithLua and assign Joystick Functions with our boards (or any other Joystick Hardware)

 

1. Install FlyWithLua Plugin (account required):

XP 9 / 10:

http://forums.x-plane.org/index.php?/files/file/17468-flywithlua-for-xp9-and-xp10/

XP 11:

http://forums.x-plane.org/index.php?/files/file/35579-flywithlua-for-x-plane-11-and-10-windows-linux-mac-os-x-version/


A good introduction and installation hints can be found here:

http://forums.x-plane.org/index.php?/forums/topic/71006-howto-first-steps-using-flywithlua/

2. Start X-Plane and select your desired aircraft

3. Connect your hardware and assign your Joystick Buttons as you normally do. Now when you assign, try to keep track of which function you assign on which board and which button. It will simplify the work later. Run the simulation with your Joystick.

4. Restart X-Plane and choose the same aircraft again.

5. FlyWithLua created the "initial_assignments.txt" file (Check the FlyWithLua path -> XP11/Resources/Plugins/FlyWithLua/). In the file you find the assignments, that X Plane detected from your hardware.

6. Open the file in the editor and copy it to a new file. Then check for the lines of code that indicate the button assignments:
 
...

set_button_assignment( (0*40) + 0, "sim/lights/landing_lights_on" )

set_button_assignment( (0*40) + 2, "sim/view/forward_with_hud" )

...
 
The interesting parts:
(0*40)           -> This identifies the Joystick by a unique ID
(0*40) + 2    -> This identifies the Button 2 on Joystick
 
So this setup gives us:
Joystick (0*40) Button 0 -> Autopilot On
Joystick (0*40) Button 2 -> Coolie Hat Forward
 

7. Change from Button to Switch.

Obviously the assignment is a button assignment (momentary):

set_button_assignment( (0*40) + 0,"sim/lights/landing_lights_on")

Now we dont want it to be a button, but a switch (maybe we have a hardware switch installed):

create_switch((0*40) + 0, "sim/cockpit/electrical/landing_lights_on")
 

Obviously the dataref path (and sometimes even the name) for the create switch is a different one, than the normal "button assignment" reference. To find your dataref, a link is provided below to identify the needed item.

Maybe it is not enough to assign a switch and a button, but you need some logic behind a button / switch:

 

function button_check() -- This assigns a function

 if button((0*40)+0) and last_button((0*40)+1) then

 command_once("sim/cockpit/electrical/landing_lights_on")

 end

end

 

do_every_frame("button_check") -- This is the "main" function that is called permanently and executes the function

 

 

8. Now save the changed file in the Scripts folder with a .lua extension (otherwise it will be ignored).

9. In the FlyWithLua Menu within XP you can now reload the script and it will set the inputs accordingly.

Caution! The Script deletes the X Plane Menu assignments (There is a line of code stating "ResetAllAssignments"). All Assignments need to be done using the script now. Configurations of the normal XP Menu will be ignored. If you are tired of this, you can just deleted the script from the script folder in the FlyWithLua path.

 

Sometimes the hardest work is to find an assignment. There is a good reference documentation to be found here:

http://www.xsquawkbox.net/xpsdk/docs/DataRefs.html

Helpful is also the tool that generates datarefs for you:

https://github.com/leecbaker/datareftool

Highly recommended is also the FlyWithLua Manual in English:

https://github.com/X-Friese/FlyWithLua/blob/master/FlyWithLua/Documentation/FlyWithLua_Manual_en.pdf

 

 

Write comment (0 Comments)

Das F-15 Board ist der größere Bruder vom P-38 Board.

Das Board ist mit 32 Button Eingängen ausgestattet und verfügt über einen common Ground.

Die Eingänge müssen auch hier wie beim F-14 Board auf Ground gezogen werden (nicht auf 3,3VDC wie beim P-38 Board).

Es wird ein Micro USB Kabel benötigt. Es gilt wie bei allen Boards Plug and Play. Schalter / Taster anschließen und los gehts.

Die Boards der "F" Serie sind Blau und haben mehr GPIOs im Vergleich zu den Boards der "P" Serie.

  • 32 diskrete Eingänge
  • Plug and Play
  • Micro USB Kabel BENÖTIGT

Hier die Pin Belegung.

 

Write comment (0 Comments)

Das F-14 Joystick Board hat mehr diskrete Eingänge als das P-51 Board, ist aber ansonsten von der Funktion her gleich.

  • 5 Achsen (10 Bit ADC)
  • 27 Diskrete Eingänge (Active Low)
  • Micro USB Kabel benötigt
  • Einfache Handhabung
  • Plug and Play

Im Vergleich zum P-51 sind die Eingänge hier auf Ground zu ziehen (nicht auf 3,3VDC wie beim P-51).

Ansonsten lassen sich fünf analoge Werte einlesen (Potentiometer o.ä.) und 27 Buttons belegen. Damit kann bereits eine Menge realisiert werden.

Hier die Pin Belegung des F-14 Boards:

 

Die Funktionen entsprechen dem des P-51 Boards, daher hier ein Video einer Heli Simulation mit dem P-51 Board und X-Plane:

 

Das F-14 Board im Einsatz eines UH1-D Simulator Projektes (vielen Dank an B. Schwarze):

 

Write comment (0 Comments)

Das P-51 ist der Klassiker unserer Joystick Boards.

 

P-51 Joystick Input Board

  • 16 Button Inputs
  • 5 ADCs mit 10 Bit Auflösung
  • Ohne Treiber Installation direkt als Joystick erkannt
  • Wie jeder Joystick über "Geräte" zu kalibriereb
  • Getestet mit WIN XP/WIN 7/WIN 8/WIN 10
  • Micro USB Kabel wird benötigt

Es lässt sich jeder Open/Closed Schalter an die 3.3VDC Versorgung anschließen nach dem unten abgebildeten Schema.

Der 3.3VDC Pegel wird als Eingang an den folgenden Input Pins detektiert:

PA6, PA7, PB0, PB1, PB2, PA8, PA9, PA10, PA15, PB3, PB4, PB5, PB6, PB7, PA13, PA14

An den folgenden Pins wird ein ADC Signal für ein Spannungsteiler Potentiometer erkannt:

PA1, PA2, PA3, PA4, PA5

Wie nachfolgend abgebildet sollten die Anschlüsse belegt werden:

 Hier ein Video eines selbst gebauten Helikopter Joysticks mit dem P-51 Board.

Write comment (2 Comments)