This is an old revision of the document!
xATC is a proposed system to supersede conventional ATC, by incorporating and taking advantage of new features, like:
This is a roadmap. Suggestions, ideas and improvements are welcome
The following things should be doable through xATC:
xATC will use a subset of Lua to express actions. The following things are restricted:
xATC code is organized in so-called “events”. An event can be a builtin event or a user-defined event. The RWT scheduler, which has a builtin DOS protection, will serve as event queue.
An xATC code snippet would, for example, look like this:
On Approach: train.text_outside = "E3 - Trisiston\nvia Tanh Cliffs" train.text_inside = "Next Stop: Euler Street\nTerminus, please get off." train.ars = false train.stop() -- makes train stop at the rail and emits "Stop" afterwards rail.digiline_send("DFI-controller", "Arr:E3W") On Stop: train.reverse() train.text_inside = "Euler Street" train.doors("R") schedule("+02;00", "Depart-Ready") -- Schedule departure in 2 minutes rail.digiline_send("DFI-controller", "Stp:E3W") On Depart-Ready: signal.ars().wait("Depart") -- Tell the next signal to do ARS and emit "Depart" when route is set On Depart: train.doors("C").wait() -- Wait in-place (without another event) for doors to close train.text_inside = "Welcome on board! Next stop: Mountain South" train.ars = true train.speed() rail.digiline_send("DFI-controller", "Dep:E3W")
Notable things: