NavestidlaShiftDekoder

Z ModelWiki
Verze z 9. 8. 2023, 23:41, kterou vytvořil Belgarat (diskuse | příspěvky) (MSS - Mast Signal Set)
Skočit na navigaci Skočit na vyhledávání


Tento dekodér je založený na Arduinu Nano a překonává omezení jiných dekodérů daná počtem výstupů Arduina pomocí řetězených posuvných registrů 74HC595. Pro ovládání PWM pomocí posuvných registrů se používá knihovna ShiftPWM. Při vývoji jsem otestoval funkci do poctu 80 výstupů, tzn 16x pětisvětelné návěstidlo.

Každé návěstidlo může mít jiná světla - výstupy se přiřazují jednotlivým indikátorům, kterých je 10. Jednotlivé návěstní znaky pak určují které indikátory budou svítit a jak (nesvítí, svítí, bliká, ...). Vejdou se do toho všechny používané druhy návěstidel včetně rychlostních pruhů. Dekodér obsahuje předdefinované sady návěstních znaků - každé návěstidlo musí určit, kterou sadu bude používat.

Dekodér se konfiguruje primárně pomocí USB z počítače pomocí terminálu

Teoreticky jde počet návěstidel (a výstupů) i zvýšit, ale nedostačují pak CV pro tabulku přiřazení výstupů pro jednotlivá návěstidla. Případný úpravce se s tím musí popasovat změnou programu.

Způsoby ovládání návěstidla

Bitové ovládání

Návěstidlo obsadí tolik po sobě jdoucích DCC adres, kolik je potřeba bitů pro bitově zapsané číslo povelu. Např. je-li počet podporovaných povelů 18, návěstidlo obsadí 5 po sobě jdoucích adres (4 bity je málo, vyjádří jen čísla 0-15). Nastavení "výhybky" na dané DCC adrese "rovně" znamená bitovou hodnotu 0, nastavení "výhybky" do odbočky pak hodnotu 1.

Pokud návěstidlo používá adresy 20-24, pak následující kombinace

Adresa Stav "výhybky" Hodnota bitu
20 rovně 0
21 odbočka 1
22 rovně 0
23 odbočka 1
24 rovně 0

značí povel číslo 10 (ať to už znamená co chce). Neméně významný bit (hodnota 1) udává adresa 20 (první adresa), nejvýznamnější bit (hodnota 32) pak adresa 24.

Sada výhybek

Návěstidlo obsadí po sobě jdoucí adresy tak, že vždy 2 po sobě jdoucí povely obsadí 1 DCC adresu. Návěst s lichým číslem se zobrazí při "přehození výhybky" na dané adrese rovně, Návěst se sudým číslem pak při přehození této adresy do odbočky. Například návěstidlo zobrazující 16 různých návěstí obsadí po 8 adres jdoucí po sobě.

Povel vydaný pro adresu v obsazeném rozsahu vždy zobrazí povel příslušný pro danou adresu - předchozí stav se zapomene. Taková návěstidla se obtížně používají, pokud se kolejiště po startu systému "inicializuje" a všem "výhybkám" se přisoudí a vydá povel pro výchozí stav. V takovém případě je nutné aby poslední povel v rozsahu adres návěstidla byl ten, který má být nakonec zobrazený, nelze jen adresy projet vzestupně.

Například, obsadí-li návěstidlo adresy 20-27 (8 adres, 16 návěstí), pak povel 2, do odbočky zobrazí návěst číslo 6:. 1 '(počítáme od 1)' + (22-20)*2 + 1 '(do odbočky)'.

Sada výhybek, bez rozlišení směru

Návěstidlo obsadí stejný počet adres jako má návěstních znaků. Vydáním povelu pro obsazenou adresu (lhostejno zda "do odbočky" nebo "rovně") se zobrazí příslušná návěst.

Rozšířený packet

Návěstidlo obsadí jen jedinou DCC adresu, ale pro ovládání se používá rozšířený DCC packet, který MultiMaus a podobné ovladače neumějí - JMRI však ano.

CLR - Clear

Příkaz vymaže konfiguraci, a restartuje dekodér.

DEF - Define

Definuje návěstidlo. Definice jsou číslované od jedničky do povoleného maxima (16). Při použití čísla již vytvořeného návěstidla se definice přepíše. Definice dále obsahuje: - způsob ovládání DCC (bitové, jako výhybka, rozšířený paket) - Viz dále - první výstup příslušející návěstidlu (předpokládá se, že návěstidlo obsadí určitý počet po sobě jdoucí výstupů - počet světel (max 32 světel na každé návěstidlo)

DEF:číslo návěstidla:první výstup:počet světel:režim:počet návěstí
Režim Druh ovládání Počet obsazených adres (N je počet návěstí)
b, B Bitové ovládání (výchozí) log2 N
t, T Sada výhybek, bez směrů N / 2
c, C Sada výhybek N
e, E Rozšířený packet 1

Pro již existující návěstidlo je možné použít zkrácenou formu

DEF:číslo návěstidla

která sice neumožní měnit znaky a počet světel návěstidla, ale otevře definici pro další úpravy, např. mapování výstupů apod.

Definice se ukončuje příkazem END. Dokud je definice "otevřená" (před vydáním příkazu END), je možné nastavovat další vlastnosi návěstidla.

SGN - Signal

Nastaví návěst na návěstidlu

SGN:číslo návěstidla:návěst

Návěst je skutečná návěst podle tabulky JMRI; překladová tabulka podle typu návěstidla se zde neuplatňuje.

MSS - Mast Signal Set

Nastaví pro návěstidlo tabulku návěstí. Syntaxe je:

MSS:číslo návěstidla:číslo sady
Číslo návěsti 1: ČSD: Základní sada 2: ČSD: Cestová 3: ČSD: Vložená 4: SŽDC základní 5: ČSD: Mechanická
1 Stůj Stůj Stůj Stůj Stůj
2 Volno Volno Volno Volno Volno
3 Výstraha Výstraha Výstraha Výstraha Výstraha
4 Očekávej 40 Očekávej 40 Očekávej 40 Očekávej 40 Pomalu
5 Očekávej 60 40 a opakovaná volno Očekávej 60
6 Očekávej 80 60 a opakovaná volno Odjezdové návěstidlo dovoluje jízdu Odjezdové návěstidlo dovoluje jízdu
7 40 a volno 40 a volno Stůj s modrou 40 a volno
8 40 a výstraha 40 a výstraha 40 a výstraha 40 a výstraha Vjezd odbočkou
9 40 a očekávej 40 40 a očekávej 40 40 a očekávej 40
10 40 a očekávej 60 80 a opakovaná volno 40 a očekávej 60
11 40 a očekávej 80 40 a opakovaná výstraha
12 60 a volno 60 a volno 60 a volno
13 60 a výstraha 40 a opakovaná očekávej 40 60 a výstraha
14 60 a očekávej 40 40 a opakovaná očekávej 60 60 a očekávej 40
15 60 a očekávej 60 40 a opakovaná očekávej 80 60 a očekávej 60
16 60 a očekávej 80 60 a opakovaná výstraha Sunout zakázáno opakovaná
17 80 a volno 80 a volno Sunout zakázáno 40 a opakovaná výstraha
18 80 a výstraha 60 a opakovaná očekávej 40 Sunout pomalu 40 a opakovaná očekávej 40
19 80 a očekávej 40 60 a opakovaná očekávej 60 Sunout rychleji 40 a opakovaná očekávej 60
20 80 a očekávej 60 60 a opakovaná očekávej 80 Zpět Jízda podle rozhledových poměrů
21 80 a očekávej 80 80 a opakovaná výstraha Zpět opakovaná 40 a jízda podle rozhledových poměrů
22 Opakovaná volno Opakovaná volno Opakovaná volno Opakovaná volno
23 Opakovaná výstraha Opakovaná výstraha Opakovaná výstraha Opakovaná výstraha
24 Opakovaná očekávej 40 Opakovaná očekávej 40 Opakovaná očekávej 40 Opakovaná očekávej 40
25 Opakovaná očekávej 60 Opakovaná očekávej 60 Opakovaná očekávej 60
26 Opakovaná očekávej 80 Opakovaná očekávej 80 Posun zakázán opakovaná Uzavření koleje zrušeno
27 80 a opakovaná očekávej 40 Na spádovišti se neposunuje Jízda vlaku dovolena Stůj, kolej uzavřena
28 Posun zakázán Posun zakázán Posun zakázán Posun zakázán
29 Posun dovolen Posun dovolen Posun dovolen Posun dovolen Posun dovolen
30 Posun dovolen - nezabezpečený 80 a opakovaná očekávej 60 Posun dovolen - nezabezpečený Posun dovolen - nezabezpečený
31 Opatrně na přivolávací návěst bez červené 80 a opakovaná očekávej 80 Opatrně na přivolávací návěst bez červené
32 Opatrně na přivolávací návěst Opatrně na přivolávací návěst Opatrně na přivolávací návěst vložená návěstidla Opatrně na přivolávací návěst
Opatrně na přivolávací návěst

OUT - Map Output

Přiřadí světla návěstidla jednotlivým pinům. Při zřízení návěstidla (plná forma příkazu DEF) se přiřadí všechna světla, počínaje číslem prvního světla v příkazu DEF. Ale někdy je nutné přiřazení světel změnit, nebo např. některá světla úplně vynechat (např. zelené světlo v případě, že návěstidlo vůbec nemá možnost signalizovat volno, vede vždy do odbočky).

Při mapování výstupů se dá použít několik variant:

  • od-do přiřadí následujícím světlům výstupy v rozsahu od-do.
  • číslo přiřadí následující světlo na požadovaný výstup
  • - (pomlčka) - zruší světlo
  • -číslo zruší udaný počet následujících světel

Například:

OUT:5-11:-2:20-21
  • přiřadí pozice 1-6 postupně výstupům 5-11
  • další 2 pozice označí jako neobsazené
  • pozice 9 a 10 přiřadí výstupům 20 a 21

Příkaz OUT nastaví všechny pozice. Nespecifikované pozice se nastaví jako nepoužité-neobsazené.