#define nbInterv 101
int tabPulseSinusTotal[nbInterv+1];
int tabPulseSinusOn[nbInterv+1];
void makeTable() {
float erreur;
float vrai;
float target;
for (int I = 0; I < nbInterv+1; I++) {
tabPulseSinusTotal[I] = -1;
tabPulseSinusOn[I] = -1;
target = float(I) / float(nbInterv);
for (int T = 20; T < nbInterv+1; T++) {
for (int N = 0; N <= T; N++) {
if (T % 2 == 1 || N % 2 == 0) { // Valeurs impaires du total ou pulses pairs pour éviter courant continu
vrai = float(N) / float(T);
erreur = abs(vrai - target);
if (erreur < 0.004) {
tabPulseSinusTotal[I] = T;
tabPulseSinusOn[I] = N;
N = nbInterv+1;
T = nbInterv+1;
}
}
}
}
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
makeTable();
for (int i=0; i<nbInterv; i++) {
Serial.printf("%d %d %d\n",i,tabPulseSinusTotal[i],tabPulseSinusOn[i]);
}
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}