Suppression de la dépendance entre QEI et Moteurs

This commit is contained in:
Samuel 2022-11-20 13:13:14 +01:00
parent 26329bfeef
commit ba83f1917d
4 changed files with 24 additions and 9 deletions

View File

@ -1,4 +1,5 @@
#include "QEI.h" #include "QEI.h"
#include "Moteurs.h"
/*** C'est ici que ce fait la conversion en mm /*** C'est ici que ce fait la conversion en mm
* ***/ * ***/
@ -26,7 +27,16 @@ void AsserMoteur_setConsigne_mm_s(enum t_moteur moteur, double _consigne_mm_s){
} }
double AsserMoteur_getVitesse_mm_s(enum t_moteur moteur){ double AsserMoteur_getVitesse_mm_s(enum t_moteur moteur){
return (double) QEI_get(moteur) * (double)IMPULSION_PAR_MM; enum QEI_name_t qei;
switch (moteur)
{
case MOTEUR_A: qei = QEI_A_NAME; break;
case MOTEUR_B: qei = QEI_B_NAME; break;
case MOTEUR_C: qei = QEI_C_NAME; break;
default: break;
}
return (double) QEI_get(qei) / (double)IMPULSION_PAR_MM;
} }
void AsserMoteur_Gestion(int step_ms){ void AsserMoteur_Gestion(int step_ms){

10
QEI.c
View File

@ -54,18 +54,18 @@ void QEI_update(){
} }
int QEI_get(enum t_moteur moteur){ int QEI_get(enum QEI_name_t qei){
switch (moteur) switch (qei)
{ {
case MOTEUR_A: case QEI_A_NAME:
return QEI_A.value; return QEI_A.value;
break; break;
case MOTEUR_B: case QEI_B_NAME:
return QEI_B.value; return QEI_B.value;
break; break;
case MOTEUR_C: case QEI_C_NAME:
return QEI_C.value; return QEI_C.value;
break; break;

10
QEI.h
View File

@ -1,12 +1,16 @@
#include "Moteurs.h"
struct QEI_t{ struct QEI_t{
int value; int value;
int delta; int delta;
}; };
enum QEI_name_t{
QEI_A_NAME=0,
QEI_B_NAME=1,
QEI_C_NAME=2
};
extern struct QEI_t QEI_A, QEI_B, QEI_C; extern struct QEI_t QEI_A, QEI_B, QEI_C;
void QEI_update(void); void QEI_update(void);
void QEI_init(void); void QEI_init(void);
int QEI_get(enum t_moteur moteur); int QEI_get(enum QEI_name_t qei);

1
test.c
View File

@ -7,6 +7,7 @@
#include "Temps.h" #include "Temps.h"
#include "spi_nb.h" #include "spi_nb.h"
#include "Servomoteur.h" #include "Servomoteur.h"
#include "Moteurs.h"
#include "QEI.h" #include "QEI.h"
const uint LED_PIN = 25; const uint LED_PIN = 25;