|
ILRBCSim
ADR-029 Interlocking simulator — grants/extends Movement Authority against the RBC wire protocol
|
Functions | |
| _slot (payload) | |
| encode_route_cmd (route_type=ROUTE_TYPE_NO_ROUTE, route_status=ROUTE_STATUS_NO_STATUS, degraded_status=DEGRADED_STATUS_NO_STATUS, release_route_request=0, first_route_in_path=0, route_id=-1, start_signal=-1, end_signal=-1) | |
| encode_il_status (il_status=IL_STATUS_DOWN) | |
| decode_route_indication (frame) | |
| route_fsm_state_name (v) | |
| kind_name (kind_byte) | |
Variables | |
| int | KIND_IL_ROUTE_CMD = 25 |
| int | KIND_IL_STATUS = 26 |
| int | KIND_IL_ROUTE_INDICATION = 27 |
| int | ROUTE_TYPE_NO_ROUTE = 0 |
| int | ROUTE_TYPE_LOCKED = 1 |
| int | ROUTE_STATUS_NO_STATUS = 0 |
| int | ROUTE_STATUS_FS = 1 |
| int | ROUTE_STATUS_OS = 2 |
| int | ROUTE_STATUS_SH = 3 |
| int | ROUTE_STATUS_USED = 4 |
| int | ROUTE_STATUS_DEGRADED = 5 |
| int | DEGRADED_STATUS_NO_STATUS = 0 |
| int | DEGRADED_STATUS_LOW = 1 |
| int | DEGRADED_STATUS_MEDIUM = 2 |
| int | DEGRADED_STATUS_HIGH = 3 |
| int | IL_STATUS_DOWN = 0 |
| int | IL_STATUS_RESTARTING = 1 |
| int | IL_STATUS_UP = 2 |
| int | EMERGENCY_TYPE_NONE = -1 |
| int | EMERGENCY_TYPE_SAM = 0 |
| int | EMERGENCY_TYPE_CEM = 1 |
| int | EMERGENCY_TYPE_UEM = 2 |
| dict | _NAME_BY_KIND |
| list | ROUTE_FSM_STATE_NAMES = ["NO_ROUTE", "LOCKED", "FS", "OS", "SH", "USED", "DEGRADED"] |
Byte-identical Python mirror of safeAPIRBC2oo2GA/src/AB/il/ab_ga_il_wire.h - the dedicated IL <-> RBC messages (wire kinds 25/26/27). These do NOT use SimCore's generic flat 96-byte envelope codec (rbc_wire.py / MessageCatalog); each has its own small packed layout, still shipped inside the fixed 96-byte relay slot (rest zero). Keep this in exact lockstep with ab_ga_il_wire.h - there is no shared schema, same "by-hand port" precedent as SimCore/rbc_wire.py for the flat scheme and TrainRBCSim/rbc_ertms_wire.py for the ERTMS scheme. All multi-byte fields little-endian. See ab_ga_il_wire.h for the authoritative byte-offset table.
|
protected |
Zero-pads @payload out to the full 96-byte relay slot.
Definition at line 56 of file il_wire.py.
| decode_route_indication | ( | frame | ) |
RBC_MSG_IL_ROUTE_INDICATION (RBC -> IL) -> flat dict, or None if @frame is not this kind / too short. emergency_type is a SIGNED byte (-1 = none). route_fsm_state is ab_ga_route_state_t (0..6: NO_ROUTE/LOCKED/FS/OS/SH/USED/DEGRADED).
Definition at line 90 of file il_wire.py.
| encode_il_status | ( | il_status = IL_STATUS_DOWN | ) |
RBC_MSG_IL_STATUS (IL -> RBC).
Definition at line 84 of file il_wire.py.
| encode_route_cmd | ( | route_type = ROUTE_TYPE_NO_ROUTE, | |
| route_status = ROUTE_STATUS_NO_STATUS, | |||
| degraded_status = DEGRADED_STATUS_NO_STATUS, | |||
| release_route_request = 0, | |||
| first_route_in_path = 0, | |||
| route_id = -1, | |||
| start_signal = -1, | |||
| end_signal = -1 ) |
RBC_MSG_IL_ROUTE_CMD (IL -> RBC). Fields default to the SPEC
defaults ("first value is default value"). route_id/start_signal/
end_signal are int32, -1 = unset.
Definition at line 63 of file il_wire.py.
| kind_name | ( | kind_byte | ) |
Definition at line 121 of file il_wire.py.
| route_fsm_state_name | ( | v | ) |
Definition at line 117 of file il_wire.py.
|
protected |
Definition at line 49 of file il_wire.py.
| int il.il_wire.DEGRADED_STATUS_HIGH = 3 |
Definition at line 38 of file il_wire.py.
| int il.il_wire.DEGRADED_STATUS_LOW = 1 |
Definition at line 36 of file il_wire.py.
| int il.il_wire.DEGRADED_STATUS_MEDIUM = 2 |
Definition at line 37 of file il_wire.py.
| int il.il_wire.DEGRADED_STATUS_NO_STATUS = 0 |
Definition at line 35 of file il_wire.py.
| int il.il_wire.EMERGENCY_TYPE_CEM = 1 |
Definition at line 46 of file il_wire.py.
| int il.il_wire.EMERGENCY_TYPE_NONE = -1 |
Definition at line 44 of file il_wire.py.
| int il.il_wire.EMERGENCY_TYPE_SAM = 0 |
Definition at line 45 of file il_wire.py.
| int il.il_wire.EMERGENCY_TYPE_UEM = 2 |
Definition at line 47 of file il_wire.py.
| int il.il_wire.IL_STATUS_DOWN = 0 |
Definition at line 40 of file il_wire.py.
| int il.il_wire.IL_STATUS_RESTARTING = 1 |
Definition at line 41 of file il_wire.py.
| int il.il_wire.IL_STATUS_UP = 2 |
Definition at line 42 of file il_wire.py.
| int il.il_wire.KIND_IL_ROUTE_CMD = 25 |
Definition at line 20 of file il_wire.py.
| int il.il_wire.KIND_IL_ROUTE_INDICATION = 27 |
Definition at line 22 of file il_wire.py.
| int il.il_wire.KIND_IL_STATUS = 26 |
Definition at line 21 of file il_wire.py.
| list il.il_wire.ROUTE_FSM_STATE_NAMES = ["NO_ROUTE", "LOCKED", "FS", "OS", "SH", "USED", "DEGRADED"] |
Definition at line 114 of file il_wire.py.
| int il.il_wire.ROUTE_STATUS_DEGRADED = 5 |
Definition at line 33 of file il_wire.py.
| int il.il_wire.ROUTE_STATUS_FS = 1 |
Definition at line 29 of file il_wire.py.
| int il.il_wire.ROUTE_STATUS_NO_STATUS = 0 |
Definition at line 28 of file il_wire.py.
| int il.il_wire.ROUTE_STATUS_OS = 2 |
Definition at line 30 of file il_wire.py.
| int il.il_wire.ROUTE_STATUS_SH = 3 |
Definition at line 31 of file il_wire.py.
| int il.il_wire.ROUTE_STATUS_USED = 4 |
Definition at line 32 of file il_wire.py.
| int il.il_wire.ROUTE_TYPE_LOCKED = 1 |
Definition at line 26 of file il_wire.py.
| int il.il_wire.ROUTE_TYPE_NO_ROUTE = 0 |
Definition at line 25 of file il_wire.py.