Módy programovania

Vše pro digitální provoz - dotazy, praxe, návody, postupy, normy, kompatibilita atd.

Moderátoři: Michal Dalecký, Jarda H., Rudolf

Módy programovania

Příspěvekod JanoW » sob 18 srp, 2018 10:25 am

Priatelia, viete niekto o prehľadnom popise programovacích módov (priamy, stránkový, bitový, bytový atd.) dekodérov DCC? Alebo je niekto ochotný to tu popísať pár slovami? Viem, že istý popis je na stránke NMRA, ale príliš múdry z neho nie som.
A druhý dotaz: číslovanie CV - raz sa uvádza od jednotky (CV3 = adresa), inokedy od 513 - v čom je rozdiel? Mám taký dojem, že je to to isté, len posunuté ...
JanoW
 
Příspěvky: 69
Registrován: sob 22 bře, 2014 9:19 pm
Bydliště: Modra

Re: Módy programovania

Příspěvekod sidlo » sob 18 srp, 2018 11:10 am

Co by se mělo používat za módy programování je krátce tady http://jmri.sourceforge.net/help/en/manual/DecoderPro3/Basic_Mode.shtml
Jak je to s historií CV pro příslušenství je na řádku 340 tady https://www.nmra.org/sites/default/files/standards/sandrp/pdf/s-9.2.2_decoder_cvs_2012.07.pdf
Uživatelský avatar
sidlo
 
Příspěvky: 3590
Registrován: ned 27 dub, 2014 7:32 am

Re: Módy programovania

Příspěvekod fulda » sob 18 srp, 2018 2:26 pm

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í trati
Servisní 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í...
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Uživatelský avatar
fulda
 
Příspěvky: 4851
Registrován: pon 09 srp, 2010 8:08 am
Bydliště: Praha - Uhříněves

Re: Módy programovania

Příspěvekod JanoW » ned 19 srp, 2018 9:46 am

Ďakujem, poučné čítanie. Mnohé objasňuje.
JanoW
 
Příspěvky: 69
Registrován: sob 22 bře, 2014 9:19 pm
Bydliště: Modra

Re: Módy programovania

Příspěvekod jirkan » stř 22 srp, 2018 4:31 pm

Já to taky dočetl, tak se hlásím :D
A bylo to zase jednou zajímavé početní na tomto vláknu!
jirkan
 
Příspěvky: 1076
Registrován: stř 16 bře, 2011 9:47 pm
Bydliště: Praha


Zpět na DCC v praxi

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 6 návštevníků