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> |