Modifications

Sauter à la navigation Sauter à la recherche
13 octets ajoutés ,  8 mars 2021 à 16:28
Ligne 49 : Ligne 49 :     
=Explication Programme=
 
=Explication Programme=
==Odometry==
+
Le programme peut être séparé en 3 principales parties :
===MCP233.c===
+
- Le Main.c et FreeRTOS
 +
- Les fichiers de configuration
 +
- Les tâches
 +
==Main.c et FreeRTOS==
 +
 
 +
==Les fichiers de configuration==
 +
 
 +
===Odometry===
 +
====MCP233.c====
 
Ce fichier contient les commandes permettant de configurer le moteur
 
Ce fichier contient les commandes permettant de configurer le moteur
===rbtMovement.c===
+
====rbtMovement.c====
 
On trouvera ici toutes les commandes de déplacement pour le robot
 
On trouvera ici toutes les commandes de déplacement pour le robot
   Ligne 92 : Ligne 100 :  
6. RESUMING = compléte la commande qui a été annulée avant de repasser en IDLE
 
6. RESUMING = compléte la commande qui a été annulée avant de repasser en IDLE
   −
==movementTask==
+
==Tâches==
 +
 
 +
===movementTask.c===
 +
 
 +
Les taches que le robot pourra effectuer Pour l’instant il n'y en a qu’une seule : movement-Task.c
   −
Les taches que le robot pourra effectuer Pour l’instant il n y en a qu’une seul : movement-Task.c
   
<syntaxhighlight lang="c">
 
<syntaxhighlight lang="c">
#inc lude "movementTask . h"
+
#include "movementTask.h"
2 #inc lude "rbtMovement . h"
+
#include "rbtMovement.h"
3 #inc lude "MCP233 . h"
+
#include "MCP233.h"
4
+
 
5
+
 
6 /* Va r i abl e s */
+
/* Variables */
7
+
 
8 robotState_t r obo tSt a t e = BLOCKED;
+
robotState_t robotState = BLOCKED;
9
+
 
10
+
 
11 /* Task */
+
/* Task */
12
+
 
13 void StartSendMovementCmd ( void cons t * argument ) {
+
    void StartSendMovementCmd(void const * argument){
14 /* ******* I n i t i a l i z a t i o n s ******* */
+
/******** Initializations ********/
15 //TODO measure a c c u r a t e l y
+
//TODO measure accurately
16
+
17 rbtMovementInit (265 , 88 , 88 , 4096 , 4096) ;
+
rbtMovementInit(265, 88, 88, 4096, 4096);
18 drive_forward ( 0 ) ; //making sur e that the MCP command b u f f e r i s empty
+
drive_forward(0); //making sure that the MCP command buffer is empty
19
+
 
20 r obo tSt a t e = IDLE;
+
robotState = IDLE;
21
+
 
22 /* ******* Movement path command l i s t ******* */
+
/******** Movement path command list ********/
23
+
24 /* Al l e r r e t our x2*/
+
/*Aller retour x2*/
25
+
26 rbtMove (1000) ; // di s t anc e en mm
+
rbtMove(1000); //distance en mm
27 rbt_turn (180) ; // angl e en degres , ( - ) pour tourne r a gauche e t (+) pour
+
rbt_turn(180); //angle en degres, (-) pour tourner a gauche et (+) pour tourner a droite
tourne r a d r o i t e
+
rbtMove(1000);
28 rbtMove (1000) ;
+
rbt_turn(180);
29 rbt_turn (180) ;
+
 
30
+
while(1){
31 whi l e ( 1 ) {
+
osDelay(1); //boucle pour debugger, le programme devrait rester bloquer ici a la fin de son execution
32 osDelay ( 1 ) ; // bouc l e pour debugger , l e programme d e v r a i t r e s t e r bloque r
+
}
i c i a l a f i n de son exe cut i on
+
 
33 }
+
  /* USER CODE END 5 */
34
+
}
35 /* USER CODE END 5 */
+
 
36 }</syntaxhighlight>
+
</syntaxhighlight>
38

modifications

Menu de navigation