Now on the question: the script management code has a SetPantographsDown script hook that is OK to lower pantos, but doesn't have the script hook to rise them (neither it has a hook to read panto states, that might be useful).
It wouldn't be difficult to add something like
Script.SetPantograph = (pantoCommand, pantoID) => Locomotive.Train.SignalEvent(pantoCommand, pantoID);
however I have read that Peter is working on this, and so I don't want to do things so that I have to change the script later. However I would like to have the possibility to implement the functionality now. So: is there a way for me to generate the hook in a way that the scripts won't have to be changed when Peter's modifications (that if I understand correctly put under possible control of the TCS all commands to the locomotive and allow to read all loco states) become part of OR?
By the way as an extension of this feature new ORTSxxx parameters could be inserted in the .eng file (or maybe also in the .trk file) that allow to describe the various power supply environments where the loco operates. At the moment I don't envisage this.