50 lines
1.3 KiB
C
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 |