Datel píše:Ahoj, včera mi přišel FLVS-01 a tak jsem taky začal experimentovat s tím, jak z něj získat nějaká rozumná data. Bohužel jsem na tom podobně a žádná rozumná data jsem zatím nezískal. Přečetl jsem příspěvky v tomto vlákně a výsledky mých pokusů jsou podobné jako popisuje jyrry. Proto bych se chtěl zeptat, zda už někdo trochu nepokročil?
FLVS-01 se dá namísto přes HUB připojit na datový vstup telemetrického přijímače přes proudový senzor FAS-100 viz tento odkaz nebo i ten menší FAS-40 viz tento odkaz.
Zatím jsem to nepoužil, ale nějaké další informace k datům, které poskytuje FLVS-01 na svém výstupu jsou. Na výstupu FLVS-01 skutečně není sériová komunikace a data jsou realizovaná specifickou PWM modulací. Pokud tě to zajímá tak podrobnější informace i s popisem jak jsou data řešena ve vztahu k různé délce impulsů a i s odkazem na stručnou dokumentaci k tomu na webu FrSky jsou v příspěvku od vaska viz tento odkaz a v další hned za tím následující reakci tam pak jen stručně zmiňuji měření délky impulzů, ale v reálu jsem to zatím nerealizoval a odložil jsem to na neurčito jako zbytečně komplikované. Takže kdo chce tak by si to podle toho stručného popisu mohl vyzkoušet zrealizovat.
Obecně vzato to znamená měřit délku impulsů na výstupu FLVS-01. Délka impulsů má být v rozmezí 5000 až 7040 us. Ze změřené délky každého impulsu se pak vypočte hodnota datového bajtu, který tento impulz reprezentuje např. takto:
Kód: Vybrat vše
if (delka_impulzu_us >= 5000 && delka_impulzu_us <= 7040) {
// správná délka impulzu v us
// výpočet hodnoty bajtu z délky impulzu
bajt = (byte)((delka_impulzu_us - 5000) / 8);
// další zpracování bajtu
...
};Jednotlivé bajty se pak musí zpracovávat v rámci paketů podle popisu uvedeného v tom popisu FrSky viz tento odkaz, a to včetně výpočtu a kontroly CRC. Výpočet CRC je uveden v příkladu, který je v tom popisu.