Consist, a SRCP client to make consists of several locos

Using SRCP (simple railroad control protocol) , consist syncronizes a number of locomotives in such a way that several slave locolotives follow a master. The design is quite simple: One (Unix) process keeps track of one consist. Consist creation done by process creation and consist teardown is by process kill.

Making up a consist:

  1. Bring locomotives into position
  2. Ensure that all locomotives which you want to include in the consist have the correct direction chosen from their controllers
  3. Start consist '<master>' '<slave1>' '<slave2>' ... &
  4. Now the slaves will mimic the master in respect to speed and direction changes.

'<master>' and '<slaveX>' are written as '<decodertype><whitespace><decodernumber>' for example 'N2 28'.

Breaking up a consist:

  1. Stop the consist program you started above

Example:

bash$ consist 'M2 16' 'M2 60' &  # now 60 will mimic 16
[17] 4711
bash$ kill %17			 # now 60 and 16 will be disconnected
bash$
[17]+  Terminated              consist

Be aware that the implementation preserves the direction of the different locomotoives in the consist. It is possible to couple locomotives back to back, they just need to run in the same direction when you create the consist. The current implementation supports up to 16 locomotives in a consist and if you need more you should be able to change the constant in the source. I do not even own so many decoders. As consist has no means of adjusting the actual speed of the different locomotives when running at a certain speed step, you get the best results if the locomotives in your consist have similar speed curves. Of course binding locomotives into several consists invites chaos.

There is currenly a snapshot of the source code in alpha quality. It is released under the well known GNU license with all its pros and cons and you have to compile it yourself. make will hopefully produce a binary named consist for you. You will have to copy it to /usr/local/bin or any other install location yourself. For the time being, there are no configuration files to care about anyway.

There is not much more documentation, but the command lists all its options with consist -h