> 1 0100 TTT 0 TTTTTTT (a0) POINT Point T fire
> 1 1111 111 .... (ff) NMRADATA NMRA data
- > 1 0001 XXX 0 XXXXXXX (88+) PING Ping `X' (please Pong `X')
+ > 1 0001 XXX 0 XXXXXXX (88+) PING Ping `X' (please Pong `X(+)0x5a')
> 1 0010 RRR E RRR... (90+) POLARITY Set polarity
> 1 0011 000 0 MMMMMMM (98+) WATCHDOG W'dog reset, t/o <M*16>ms from now
> 0 0010 001 (11) ON Power on
From PIC to host:
< 1 001Y SSS 0 SSSSSSS (9?) DETECT Train is (Y=1) or is not (Y=0) at S
- < 1 0001 XXX 0 XXXXXXX (88+) PONG Pong `X' (reply to Ping `X')
+ < 1 0001 XXX 0 XXXXXXX (88+) PONG Pong `X' (reply to Ping `X(+)0x5a')
< 1 100 0001 0 NNNNNNN (ENQ) SPURIOUS Number of spurious fault interrupts
< 0 000 1001 (HT) HELLO I am booted
< 0 000 1011 (VT) AAARGH Followed by debug chars (only)
should be reenabled when the host transmits ON.
- Track and CDU Track and CDU
- disabled -------ON-------> enabled
- . __ __
- /|\ |`-._ ON ,-'| |
- | `-._ ,-' |Short circuit detected
- | OFF `-._ ,-' |
- OFF| ,-' _ FAULT
- | ,-' `-._ |
- | ,-' `-._ V
- ' `
- Track disabled Wait for post-fault
- CDU enabled <-----500ms------ minimum off time
- User Fault lit RETRIABLE
+ Track and CDU Track and CDU ----->-----.
+ disabled -------ON-------> enabled \
+ . __ __ |
+ /|\ |`-._ ON ,-'| |,--------<-------. |
+ | `-._ ,-' | | |
+ OFF| OFF `-._ ,-' |Short | |
+ | ,-' _ FAULT| circuit | |
+ ,->-'| ,+' `-._ | detected | |
+ / | ,-' | `-._ V | |
+ | ' | ` | |
+ | Track disabled | Wait for post-fault | |
+ | CDU enabled <-----500ms------ minimum off time | |
+ | User Fault | RETRIABLE User fault | |
+ | flashes slowly | flashes rapidly | |
+ | / | |
+ \ ' | |
+ `----- Track disabled ---------------->-------------------' /
+ CDU enabled ----------------<----------------------'
+ User Fault lit WTIMEOUT watchdog timer runs out
+
+
+
If ON or OFF are issued in the first 500ms following a short circuit,
-------------
The host may send PING at any time; the PIC should reply with PONG
-with the same X as was in the PING message. The host may not send
-another PING until the first one's PONG has come back.
+with the same X as was in the PING message, but with the bottom byte
+xor'd with 0x5a.. The host may not send another PING until the first
+one's PONG has come back.
POLARITY