#pragma once #include // Protocole ASCII de type NMEA entre l'ESP32-C3 et le TMS320. // // Telemetrie TMS320 -> ESP32, periodique : // $T,FREQ1=100000,FREQ2=100000,DUTY1=45.2,DUTY2=50.0,VIN=400.5,IIN=1.20, // V1=200.3,I1=2.50,T1=45.2,VOUT=200.1,I2=2.48,T2=44.8,IOUT=1.05*XX\n // // Commande ESP32 -> TMS320, a chaque changement (et rafraichissement // periodique) : // $C,HT=1,PWM1=1,PWM2=0*XX\n // // XX = XOR de tous les octets entre '$' et '*', en hexadecimal majuscule. struct Telemetry { float freq1 = 0; // Hz, frequence etage 1 float freq2 = 0; // Hz, frequence etage 2 float duty1 = 0; // %, duty cycle etage 1 float duty2 = 0; // %, duty cycle etage 2 float vin = 0; // V, tension entree float iin = 0; // A, courant entree float v1 = 0; // V, tension etage 1 float i1 = 0; // A, courant shunt mosfet 1 float t1 = 0; // C, temperature NTC etage 1 float vout = 0; // V, tension etage 2 (sortie boost) float i2 = 0; // A, courant shunt mosfet 2 float t2 = 0; // C, temperature NTC etage 2 float iout = 0; // A, courant sortie uint32_t lastUpdateMs = 0; }; struct CommandState { bool ht = false; // sortie HT activee/desactivee bool pwm1 = false; // PWM etage 1 activee/desactivee bool pwm2 = false; // PWM etage 2 activee/desactivee };