Amélioration de la gestion du pas de temps - c'était foireux avant !
This commit is contained in:
parent
ff9ad4682d
commit
ae2034e66c
13
test.c
13
test.c
@ -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),");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user