FRC_equipe1 / Mbed 2 deprecated FRC_2019

Dependencies:   mbed

Committer:
Wael_H
Date:
Thu May 23 15:37:33 2019 +0000
Revision:
9:2113adf37c66
Parent:
8:94ecfe411d02
Child:
11:e8c4a1c6553d
Child:
13:9c62e263f245
VERSION PARFAITE DE MA CLASSE (SIGNER WAEL)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wael_H 5:34048faec367 1 #ifndef CAN_ASSER_H
Wael_H 5:34048faec367 2 #define CAN_ASSER_H
Wael_H 5:34048faec367 3
Wael_H 5:34048faec367 4 #include "mbed.h"
Wael_H 5:34048faec367 5
Wael_H 5:34048faec367 6 #define TE_100US 100
Wael_H 5:34048faec367 7 #define TE (TE_100US*0.0001)
Wael_H 5:34048faec367 8
Wael_H 5:34048faec367 9 #define ASSERVISSEMENT_STOP 0x001 // Stop moteur
Wael_H 5:34048faec367 10 #define ASSERVISSEMENT_SPEED_DANGER 0x006 // Vitesse de danger
Wael_H 5:34048faec367 11 #define ASSERVISSEMENT_XYT 0x020 // Asservissement (x,y,theta) (0 : au choix 1 : avant -1 : arrière)
Wael_H 5:34048faec367 12 #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)
Wael_H 5:34048faec367 13 #define ASSERVISSEMENT_CONFIG 0x022 // Asservissement paramètre (définir les valeurs de vitesse max et d'eccélération max)
Wael_H 5:34048faec367 14 #define ASSERVISSEMENT_ROTATION 0x023 // Asservissement rotation
Wael_H 5:34048faec367 15 #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)
Wael_H 5:34048faec367 16 #define ASSERVISSEMENT_CONFIG_DECEL 0x019
Wael_H 5:34048faec367 17
Wael_H 5:34048faec367 18 #define ASSERVISSEMENT_ENABLE 0x1F7 // Activation asservissement (0 : désactivation, 1 : activation)
Wael_H 5:34048faec367 19
Wael_H 5:34048faec367 20 #define ASSERVISSEMENT_CONFIG_KPP_DROITE 0x1F1
Wael_H 5:34048faec367 21 #define ASSERVISSEMENT_CONFIG_KPI_DROITE 0x1F2
Wael_H 5:34048faec367 22 #define ASSERVISSEMENT_CONFIG_KPD_DROITE 0x1F3
Wael_H 5:34048faec367 23 #define ASSERVISSEMENT_CONFIG_KPP_GAUCHE 0x1F4
Wael_H 5:34048faec367 24 #define ASSERVISSEMENT_CONFIG_KPI_GAUCHE 0x1F5
Wael_H 5:34048faec367 25 #define ASSERVISSEMENT_CONFIG_KPD_GAUCHE 0x1F6
Wael_H 5:34048faec367 26
Wael_H 5:34048faec367 27 #define ODOMETRIE_POSITION 0x26
Wael_H 5:34048faec367 28
Wael_H 7:753e901d441b 29 void can_init(void);
Wael_H 7:753e901d441b 30 void isr_can();
Wael_H 9:2113adf37c66 31 void majFlagDpl(bool& flagFinDpl);
Wael_H 9:2113adf37c66 32 void majPos(int* pos);
Wael_H 5:34048faec367 33 void get_pos(CANMessage msg_pos, short* position);
Wael_H 5:34048faec367 34
Wael_H 5:34048faec367 35 void SendCoefK (unsigned short id, double K);
Wael_H 5:34048faec367 36
Wael_H 5:34048faec367 37 /*********************************************************************************************************/
Wael_H 5:34048faec367 38
Wael_H 5:34048faec367 39 /* FUNCTION NAME: SendRawId */
Wael_H 5:34048faec367 40 /* DESCRIPTION : Envoie un message sans donnée, c'est-à-dire contenant uniquement un ID, sur le bus CAN */
Wael_H 5:34048faec367 41 /*********************************************************************************************************/
Wael_H 5:34048faec367 42 void SendRawId (unsigned short id);
Wael_H 5:34048faec367 43
Wael_H 5:34048faec367 44 /*********************************************************************************************/
Wael_H 5:34048faec367 45
Wael_H 5:34048faec367 46 /* FUNCTION NAME: SendAck */
Wael_H 5:34048faec367 47
Wael_H 5:34048faec367 48 /* DESCRIPTION : Envoyer un acknowledge */
Wael_H 5:34048faec367 49 /*********************************************************************************************/
Wael_H 5:34048faec367 50 void SendAck(unsigned short id, unsigned short from);
Wael_H 5:34048faec367 51
Wael_H 5:34048faec367 52 /*********************************************************************************************/
Wael_H 5:34048faec367 53
Wael_H 5:34048faec367 54 /* FUNCTION NAME: GoToPosition */
Wael_H 5:34048faec367 55 /* DESCRIPTION : Transmission CAN correspondant à un asservissement en position (x,y,theta) */
Wael_H 5:34048faec367 56 /*********************************************************************************************/
Wael_H 5:34048faec367 57
Wael_H 5:34048faec367 58 void GoToPosition (unsigned short x,unsigned short y,signed short theta,signed char sens);
Wael_H 5:34048faec367 59
Wael_H 5:34048faec367 60 /****************************************************************************************/
Wael_H 5:34048faec367 61
Wael_H 5:34048faec367 62 /* FUNCTION NAME: Rotate */
Wael_H 5:34048faec367 63
Wael_H 5:34048faec367 64 /* DESCRIPTION : Transmission CAN correspondant à une rotation */
Wael_H 5:34048faec367 65 /****************************************************************************************/
Wael_H 5:34048faec367 66
Wael_H 5:34048faec367 67 void Rotate (signed short angle);
Wael_H 5:34048faec367 68
Wael_H 5:34048faec367 69 /********************************************************************************************
Wael_H 5:34048faec367 70 FUNCTION NAME: GoStraight
Wael_H 5:34048faec367 71 DESCRIPTION : Transmission CAN correspondant à une ligne droite, avec ou sans recalage
Wael_H 5:34048faec367 72
Wael_H 5:34048faec367 73 recalage : 0 => pas de recalage
Wael_H 5:34048faec367 74
Wael_H 5:34048faec367 75 1 => recalage en X
Wael_H 5:34048faec367 76
Wael_H 5:34048faec367 77 2 => Recalage en Y
Wael_H 5:34048faec367 78
Wael_H 5:34048faec367 79 newValue : Uniquement en cas de recalage, indique la nouvelle valeur de l'odo
Wael_H 5:34048faec367 80
Wael_H 5:34048faec367 81 isEnchainement : Indique si il faut executer l'instruction en enchainement
Wael_H 5:34048faec367 82
Wael_H 5:34048faec367 83 0 => non
Wael_H 5:34048faec367 84
Wael_H 5:34048faec367 85 1 => oui
Wael_H 5:34048faec367 86
Wael_H 5:34048faec367 87 2 => dernière instruction de l'enchainement
Wael_H 5:34048faec367 88 ********************************************************************************************/
Wael_H 5:34048faec367 89 void GoStraight (signed short distance,unsigned char recalage, unsigned short newValue, unsigned char isEnchainement);
Wael_H 5:34048faec367 90
Wael_H 5:34048faec367 91 /********************************************************************************************/
Wael_H 5:34048faec367 92
Wael_H 5:34048faec367 93 /* FUNCTION NAME: BendRadius */
Wael_H 5:34048faec367 94
Wael_H 5:34048faec367 95 /* DESCRIPTION : Transmission CAN correspondant à un rayon de courbure */
Wael_H 5:34048faec367 96 /********************************************************************************************/
Wael_H 5:34048faec367 97 void BendRadius (unsigned short rayon,signed short angle,signed char sens, unsigned char enchainement);
Wael_H 5:34048faec367 98
Wael_H 5:34048faec367 99 void SetOdometrie (unsigned short canId, unsigned short x,unsigned short y,signed short theta);
Wael_H 5:34048faec367 100
Wael_H 5:34048faec367 101 /****************************************************************************************/
Wael_H 5:34048faec367 102
Wael_H 5:34048faec367 103 /* FUNCTION NAME: setAsservissementEtat */
Wael_H 5:34048faec367 104
Wael_H 5:34048faec367 105 /* DESCRIPTION : Activer ou désactiver l'asservissement */
Wael_H 5:34048faec367 106 /****************************************************************************************/
Wael_H 5:34048faec367 107 void setAsservissementEtat(unsigned char enable);
Wael_H 5:34048faec367 108
Wael_H 5:34048faec367 109 /****************************************************************************************/
Wael_H 5:34048faec367 110
Wael_H 5:34048faec367 111 /* FUNCTION NAME: SendSpeed */
Wael_H 5:34048faec367 112
Wael_H 5:34048faec367 113 /* DESCRIPTION : Envoie un asservissement paramètre retournant à une vitesse */
Wael_H 5:34048faec367 114 /****************************************************************************************/
Wael_H 5:34048faec367 115 void SendSpeed (unsigned short vitesse, unsigned short acceleration);
Wael_H 5:34048faec367 116 /****************************************************************************************/
Wael_H 5:34048faec367 117
Wael_H 5:34048faec367 118 /* FUNCTION NAME: SendSpeedDecel */
Wael_H 5:34048faec367 119
Wael_H 5:34048faec367 120 /* DESCRIPTION : Envoie un asservissement paramètre retournant à une vitesse */
Wael_H 5:34048faec367 121 /****************************************************************************************/
Wael_H 5:34048faec367 122 void SendSpeedDecel (unsigned short vitesse, unsigned short deceleration);
Wael_H 5:34048faec367 123
Wael_H 5:34048faec367 124
Wael_H 5:34048faec367 125 #endif