Oops, bug in initializing an empty settings file. I fixed it and pushed the changes.
Also, if you notice I had to make small modifications to ospi.py and gpio_pins.py. The ospi.py change is twofold – first I modified added the station # to the log file. This allowed me to scan the log for watering history without having to string-match the station names. Second – and it involves the change to gpio_pins.py as well – is the addition of the simulation capability. I added a gv.simulate flag (initialized in ospi.py) that prevents the writing to the registers. The idea was to let the software run completely and exercise it without actually triggering solenoids.
These 2 changes are obviously not aligned to a plug-in strategy. I’m hoping to convince you of the need for the log change :). The simulation capability is probably only useful for developers, so that is really just for me.