hdo
beta
|
Vyhodnocení telegramu HDO. ...
Zobrazit zdrojový text tohoto souboru.
Datové struktry | |
struct | hdo_data |
Definice maker | |
#define | SYNC_HI (14) |
2.33 sec délka startovacího pulsu | |
#define | SYNC_LO (18) |
2.99 sec délka synchronizační mezery | |
#define | DATA_HI (6) |
1.00 sec délka datového pulsu | |
#define | DATA_LO (2) |
0.33 sec délka oddělovací mezery dat | |
Výčty | |
enum | stat { WAIT_FOR_BEGIN = 0, SYNC_PULSE, SYNC_PULSE_DROP, SYNC_SPACE, SYNC_SPACE_DROP, DATA_PULSE, SPACE1, SPACE2, SPACE3 } |
Funkce | |
void | hdo_init (int tv) |
int | tlg_decode (int pwr, char *str) |
int | hdo_action (char *tlg, const char *command) |
Popis formátu telegramu na Webu je poněkud odlišný od toho, co jsem zjistil praktickým měřením. Délka synchronizační mezery je všude uváděna jako 2,33 s, přičemž zde v oblasti Rakovnicka je 2,99 s. Pro funkci tohoto algoritmu je kritická. Citlivost je nutné nastavit pomocí hodnoty proměnné hdo.triger , zde nastavené na 300.
Definice v souboru hdo.h.
enum stat |
Stavy konečného automatu vyhodnocení telegramu
int hdo_action | ( | char * | tlg, |
const char * | command | ||
) |
Spínání / rozpínání podle telegramu. Funkce je závislá na formátu telegramu, vytvořeném funkcí tlg_decode ();
tlg | telegram vytvořený funkcí tlg_decode (); |
command | příkaz ve tvaru AmBnDPkl, mnkl = decimální číslice |
Definice je uvedena na řádku 156 v souboru hdo.c.
Používá se v main().
void hdo_init | ( | int | tv | ) |
Inicializace dat, podstatné je nastavení prahové hodnoty
tv | prahová hodnota, použitá pro triger |
Definice je uvedena na řádku 182 v souboru hdo.c.
Odkazuje se na hdo_data::counter, hdo, hdo_data::status, hdo_data::suma, hdo_data::tindex, hdo_data::triger, WAIT_FOR_BEGIN a hdo_data::windex.
Používá se v main().
int tlg_decode | ( | int | pwr, |
char * | str | ||
) |
Dekódování telegramu HDO. Volá se periodicky, vždy když je spočten výkon signálu metodou goertzel. Telegram je zapsán do buferu ve formátu např.: A1---B1-3-56-8_DP:-VZZ_ZZZZ_----_---V
pwr | výkon signálu |
str | výstupní bufer |
Definice je uvedena na řádku 84 v souboru hdo.c.
Odkazuje se na hdo_data::counter, DATA_HI, DATA_PULSE, hdo, hdo_set_status(), SPACE1, SPACE2, SPACE3, sprintf(), hdo_data::status, hdo_data::suma, SYNC_HI, SYNC_LO, SYNC_PULSE, SYNC_PULSE_DROP, SYNC_SPACE, SYNC_SPACE_DROP, hdo_data::tindex, tlg_write(), hdo_data::triger, WAIT_FOR_BEGIN a hdo_data::windex.
Používá se v main().