WEICZ20/moonbit-computer-interlocking/src/simulator does not have a README file
pub(all) struct CycleReport {
cycle_count : Int64
events_processed : Int
routes_active : Int
safety_violations : Int
active_slots_scanned : Int
sections_released : Int
switches_released : Int
emergency_actions : Int
execution_micro_seconds : Int64
} derive(Debug)pub(all) struct PreallocatedEventQueue {
buffer : FixedArray[SimulationEvent]
capacity : Int
head : Int
tail : Int
count : Int
} derive(Debug)pub(all) struct ScanCycleCounters {
active_slots_scanned : Int
sections_released : Int
switches_released : Int
} derive(Debug)fn SimulatedTrain::step_movement(self : SimulatedTrain, delta_time_seconds : Double, rule : InterlockingRule, station : Station) -> SimulationEvent?pub(all) struct SimulationEngine {
station : Station
table : InterlockingTable
detector : ConflictDetector
event_queue : PreallocatedEventQueue
trains : Map[String, SimulatedTrain]
current_cycle : Int64
current_time_ms : Int64
scan_period_ms : Int64
} derive(Debug)pub(all) struct SimulationEvent {
event_id : Int64
event_type : SimulationEventType
route_id : RouteId?
track_id : TrackId?
turnout_id : TurnoutId?
target_position : TurnoutPosition?
train_id : String
timestamp_ms : Int64
} derive(Debug)Install
Download zipMoonBit Railway Computer Interlocking (CI) Safety Logic Engine