#ifndef MESSAGE_PROPULSION_H #define MESSAGE_PROPULSION_H #include "Trajectoire.h" #define USB_ID_PROPULSION 'P' #define REG_PROPULSION_POSITION 0x00 #define REG_PROPULSION_POSITION_2 0x80 #define REG_PROPULSION_MODE 0x0D #define REG_PROPULSION_PWM 0x0E #define REG_PROPULSION_VITESSE_ROUES 0x12 #define REG_PROPULSION_VITESSE_ROBOT 0x1A #define REG_PROPULSION_TRAJECTOIRE 0x22 #define REG_PROPULSION_ABSCISSE 0x8C #define REG_PROPULSION_POSITION_CONSIGNE 0x90 #define REG_PROPULSION_VITESSE_ROUES_lecture 0x98 #define REG_PROPULSION_ETAT_TRAJET 0xA0 struct msg_propulsion_position_t{ float position_x_mm, position_y_mm, orientation_rad; }; struct msg_propulsion_pwm_t{ uint16_t pwm_gauche, pwm_droit; }; struct msg_propulsion_vitesse_roues_t{ float vitesse_gauche_mm_s, vitesse_droite_mm_s; }; struct msg_propulsion_vitesse_robot_t { float avance_mm_s, rotation_rad_s; }; struct msg_trajectoire_t { struct trajectoire_t trajectoire; }; /* struct trajectoire_t { enum trajectoire_type_t type; struct point_xy_t p1, p2, p3, p4; float orientation_debut_rad, orientation_fin_rad; float rayon, angle_debut_rad, angle_fin_rad; float longueur; // Pour les trajectoires composées struct trajectoire_t * trajectoires[NB_MAX_TRAJECTOIRE]; int nb_trajectoire; };*/ #endif