ESPectro32 Library
Library for using ESPectro32 board
 All Classes Functions Variables Enumerations Enumerator Pages
PWM.h
1 /*
2  * PWM.h
3  *
4  * Created on: Mar 9, 2017
5  * Author: kolban
6  */
7 
8 #ifndef COMPONENTS_CPP_UTILS_PWM_H_
9 #define COMPONENTS_CPP_UTILS_PWM_H_
10 #include <driver/ledc.h>
21 class PWM {
22 public:
23  PWM(
24  int gpioNum,
25  uint32_t frequency = 100,
26  ledc_timer_bit_t bitSize = LEDC_TIMER_10_BIT,
27  ledc_timer_t timer = LEDC_TIMER_0,
28  ledc_channel_t channel = LEDC_CHANNEL_0);
29 
30  uint32_t getDuty();
31  uint32_t getFrequency();
32  void setDuty(uint32_t duty);
33  void setDutyPercentage(uint8_t percent);
34  void setFrequency(uint32_t freq);
35  void stop(bool idleLevel=false);
36 private:
37  ledc_channel_t channel;
38  ledc_timer_t timer;
39  ledc_timer_bit_t bitSize; // Bit size of timer.
40 };
41 
42 #endif /* COMPONENTS_CPP_UTILS_PWM_H_ */
void setFrequency(uint32_t freq)
Set the frequency/period in Hz.
Definition: PWM.cpp:141
A wrapper for ESP32 PWM control.
Definition: PWM.h:21
PWM(int gpioNum, uint32_t frequency=100, ledc_timer_bit_t bitSize=LEDC_TIMER_10_BIT, ledc_timer_t timer=LEDC_TIMER_0, ledc_channel_t channel=LEDC_CHANNEL_0)
Construct an instance.
Definition: PWM.cpp:34
uint32_t getDuty()
Get the duty cycle value.
Definition: PWM.cpp:62
uint32_t getFrequency()
Get the frequency/period in Hz.
Definition: PWM.cpp:72
void setDutyPercentage(uint8_t percent)
Set the duty cycle as a percentage value.
Definition: PWM.cpp:98
void stop(bool idleLevel=false)
Stop the PWM.
Definition: PWM.cpp:152
void setDuty(uint32_t duty)
Set the duty cycle value.
Definition: PWM.cpp:86