To avoid moving files from place to place (more than necessary) I downloaded PyCharm Python IDE to the Laptop (4) to start building test development programs.
The time has come to get something on the Laptop (4) to send added DCC++ commands to the Raspberry Pi (3) to setup sensors and configure semaphores.
I have been using the capabilities of JMRI to send individual commands to the base station and run scripts to control trains, turnouts and the track. This gets commands to the Arduino (2) through the Raspberry Pi, but does not get any added DCC++ commands to the Raspberry Pi. The JMRI is configured to edit commands and rejects any strings/commands that do not match current command structure. By the time I write a one-time program to enter new command, send them to the Raspberry Pi and check the response I'm well on the way to writing the Laptop application.
My question is 'Which of these two options is better?' My answer is #2.
Figure out how to used NetBean to modify the current JMRI Java software to include my new functionality. User NetBean boards seem to guide others away from Ant, an older configuration aid used by JMRI. I am yet to use NetBean to build an application more involved than "Hello World" and I have not started reverse engineering the JMRI code to see where I need to inject new capability.
Start from scratch using Python using an object-oriented design and the lessons learned developing the TrainThing simulator. There are advantages to developing the Laptop and Raspberry Pi applications in the same language, using the same documentation (Sphinx). similar tools and standard libraries. There is some re-inventing the wheel. But which is harder ~ re-coding functions or figure out how to modify existing Java and re compile. I also don't need to deal with the highly adaptable design to accommodate many used designs/hardware. I have only one.
Why does it take most of the day to get sphinx installed and working on a Windows system?