I’m an experienced programmer, but have yet to obtain a RPi. I’ve written my own code to control my sprinklers in Java, and I’m considering buying a RPi, a OSPi and an expansion board (I have 16 zones) from you.
I’d just be using the OSPi hardware to go between the RPi and the solenoids on the valves. I assuming that once I’d got Java installed and my jar files, it would just be a case of identifying the outputs and connecting them to the right valves.
Before I go ahead with this, can you see any reason why this wouldn’t work? (And to try to answer the obvious question, as to why I’m not considering using the software you provide – I’m very particular about how I want it to work, and it hasn’t been a problem to code it myself.)
It should work fine. One thing to remind you is that OSPi uses four digital pins to communicate with the shift register. Among them one is the OE (output enable pin, active low) which is pulled high by default (to prevent shift register output during initialization), and set to low when the initialization is completed. The other three are the standard shift register pins (latch, clock, and data). You can check OpenSprinkler.cpp for relevant code (specifically the begin() function and apply_all_station_bits() function.