I have not tried "meshing" my code with your RN library.. Sorry... The differences in the way our two codes work is too great for me at the moment and because mine is "working adequately", I have not had the drive to try and integrate them.
But I have been doing some small updates to my own code.
The stationary stuff all works, there are servo, pwm or on/off "Outputs". "Blink" and "Invert" also work.
When you do a single channel set/trim in rocrail, the servo now immediately drives to the new set position (which was the correction I just added).
The inputs all have pull up resistors (inside the esp), so just need an external Hall switch to work.
I have left in the RFID code, but do not use it myself.
One thing I would very much like to have is a Iphone or Android app that can connect to the MQTT and send the Single Channel trim settings. This would make it much easier to go around the garden and set up the points servos positions. Perhaps Rob could add a single channel write "trim" tab into rocweb??
The Loco stuff works quite well, and using a servo as the motor drive means you only use one ESP pin. There has been some interest n this.
The Loco code also accepts loco CV's, so you can alter the way it responds. As "standard" it has front and back lights and the motor.
Because I also have PWM ability on the "outputs" It is quite simple to change to PWM motor drive and I know one person has tried this out.
Another thing I have added is an interface with WifiManager, which really improves the initial setup. You do not need to have a secrets file, as it sets up an AP and scans for wifi if it cannot connect to the last known wifi..
I am looking at adapting this to add MQTT setup as well, but right now my code (once it has got onto wifi) scans for (open) MQTT servers automatically (but slowly) . This should make it much easier to transport to new locations.
my code is still at https://github.com/dagnall53/ESPWIFIROCNET