hdo  beta
Funkce | Proměnné
Dokumentace souboru /home/mrazik/Documents/web/old/hdo/hdo.c

Implementace vyhodnocení telegramu HDO. ...

#include <stdio.h>
#include "hdo.h"

Zobrazit zdrojový text tohoto souboru.

Funkce

void hdo_set_status (enum stat st)
int tlg_write (int avg, char *ptr)
int tlg_decode (int num, char *str)
int hdo_action (char *tlg, const char *command)
void hdo_init (int tv)

Proměnné

struct hdo_data hdo
 data pro tento modul

Detailní popis

Bližší popis viz též hdo.h

Definice v souboru hdo.c.


Dokumentace funkcí

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 ();

Parametry:
tlgtelegram vytvořený funkcí tlg_decode ();
commandpříkaz ve tvaru AmBnDPkl, mnkl = decimální číslice
Návratová hodnota:
+1 zapnout, -1 vypnout, 0 při chybě nebo žádná akce

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

Parametry:
tvprahová 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().

void hdo_set_status ( enum stat  st) [inline]

Použito pouze interně pro funkci tlg_decode. Nastavení konečného automatu a nulování proměnných.

Parametry:
stpožadovaný stav konečného automatu detekce

Definice je uvedena na řádku 17 v souboru hdo.c.

Odkazuje se na hdo_data::counter, hdo, hdo_data::status a hdo_data::suma.

Používá se v tlg_decode() a tlg_write().

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

Parametry:
pwrvýkon signálu
strvýstupní bufer
Návratová hodnota:
1, pokud je telegram ukončen, jinak 0, -1 při chybě

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().

int tlg_write ( int  avg,
char *  ptr 
)

Použito pouze interně pro funkci tlg_decode. Zápis HDO telegramu do buferu. Funkce je volána opakovaně, t.j. telegram se zapisuje postupně, nikoli najednou.

Parametry:
avgvypočtená hodnota průměru výkonu signálu
ptrukazatel na výstupní bufer
Návratová hodnota:
0 pokud není hotovo, 1 pokud je konec telegramu

Definice je uvedena na řádku 30 v souboru hdo.c.

Odkazuje se na hdo, hdo_set_status(), SPACE1, hdo_data::tindex, WAIT_FOR_BEGIN a hdo_data::windex.

Používá se v tlg_decode().