2023-03-02 13:56:30 +01:00
This file is being used to consolidate the command reference information.
General points:
- Commands below have a single character opcode and parameters.
Even < JA > is actually read as < J A >
- Keyword parameters are shown in upper case but may be entered in mixed case.
2023-03-13 01:53:42 +01:00
- value parameters are decimal numeric (unless otherwise noted)
2023-03-02 13:56:30 +01:00
- [something] indicates its optional.
2023-03-13 01:53:42 +01:00
- Not all commands have a response, and broadcasts mean that not all responses come from the last commands that you have issued.
2023-03-02 13:56:30 +01:00
Startup status
2023-03-13 01:53:42 +01:00
< s > Return status like
< iDCC-EX V-4 . 2 . 22 / MEGA / STANDARD_MOTOR_SHIELD G-devel-202302281422Z >
also returns defined turnout list:
< H id 1 | 0 > 1=thrown
2023-03-02 13:56:30 +01:00
2023-03-13 01:53:42 +01:00
Track power management. After power commands a power state is broadcast to all throttles.
< 1 > Power on all
< 1 MAIN | PROG | JOIN > Power on MAIN or PROG track
< 1 JOIN > Power on MAIN and PROG track but send main track data on both.
< 0 > Power off all tracks
< 0 MAIN | PROG > Power off main or prog track
Basic manual loco control
< t locoid speed direction > Throttle loco.
speed in JMRI-form (-1=ESTOP, 0=STOP, 1..126 = DCC speeds 2..127)
direction 1=forward, 0=reverse
For response see broadcast < l >
< F locoid function 1 | 0 > Set loco function 1=ON, 0-OFF
For response see broadcast < l >
<!> emergency stop all locos
< T id 0 | 1 | T | C > Control turnout id, 0=C=Closed, 1=T=Thrown
response broadcast < H id 0 | 1 >
2023-03-02 13:56:30 +01:00
DCC accessory control
< a address subaddress activate [ onoff ] >
< a linearaddress activate >
Turnout definition
Note: Turnouts are best defined in myAutomation.h where a turnout description can also be provided ( refer to EXRAIL documentation) or by using these commands in a mySetup.h file.
< T id SERVO vpin thrown closed profile >
< T id VPIN vpin >
< T id DCC addr subaddr >
< T id DCC linearaddr >
2023-03-13 01:53:42 +01:00
Valid commands respond with < O >
2023-03-23 20:52:49 +01:00
Direct pin manipulation (replaces < Z commands , no predefinition required )
< z vpin > Set pin LOW
< z -vpin > Set pin HIGH
< z vpin value > Set pin analog value
< z vpin value profile > Set pin analig with profile
< z vpin value profile duration > set pin analog with profile and value
2023-03-13 01:53:42 +01:00
Sensors (Used by JMRI, not required by EXRAIL)
< S id vpin pullup > define a sensor to be monitored.
Responses < Q id > and < q id > as sensor changes
2023-03-02 13:56:30 +01:00
2023-03-13 01:53:42 +01:00
Decoder programming - main track
< w cab cv value > POM write value to cv on loco
< b cab cv bit value > POM write bit to cv on loco
2023-03-02 13:56:30 +01:00
2023-03-13 01:53:42 +01:00
Decoder Programming - prog track
< W cabid > Clear consist and write new cab id (includes long/short settings)
Responds < W cabid > or < W -1 > for error
< W cv value > Write value to cv
2023-03-02 13:56:30 +01:00
2023-03-13 01:53:42 +01:00
< V cv predictedValue > Read cv value, much faster if prediction is correct.
< V cv bit predictedValue > Read CV bit
2023-03-02 13:56:30 +01:00
2023-03-13 01:53:42 +01:00
< R > Read drive-away loco id. (May be a consist id)
2023-03-02 13:56:30 +01:00
< D ACK ON | OFF >
< D ACK LIMIT | MIN | MAX | RETRY value >
< D PROGBOOST >
Advanced DCC control
< M packet . . . . >
< P packet . . . >
< f map1 map2 [ map3 ] >
< #>
< - >
< - cabid >
< D CABS >
< D SPEED28 >
< D SPEED128 >
EEPROM commands
These commands exist for
backwards JMRI compatibility.
You are strongly discouraged from maintaining your configuration settings in EEPROM.
< E >
< e >
< D EEPROM >
< T >
< T id >
< S >
< S id >
< Z >
< Z id >
Diagnostic commands
< D CMD ON | OFF >
< D WIFI ON | OFF >
< D ETHERNET ON | OFF >
< D WIT ON | OFF >
< D LCN ON | OFF >
< D EXRAIL ON | OFF >
< D RESET >
< D SERVO | ANOUT vpin position [ profile ] >
< D ANIN vpin >
< D HAL SHOW >
< D HAL RESET >
< + cmd>
< +>
< Q >
User defined filter commands
< U . . . . >
< u . . . . >
Track Management
< =>
< = track DCC|PROG|OFF>
< = track DC|DCX cabid>
< JG >
< JI >
Turntable interface
< D TT vpin steps [ activity ] >
Fast clock interface
< JC >
< JC mins rate >
Advanced Throttle access to features
< t cab >
< JA >
< JA id >
< JR >
< JR id >
< JT >
< JT id >
*******************
EXRAIL Commands
*******************
< />
< / PAUSE >
< / RESUME >
< /START cab sequence>
< /START sequence>
< /KILL taskid>
< /KILL ALL>
< /RESERVE|FREE blockid>
< /LATCH|UNLATCH latchid>
< /RED|AMBER|GREEN signalid>
Obsolete commands/formats
< c >
< t ignored cab speed direction >
< T id vpin thrown closed >
< T id addr subaddr >
< B cv bit value obsolete obsolete >
< R cv obsolete obsolete >
< W cv value obsolete obsolete >
2023-03-13 01:53:42 +01:00
< R cv > V command is much faster if prediction is correct.
< B cv bit value > V command is much faster if prediction is correct.
2023-03-23 20:52:49 +01:00
< Z id vpin active > (use < z ) Define an output pin that JMRI can set by id
< Z id activate > (use < z ) Activate an output pin by id
2023-03-02 13:56:30 +01:00
Broadcast responses
Note: broadcasts are sent to all throttles when appropriate (usually because something has changed)
< p0 >
< p1 >
< p1 MAIN | PROG | JOIN >
< l cab slot dccspeed functionmap >
< H id 1 | 0 >
< jC mmmm speed >
Diagnostic responses
These are not meant to be software readable. They contain diagnostic information for programmers to identify issues.
< X >
< * ... *>