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 "Moteurs.h"
/*** 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){
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){

10
QEI.c
View File

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

10
QEI.h
View File

@ -1,12 +1,16 @@
#include "Moteurs.h"
struct QEI_t{
int value;
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;
void QEI_update(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 "spi_nb.h"
#include "Servomoteur.h"
#include "Moteurs.h"
#include "QEI.h"
const uint LED_PIN = 25;