Programme d'utilisation servomotors MX12 V1

Committer:
R66Y
Date:
Fri May 19 14:32:14 2017 +0000
Revision:
0:80df663dd15e
programme pour utiliser les servomoteurs MX12.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
R66Y 0:80df663dd15e 1 #define GLOBAL_GAME_END 0x004 // Stop fin du match
R66Y 0:80df663dd15e 2 #define GLOBAL_START 0x002 // Start
R66Y 0:80df663dd15e 3 #define GLOBAL_END_INIT_POSITION 0x005 // Fin positionnement robot avant depart
R66Y 0:80df663dd15e 4 #define GLOBAL_FUNNY_ACTION 0x007 // Funny action start (0: start, 1: stop)
R66Y 0:80df663dd15e 5
R66Y 0:80df663dd15e 6 #define BALISE_STOP 0x003 // Trame stop (angle en °, Type du robot : 1=>gros robot, 2=> petit)
R66Y 0:80df663dd15e 7 #define BALISE_DANGER 0xA // Trame danger (angle en °, Type du robot : 1=>gros robot, 2=> petit)
R66Y 0:80df663dd15e 8 #define BALISE_END_DANGER 0xB // Trame fin de danger
R66Y 0:80df663dd15e 9
R66Y 0:80df663dd15e 10 #define ASSERVISSEMENT_STOP 0x001 // Stop moteur
R66Y 0:80df663dd15e 11 #define ASSERVISSEMENT_SPEED_DANGER 0x006 // Vitesse de danger
R66Y 0:80df663dd15e 12 #define ASSERVISSEMENT_XYT 0x020 // Asservissement (x,y,theta) (0 : au choix 1 : avant -1 : arrière)
R66Y 0:80df663dd15e 13 #define ASSERVISSEMENT_COURBURE 0x021 // Asservissement rayon de courbure (+ gauche, - droite , sens : 1avt , -1arr; enchainement => 1 oui, 0 => non, 2=>derniére instruction de l'enchainement)
R66Y 0:80df663dd15e 14 #define ASSERVISSEMENT_CONFIG 0x022 // Asservissement paramètre (définir les valeurs de vitesse max et d'eccélération max)
R66Y 0:80df663dd15e 15 #define ASSERVISSEMENT_ROTATION 0x023 // Asservissement rotation
R66Y 0:80df663dd15e 16 #define ASSERVISSEMENT_RECALAGE 0x024 // Moteur tout droit (recalage : 0 mouvement seul, 1 x, 2y valeur : coordonnée à laquelle est recalé x/y; enchainement => 1 oui, 0 => non)
R66Y 0:80df663dd15e 17
R66Y 0:80df663dd15e 18 #define ODOMETRIE_BIG_POSITION 0x026 // Odométrie position robot (Position actuel du robot)
R66Y 0:80df663dd15e 19 #define ODOMETRIE_BIG_VITESSE 0x027 // Odométrie vitesse (Indication sur l'état actuel)
R66Y 0:80df663dd15e 20 #define ODOMETRIE_SMALL_POSITION 0x028 // Odométrie position robot (Position actuel du robot)
R66Y 0:80df663dd15e 21 #define ODOMETRIE_SMALL_VITESSE 0x029 // Odométrie vitesse (Indication sur l'état actuel)
R66Y 0:80df663dd15e 22
R66Y 0:80df663dd15e 23 #define ASSERVISSEMENT_INFO_CONSIGNE 0x1F0 // Info Consigne et Commande moteur
R66Y 0:80df663dd15e 24 #define ASSERVISSEMENT_CONFIG_KPP_DROITE 0x1F1 // Config coef KPP_Droit
R66Y 0:80df663dd15e 25 #define ASSERVISSEMENT_CONFIG_KPI_DROITE 0x1F2 // Config coef KPI_Droit
R66Y 0:80df663dd15e 26 #define ASSERVISSEMENT_CONFIG_KPD_DROITE 0x1F3 // Config coef KPD_Droit
R66Y 0:80df663dd15e 27 #define ASSERVISSEMENT_CONFIG_KPP_GAUCHE 0x1F4 // Config coef KPP_Gauche
R66Y 0:80df663dd15e 28 #define ASSERVISSEMENT_CONFIG_KPI_GAUCHE 0x1F5 // Config coef KPI_Gauche
R66Y 0:80df663dd15e 29 #define ASSERVISSEMENT_CONFIG_KPD_GAUCHE 0x1F6 // Config coef KPD_Gauche
R66Y 0:80df663dd15e 30 #define ASSERVISSEMENT_ENABLE 0x1F7 // Activation asservissement (0 : désactivation, 1 : activation)
R66Y 0:80df663dd15e 31
R66Y 0:80df663dd15e 32 #define RESET_BALISE 0x030 // Reset balise
R66Y 0:80df663dd15e 33 #define RESET_MOTEUR 0x031 // Reset moteur
R66Y 0:80df663dd15e 34 #define RESET_IHM 0x032 // Reset écran tactile
R66Y 0:80df663dd15e 35 #define RESET_ACTIONNEURS 0x033 // Reset actionneurs
R66Y 0:80df663dd15e 36 #define RESET_STRAT 0x3A // Reset stratégie
R66Y 0:80df663dd15e 37
R66Y 0:80df663dd15e 38 #define CHECK_BALISE 0x060 // Check balise
R66Y 0:80df663dd15e 39 #define CHECK_MOTEUR 0x061 // Check moteur
R66Y 0:80df663dd15e 40 #define CHECK_IHM 0x062 // Check écran tactile
R66Y 0:80df663dd15e 41 #define CHECK_ACTIONNEURS 0x063 // Check actionneurs
R66Y 0:80df663dd15e 42 #define CHECK_POMPE 0x064 // Check de la pompe
R66Y 0:80df663dd15e 43 #define CHECK_AX12 0x065 // Check des ax12
R66Y 0:80df663dd15e 44
R66Y 0:80df663dd15e 45 #define ALIVE_BALISE 0x070 // Alive balise
R66Y 0:80df663dd15e 46 #define ALIVE_MOTEUR 0x071 // Alive moteur
R66Y 0:80df663dd15e 47 #define ALIVE_IHM 0x072 // Alive écran tactile
R66Y 0:80df663dd15e 48 #define ALIVE_ACTIONNEURS 0x073 // Alive actionneurs
R66Y 0:80df663dd15e 49 #define ALIVE_AX12 0x075 //Alive AX12
R66Y 0:80df663dd15e 50
R66Y 0:80df663dd15e 51 #define SERVO_AX12_ACTION 0x96 //AX12 action
R66Y 0:80df663dd15e 52 #define SERVO_AX12_ACK 0x106 //AX12 ACK
R66Y 0:80df663dd15e 53 #define SERVO_AX12_END 0x116 //AX12 END action
R66Y 0:80df663dd15e 54 #define SERVO_AX12_POSITION 0x126 //AX12_POSITION
R66Y 0:80df663dd15e 55
R66Y 0:80df663dd15e 56 #define ACKNOWLEDGE_BALISE 0x100 // Acknowledge balise
R66Y 0:80df663dd15e 57 #define ACKNOWLEDGE_MOTEUR 0x101 // Acknowledge moteur
R66Y 0:80df663dd15e 58 #define ACKNOWLEDGE_IHM 0x102 // Acknowledge ecran tactile
R66Y 0:80df663dd15e 59 #define ACKNOWLEDGE_ACTIONNEURS 0x103 // Acknowledge actionneurs
R66Y 0:80df663dd15e 60
R66Y 0:80df663dd15e 61 #define INSTRUCTION_END_BALISE 0x110 // Fin instruction balise (Indique que l'instruction est terminée)
R66Y 0:80df663dd15e 62 #define INSTRUCTION_END_MOTEUR 0x111 // Fin instruction moteur (Indique que l'instruction est terminée)
R66Y 0:80df663dd15e 63 #define INSTRUCTION_END_IHM 0x112 // Fin instruction ecran tactile (Indique que l'instruction est terminée)
R66Y 0:80df663dd15e 64 #define INSTRUCTION_END_ACTIONNEURS 0x113 // Fin instruction actionneurs (Indique que l'instruction est terminée)
R66Y 0:80df663dd15e 65
R66Y 0:80df663dd15e 66 #define ECRAN_CHOICE_STRAT 0x601 // Choix d'une stratégie (n° strat (1-4))
R66Y 0:80df663dd15e 67 #define ECRAN_CHOICE_COLOR 0x602 // Couleur (0->Purple;1->green)
R66Y 0:80df663dd15e 68 #define ECRAN_START_MATCH 0x603 // Match (Indique que l'on souhaite commencer le match)
R66Y 0:80df663dd15e 69 #define ECRAN_DEMO_BEGIN 0x604 // Debut du mode Demonstration
R66Y 0:80df663dd15e 70 #define ECRAN_ACK_STRAT 0x611 // Acknowledge stratégie (si 0 erreur, sinon n°strat)
R66Y 0:80df663dd15e 71 #define ECRAN_ACK_COLOR 0x612 // Acknowledge couleur (0->Purple;1->green)
R66Y 0:80df663dd15e 72 #define ECRAN_ACK_START_MATCH 0x613 // Acknowledge Match (Indique que l'on a bien reçu le debut du match)
R66Y 0:80df663dd15e 73 #define ECRAN_ACK_DEMO 0x614 // Acknowledge Demonstration
R66Y 0:80df663dd15e 74 #define ECRAN_ALL_CHECK 0x620 // Carte all check (Si provient de carte strat => toutes les cartes sont en ligne, Si provient IHM => forcer le lancement)
R66Y 0:80df663dd15e 75 #define ECRAN_TIME 0x621 // Time match (Indication de moment cle du temps (10,30,60,70,80,85,90))
R66Y 0:80df663dd15e 76 #define ECRAN_PRINTF_1 0x6C0 // Tactile printf (Afficher les 8 permier caractères)
R66Y 0:80df663dd15e 77 #define ECRAN_PRINTF_2 0x6C1 // Tactile printf (Afficher les 8 second caractères)
R66Y 0:80df663dd15e 78 #define ECRAN_PRINTF_3 0x6C2 // Tactile printf (Afficher les 8 troisième caractères)
R66Y 0:80df663dd15e 79 #define ECRAN_PRINTF_4 0x6C3 // Tactile printf (Afficher les 8 quatrième caractères)
R66Y 0:80df663dd15e 80 #define ECRAN_PRINTF_CLEAR 0x6CF // Tactile printf clear (Permet d'effacer l'ecran)
R66Y 0:80df663dd15e 81
R66Y 0:80df663dd15e 82 #define ERROR_OVERFLOW_BALISE 0x040 // Overflow odométrie
R66Y 0:80df663dd15e 83 #define ERROR_OVERFLOW_MOTEUR 0x041 // Overflow asservissement
R66Y 0:80df663dd15e 84 #define ERROR_OVERFLOW_IHM 0x042 // Overflow balise
R66Y 0:80df663dd15e 85 #define ERROR_OVERFLOW_STRAT 0x043 // Overflow stratégie
R66Y 0:80df663dd15e 86 #define ERROR_BALISE 0x785 // Bug balise
R66Y 0:80df663dd15e 87 #define ERROR_RTC 0x786 // Bug RTC
R66Y 0:80df663dd15e 88 #define ERROR_MOTEUR 0x787 // Bug moteur
R66Y 0:80df663dd15e 89 #define ERROR_TELEMETRIE 0x788 // Bug télémètre
R66Y 0:80df663dd15e 90 #define ERROR_STRATEGIE 0x789 // Bug stratégie
R66Y 0:80df663dd15e 91
R66Y 0:80df663dd15e 92 #define DEBUG_STRATEGIE_AUTOMATE 0x760 // Etat automate stratégie (Permet de savoir l'etat de l'automate)
R66Y 0:80df663dd15e 93 #define DEBUG_FAKE_JAKE 0x761 // Fake jack (Permet d'outre passerr le JACk du robot)
R66Y 0:80df663dd15e 94 #define DEBUG_ASSERV 0x762 // Info debug carte moteur
R66Y 0:80df663dd15e 95
R66Y 0:80df663dd15e 96 #define SERVO_AX12_SETGOAL 0x090 // AX12 setGoal (Indiquer la nouvelle position de l'AX12 !! Ne bouge pas)
R66Y 0:80df663dd15e 97 #define SERVO_AX12_PROCESS 0x091 // AX12 processChange (Lancer le déplacement des AX12)
R66Y 0:80df663dd15e 98 #define SERVO_AX12_DONE 0x092 // AX12 done (Indique q'un AX12 a terminé son déplacement)
R66Y 0:80df663dd15e 99 #define SERVO_XL320 0x093 // XL320
R66Y 0:80df663dd15e 100 #define POMPE_PWM 0x9A // pwm des pompes
R66Y 0:80df663dd15e 101