OpenSprinkler Forums Comments, Suggestions, Requests Controlling valves in other languages Reply To: Controlling valves in other languages

#39313

Ray
Keymaster

It’s likely that you have ignored the OE (output enable pin). On OSBo (and other OS versions too), the shift register OE pin needs to be set to LOW by the processor in order to enable the shift register output. This is defined in defines.h
https://github.com/OpenSprinkler/OpenSprinkler-Firmware/blob/master/defines.h#L269
and this pin is set to LOW in the setup() function:
https://github.com/OpenSprinkler/OpenSprinkler-Firmware/blob/master/OpenSprinkler.cpp#L402
and not in the apply_all_station_bits function. The reason to use this pin is to disable shift register output until the program has properly initialized.