2026-Propulsion/messages_propulsion.h
2026-04-18 18:06:27 +02:00

50 lines
1.3 KiB
C

#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