master_clock/include/Gate.h
2026-02-23 15:49:26 -05:00

34 lines
574 B
C++

// Gate.h
#ifndef Gate_h
#define Gate_h
#include <cstdint>
class Gate {
private:
bool state;
uint32_t dur;
uint32_t len;
uint32_t lastTriggerTick = 0xFFFFFFFF;
public:
Gate(uint8_t pin);
uint8_t pin;
uint8_t editing;
int8_t modifierSelectionIndex;
uint8_t divideMode;
uint16_t modifier;
uint16_t tickInterval;
bool isEnabled;
uint8_t width;
uint8_t p;
void turnOn();
void turnOff();
void setLen(uint32_t currentPeriod);
void setDiv(uint8_t modifier_selection_index);
void setWidth(uint16_t newWidth);
};
#endif