master_clock/include/Gate.h

33 lines
564 B
C++

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