USS CTC dispatcher

How to dispatch from the USS CTC lever machine.

← Guides hub

HART Railroad — CTC Machine Dispatcher Guide

Publication: DS-DISP · Rev A · Eff 2026-08-19
Railroad: HART Railroad · Pittsburgh & Chartiers Valley Division · Neville Island Operations
Scope: JMRI USS CTC machine (USS CTC), basic dispatching rules

Welcome to the desk. This machine is a model of a US&S Centralized Traffic Control panel: you line switches and signals from here, and the interlocking logic — not you — decides whether a signal can actually clear. Field signal aspects are computed by JMRI signal logic (ABS rules behind your CTC authority). You grant permission; the plant protects the railroad.

To run a train automatically between stations, use Dispatcher System, not this machine: ../dispatcher/DISPATCHER_GUIDE.md (DS-AUTO).


1. Reading the machine

The panel is 20 columns, west → east, left → right, matching the railroad: Brick → Plane → Barn → East End → Princess. Each column is one OS section (interlocking plant) with, top to bottom:

ColsStationLever (SW/SIG)Plant
1Brick1 / 2Switch 3 (yard exits OS W-1 / OS W-2)
2Brick3 / 4Switch 1
3Plane5 / 6Switch 5 (main vs OS Scale)
4OS Barn7 / 8Switch 7 crossover (OS 7 / 117b). One signal lever releases both tracks
5OS Barn9 / —Switch 13 (ladder, switch-only, defaults Local)
6OS Barn11 / —Switch 15 (ladder, switch-only, defaults Local)
7–8East End13 / 14, 15 / 16Switches 107, 108 (ladder, switch-only)
9East End17 / 18Switch 23 crossover (OS 23a / 111b)
10East End19 / 20Switch 29 (ladder, switch-only)
11East End21 / 22Switch 31 (ladder → OS East Lead; defaults Local)
12East End23 / 24Switch 33 (OS East Lead vs OS Main East)
13Princess25 / 26Switch 35 crossover (OS 35b / 113a)
14Princess27 / 28Switch 37 (OS McKeesport vs OS K-2)
15Princess29 / 30Switch 39 (OS McKees Rocks vs OS K-1)

Below the columns: Fleeting toggle, Reload CTC, and CTC Debug (leave the last two alone in normal operation).


2. Operating the machine

Line a signal (grant a route)

  1. Check the OS lamp is dark (plant unoccupied).
  2. Set the switch lever for the route you want (N or R) and press code. Wait for the N or R indicator to light — that is field correspondence, the points actually moved. An unlit pair means the switch is still in motion or failed.
  3. Move the signal lever: R for an eastward (rightward) move through the plant, L for a westward (leftward) move.
  4. Press code. The machine checks traffic locking. If the route is valid, the signal indicator lights and the field mast is released — the signal system then shows the best aspect the track conditions allow (Clear, Approach, Medium Clear on a diverging route, Restricting from a dwarf). If the request conflicts with an opposing route or the points, the machine rejects it and the signal stays at Stop. That is the machine doing its job, not a fault.

Take a signal away

Return the signal lever to N and press code. Time locking then runs: the indicators go out of correspondence for a few seconds before the signal is re-held at Stop. This delay is deliberate — it protects a train that may have already accepted the signal. Do not re-line anything until the indicators settle.

Throw a switch

A switch lever is locked while its signal lever is off N — take the signal away first, then line the points. This is correct USS behavior: never move points under a cleared route.

Fleeting

The Fleeting toggle keeps a lined route standing so following moves in the same direction get successive signals without re-coding each one. Use it for a parade of same-direction trains only; turn it off when done. Never fleet a route you may need to take back quickly.


3. Basic dispatcher rules

  1. Signals govern. A Stop signal means stop — you cannot talk a train past one. If a signal will not clear, find out why (occupancy, points, opposing route) before doing anything else.
  2. One dispatcher, one machine. Never run this machine and the CATS CTC panel at the same time — both drive Hold on the same signals and will fight. (The CATS ABS panel is a view-only mimic and is fine.)
  3. Never move points under a train. If the OS lamp is red, hands off that column's levers until it clears.
  4. Line switches first, signals second; code after every change. Nothing happens until you press the code button — and wait for the indicator before you trust the field.
  5. Expect rejections. Traffic locking refuses conflicting or improperly lined routes. Correct the points or wait for the opposing move; do not hammer the code button.
  6. Respect time locking. After you take a signal away, wait out the release delay. Plan far enough ahead that you rarely need to snatch a signal back from an approaching train.
  7. Keep mainline columns Locked. Switches 116, 103, and 110 boot Local so the yard crew can throw the ladder without a code. Re-lock a column only if you need to take it back from the desk. Other columns stay Locked unless you hand them to a crew — plant unoccupied, signals at Stop — and re-lock the moment they report clear. You have no route protection through an unlocked switch.
  8. Yard ladder is unsignaled. Switches 116 and 103 have no signal levers. The westbound home into OS Barn from the yard lead is Mast 8LB on the 117 column. Switch 17 and the rest of the South Yard ladder are occupancy-only. The OS K-1 / OS K-2 stubs and yard tracks are restricted-speed territory beyond the dwarf.
  9. During an automated dispatch, hands off the throttle. A phone throttle press on a dispatched locomotive flips its direction bit and the auto train will run the wrong way. Release the locomotive from WiThrottle before dispatching; if an auto train stalls, terminate the dispatch and re-dispatch — never nudge it.
  10. Log your railroad. Note trains, routes granted, and anything abnormal (failed correspondence, unexpected occupancy). The next dispatcher inherits your plant exactly as you leave it.
  11. When in doubt, leave everything at Stop. A red railroad is a safe railroad; sort the situation out before granting new authority.

4. Quick reference

I want to…Do this
Route a train east through a plantSwitch lever N/R → code → wait for indicator → signal lever R → code
Route a train westSame, signal lever L
Cancel a signalSignal lever N → code → wait out time locking
Throw a switchSignal lever must be N first; then switch lever → code
Run several trains the same wayLine the route, turn Fleeting on; off when done
Signal won't clearCheck OS lamp, points correspondence, opposing route — the machine is protecting something

Machine on: PanelPro Tools ▸ CTC ▸ Run CTC Logic. It does not auto-start — until you run it, every lever and lamp shows "?" (sensors UNKNOWN). Once started, most switch levers initialize N. Switches 1, 33, 37, and 39 rest Thrown in the field — run jmri/layouts/hart/scripts/ctc_default_reverse_levers.py after CTC starts (or add it as a PanelPro startup action after Run CTC Logic) so those selectors sit at R, and lock toggles for the yard ladders (Switches 9, 11, 13, 15, 17, 19, 21, 25, 27, 29, 31) sit at Local. Reload CTC re-applies the same defaults. The CTC-held masts go to Stop: that is the correct idle state. Machine off: there is no stop command — quit and relaunch PanelPro without starting the runtime; masts boot Unheld and the railroad runs as plain ABS. The Reload CTC button on the panel re-reads the machine configuration in place after edits. Panel file: jmri/layouts/hart/ctc/GUIObjects.xml; machine config lives in tables.xml (<ctcdata>).


Related — CATS Digicon panel

This guide covers the USS lever machine only. For the CATS mouse panel (quick routes, N/X, stacking, fleeting, call-on), see cats/docs/DISPATCHER_GUIDE_CTC.md (DS-CATS-DISP). Do not run both panels as CTC authority at once.