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== |
| | | |
− | Les taches que le robot pourra effectuer Pour l’instant il n y en a qu’une seul : movement-Task.c | + | ===movementTask.c=== |
| + | |
| + | Les taches que le robot pourra effectuer Pour l’instant il n'y en a qu’une seule : movement-Task.c |
| + | |
| + | <syntaxhighlight lang="c"> |
| + | #include "movementTask.h" |
| + | #include "rbtMovement.h" |
| + | #include "MCP233.h" |
| + | |
| + | |
| + | /* Variables */ |
| + | |
| + | robotState_t robotState = BLOCKED; |
| + | |
| + | |
| + | /* Task */ |
| + | |
| + | void StartSendMovementCmd(void const * argument){ |
| + | /******** Initializations ********/ |
| + | //TODO measure accurately |
| + | |
| + | rbtMovementInit(265, 88, 88, 4096, 4096); |
| + | drive_forward(0); //making sure that the MCP command buffer is empty |
| + | |
| + | robotState = IDLE; |
| + | |
| + | /******** Movement path command list ********/ |
| + | |
| + | /*Aller retour x2*/ |
| + | |
| + | rbtMove(1000); //distance en mm |
| + | rbt_turn(180); //angle en degres, (-) pour tourner a gauche et (+) pour tourner a droite |
| + | rbtMove(1000); |
| + | rbt_turn(180); |
| + | |
| + | while(1){ |
| + | osDelay(1); //boucle pour debugger, le programme devrait rester bloquer ici a la fin de son execution |
| + | } |
| + | |
| + | /* USER CODE END 5 */ |
| + | } |
| + | |
| + | </syntaxhighlight> |