OpenTX Entwicklungsumgebung erstellen (Ubunu Desktop x64 Linux)

Status
Nicht offen für weitere Antworten.

rcbebo82

Erfahrener Benutzer
#1
Hallo Zusammen,
hier mal eine kleine Anleitung zum Erstellen einer funktionsfähigen Entwicklungsumgebung für OpenTX 2.2!

  1. Als erstes benötigen wir einen Rechner oder eine virtuelle Maschine auf der wir Ubuntu installieren können. Ich habe mich für Virtualbox von Oracle entschieden. Zu beziehen unter: https://www.virtualbox.org/. Beim Erstellen der virtuellen Maschine solltet ihr darauf achten ihr möglichst viele CPUs zu geben. Ich habe in meinem Fall 4 gewählt. Es geht natürlich auch eine CPU dann dauert das kompilieren aber ewig!
  2. Nun besorgen wir uns Ubuntu in der aktuellen Desktop Version: https://www.ubuntu.com/ und installieren diese auf unserem Rechner oder der virtuellen Maschine.

    • Um das OpenTX Projekt auf den lokalen Rechner zu klonen habe ich mich für den SmartGit Client entschieden: http://www.syntevo.com/smartgit/
      Wichtig ist hier das ihr das Debian Paket herunterladet.

    • SmartGit benötigt Java. Terminal starten:
      sudo apt-get install default-jre
      Um SmartGit zu installieren wechseln wir unter "Files" in den Ordner wo das Debian Packet liegt und klicken dieses doppelt an.


  3. Nun installieren wir die ganzen nötigen Pakete um OpenTX kompilieren zu können.

    • Dazu starten wir ein Terminal und geben folgenden Befehl ein:
      sudo apt-get install git subversion gcc-avr avr-libc avrdude build-essential ruby libqtcore4 libqt4-dev qt4-qmake g++ cmake libxerces-c-dev xsdcxx libsdl1.2-dev libusb-1.0-0 libphonon-dev phonon libqtwebkit-dev python-qt4 python-qt4-dev qt5-default qttools5-dev-tools qtmultimedia5-dev qttools5-dev libfox-1.6-dev libttspico-utils

    • Wir benötigen außerdem einen C++ Compiler für ARM Boards (Horus, Taranis), hierbei ist es wichtig dass ihr genau den gcc-arm-none-eabi-4_7-2013q3-20130916-linux.tar.bz2 nehmt. Die neuere Version funktioniert nicht! Hier bekommt ihr das Paket: https://launchpad.net/gcc-arm-embedded
      Zum Installieren wie folgt vorgehen:

      • Terminal starten und in den Ordner wechseln wo der Compiler liegt:
        cd /home/bboy/Downloads
        untar gcc-arm-none-eabi-4_7-2013q3-20130916-linux.tar.bz2
        sudo mv gcc-arm-none-eabi-4_7-2013q3 /opt/ARM
        echo "PATH=$PATH:/opt/ARM/bin" >> /home/"$(whoami)"/.bashrc
        source /home/"$(whoami)"/.bashrc

      • Nun mit diesem Befehl prüfen ob der Compiler funktioniert:
        arm-none-eabi-gcc --version

        • Wenn ihr einen Fehler bekommt:
          #Error: bash: /opt/ARM/bin/arm-none-eabi-gcc: No such file or directory
          liegt das daran das wir Ubuntu als 64 Bit Version installiert haben und einige Pakete für den X86 Compiler fehlen.
        Diese installieren wir nach:
        sudo dpkg --add-architecture i386
        sudo apt-get update
        sudo apt-get install lib32ncurses5 lib32z1

        Nun prüfen wir nochmal mit arm-none-eabi-gcc --version und erhalten als Ausgabe:
        arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.7.4 20130913 (release) [ARM/embedded-4_7-branch revision 202601]
  4. Nun haben wir das System grundsätzlich vorbereitet. Jetzt brauchen wir noch den OpenTX Source Code. Es gibt zwei Möglichkeiten entweder ihr ladet den Code runter (siehe etwas weiter unten) oder ihr benutzt einen Github Client. Wenn ihr mit entwickeln wollt dann benötigt ihr einen Github Account. Wechselt auf der Github http://www.github.com Seite in das OpenTX Projekt und erstellt einen "Fork" in euren Account.



    • Nun startet den SmartGit Client und folgt den Anweisungen. Am Ende wollen wir den Fork aus unserem Account lokal abspeichern. Bei mir liegt der Code dann unter /home/bboy/Documents/SmartGit/opentx. Im SmartGit Client müsst ihr dann den "Next" Branch auschecken!

    • Wenn ihr den Code direkt herunterladen wollt dann wechselt auf die Github Webseite (https://github.com/opentx/opentx) und wählt den "Next Branch":

      Danach könnt ihr rechts auf die grüne Schaltfläche "Clone or Download" klicken und den gesamten "Next Branch" in einer Zip Datei auf euren Rechner laden.

      Nun könnt ihr die Datei noch entpacken und ab hier ganz normal weiter vorgehen.

    • Nun geht's ans Eingemachte, wir kompilieren den Source Code. Wir starten wieder ein Terminal und wechseln in das Verz. des Sourcecodes:
      cd /home/bboy/Documents/SmartGit/opentx
      erstellen ein Verz. für den "Build":
      mkdir build-horus
      cd build-horus

      und bereiten alles mit CMAKE vor, für die Horus:
      cmake -DPCB=HORUS -DTRANSLATIONS=DE -DMULTIMODULE=NO -DUSB=MASSTORAGE -DDANGEROUS_MODULE_FUNCTIONS=NO -DGVARS=YES -DLUA=YES -DCMAKE_BUILD_TYPE=Debug -DALLOW_NIGHTLY_BUILDS=YES -DHELI=YES ../
      oder für die X9D+:
      cmake -DPCB=X9D+ -DTRANSLATIONS=DE -DMULTIMODULE=NO -DUSB=MASSTORAGE -DDANGEROUS_MODULE_FUNCTIONS=NO -DGVARS=YES -DLUA=YES -DCMAKE_BUILD_TYPE=Debug -DALLOW_NIGHTLY_BUILDS=YES -DHELI=YES ../
      Danach können wir den Code kompilieren, hier spielen jetzt wieder die Anzahl der Cpus eine Rolle. Ich habe in der VM 4 eingestellt daher:
      make -j 4
      Der Parameter "-j" legt die Anzahl der Cpus fest die zum kompilieren verwendet werden. Gebt hier eure Anzahl ein. Wenn alles klappt sollte das etwa so aussehen:


      Nun finden wir einige neue Dateien im Verz.:


      Companion starten mit:
      ./companion22
      Simulator starten mit:
      ./simulator22
      Firmware Datei:
      firmware.bin
      Diese Datei kann auf euren Sender geflasht werden.

Falls ihr Fragen habt, als her damit ;)
 
Zuletzt bearbeitet:
#2
Danke für die Mühe - großes Kino! Die Fragen werden sicherlich kommen, wenn die langen Winterabende genutzt werden, um nächstes Jahr den Spruch "ich kompiliere mein OpenTX übrigens selbst" loslassen zu können ;)

"Als her demit" sagen wir Pfälzer, bist du auch aus der Toskana Deutschlands?
 

rcbebo82

Erfahrener Benutzer
#4
Ja genau daran habe ich mich angelehnt. Allerdings gibt es die SVOX Library (pico2wave) die zum erstellen der Soundfiles verwendet wird nur auf Ubuntu und es gab noch ein paar weitere Stolperfallen da das Wiki unvollständig ist.

@Carbonator Ne du ich komme aus dem Hunsrück :D
 

rcbebo82

Erfahrener Benutzer
#6
Ubuntu ist ja ein Ableger von Debian. Mag auch mit Debian gehen ich hatte es anfangs mit Fedora probiert bin aber kläglich gescheitert. Hatte früher viel mit Fedora gemacht daher dachte ich das wäre eine gute Idee :D
 
#8
Hallo,
danke erst einmal für deine Anleitung!!
Bei "cmake" gehts bei mir nicht weiter. Es kommt folgende Fehlermeldung
CMake Error: The source directory "/home/.... does not appear to contain CMakeLists.txt.

Irgend eine Idee ?

Gruß
 

helle

Erfahrener Benutzer
#9
Hy,

da must du im Terminal umschalten auf das Unterverzeichnis wo auch das cmake.txt steht
sonst kannst du das cmake nicht ausführen.

cmake ist nur eine Textdatei mit Parameteren, deshalb kann im cmake direkt ändern.
dann braucht nur noch im Terminal make all oder make simu aufrufen.

Wer die X7D testen will muss halt eintragen cmake -DPCB=X7D usw.
 
Zuletzt bearbeitet:

horstimac

Erfahrener Benutzer
#11
Irgendwie landet bei mir nichts in dem Ordner Horus.
Bis hier cmake -DPCB=HORUS -DTRANSLATIONS=DE -DMULTIMODULE=NO -DUSB=MASSTORAGE -DDANGEROUS_MODULE_FUNCTIONS=NO -DGVARS=YES -DLUA=YES -DCMAKE_BUILD_TYPE=Debug -DALLOW_NIGHTLY_BUILDS=YES -DHELI=YES geht alles wunderbar.
Sobald ich make -j 4 eingebe, compiliert es zwar aber die Dateien sind wahllos in /home/xxxxx/Documents/SmartGit/opentx verstreut.
Was läuft da schief?
 

horstimac

Erfahrener Benutzer
#13
Habe ich auch versucht, leider findet es dann die CMakeLists.txt nicht, da diese ja im Ordner /home/xxxxx/Documents/SmartGit/opentx ist. Der Ordner Horus aber in /home/xxxxx/Documents/SmartGit/opentx/Horus.
Bin noch nicht so der Linux Experte.
 
#19
Moin,

die Methode ZIP runterladen funktioniert bei mir auch nicht.
Fehlermeldung :

fatal: Not a git repository: '/home/opentx/Dokumente/opentx-next/.git'
CMake Error at cmake/Macros.cmake:34 (string):
string sub-command REGEX, mode REPLACE needs at least 6 arguments total to
command.

Wenn ich die Quellen über git herunterlade funktionert es :

git clone https://github.com/opentx/opentx
cd opentx
git checkout next
 
#20
Moin,

ich würde gerne mein eigenes OpenTX bauen und damit auch fliegen, aber das Zitat unten macht mich unsicher. Wie kann ich genau diese "field tested" Version bei mir installieren? Einen Rechner nur für diesen Zweck habe ich übrig. Dieses Dockerfile sieht so aus, wie wenn es die benötigten Programme lädt, aber was sind die Voraussetzungen? Hat jemend einen zeitsparenden ;) Link oder Tip?

Note on software versions

The document below is meant to help you develop or test changes to OpenTx on your PC, not to build flight/radio safe version of binaries. Given the nature of arm/avr gcc compilers, the binary results are not always consistent depending on the version used. The only version that can be considered field tested are the ones used by the compilation server, which can be found here : opentx/opentx
Mich stört, dass ich nicht mehr bei aktiviertem Rangetest zum Telemetriefenster wechseln kann, dass der Lostframe Sensor ausgeblendet wird und ich hätte gerne die Änderungen für die neuen ESC .....

Edit: Gerade gefunden, das sieht erstmal relativ einfach aus. Mal sehen ...
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten