Skip to content
Roman Dvořák edited this page Sep 19, 2018 · 4 revisions

Welcome to the ThunderFly PX4Firmware wiki!

Mixer file

Příkaz mixer může mít 2 režimy.

  • První režim "load" kompletně smaže nastavení mixeru v zařízení a následně načte a rozparseruje nový mixér.
  • Druhý režim "append" přidá nové mixery na konec stávajícího mixování

How reading of Mixer files works?

Mixer se začne načítat na základě systémové aplikace 'mixer.cpp' Ta po přijmutí vstupních parametrů a ověření dostupnosti HW zavolá funkci load_mixer_file() ze souboru 'src/lib/mixer/mixer_load.c'.

Funkce prochází soubor řádek po řadku a hladá, kdy narazí na začátek řádku, který odpovídá předpisu mixeru. Tzn.

  • řádek delší než 2 znaky
  • První znak je velký
  • Druhý znak je dvojtečka Následně se prochází řádky a hledají se mezery ' '. Ověří se maximální velikost řádku (ta je opravdu velká) Upravený řádek s daty se vloží do bufferu (Buffer jako pointer je vstupním parametrem funkce load_mixer_file())

Možné chybové hlášky z mixeru v bootlog

  • "can't open %s\n", devname -
  • "can't reset mixers on %s", devname - pouze v "load" režimu
  • "can't load mixer file: %s", fname - Chyba, kterou vyvolá parserovací funkce - "load_mixer_file(..)"
  • "failed to load mixers from %s", fname - Soubor načten a rozparserován. Nepovedlo se přidat nastavení na konec mixovacího nastavení v PX4.
  • "Mixer file '%s' is loaded", fname
Clone this wiki locally