Aruna
ESP32_MCPwm.h
Go to the documentation of this file.
1 //
2 // Created by noeel on 07-11-20.
3 //
4 
5 #ifndef ARUNA_ESP32_MCPWM_H
6 #define ARUNA_ESP32_MCPWM_H
7 
8 #include "aruna/driver/Pwm.h"
9 #include <driver/mcpwm.h>
10 #include <aruna/log.h>
11 
12 namespace aruna {
13  namespace driver {
14  class ESP32_MCPwm: Pwm {
15  private:
16  const gpio_num_t pin;
17  const mcpwm_unit_t pwm_unit;
18  const mcpwm_timer_t pwm_timer;
19  const mcpwm_io_signals_t io_signal;
20  const mcpwm_operator_t pwm_operator;
21  const mcpwm_config_t pwm_config;
22 
23  static constexpr mcpwm_config_t DEFAULT_PWM_CONFIG = {
24  100,
25  0,
26  0,
27  MCPWM_DUTY_MODE_0,
28  MCPWM_UP_COUNTER,
29  };
30 
31  err_t _set_frequency(uint32_t frequency_hz) override;
32 
33  err_t _set_duty(uint16_t duty) override;
34 
35  public:
36 
46  ESP32_MCPwm(gpio_num_t pin,
47  mcpwm_unit_t pwm_unit,
48  mcpwm_timer_t pwm_timer,
49  mcpwm_io_signals_t io_signal,
50  mcpwm_operator_t pwm_operator,
51  mcpwm_config_t pwm_config = DEFAULT_PWM_CONFIG);
52  };
53  }
54 }
55 
56 
57 
58 #endif //ARUNA_ESP32_MCPWM_H
Definition: comm.cpp:14
const mcpwm_unit_t pwm_unit
Definition: ESP32_MCPwm.h:17
const mcpwm_io_signals_t io_signal
Definition: ESP32_MCPwm.h:19
const mcpwm_config_t pwm_config
Definition: ESP32_MCPwm.h:21
uint16_t duty
Definition: Pwm.h:16
static constexpr mcpwm_config_t DEFAULT_PWM_CONFIG
Definition: ESP32_MCPwm.h:23
ESP32_MCPwm(gpio_num_t pin, mcpwm_unit_t pwm_unit, mcpwm_timer_t pwm_timer, mcpwm_io_signals_t io_signal, mcpwm_operator_t pwm_operator, mcpwm_config_t pwm_config=DEFAULT_PWM_CONFIG)
ESP32 MCPWM.
Definition: ESP32_MCPwm.cpp:11
err_t _set_duty(uint16_t duty) override
Definition: ESP32_MCPwm.cpp:29
const gpio_num_t pin
Definition: ESP32_MCPwm.h:16
err_t _set_frequency(uint32_t frequency_hz) override
Definition: ESP32_MCPwm.cpp:38
Link * driver
stores the driver.
Definition: comm.cpp:45
const mcpwm_timer_t pwm_timer
Definition: ESP32_MCPwm.h:18
const mcpwm_operator_t pwm_operator
Definition: ESP32_MCPwm.h:20
uint32_t frequency_hz
Definition: Pwm.h:15