Setting Up Traincontroller
To get the best from Traincontroller with automatic train movements, it is necessary to section the railway into blocks. With a few exceptions, a block is needed wherever a train could need to stop. A key challenge is to decide how many detectors are needed for each block.
The South Downs Railway uses entirely electrical occupancy detectors, which are triggered by a current flow in the track. The current flock can be from the locomotive, lighting decoders in "dead" ends of multiple units, or from 10K resistors on the axles of most rolling stock. The idea is: if a train, or part of a train, is in a section of track, its detector should operate. Most of our track (with the exception of terminus platforms) only runs in one direction.
If a train won't stop in a block, or its stopped position doesn't matter: you could have one detector per block. That should be connected to all of the track in the block. Traincontroller can estimate where to ramp down the speed of a train to stop it at a particular position, but it doesn't work accurately for me.
If you want to stop a train accurately at the end of the block: you will need two detectors. This might be at a terminus platform, or by a signal. One detector covers most of the block, and traincontroller ramps speed down so it is crawling at its threshold speed by the end. The second section is a short one at the end of the block and is positioned to detect the first axle. My detectors (a mix of Digitrax BDL168 and BD4) seem to have about a 1s delay before reporting "this section of track is occupied". A train will typically stop 30-50mm into the block. Most of these blocks are 130mm long but some are as short as 70mm at platform ends.
If you have a terminus platform you may need a third sensor, with one covering the approach end of the block. On SDR, a locomotive will pull a plain to a terminus platform and then be trapped behind the carriages. A new locomotive will then be added onto the other end that will taker the train away. "Train tracking" allows Traincontroller to follow that new loco as it is driven around the station area as long as it can follow its progress through blocks. It seems to work well, but to know that the train has "arrived" nito the block with the carriages it needs a third sensor to light light up. Remember the carriages all have resistor wheelsets, so the main detector is already occupied.
If you have a block that can operate both ways: it will also need 3 sensors for combinations of those reasons. One detects most of the block; one detects presence at one and, and one detects presence at the other end.