Files
ValveController/Valve.h
2024-02-05 18:56:51 +03:00

31 lines
577 B
C++

#pragma once
#include <chrono>
#include <pico/stdlib.h>
class Valve {
public:
enum class State {
Unknown,
Opening,
Opened,
Closing,
Closed
};
Valve(uint gpio_motor1, uint gpio_motor2, uint gpio_start, uint gpio_end);
void open();
void close();
State process();
State getState() const { return state; }
private:
uint motor1, motor2;
uint start_pin, end_pin;
State state = State::Unknown;
std::chrono::seconds timeout = std::chrono::seconds(10);
decltype(std::chrono::steady_clock::now()) start_time;
};