commit 4d7c9c7d4308ac7c77ba29212a176fbf9e3ddb94 Author: Samuel Date: Wed Jan 28 19:12:56 2026 +0100 Envoi message de position selon protocole "com_v2" diff --git a/Host_cdc_usb b/Host_cdc_usb new file mode 100755 index 0000000..aaae87c Binary files /dev/null and b/Host_cdc_usb differ diff --git a/Host_cdc_usb.c b/Host_cdc_usb.c new file mode 100644 index 0000000..3bb52f5 --- /dev/null +++ b/Host_cdc_usb.c @@ -0,0 +1,103 @@ +#include +#include +#include +#include + +#include "Messages.h" + + time_t rawtime; + struct tm * timeinfo; + + +void envoi_données(uint8_t * données, unsigned int taille_données, FILE *fp){ + for(int i=0; i rawtime_old +2){ + rawtime_old = rawtime; + struct msg_propulsion_position_t msg_propulsion_position; + msg_propulsion_position.position_x_mm = 1.5; + msg_propulsion_position.position_y_mm = 2.5; + msg_propulsion_position.orientation_rad = -3; + uint8_t données_led[10]; + données_led[0]='r'; + données_led[1]='D'; + données_led[2]=0x00; + données_led[3]=0x01; + if(on){ + données_led[4]=0x25; + }else{ + données_led[4]=0x05; + } + on = !on; + + + //envoi_données_protocole(données_led, 5, fp); + //envoi_données_applicatives('r', 'D', 0, &données_led[4], 1, fp); + printf("envoi message\n"); + envoi_données_applicatives('r', 'P', 0, (uint8_t *) &msg_propulsion_position, sizeof(msg_propulsion_position), fp); + } + } + + // Lecture de la liaison série (décodage hexa) + do{ + my_char = fgetc(fp); + printf("%02x ", my_char); + if(my_char == '\n'){ + + printf("\n"); + } + }while(my_char != EOF); + printf("fin de lecture\n"); + fclose(fp); + +} \ No newline at end of file diff --git a/Messages.h b/Messages.h new file mode 100644 index 0000000..9de02dc --- /dev/null +++ b/Messages.h @@ -0,0 +1,17 @@ +#include +#include "messages_propulsion.h" + +struct message_applicatif_t{ + uint8_t commande; // 'r' : réception de données, 'd' : demande de données + uint8_t id_carte; // Identifiant de la carte (on reprend les adresses I2C) + uint8_t adresse_registre; // Adresse du registre lu ou écrit + uint8_t taille_donnees; + union{ + uint8_t donnees[100]; +#ifdef MESSAGE_PROPULSION_H + struct msg_propulsion_position_t msg_propulsion_position; +#endif + + }donnees_applicative; + +}; \ No newline at end of file diff --git a/messages_propulsion.h b/messages_propulsion.h new file mode 100644 index 0000000..f12cc65 --- /dev/null +++ b/messages_propulsion.h @@ -0,0 +1,13 @@ +#include +#ifndef MESSAGE_PROPULSION_H +#define MESSAGE_PROPULSION_H +#define USB_ID_PROPULSION 'P' + +#define REG_PROPULSION_POSITION 0x00 + +struct msg_propulsion_position_t{ + float position_x_mm, position_y_mm, orientation_rad; +}; + + +#endif \ No newline at end of file