25 lines
588 B
C++
25 lines
588 B
C++
#pragma once
|
|
#include <string>
|
|
#include "types.hpp"
|
|
|
|
class PWM {
|
|
public:
|
|
PWM(int chip, int channel, unsigned int period_ns);
|
|
~PWM();
|
|
|
|
void setDutyCycle(unsigned int duty_ns);
|
|
void setPeriod(unsigned int period_ns);
|
|
void enable(bool on = true);
|
|
void setPolarity(const char* pol = "normal");
|
|
unsigned int readPeriod() const { return _period_ns; }
|
|
|
|
private:
|
|
int _chip;
|
|
int _channel;
|
|
unsigned int _period_ns;
|
|
bool _exported;
|
|
std::string _basePath() const;
|
|
void _export();
|
|
void _unexport();
|
|
};
|