From 0776437e6a6f85167b53f02c8bc1843b34660577 Mon Sep 17 00:00:00 2001 From: Samuel Date: Wed, 28 Jan 2026 21:40:45 +0100 Subject: [PATCH] =?UTF-8?q?Les=20messages=20sont=20bien=20re=C3=A7us=20par?= =?UTF-8?q?=20la=20carte=20qui=20r=C3=A9pond=20en=20clair=20("printf")?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Host_cdc_usb | Bin 20968 -> 21520 bytes Host_cdc_usb.c | 64 ++++++++++++++++++++++++++++++++++++------ messages_propulsion.h | 15 ++++++++++ 3 files changed, 71 insertions(+), 8 deletions(-) diff --git a/Host_cdc_usb b/Host_cdc_usb index aaae87caaa98fc9d9edb52faaa7fddeec34d3a49..0a64c1b0de83f30c26b32f8cf6edd59637eeb24f 100755 GIT binary patch delta 3642 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 delta 2642 zcmZ8ieQ;FO6~E`cz5CwVw_nL_z95*5CK$pr2}VdDUz?8&n?#ccVuK)?ND?+wG$k3J z9muBgA!!TE_Ers@G6SWf(UB2YahUQUQW{IAoifvDoBq?1I@(mH6^m7vv2M?~yYNTf z%-(Z;=lt&Po_EjP`zEJh{sc^x@ab^8^e>J%8&l7mO=d!wc>z-JLZS`IAtM?{!FyIt z@W1+F6Ylu_O>h3~()_wt8k~*)eB%$hf1KE@XHurb#t^g!Yi-rd0#mbq1(4SUST;IyXDCUT_wQN;8z6hSgFi!WaSd{G^L=RQd$C(%~lOeW8v4WsQvyX@0s z@;cgA(cVOR_}|H-7dOj$OMVzAg&Q)Xu$%`zkxhk*^LC+zftt-z_Z2nMJi;+VV!X_W*Bp*|iPe)Qtq(|2s=g>h1FS*Q)ufKjA3b!+C=yPxI{9 z6+2^sfm*=-GEQDpm0svbM#^c>(g8FY80R?}uD_2|&8F`rW9U1{fc+xo?6t__i*w3| z&cz&tvTS1L*-_+)lNhwq#_*}UZ;&5*9M$=eg$n$D{9_Bq&o=l`G^lwM1#-x@*Ha+Z z_Zaz0aj^X{rx}f-7a6l+*=jWKHU>nc-j9ZXhrkMR3XK8B2vjNHg-y7Us74TDEEhf` zv{I!4FoCZkRw+;dji@PV6sUkFNTF7NYWOpOIt7BD6D_Df7=A%&jS6(b2!SRAdSEZn zTC%C$UZ6IL)|h_)Q52{~5mt2%!$RVRVc(a zAm9`>sF75b*^CYbV`~vupDLHUkBK>fgJPaQM=^bjQ+xT(keD}(o;{8$>yFItVqn4O zHdbxu#*-L=<2V>*`T#5;A%_AscmSz}rGNqBM04u>*nj4P1z4ovQYkMq5pXNuhXC=#$jZ@9rR7pBA>w!fta~~ zkPTWfWSUC|82HDs?ZoWDeut@@#faxT4i1-cuaVwjdRJz=hQlw>Q+u?TIbOkB)M4}4 zP`-nv2#Y8TOf1%6R{)@$fUW?K!CS;L6w+WHk{uq~ix{&p@8|T2jx$uJ)*U1vyrBv) zXnN{!2~+C{su<&!sHi4Bsywf8Fz4!^AQh8jZlgP#u3I?#xuB>YpI)# z+7#u;u_=!Z9OFkZn2*;uWBuUlM{|}~w7ZL#vkOfzSK;dvro4?RVE4_TE|dw1?DFA& zkGdSu!cRs7E;=~OV&xXGdAvubx2dV)!pl87x1SZf)vtQ7JW8i+?#LsK-UMDR_HK{D-ogDfro#Xd*a3 z^R)QeFx(GB<=fpdXrfoO55eM-~G6>@3<$VM4SaFksc-DT#*uaoJ5?D zrbNP-Z=}CWk@Q^G5OcZuWo32oU=g#ddP{TTDG;m;+b#st+^Y(q##(8$`FJi~9oZDI zQUUDI!~ah(0NQ+jbIn4OD7Wx0;RDTWS!zL&n(6IrXOp#6ln|Ge-&FRXTv zw_a54yC#-j6ZyaH=;#oh4iVTA6`79+@2GG!ejrS3h?jr>?ZF<-8A@!&591(BlzV<7T$-^f5>e?8t-quU}o`}@AdwhfGo z^lcf4^bHR`GqkyHbZAiisbQ0B3@(zf;C+ed;8jQrH|RpzNQI+b{>>jlnd?DC;C zEBHW_+`6XTtXr9)j>^+(sxnTmN+H1iq rawtime_old +2){ + if(rawtime > rawtime_old){ 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'; @@ -79,12 +97,42 @@ int main(){ données_led[4]=0x05; } on = !on; - + + if (type_message>4) type_message=0; + + printf("envoi message\n"); + switch (type_message){ + case 0: + printf("case 0\n"); + envoi_données_applicatives('r', 'P', REG_PROPULSION_POSITION, (uint8_t *) &msg_propulsion_position, + sizeof(msg_propulsion_position), fp); + break; + case 1: + printf("case 1\n"); + envoi_données_applicatives('r', 'P', REG_PROPULSION_MODE, &mode, sizeof(mode), fp); + break; + case 2: + printf("case 2\n"); + envoi_données_applicatives('r', 'P', REG_PROPULSION_PWM, (uint8_t *) &msg_propulsion_pwm, sizeof(msg_propulsion_pwm), fp); + break; + case 3: + printf("case 3\n"); + envoi_données_applicatives('r', 'P', REG_PROPULSION_VITESSE_ROUES, (uint8_t *) &msg_propulsion_vitesse_roues, sizeof(msg_propulsion_vitesse_roues), fp); + break; + case 4: + printf("case 2\n"); + envoi_données_applicatives('r', 'P', REG_PROPULSION_VITESSE_ROBOT, (uint8_t *) &msg_propulsion_vitesse_robot, sizeof(msg_propulsion_vitesse_robot), fp); + break; + + default: type_message=0; + + } + type_message++; //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); + + //envoi_données_applicatives('r', 'P', 0, (uint8_t *) &msg_propulsion_position, sizeof(msg_propulsion_position), fp); } } diff --git a/messages_propulsion.h b/messages_propulsion.h index f12cc65..74a0933 100644 --- a/messages_propulsion.h +++ b/messages_propulsion.h @@ -4,10 +4,25 @@ #define USB_ID_PROPULSION 'P' #define REG_PROPULSION_POSITION 0x00 +#define REG_PROPULSION_MODE 0x0D +#define REG_PROPULSION_PWM 0x0E +#define REG_PROPULSION_VITESSE_ROUES 0x12 +#define REG_PROPULSION_VITESSE_ROBOT 0x1A 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; +}; #endif \ No newline at end of file