#include <esp32-hal-ledc.h>
//https://forum.arduino.cc/t/analogwrite-cpp9-error-ledcsetup-was-not-declared-in-this-scope/1290651
//
//https://forum.arduino.cc/t/ledcattachpin-ledcsetup-error-and-how-to-solve-it/1302164/6
//
//https://forum.arduino.cc/t/ledcsetup-with-esp32-core-v3-0-0-not-work/1266221
//
//https://github.com/espressif/arduino-esp32/blob/master/docs/en/migration_guides/2.x_to_3.0.rst#ledc
#include <pwmWrite.h>
//const byte pwm21 = 21;
const byte pwm19 = 18;
Pwm pwm = Pwm();
const int PWM_RESOLUTION = 6;
const int MAX_DUTY_CYCLE = (int)(pow(2, PWM_RESOLUTION) - 1);
const int DELAY_MS = 4;
void setup() {
Serial.begin(115200);
//pwm.pause();
//pwm.write(pwm21, 64, 300000);
//pwm.write(pwm19, 128, 300000);
//pwm.resume();
//pwm.printDebug();
}
void loop() {
//ESP32 ESP32S2 AnalogWrite
for(int dutyCycle = 0; dutyCycle <= MAX_DUTY_CYCLE; dutyCycle++){
pwm.pause();
pwm.write(pwm19, dutyCycle, 30000);
pwm.resume();
//pwm.printDebug();
delay(DELAY_MS);
}
for(int dutyCycle = MAX_DUTY_CYCLE; dutyCycle >= 0; dutyCycle--){
pwm.pause();
pwm.write(pwm19, dutyCycle, 30000);
pwm.resume();
//pwm.printDebug();
delay(DELAY_MS);
}
}