fulda píše:1. Která komponenta daný paket vytvořila (aby se nepletla odpověď od centrály, která si mohla myslet, že je to výhybka bez ohlasu na DCC) od odpovědi od dekodéru samotného. (Vlastně by to šlo eliminovat prostou nepřítomností centrály)
No musim se priznat, ze setup bez centraly zatim neumim, protoze bez ni do LN site nepripojim ovladac. Nemam ani k dispozici LB buffer nebo podobne rozhrani, takze sniffuju budto pres Arduino pripojene k DCS51 anebo pres JMRI pripojene pres USB na DR5000 (kde je pripadne DSC51 jako ovladac). Odkud ktere pakety pochazi zjistuju opakovanim experimentu s ruznym nastavenim komponent (napr. blokovani odpovedi na BC na centrale) nebo s pripojenou/odpojenou casti. Lepsi zpusob, jak identifikovat odkud ktery paket pochazi nemam.
Casovani paketu by v JMRI melo jit zapnout, ale zatim jsem to neresil a nejsem si jist, jestli budu schopen master a priority delay rozlisit, na to jsem kratky...
Mimochodem - z kraje jsem tu postoval chovani centraly a DS64 pri zapnuti, kdy putuji po LN pakety typu B0 78 27 10, ktere software preklada jako pozadavky na prehozeni adres s "nelogickymi" adresami. Trochu jsem brouzdal Loconet Hackers, a zjistil jsem, ze se jedna LN variantu zmineneho DCC Stationary Interrogation Command. Napriklad zmineny B0 78 27 10 (prelozeny jako Switch Request: 1017:Closed - Off) znamena spis "Ohlaste se ti, kdoz spravuji adresy, jejichz 'a' bit je jedna a 'b' a 'c' bity jsou nula" (format je normalni B0, tedy SW1 <011110cb> a SW2 <00a10111>, ktere predstavuji adresy 1017-1020). Celkem to predstavuje osm paketu, ktere vyzivaji vsechny adresy v LN aby reportovaly svuj stav (nektera LN zarizeni vyslovene doporucuji nenastavovat fakticke adresy na tyto hodnoty). JMRI Loconet Monitor umi (?) tyhle pakety komentovat vcetne prislusnych rozsahu adres, na ktery se jaky paket pta, ale uprimne receno jsem zatim nepobral, jakym zpusobem jsou v tomhle pripade adresy tvoreny (podle vseho jsou to nejake bitwise posuny a bitove soucty, ale nevim ceho s cim a odkazovane dokumenty z LNHackers uz jsou nedostupne).To mi pripada jako dobry nastroj na zjisteni stavu systemu za chodu, ne? Samozrejme je zde spousta podminek - napriklad vymeny, resp. prestavniky musi mit zpetny ohlas na vstupy prislusnych dekoderu (coz je u DSx4 doporucena praxe), ale v principu takhle na dobre naprogramovanem ovladaci zjistim vsechno, vcetne polohy vlaku v detekovanych usecich.
Konkretne se jedna o pakety:
B0 78 27 10
B0 79 27 11
B0 7A 27 12
B0 7B 27 13
B0 78 07 30
B0 79 07 31
B0 7A 07 32
B0 7B 07 33
Napriklad DS64 s adresami vystupu 500-503 zareaguje na broadcast B0 78 07 30
- Kód: Vybrat vše
[B1 73 63 5E] Turnout LT500 () Switch input is Thrown (input on).
[B1 73 63 5E] Turnout LT500 () Switch input is Thrown (input on).
[B1 74 63 59] Turnout LT501 () Switch input is Thrown (input on).
[B1 74 63 59] Turnout LT501 () Switch input is Thrown (input on).
[B1 75 63 58] Turnout LT502 () Switch input is Thrown (input on).
[B1 75 63 58] Turnout LT502 () Switch input is Thrown (input on).
[B1 76 63 5B] Turnout LT503 () Switch input is Thrown (input on).
[B1 76 63 5B] Turnout LT503 () Switch input is Thrown (input on).
Ostatnich si nevsima. JMRI broadcast preklada jako:
- Kód: Vybrat vše
[B0 78 07 30] Interrogate LocoNet Turnouts/Sensors with bits a/c/b of 0/0/0; addresses...
1-8, 65-72, 129-136, 193-200, 257-264, 321-328, 385-392, 449-456,
513-520, 577-584, 641-648, 705-712, 769-776, 833-840, 897-904, 961-968,
1025-1032, 1089-1096, 1153-1160, 1217-1224, 1281-1288, 1345-1352, 1409-1416, 1473-1480,
1537-1544, 1601-1608, 1665-1672, 1729-1736, 1793-1800, 1857-1864, 1921-1928, 1985-1992.
Coz tak nejak neodpovida, ale jak jsem psal, to kodovani adres jsem uplne nepobral a nikde neni receno, ze autor kodu pro preklad v JMRI ho pobral spravne...
Umim si predstavit ovladac, ktery si po zapnuti vyzada od centraly volny slot, posle zminenou sadu "osahavacich" paketu, vyhodnoti si co prijde a jede. Pokud se mu do ohlasu dotazovanych zarizeni priplete ohlas vznikly v mezicase v reakci na jine zarizeni, tak by to nemel byt problem, jen znovu aktualizuje dany prvek.
JP