FULL-C: onewire functions

Tato stránka popisuje programovací jazyk FULL-C, který je dostupný na vybraných zařízeních SDS. 
Některá zařízení používají SDS-C, pro který máme návody jinde na této WiKi.

Funkce pro obsluhu a konfiguraci OneWire sběrnic

Zařízení BIG a BIG2 (a odvozené varianty STSW atd.) obsahují dvě (resp. jednu - STSW) samostatné OneWire sběrnicové mastery. Ty jsou realizováno prostřednictvím dedikovaných OneWire Bus Master chipů.

Program může použít tyto funkce:

         void SDS_disable_onewire(void);
         void SDS_rescan_onewire(unsigned int BUSnr);
          int SDS_onewire_config(unsigned int BUSnr, unsigned int Pxxx, unsigned int Pvalue);


Vypnutí všech sběrnic

Mohou existovat důvody, kdy nechcete, aby SDS obsluhovalo své OneWire sběrnice. Zejména pokud máte SDS kde není fyzicky OneWire sběrnice osazena (speciální OEM varianty), kdy nechcete aby SDS zbytečně čekalo na nalezení Master chipů.

Použijte funkci SDS_disable_onewire(), po zavolání této funkce dojde k vypnutí veškeré související aktivity (obnoví se až po restartu SDS).


Vnucené prohledání sběrnice

Typicky se prohledání sběrnice provádí "ručně" tedy uživatelem přes webové rozhraní, z důvodu, že lze kontrolovat zámky jednotlivých pozic.

Mohou existovat důvody, proč by jste chtěli prohledání aktivovat i z programu, potom zavolejte funkci SDS_rescan_onewire(BUSnr).


Nastavení časovaní pro vybrané sběrnice

Pouze pro SDS varianty DS84.

Pouze pro FULL-C verze 0x11 a dále.

SDS moduly, osazené OW Master chipem (typu 84), tedy především BIG2-DP-DS84 (a další), umožňují velice detailní konfiguraci časování průběhů na každé OneWire sběrnici.

Typicky je nastaveno výchozí, ověřené, časování, a není potřeba na toto sahat. Po každém startu (či restartu) SDS modulu je nastaveno právě toto výchozí časování. Ovšem váš FC program může tuto konfiguraci kdykoliv změnit (resp. i jen některý z parametrů).

Změna časování může být potřebná v případě použití netypického zapojení OneWire sběrnice, nebo při pokusu odladit nedokonale fungující sběrnici. Důvodů může být více, a prakticky se vždy bude jednat o nějakou specifickou situaci. Za běžného provozu a správného použití a zapojení OneWire sběrnice, není jakýkoliv důvod časování měnit.

Funkce SDS_onewire_config() má tři parametry.

BUSnr = číslo sběrnice
Pxxx  = identifikátor parametru
Pvalue = nová hodnota parametru

Zavolání této funkce provede okamžitý zápis nové hodnoty daného parametru do určeného OneWire Master chipu. Další zavolání pro změnu jiného parametru, nezpůsobí ztrátu předchozího nastavení - lze tak postupně zavolat tuto funkci pro kterékoliv parametry (v jakémkoliv pořadí) a ty se postupně nastaví a zůstanou použity (až do restartu modulu SDS).

Možné hodnoty:

              | Pvalue | Pvalue |
Pxxx | význam |   0    |   1    |
-----+--------+--------+--------+-- ...
 0   | tRSTL  | 440    |
 1   | tMSP   |  58    |
 2   | tW0L   |  52    |
 3   | tREC0  |   2.75 |
 4   | Rwpu   | 500    | 

Výchozí tovární Pvalue = (DOPLNIT HODNOTU).

Všechny hodnoty jsou v jednotce [MIKROSEKUNDA], mimo hodnotu Rwpu (weak pull-up resistor), který je v jednotce [OHM].

TODO doplnit tabulku