Files
Loongson_2k0300_SmartCar_Fr…/hal/pwm.hpp

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();
};