Class TurnoutSection

java.lang.Object
jmri.jmrit.ussctc.TurnoutSection
All Implemented Interfaces:
CentralSection<CodeGroupTwoBits,CodeGroupTwoBits>, FieldSection<CodeGroupTwoBits,CodeGroupTwoBits>, Section<CodeGroupTwoBits,CodeGroupTwoBits>

Drive a single Turnout section on a USS CTC panel. Implements Section for both the field and CTC machine parts. UML Class diagram The two parts are implemented as separate FieldSection and CentralSection static inner classes to ensure they're functionally separate, connected only by the code they exchange. They're combined in this single class to make sure they work together.

Note that this intentionally does not turn off indicators when the code button is pressed unless a change has been requested. This is a model-railroad compromise to speed up the dispatcher's ability to see what's going on.

The state diagram for the central section is presented in three parts to make it more useful:

  • Initialization UML State diagram
  • Handline code button presses UML State diagram
  • Receiving indications UML State diagram