stwdv (?)
As you have defined the problem, or rather a list of interrelated problems, it might seem like a large and perhaps futile task.
It would be more productive to attack small portions as individual problems and yes as others have suggested, my first choice is to investigate the power of scripts.
Your message is also silent as to what kind of DCC system you have or intend to use.
Is it possible to programme a train with the push of 1 button to;
Not at all sure if you mean
- a hardware button on your fascia
- instigate how or even if your DCC Command Station deals with Sensors
- a window button on your computer screen
- see the example scripts
- JButtonExample.py
- JButtonActionExample.py
- JButtonComplexExample.py
- a sensor button on one of your PanelPro panels
- investigate one of the tutorials for a simple Panel
- or perhaps some other kind of button.
But perhaps you could save the "Button Issue" for later, at least until you understand some of what follows better.
- Initiate startup sound
- various sounds whistle etc
- Start to move the loco and gradually bring up to running speed
- Then initiate some other sounds
If so where can I learn how to do it please ??
Again look at the sample scripts in no particular order:
- ThrottleBridge.py
- ThrottleFunctionForLight.py
- ThrottleFunctionForSensor.py
- ThrottleFunctionForTurnout.py
- ThrottleSound.py
- ThrottleSoundMultiAddress.py
- BackAndForth.py
- BackAndForthTimed.py
- BackAndForthWithMidStop.py
They will not do what you want for your problem, but they should supply a lot of hints about throttles.
Read the information found at jmri.org/help/en/html/tools/scripting/index.shtml & jmri.org/help/en/html/tools/scripting/Start.shtml & jmri.org/help/en/html/tools/scripting/Examples.shtml or just use the JMRI webpage search function for Scripting.
Also, recommended reading is and since the differences between Python and Jython are insignificant for almost all JMRI scripts, and the Python web pages are easier to read.
Maybe more information than you wanted?
Cliff in Baja SoCal