master_clock/include/Gate.h
2026-02-19 23:32:34 -05:00

36 lines
569 B
C++

// Gate.h
#ifndef Gate_h
#define Gate_h
#include <cstdint>
#include <string>
class Gate {
private:
bool state;
int16_t cycle;
uint32_t dur;
uint32_t len;
uint8_t width;
uint8_t divideMode;
uint16_t div;
uint16_t modifier;
std::string divString;
uint8_t p;
public:
Gate(uint8_t pin);
uint8_t pin;
void turnOn();
void turnOff();
void setLen(uint32_t currentPeriod);
void setDiv(uint16_t newDiv, uint8_t divide = 1);
void setWidth(uint16_t newWidth);
void setP(uint16_t prob);
bool getState();
};
#endif