30#include <Adafruit_MCP23008.h>
35constexpr uint8_t SOLENOIDS_NUM[NUM_MACHINES] = {16U, 16U, 12U};
36constexpr uint8_t HALF_SOLENOIDS_NUM[NUM_MACHINES] = {8U, 8U, 6U};
37constexpr uint8_t SOLENOIDS_I2C_ADDRESS_MASK = 0x20U;
38constexpr uint8_t SOLENOID_BUFFER_SIZE = 16U;
45 virtual void init() = 0;
46 virtual void setSolenoid(uint8_t solenoid,
bool state) = 0;
47 virtual void setSolenoids(uint16_t state) = 0;
65 static void setSolenoid(uint8_t solenoid,
bool state);
66 static void setSolenoids(uint16_t state);
80 void setSolenoid(uint8_t solenoid,
bool state)
final;
84 uint16_t solenoidState = 0x0000U;
85 void write(uint16_t state);
Definition Adafruit_MCP23008.h:23
Definition solenoids.h:55
Definition solenoids.h:69
void setSolenoids(uint16_t state) final
Set the state of all the solenoids.
Definition solenoids.cpp:73
void write(uint16_t state)
Definition solenoids.cpp:96
void setSolenoid(uint8_t solenoid, bool state) final
Set the state of a solenoid.
Definition solenoids.cpp:48
void init() final
Initialize I2C connection for solenoids.
Definition solenoids.cpp:31
Definition solenoids.h:40
Definition test_solenoids.cpp:33