Files
OptoTest/OpticalChannelTester/Pwm.h

23 lines
430 B
C++

#pragma once
#include <Arduino.h>
struct ActualPwm {
uint32_t requestedHz;
uint32_t actualHz;
uint32_t requestedPulseNs;
uint32_t actualPulseNs;
float actualDutyPct;
uint8_t bits;
};
class PwmGenerator {
public:
void begin();
bool start(uint32_t frequencyHz, uint32_t pulseNs, ActualPwm &actual);
void active();
void stop();
bool running() const { return running_; }
private:
bool running_ = false;
};