1. Übersicht

Dieses Dokument beschreibt eine Möglichkeit, den Sender FrSky X12S mit einem Touch-Screen auszustatten. Dazu sind sowohl Modifikationen an der Hardware des Senders notwendig wie auch eine angepasste Version von EdgeTx.

Bitte beachten Sie, dass das Öffnen des Sendergehäuses den Verlust der Gewährleistung des Lieferanten nach sich zieht.
x12s
Figure 1. Der Sender FrSky X12S

2. Firmware

Die notwendigen Änderungen an EdgeTx sind mittlerweile in die Version 2.8 von EdgeTx eingeflossen. Eine eigene Kompilation von EdgeTx ist nicht mehr notwendig (für ältere Versionen s.a. Notwenige Schritte für Versionen ⇐ 2.7.0).

3. Hardware

3.1. Benötigte zusätzliche Teile

Natürlich wird ein neues Display benötigt, das mit einem GT911-Touch-Controller ausgestattet ist. Diest ist dasselbe Modell, das auch im Sender RadioMaster TX16S eingebaut ist. Daher kann auch der Code zur Ansteuerung übernommen werden.

Da in der X12S kein Steckplatz für den Anschluss des Touch-Controllers vorhanden ist, muss der Touch-Controller mit seinen sechs Anschlüssen mit gezielten Verbindungen angeschlossen werden. Zwar ist diese Möglichkeit in der X12S so nicht unmittelbar vorgesehen, doch können auf der Hauptplatine die entsprechenden Anschlusspunkte passend zu der modifizierten Firmware leicht identifiziert werden.

Das FFC-Anschlusskabel des Touch-Controllers lässt sich aber nicht löten, so dass daher am besten ein fertiges Adapter-Board verwendet wird. Dieses Adapter-Board kann dann mit normalen Kablen oder Kupferlackdraht mit dem Mainboard verbunden werden.

3.1.1. Touch-Display

Es gibt (mindestens) zwei Versionen des 480x272-Pixel großen Displays:

Alternativ kann das vorhandene Display mit einer zuätzlichen Touch-Folie (und GT911-Controller) ausgestattet werden.

3.1.2. Adapter für FFC-Kabel

Ein geeigneter Adapter für das 6-poliger FFC-Kabels des Touch-Controllers:

adapter
Figure 2. Adapter

4. Modifikationen

Sicherheitshinweis
Bevor Sie mit den Modifikationen beginnen, lesen Sie erst die gesamte Anleitung durch. Erst wenn Sie alle Maßnahmen verstanden haben, beginnen Sie mit den Arbeiten.
Schrauben
Merken Sie sich die Zuordnung der unterschiedlichen Schrauben zu ihren Positionen.

4.1. Demontage

4.1.1. Unterer Deckel

Nehmen Sie zunächst den unteren Deckel des Senders ab.

Achtung: Heben Sie den Deckel vorsichtig und nicht zu weit an, nachdem Sie die Schrauben gelöst haben. Bei halb abgehobenen Deckel müssen Sie noch die Verbindungen zum Vibrationsmotor und den beiden Schiebereglern vom Mainboard lösen.

Sicherheitshinweis
Nachdem Sie den unteren Deckel abgenommen haben, ziehen Sie sofort den Stecker des Akkus aus dem kleinen Stecker auf dem Anschlussboard. Damit vermeiden Sie Kurzschlüsse und eine Zerstörung des Senders. Der Akku selbst kann im Akkuhalter verbleiben.

4.1.2. Akkuträger

Schrauben Sie den Akkuträger ab und schieben Sie ihn etwas schrägt zur Seite. Danach wird auch der Connector P8 auf dem darunter liegenden Mainboard sichtbar.

4.1.3. Display

odisplay
Figure 3. Originales Display ohne Touch, daher nur ein (40-pol) FFC-Kabel

Schrauben Sie das Tochterboard (unter dem Display) mit dem GPS-Modul und dem Kopfhöreranschluss los. Auf der Rückseite befindet sich der 40-polige FFC-Verbinder für das Display. Klappen Sie den Bügel des Connectors hoch, dabei löst sich das FFC-Kabel von alleine aus dem Verbinder.

Unter dem Tochterboard wird der Andruckrahmen für das Display sichtbar. Auch dieser Rahmen muss losgeschraubt werden. Entnehmen Sie den Rahmen, indem Sie ihn zwischen den Antennenkabeln hindurch zur Seite schieben. Dies muss sehr vorsichtig geschehen, damit die Antennenkabel nicht beschädigt werden.

Nun können Sie das Display einfach nach oben heraus nehmen.

Achten Sie darauf, dass der Gummirahmen des Displays im Gehäuse liegen bleibt, bzw. legen Sie ihn wieder an Position.

4.2. Umbau

Das Mainboard (s.a. Bild: Mainboard) muss nicht ausgebaut werden. Das folgende Bild dient nur der Übersicht.

horusx12
Figure 4. Mainboard

4.2.1. Neues Display

Das neue Display wird wieder in den Gummirahmen eingelegt. Darauf achten, dass keine Kabel, die in der Nähe liegen, eingeklemmt werden.

rahmen
Figure 5. Einbaurahmen

Das neue Display (oder das alte zusammen mit der Touch-Folie) ist ca. 2mm dicker als das alte Display.

Aus diesem Grund käme der Andruckrahmen zu hoch, mit der Konsequenz, dass die Schrauben dafür zu kurz sind und auch das Tochterboard nicht mehr richtig montiert werden kann, d.h. die Kopfhörerbuchse passt nicht mehr in das Loch des Gehäuses.

dicke
Figure 6. Dickenvergleich der Displays

Der Andruckrahmen wird daher in seiner Dicke reduziert. Dies kann einfach abgeschliffen werden, etwa mit einem Dremel-Werkzeug.

r1
Figure 7. Der modifizierte Andruckrahmen

Auch hier darauf achten, dass der obere Anschlag des Andruckrahmens erhalten bleibt. Er verhindert, dass sich das Display verschiebt.

r2
Figure 8. Der modifizierte Andruckrahmen

Nach dem Abschleifen des Rahmens lässt er sich auch wieder ohne Spannung montieren. Hat man zu viel abgeschlieffen, kann man sie mit selbtklebenden, dicken Montageklebeband behelfen.

rahmen2
Figure 9. Andruckrahmen wieder in Position
headph
Figure 10. Detail: Kopfhörer-Anschluss

4.2.2. Alternative: Displayrahmen ausdrucken

Alternativ zum Abschleifen des vorhandenen Rahmens kann der Andruckrahmen auch neu ausgedruckt werden:

4.2.3. Anschlüsse

Bevor Sie das Tochterboard wieder auf den Andruckrahmen schrauben (Achtung: Kopfhörerbuchse), stecken Sie das 40-pol. FFC-Kabel wieder ein (unverwechselbar), und drücken den Rahmen des Verbinders wieder herunter. Dies muss sich ohne große Kraft erledigen lassen.

Das FFC-kabel des Touch-Controllers bleibt zunächst übrig.

ffcKabel
Figure 11. Das FFC-Kabel des Touch-Controllers am Display
e1
Figure 12. Einbau des neuen Displays
Achtung bei der Beschriftung der Anschlüsse

Am originalen Display ist eine Nummerierung angegeben.

ffcDisplay
Figure 13. Das FFC-Kabel des Originaldisplays

Berücksichtigt man, dass auch das 6-polige FFC-Kabel des Touch-Controllers ebenso über Kopf in den Connector des Adapters eingeschoben werden muss (Kontakte unten, Bügel oben), ergibt sich eine umgekehrte Reihenfolge als aufgedruckt. Dies ist nicht weiter schlimm, kann jedoch zu Verwirrung im Vergleich zur Nummerierung in der Radiomaster TX16S Dokumentation führen.

ffcD2
Figure 14. Reihenfolge der Anschlüsse. Achtung: Vertauschung gegenüber der TX16S Dokumentation

Das folgende Bild zeigt die Lage der Anschlüsse (P8 und das IMU) auf dem Mainboard der X12S.

horusx12Annotated
Figure 15. Lokalisation der benötigten Anschlüsse: links der Connector P8 und rechts das IMU-Modul

Die folgende Aufnahme bezeichnet die Lage der Anschlüsse am Connector P8: Int, Reset, 3,3V und Gnd.

P8
Figure 16. Der Connector P8 und die Anschlüsse (Achtung: die graue Beschriftung Reset ist schwer zu erkennen)

Zuordnung der Anschlüsse auf dem Adapter.

apins
Figure 17. Anschlüsse auf dem Adapter-Board

Anschlüsse am Connector P8

ap8
Figure 18. Anschlüsse des Connectors P8

Angeschlossene Kabel an P8. Achtung: in dieser Anleitung werden die Kabel gelb oder grau auch für den Anschluss am IMU verwendet!

anp8
Figure 19. Anschluss der Kabel am Connector P8
an2p8
Figure 20. Anschluss der Kabel am Connector P8 (Nahaufnahme)
Keine Verpolung
Stellen Sie sicher, dass die Versorgungsspannungsanschlüsse Gnd und 3,3V nicht vertauscht sind.

Das Adapterboard selbst lässt sich mit zwei Tropfen Heißkleber im gehäuse fixieren.

Schieben Sie das 6-pol. FFC-Kabel in den Verbinder ein (Kontaktflächen nach unten).

ad2
Figure 21. Einbau des Adapters und Anschluss der Kabel

Das folgende Bild zeigt die Anschlüse SDA und SCL des I2C-Bus-1 am IMU:

IMU
Figure 22. Das IMU-Modul und seine Anschlüsse (Achtung: die graue Beschriftung SCL ist schwer zu erkennen)
imu2
Figure 23. Anschlüsse des IMU
animu
Figure 24. Anschluss von SDA und SCL an die Pins des IMU

Das folgende Bild zeigt den Zustand nach erfolgter Modifikation.

gesamt
Figure 25. Übersicht nach erfolgter Modifikation

5. Mögliche Fehler

5.1. Koordinaten-Inversion

Stellt man nach dem Einbau des Touc-Displays fest, dass die Touch-Koordinaten invertiert sind, d.h. das die linke, obere Ecke bei der Touch-Bedienung (Achtung: nicht die Darstellung) sich in der rechten, unteren Ecke befindet, so liegt dies daran, dass der Touch-Controller des Displays das Koordinatensystem invertiert.

Dies kann mehrere Gründe haben:

  • das Display wurde schon mal mit einer älteren (< 2.8) Version von EdgeTx betrieben, oder

  • es war schon mal in einem anderen Gerät eingebaut.

Um dern Touch-Controller wieder in den Urzustand zu versetzen, genügt es über das CLI (Command-Line-Interface) ein Kommando einzugeben.

Dies erfolgt mit einer seriellen Konsole, die mit dem CLI des eingeschalteten Senders verbunden ist. Dazu sind die folgenden Schritte notwendig.

Einstellungen am Sender

Schalten Sie den Sender ein.

Navigieren Sie zu Sys > Namen und Hardware einstellen. Dort stellen Sie sicher, dass AUX1 auf AUS und USB-VCP auf CLI eingestellt ist wie im folgenden Bild:

usbcli
Figure 26. Menu: Sys → Namen und Hardware einstellen
Verbindung herstellen

Anschließend verbinden sie dann den Sender mit einem PC. Auf dem Sender sollte dann das folgende PopUp-Menu erscheinen:

popup1
Figure 27. Popup-menu beim Einstecken des USB-Kabels

Danach treffen Sie die folhende Auswahl (USB Seriell (VCP)):

popup2
Figure 28. Auswahl

Auf einem Linux-System sollte dann eine virtuelle, serielle Schnittstelle erkannt werden. Dies kann etwa als /dev/ttyUSB0 oder etwa auch als /dev/ttyACM1 geschehen. Ggf. sollten Sie die Ausgaben von dmesg oder journalctl verfolgen.

Anschließend verbinden Sie sich mit dem Sender:

$ picocom -b400000 --omap=crcrlf  /dev/ttyACM1

Achten Sie auf die korrekte Einstellung der Baudraute (400kBd) und der Zeilenende-Übersetzung (hier: --omap=crcrlf).

Nach der Eingabe einen Zeilenvorschubs (return) erscheint ein > Zeichen. Jetzt können Sie Kommandos eingeben wie etwa help:

> help
beep [<frequency>] [<duration>]
ls <directory>
read <filename>
readsd <start sector> <sectors count> <read buffer size (sectors)>
testsd
play <filename>
reboot [wdt]
set <what> <value>
serialpassthrough <port type> <port number>
help [<command>]
gps <baudrate>|$<command>|trace
spacemouse poll | tare | startstreaming | stopstreaming | trace
bt <baudrate>|<command>
reset_gt911
tr_stats 0

Geben Sie nun das Kommando reset_gt911 ein:

> reset_gt911
GT911: old config version is 109
GT911: new config version is 0

Falls Ihr Touch-Controller die Koordinaten invertiert hat, so war die old config version ein Wert größer null. Die new config version sollte nun wieder 0 sein.

Sie können den Effekt sofort auf dem Touch-Display ausprobieren.

6. Notwenige Schritte für Versionen ⇐ 2.7.0

6.1. Modifikationen an EdgeTx

Die notwendigen Modifikationen an EdgeTx sind in diesem Pull-Request zusammen gefasst.

EdgeTx muss daher selbst configuriert und übersetzt werden:

$ git clone https://github.com/wimalopaan/edgetx.git
$ cd edgetx
$ git checkout wmx12stouch
$ mkdir build_x12s
$ cd build_x12s
$ cmake -DX12S_TOUCH_MOD=YES -DPCB=X12S -DLUA=YES -DLUA_MIXER=YES -DGVARS=YES ..
$ make firmware (1)
1 Oder make -j$(nproc) firmware, falls so viele make-Subprozesse starten soll, wie CPUs/Kerne vorhanden sind. Dies beschleunigt die Kompilation entsprechend.

Anschließend kann die Datei firmware.bin wie üblich auf den Sender kopiert und geflashed werden.

6.2. Download der modifizierten Firmware

Die Firmware (ggf. mit einigen weiteren Änderungen und in deutsch) kann hier erhalten werden.

7. Anhang

7.1. Steckverbinder am Connector P8

Der Connector P8 hat einen Lochabstand (Pitch) von 2mm. An dieser Stelle kann man auch einen 5-poligen JST PH Steckverbinder einsetzen.

jst1
Figure 29. JST PH Buchse (hier: 4-pol.) an P8
jst2
Figure 30. JST PH Buchse (hier: 4-pol.) an P8

8. Ressourcen

9. Credits

  • Risto (rotorman)

  • Stefan RC Becker

  • Dirk Wiedemann