Jirka_US píše:fulda píše:Ano, na XpressNetu je situace jiná, tam se zobrazuje vždy aktuální poloha.
Proto je možné používat i jednotlačítkové ovládání - třeba na tomto
VIDEU je destička ovladače, který má připojená tlačítka pro výhybky 4,5,6 a vedle toho multimaus. Stisk tlačítka změní symbol na display myši a pochopitelně, pokud přehodím výhybku na myši, tak to jednotlačítkovač pozná a další stisk jí zase přehodí.
Myslim, ze je to trochu jinak, na zaklade vypisu z obou sbernic se celkem lehce da odecist, ze LocoNet ovladac se na stav vyhybky dokaze zeptat, kdezto u mysi na XpressNetu jak se zda to mozne neni.....A pokud se ovladac na LocoNetu zepta dostane zcela jasnou odpoved, vcetne spravneho zobrazeni na displeji. Takze fulda bohuzel dela chybne zavery na zaklade chybnych nebo chybejicich informaci.
------------------------------------------------------LocoNet--------------------------------------------------------
[BC 02 00 41] Request status of switch LT3 ().[B4 3C 50 27] LONG_ACK: Command station response to switch state request 0x50 (Thrown).
[B0 02 30 7D] Requesting Switch at LT3 to Closed (Output On).
-----------------------------------------------------XpressNet----------------------------------------------------------
[42 00 05 47] Feedback Response: Turnout without Feedback Turnout: 1 State: Thrown Left; Turnout: 2 State: Thrown Left
[42 00 09 4B] Feedback Response: Turnout without Feedback Turnout: 1 State: Thrown Left; Turnout: 2 State: Thrown Right
... a máme tu denní dávku demagogie. Tak jdeme do detailů:
------------------------------------------------------LocoNet--------------------------------------------------------
packet [BC 02 00 41] je v pořádku a je to jednoznačný dotaz na polohu výhybky. Trochu problém je s odpovědí, tu si rozebereme malinko podrobněji:
máme tu paket
[B4 3C 50 27], co v něm jednotlivé bajty znamenají?
B4 - tento bajt se jmenuje opcode a znamená "odpověď na požadavek potvrzení" (v mojí řeči -
jak se někdo ptal)
3C - tento bajt je kopie prvního bajtu dotazu, jen mu schází nejvyšší bit, takže se pozná, že to byl dotaz na polohu výhybky (v mojí řeči -
na tu výhybku)
50 - toto je opravdu dobrý bajt, podle dokumentace se dozvíme, že se jedná o bajt odpovědi a že pokud je jeho hodnota 0, tak to znamená chybu. No nic, tak se spokojíme s tím, že jsme reverzně zjistili, že pro výhybky hodnota 50 znamená do odbočky. Sice nevíme proč, ale je to tak. (v mojí řeči -
, tak ta je do odbočky).
Všimněte si, že se v odpovědi nedozvíme, která výhybka to byla, prostě to byla některá, na kterou se někdo před chvílí ptal.
Co tu není úplně zřetelné je, že:
na polohu výhybky odpovídá buď centrála, pokud je to DCC výhybka, nebo LocoNet zařízení, které jí ovládá, pokud je to výhybka připojená na loconet. Ale také je možné připojit několik výhybek se stejnou adresou (to znají především dvoukolejkáři).
Další výhoda je, že ta potvrzení chodí celkem pozdě (mnohem později, než je master delay a priority delay), takže je legální, že se ve stejné době zeptá někdo jiný na jinou výhybku. Tedy za předpokladu, že máme v LocoNetu víc než jeden ovladač, který ovládá výhybky.
-----------------------------------------------------XpressNet----------------------------------------------------------
Na XpressNetu je pochopitelně situace jiná, tady v Evropě používáme takovou vyšší magii, která říká, že se to ten ovladač dozví podle polohy slunce.
Mno a když to nechce zjišťovat podle polohy slunce, tak tu máme
specifikaci (zde prosím odkaz na verzi vhodnou i pro američany)
a tam se dozvíme:
v kapitole
2.1.4.5 Feedback Broadcast je uvedeno, že pokud někdo přehodí výhybku, pak se posílá broadcast 0x40+N (N je pro každou výhybku 2, takže ty vidíš 0x42 za jednu výhybku, 0x44 by byl paket s informací o dvou výhybkách) Datový obsah je stejný jako pro paket popsaný v kapitole 2.1.11.
v kapitole
2.1.11 Accessory Decoder information response je napsáno, že pokud jeden ovladač potřebuje informaci o poloze výhybky, pak jí dostane unicast paketem 0x42, který má dva datové bajty. První bajt obsahuje 8 bitů adresy, druhý bajt obsahuje informaci o tom, jestli se jedná o výhybku s vlastním ohlasem, nebo o výhybku bez vlastního ohlasu (nebo detekci obsazení), nějaký doplněk adresy a pak čtyři byty, které hovoří o poloze dvou výhybek (00=výhybka se přesouvá, 01 odbočka, 10 rovně , 11 výhybka v poruše)
v kapitole
2.2.17 Accessory Decoder information request máme paket s dotazem na polohu výhybky 0x42, kterému se předává adresa výhybky, na kterou se ptáme, odpověď je vždy podle kapitoly 2.1.11
a nakonec v kapitole
2.2.18 Accessory Decoder operation request se dozvíme, jak vypadá paket, kterým říkáme, že se má výhybka přehodit a zároveň se zde dozvídáme, že až po té co se přehození vykoná, tak dostaneme odpověď v podobě broadcastu podle kapitoly 2.1.4.5
Takže podle mého názoru je XpressNet mnohem jednoznačnější, na každý dotaz je jasně definováno jak se pozná odpověď a v každé odpovědi je jasně popsáno, jak se pozná, čeho se týká.
A navíc si to člověk přečte ve specifikaci a nemusí to hledat podle snifferu.