Akce

Překlad OpenTx ze zdrojových souborů

Z Wiki OpenTX

Pokud potřebujete jinou verzi nebo kombinaci voleb, než je k dispozici připravená ke stažení pomocí Companion9X, je nutné vytvořit si soubor pro nahrání firmware překladem a sestavením ze zdrojových kódů.

Není to sice nijak složité, ale předpokládá se jistá základní úroveň znalostí a dovedností pro práci s příkazovým řádkem a programátorským textovým editorem..

Windows

Postup pro Windows je popsán ve vývojářské wiki projektu OpenTx.

Linux

Námi osobně odzkoušený postup

Ubuntu compilation universe repo.png

Tento postup je pro Ubuntu, ale obdobně bude jistě fungovat i na ostatních distribucích linuxu.

  • V Ubuntu je třeba mít povolené repozitáře "universe"


  • Pro instalaci balíčků použiji příkazový řádek, ale lze použít i některý z grafických instalátorů.


Aktualizujeme zdroje softwaru
sudo apt-get update


Nainstalujeme balíčky potřebné pro kompilaci firmware
sudo apt-get install git gcc-avr avr-libc python-qt4 g++
Tyto balíčky nám dovolí kompilovat firmware pro AVR platformu, to znamená pro klasickou 9X a 9XR. Pokud budeme chtít kompilovat pro ARM platformu (Taranis, Sky9X) bude třeba ještě balíček gcc-arm-none-eabi , ten ale není v běžných repozitářích a je třeba stáhnout z https://launchpad.net/gcc-arm-embedded/+download , rozbalit do složky /usr/local/gcc-arm-none-eabi-4_7-2014q2 a nalinkovat binárky
ln -s /usr/local/gcc-arm-none-eabi-4_7-2014q2/bin/* /usr/local/bin/
!! Nepoužívejte verzi 4.8 a vyšší, výsledný kód nefunguje správně !!
Použijte verzi 4.7-2014q2


Pokud budeme používat simulátor firmware, je třeba doinstalovat i následující.
sudo apt-get install libfox-1.6-0 libfox-1.6-dev


Vytvoříme si v domovském adresáři složku pro zdrojové kódy firmware
mkdir ~/kompilace
cd ~/kompilace


Stáhneme zdrojové soubory z github
git clone https://github.com/opentx/opentx.git
cd ~/kompilace/opentx/radio/src


Nyní máme kopii zdrojových souborů OpenTX, systém git obsahuje všechny dostupné verze. Seznam verzí, takzvaných tagů zobrazíte pomocí

git tag -l

Mimo těchto tagů jsou ještě pracovní větve firmware, nejzajímavější jsou zejména
master - to je poslední vydaná verze plus případné ještě nevydané bugfixy
next - toto je pracovní verze příští větší aktualizace

Mezi vybranými tagy/větvemi git přechází pomocí

git checkout tags/2.0.11  - připraví zdrojové soubory verze 2.0.11
git checkout next  - připraví zdrojové soubory poslední vývojové verze


Nyní je třeba konfigurovat volby firmware tak jak to dělá companion9x, lze to provést pomocí parametrů na příkazové řádce
make PCB=9X EXT=FRSKY TRANSLATIONS=CZ
nebo editací souboru Makefile ve složce ~/kompilace/radio/src , potom už parametry nemusíme uvádět na příkazovou řádku a použijeme jen
make all


Nyní by již měla být ve složce ~/kompilace/radio/src vaše vlastní binárka opentx.hex pro AVR(9X, 9XR), nebo opentx.bin pro ARM(Taranis, Sky9X)


  • Zdrojový kód openTx obsahuje i simulátor, pomocí něhož lze spustit a testovat konkrétní verzi firmware přímo na PC.
Ubuntu compilation simu running.png
Jeho kompilaci provedeme pomocí
make simu
Spuštění simulátoru potom
./simu

Původní návod na zprovoznění překladu na RCManii


Další návody na překlad



Ovládání simulátoru simu

  1. Uložení snímku obrazovky - s
  2. Přepínání přepínačů
    • 1 - THR
    • 2 - RUD
    • 3 - ELE
    • 4 - ID0->ID1->ID2
    • 5 - ID2->ID1->ID0
    • 6 - AIL
    • 7 - GEA
    • 7 - TRN
  3. Trimy
    • F1 -
    • F2 -
    • F3 -
    • F4 -
    • F5 -
    • F6 -
    • F7 -
    • F8 -
  4. [EXIT] - <- (Backspace)
  5. [MENU] - Enter