Amélioration de la gestion du pas de temps - c'était foireux avant !

This commit is contained in:
Samuel 2022-10-29 13:48:44 +02:00
parent ff9ad4682d
commit ae2034e66c

13
test.c
View File

@ -37,14 +37,15 @@ int main() {
temps_ms = Temps_get_temps_ms(); temps_ms = Temps_get_temps_ms();
temps_ms_old = temps_ms; temps_ms_old = temps_ms;
while (1) { while (1) {
u_int16_t step_ms = 5; u_int16_t step_ms = 2;
float coef_filtre = 1-0.977; float coef_filtre = 1-0.8;
while(temps_ms_old == Temps_get_temps_ms()); while(temps_ms == Temps_get_temps_ms());
temps_ms_old = Temps_get_temps_ms(); temps_ms = Temps_get_temps_ms();
temps_ms_old = temps_ms;
// Tous les pas de step_ms // Tous les pas de step_ms
if(Temps_get_temps_ms() % step_ms){ if(!(temps_ms % step_ms)){
Gyro_Read(step_ms); Gyro_Read(step_ms);
//gyro_affiche(gyro_get_vitesse(), "Angle :"); //gyro_affiche(gyro_get_vitesse(), "Angle :");
@ -60,7 +61,7 @@ int main() {
vitesse_filtre_z = vitesse_filtre_z * (1-coef_filtre) + angle_gyro.rot_z * coef_filtre; vitesse_filtre_z = vitesse_filtre_z * (1-coef_filtre) + angle_gyro.rot_z * coef_filtre;
} }
printf("%f, %f, %f, %f\n", (double)temps_ms_old / 1000, vitesse_filtre_x, vitesse_filtre_y, vitesse_filtre_z); printf("%f, %f\n", (double)temps_ms_old / 1000, vitesse_filtre_z);
//gyro_affiche(angle_gyro, "Vitesse (°/s),"); //gyro_affiche(angle_gyro, "Vitesse (°/s),");
} }