Ajout de la fonction Trajet_config, à tester
This commit is contained in:
parent
240c308cb7
commit
e667d33c4c
24
Trajet.c
24
Trajet.c
@ -4,32 +4,41 @@
|
||||
#include "Trajet.h"
|
||||
#include "Asser_Position.h"
|
||||
|
||||
#define VITESSE_MAX_MM_S 300
|
||||
|
||||
double Trajet_calcul_vitesse(double temps_s);
|
||||
|
||||
double abscisse;
|
||||
double abscisse; // Position entre 0 et 1 sur la trajectoire
|
||||
double position_mm; // Position en mm sur la trajectoire
|
||||
double vitesse_mm_s;
|
||||
double vitesse_max_trajet_mm_s=1000;
|
||||
double acceleration_mm_ss;
|
||||
struct trajectoire_t trajet_trajectoire;
|
||||
struct position_t position_consigne;
|
||||
|
||||
/// @brief Initialise le module Trajet. A appeler en phase d'initilisation
|
||||
void Trajet_init(){
|
||||
abscisse = 0;
|
||||
vitesse_mm_s = 0;
|
||||
acceleration_mm_ss = 300;
|
||||
acceleration_mm_ss = 500;
|
||||
position_mm = 0;
|
||||
}
|
||||
|
||||
/// @brief Configure la vitesse maximale et l'acceleration pour les futurs trajets
|
||||
/// @param _vitesse_max_trajet_mm_s
|
||||
/// @param _acceleration_mm_ss
|
||||
void Trajet_config(double _vitesse_max_trajet_mm_s, double _acceleration_mm_ss){
|
||||
vitesse_max_trajet_mm_s = _vitesse_max_trajet_mm_s;
|
||||
acceleration_mm_ss = _acceleration_mm_ss;
|
||||
}
|
||||
|
||||
void Trajet_debut_trajectoire(struct trajectoire_t trajectoire){
|
||||
abscisse = 0;
|
||||
vitesse_mm_s = 0;
|
||||
acceleration_mm_ss = 500;
|
||||
position_mm = 0;
|
||||
trajet_trajectoire = trajectoire;
|
||||
}
|
||||
|
||||
/// @brief Avance la consigne de position sur la trajectoire
|
||||
/// @param pas_de_temps_s : temps écoulé depuis le dernier appel en seconde
|
||||
enum trajet_etat_t Trajet_avance(double pas_de_temps_s){
|
||||
double distance_mm;
|
||||
enum trajet_etat_t trajet_etat = TRAJET_EN_COURS;
|
||||
@ -63,6 +72,7 @@ enum trajet_etat_t Trajet_avance(double pas_de_temps_s){
|
||||
|
||||
}
|
||||
|
||||
/// @brief Envoie la consigne de position calculée par le module trajet. Principalement pour le débug/réglage asservissement.
|
||||
struct position_t Trajet_get_consigne(){
|
||||
return position_consigne;
|
||||
}
|
||||
@ -91,8 +101,8 @@ double Trajet_calcul_vitesse(double pas_de_temps_s){
|
||||
if(vitesse > vitesse_max_contrainte){
|
||||
vitesse = vitesse_max_contrainte;
|
||||
}
|
||||
if(vitesse > VITESSE_MAX_MM_S){
|
||||
vitesse = VITESSE_MAX_MM_S;
|
||||
if(vitesse > vitesse_max_trajet_mm_s){
|
||||
vitesse = vitesse_max_trajet_mm_s;
|
||||
}
|
||||
return vitesse;
|
||||
}
|
||||
|
1
Trajet.h
1
Trajet.h
@ -7,6 +7,7 @@ enum trajet_etat_t{
|
||||
|
||||
|
||||
void Trajet_init();
|
||||
void Trajet_config(double _vitesse_max_trajet_mm_s, double _acceleration_mm_ss);
|
||||
void Trajet_debut_trajectoire(struct trajectoire_t trajectoire);
|
||||
enum trajet_etat_t Trajet_avance(double temps_s);
|
||||
struct position_t Trajet_get_consigne(void);
|
||||
|
Loading…
Reference in New Issue
Block a user