Když z toho někdo udělá nějaký dokument, tak proč ne. Jinak to tu zanikne v hašteření o hloupostech.
Programovací módy jsou spíš lekce z dějepisu a ukázka konzervativnosti NMRA.
Existují dva režimy programování
Servisní a
Na hlavní tratiServisní režim je starší, provádí se na programovací koleji a je pomalejší. Když programuješ, tak říkáš jen příkaz: dekodére, nastav CVx na hodnotu y. A to provedou všechny dekodéry, které ten příkaz slyší. Proto je programovací kolej většinou krátká a oddělená, aby na ní byl jen jeden dekodér.
Někdy se používají různé
zámky dekodéru aby se nepřepsalo co není potřeba. V servisním režimu je možné čtení, které je realizováno pomocí příkazu "verify", čili posílám příkaz: dekodére, je hodnota CVx rovná y? a pokud je to pravda, dekodér potvrdí, pokud to není pravda, dekodér nic nedělá.
Programování na hlavní trati je novější, respektive začalo se používat později, až s rozmachem RailCom. Předtím nebylo možné číst. Příkaz má charakter: dekodére číslo X, nastav CVy na hodnotu z. Takže se dá udělat i za jízdy. To je celkem praktické. Příkaz je trochu nedostatečně definovaný pro příslušenství, ale více méně komunita ho dodefinovala. Čtení je možné jen přes RailCom, pak je příkaz: dekodére X, pošli mi hodnotu CVy. A je to dost rychlé.
V servisním režimu máme tyhle typy programování:
Adress only mode (česky asi - režim změny adresy)
- dnes se skoro nepoužívá. je to příkaz pro zapsání adresy do CV1. Verifikace je na pouze na celou adresu, takže děsně pomalá. V některých ideách bylo, že se rovnou upraví hodnota CV29, aby se zapla krátká adresa, to ale není povinné, tak se na to nedá spolehnout. Je platný pouze pro lokomotivy a pouze pro krátkou adresu.
register mode (česky asi - režim změny registru)
- je stejný jako adresní, jen je v příkazu definováno 8 registrů (vlastně 7), které se dají měnit. Jsou to: CV1, CV2, CV3, CV4, CV29, --, CV7 a CV8. Všechno ostatní je stejné, dokonce formát příkazu pro CV1 je stejný jako předchozí příkaz. Vlastně jen došlo k využití 3 volných bitů, které jsou v předchozím případě konstantně 000.
paged mode (česky asi stránkový režim)
- zase se jedná jen o rozšíření předchozího režimu. Jde o to, že když se do registru, který je v předchozím případě označen --, zapíše nějaké číslo, tak se první 4 CV zvětší o tohle číslo *4 (maximální osmibitové číslo je 256, proto 1024 CV). Takže každý zápis i čtení se provádí na dvakrát a je to ještě pomalejší. Čtení je zase možné jen jako celý bajt.
reset to default (česky asi návrat dekodéru k továrním hodnotám)
Existuje na to speciální paket, myslím, že kromě centrál Lenz ho nikdo jiný nedokáže použít a je to asi dobře.
Všechny předchozí pakety mají jednu přednost - jsou tří bajtové. To je důležité pro velmi staré dekodéry, které nedokázali číst delší příkazy.
direct CV mode (česky asi - režim přímé změny CV)
- tento příkaz je čtyřbajtový a posílá se v něm přímo adresa CV a nová hodnota. Navíc má i bitové funkce, takže lze zapsat: nastav CVx bit y na hodnotu 1/0. To je dobré zejména pro čtení, protože se zase dělá pomocí verify, ale stačí 16 dotazů na bezpečné přečtení obsahu (na každý bit se ptám jestli je 0 nebo 1).
Teno režim se dnes používá asi nejčastěji.
Pak ještě existují režimy, které jsem nikdy neviděl používat, jako je třeba příkaz pro zamčení dekodéru v programovacím režimu a adress query instruction, takže k nim asi ani nebudu nic psát.
Tak a teď tvůj dotaz ohledně CV1 a CV513. To je také z dějepisu. Někdy někdo měl nápad, že lokomotivy budou používat první polovinu a příslušenství druhou polovinu CV, takže lokomotiva začíná CV1 a výhybka CV513. Ale pak se ukázalo, že to dělá lidem v hlavě bordel a navíc ne každý ovladač podporuje "vysoká CV". Takže se od toho ustoupilo, ale autoři dekodérů pro příslušenství (já také) občas z piety nechávají tento režim k dispozici, takže je jedno, jestli píšeš do CV1 a nebo do CV513.
... a kdo to dočetl až sem, ať se přihlásí...