36 lines
569 B
C++
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
|