A much simpler and definitely cheap solution you get with every ATLplus module. The whole inversion automatism is placed in the module itself. Just fix a small reed contact at the engines bottom and connect it to the module. Add a magnet to each braking range at both ends of the track so that a braking engine will pass it by. The braking itself is controlled by normal diodes (ATL-principle). An engine switched to signal control mode will now automatically shuttle between the two terminal stations by accelerating, braking and changing direction by itself.
There are several interesting features in that system. So the engine does not immediately change the direction passing the magnet. It continues to slow down to standstill. The direction change is only done after a programmable delay (allow a cab change to the driver!!). Departure will be only when the signal contact is closed again. By the way, a stopped engine may be reversed by a small magnet hold to the bottom side as long as the supply is available. The direction is memorized in such a way that it will be available again after a power interruption (similar to old Maerklin system, but electronically solved).
The whole thing is only valid for engines switched to signal control. But you can at any time and everywhere take the engine to telecontrol, e.g. to switch or to actualize the direction and then give it back to the shuttle operation. When you do the latter during course, the engine takes over the momentary direction. Taking it back to telecontrol can result in two reactions: When the direction indicated in the handset corresponds to the real direction, the train will continue its way. In the other case the train slows down to stop and switches then the direction.
The reverse command by reading the magnet is only memorized, when the engine passes by the magnet in brake condition. A reversed train in acceleration passing by the magnet again will therefore ignore it. Brake areas without magnets will not reverse the trains. Therefore a shuttle operation over several stations is done quite simply. Of course, you can use such trains on normal tracks with signal blocks, too. As long as no magnets are encountered in brake areas there will be no change in direction.
As a matter of fact: With little effort you can realize one or more shuttle trains without any PC and software troubles. Two magnets at the line ends and a reed contact in each shuttle engine is all you need. And you can overtake the engines with a simple button at any time.