17 void play(
const Ts &...
x)
override {
19 this->valve_run_duration_.optional_value(
x...));
27template<
typename... Ts>
class ShutdownAction final :
public Action<Ts...> {
virtual void play(const Ts &...x)=0
Primary TemplatableValue: stores either a constant value or a function pointer.
optional< T > optional_value(X... x) const
void play(const Ts &...x) override
ResumeOrStartAction(Sprinkler *a_sprinkler)
void play(const Ts &...x) override
ShutdownAction(Sprinkler *a_sprinkler)
void shutdown(bool clear_queue=false)
turns off all valves, effectively shutting down the system.
void resume_or_start_full_cycle()
if a cycle was suspended using pause(), resumes it. otherwise calls start_full_cycle()
void start_single_valve(optional< size_t > valve_number, optional< uint32_t > run_duration=nullopt)
activates a single valve and disables auto_advance.
TEMPLATABLE_VALUE(uint32_t, valve_run_duration) void play(const Ts &...x) override
StartSingleValveAction(Sprinkler *a_sprinkler)
TemplatableValue< size_t, Ts... > valve_to_start_
void set_valve_to_start(V valve_to_start)