User Tools

Site Tools


dev:proposals:timetable_plan

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:proposals:timetable_plan [2021-04-20 15:25]
orwell more writedown
dev:proposals:timetable_plan [2022-07-15 14:46] (current)
maverick2797 ↷ Page moved from dev:proposals:rwt:timetable_plan to dev:proposals:timetable_plan
Line 3: Line 3:
 The overall plan with the ''lines'' mod is to have a timetable scheduling system which is integrated with the other advtrains functions, especially the stop rails. This is the concept for it. The overall plan with the ''lines'' mod is to have a timetable scheduling system which is integrated with the other advtrains functions, especially the stop rails. This is the concept for it.
  
-This is currently a draft, and subject to discussion before I will start implementing it. **Please bring in your ideas, suggestions or critics.** Just add them under the relevant headline and sign them with your name (use the "signature" button in the editor toolbar)+This is currently a draft, and subject to discussion before I will start implementing it. **Please bring in your ideas, suggestions or criticisms.** Just add them under the relevant headline and sign them with your name (use the "signature" button in the editor toolbar)
  
 ===== Constraints ===== ===== Constraints =====
Line 32: Line 32:
   * some flags (such as "reverse here")   * some flags (such as "reverse here")
  
-//* The stop modes should get better names// --- //[[orwell]] 2021/04/19 22:11//+//* The stop modes should get better names// --- //[[dev:lines:orwell]] 2021/04/19 22:11//
  
 All arrival and departure times in the timetable are **relative** to the initial departure time of any given train. That means, the timetable only defines after how many minutes/seconds after its initial departure at the first location it should be where. All arrival and departure times in the timetable are **relative** to the initial departure time of any given train. That means, the timetable only defines after how many minutes/seconds after its initial departure at the first location it should be where.
Line 61: Line 61:
 ==== Timetable entry ==== ==== Timetable entry ====
  
-//This could use a better name// --- //[[orwell]] 2021/04/19 22:11//+//This could use a better name// --- //[[dev:lines:orwell]] 2021/04/19 22:11//
  
 At the first station in the timetable, trains "enter" the timetable and get timetable instances. For this, the timetable defines a //service interval// by means of two times: At the first station in the timetable, trains "enter" the timetable and get timetable instances. For this, the timetable defines a //service interval// by means of two times:
Line 68: Line 68:
  
 For example, interval 05;00 offset 02;00 would result in a train every 5 minutes at minutes 02,07,12,17... For example, interval 05;00 offset 02;00 would result in a train every 5 minutes at minutes 02,07,12,17...
 +
 + ---
 +
 +  * Hard-clip the modulo operation at cycle (hour) borders would highly simplify the slot enumeration (you could then be safe to say "Cycle 345 Slot 2" and it's always at the same minute.
 +  * Maybe we can also allow for a list of mm;ss times in the hour so that 3/3/4 minutes rhythms would be possible
 +
 + --- //orwell 2021-05-22 13:16//
  
 We call such a possible initial departure time a //slot//. We call such a possible initial departure time a //slot//.
Line 140: Line 147:
  
 The solution using the timetable system would be to delay the train departure at Elders Valley until the platform at Trisiston is free. So, a "can_depart" xatc hook on the timetable would check whether the platform section at Trisiston is occupied by a train, and allow departure only after that train had left. This solves the problem on a higher layer than interlocking would, and this is how it's done in real life too (except that the dispatcher has the responsibility to tell the EV train or the EV signalman that it must wait). The solution using the timetable system would be to delay the train departure at Elders Valley until the platform at Trisiston is free. So, a "can_depart" xatc hook on the timetable would check whether the platform section at Trisiston is occupied by a train, and allow departure only after that train had left. This solves the problem on a higher layer than interlocking would, and this is how it's done in real life too (except that the dispatcher has the responsibility to tell the EV train or the EV signalman that it must wait).
 +
 +===== User Interface =====
 +
 +The timetable system user interface will provide the following features:
 +
 +  * Viewing a timetable
 +  * Editing a timetable
 +  * Viewing a timetable instance of a train (along with real and estimated departure/arrival times)
 +  * Viewing departures and arrivals at a station / a track in a station
 +
 +For Timetable viewing/editing, the user should be able to select a slot (on a per-cycle basis with cycle-relative times), to get shown the real departure/arrival times instead of pure relative times, which can be confusing if the offset is not 0.
 +
 +It would be nice to have a tabbed interface for the timetable UI: this way you could open multiple editors/viewers at once and quickly switch between them to validate the edits.
  
 **... to be continued ...** **... to be continued ...**
dev/proposals/timetable_plan.1618925147.txt.gz · Last modified: 2021-04-20 15:25 by orwell