Alla körkontroller i JMRI, oavsett om det är en körkontroll i PanelPro, en körkontroll i form av WiThrottle, eller någon annan sorts körkontroll, så ärver de från interfacet Throttle. Källkoden till jmri.Throttle finns här:LLJ skrev: ↑2017-10-22, 11:35 Dem ursprungliga frågan verkar vara baserad på att JMRI är begränsat av DCC. Är antalet funktioner verkligen begränsat till F0-F29 i DCC?
Någonstans i tråden stod det att DCC stöder 32000 funktioner, stämmer detta och vad är i så fall problemet att få JMRI att stödja fler funktioner, annat än att det inte finns några dekodrar som stödjer detta ännu och därmed inte heller någon standard hur de skall adresseras?
https://github.com/JMRI/JMRI/blob/maste ... ottle.java
Titta på rad 36 - 352. Visst går det att utöka med fler funktioner, men låt säga att det kommer en dekoder som klarar 128 funktioner. Då kommer de nuvarande 317 raderna bli i storleksordningen 1400 rader, enbart för att hantera funktionerna.
När projektet JMRI startades 2001 fanns det bara någon eller några få funktioner, så koden var funktionell då. Och sedan har ingen brytt sig om att fixa problemet när antalet funktioner har utökats.
------------------
Jag tittade på DCC-standarden och det finns beskrivet i S-9.2.1 DCC Extended Packet Formats. Se sida 7, stycket märkt med nummer 305. Där beskrivs att en dekoder kan ha 32767 olika "states". Ett "state" är ungefär som en funktion men har en egen adressrymd.
Eftersom LocoNet har stöd för att skicka DCC-kommandon över LocoNet så har LocoNet även stöd för dessa states, oavsett om LocoNet-centralen har stöd för det.
Med vänlig hälsning
Daniel