/*******************************************************
  This example demonstrates 3-phase, 10kHz PWM
  ESP32:    https://wokwi.com/projects/334722465700774482
  ESP32-S2: https://wokwi.com/projects/334765722024542804
  ESP32-C3: https://wokwi.com/projects/334856585002091092
  *******************************************************/

#include <pwmWrite.h>
const int pwmPin[3] = {14, 13, 12};
const uint16_t duty = 341;
const byte deadtime = 21;
const uint16_t phase[3] = {0, 341, 682};
const uint16_t shift[3] = {42, 42, 0};
const uint32_t frequency = 10000;
const byte resolution = 10;
Pwm pwm = Pwm();

void setup() {
  Serial.begin(115200);
  pwm.pause();
  for (int i = 0; i < 3; i++) {
    pwm.write(pwmPin[i], (duty - deadtime), frequency, resolution, (phase[i] + shift[i]));
  }
  pwm.resume();
  pwm.printDebug();
}

void loop() {
}
esp:0
esp:1
esp:2
esp:3
esp:4
esp:5
esp:6
esp:7
esp:8
esp:9
esp:10
esp:11
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:20
esp:21
esp:26
esp:33
esp:34
esp:35
esp:36
esp:37
esp:38
esp:39
esp:40
esp:41
esp:42
esp:45
esp:46
esp:3V3
esp:5V
esp:GND.1
esp:TX
esp:RX
esp:RST
esp:GND.2
D0D1D2D3D4D5D6D7GNDLOGIC
logic1:D0
logic1:D1
logic1:D2
logic1:D3
logic1:D4
logic1:D5
logic1:D6
logic1:D7
logic1:GND