homologation gros robot et test avec les ack de la carte a tout faire
Fork of CRAC-Strat_2017_HOMOLOGATION_PETIT_ROBOT by
Asservissement.h
00001 #ifndef CRAC_ASSERVISSEMENT 00002 #define CRAC_ASSERVISSEMENT 00003 00004 #include "global.h" 00005 00006 /*********************************************************************************************************/ 00007 /* FUNCTION NAME: SendRawId */ 00008 /* DESCRIPTION : Envoie un message sans donnée, c'est-à-dire contenant uniquement un ID, sur le bus CAN */ 00009 /*********************************************************************************************************/ 00010 void SendRawId (unsigned short id); 00011 00012 /*********************************************************************************************/ 00013 /* FUNCTION NAME: SendAck */ 00014 /* DESCRIPTION : Envoyer un acknowledge */ 00015 /*********************************************************************************************/ 00016 void SendAck(unsigned short id, unsigned short from); 00017 00018 /*********************************************************************************************/ 00019 /* FUNCTION NAME: GoToPosition */ 00020 /* DESCRIPTION : Transmission CAN correspondant à un asservissement en position (x,y,theta) */ 00021 /*********************************************************************************************/ 00022 00023 void GoToPosition (unsigned short x,unsigned short y,signed short theta,signed char sens); 00024 00025 /****************************************************************************************/ 00026 /* FUNCTION NAME: Rotate */ 00027 /* DESCRIPTION : Transmission CAN correspondant à une rotation */ 00028 /****************************************************************************************/ 00029 00030 void Rotate (signed short angle); 00031 00032 /*********************************************************************************************/ 00033 /* FUNCTION NAME: GoStraight */ 00034 /* DESCRIPTION : Transmission CAN correspondant à une ligne droite, avec ou sans recalage */ 00035 /* recalage : 0 => pas de recalage */ 00036 /* 1 => recalage en X */ 00037 /* 2 => Recalage en Y */ 00038 /* newValue : Uniquement en cas de recalage, indique la nouvelle valeur de l'odo */ 00039 /* isEnchainement : Indique si il faut executer l'instruction en enchainement */ 00040 /* 0 => non */ 00041 /* 1 => oui */ 00042 /* 2 => dernière instruction de l'enchainement */ 00043 /*********************************************************************************************/ 00044 void GoStraight (signed short distance,unsigned char recalage, unsigned short newValue, unsigned char isEnchainement); 00045 00046 /********************************************************************************************/ 00047 /* FUNCTION NAME: BendRadius */ 00048 /* DESCRIPTION : Transmission CAN correspondant à un rayon de courbure */ 00049 /********************************************************************************************/ 00050 void BendRadius (unsigned short rayon,signed short angle,signed char sens, unsigned char enchainement); 00051 00052 void SetOdometrie (unsigned short canId, unsigned short x,unsigned short y,signed short theta); 00053 00054 /****************************************************************************************/ 00055 /* FUNCTION NAME: setAsservissementEtat */ 00056 /* DESCRIPTION : Activer ou désactiver l'asservissement */ 00057 /****************************************************************************************/ 00058 void setAsservissementEtat(unsigned char enable); 00059 00060 /****************************************************************************************/ 00061 /* FUNCTION NAME: SendSpeed */ 00062 /* DESCRIPTION : Envoie un asservissement paramètre retournant à une vitesse */ 00063 /****************************************************************************************/ 00064 void SendSpeed (unsigned short vitesse, unsigned short acceleration); 00065 #endif
Generated on Wed Jul 13 2022 01:53:39 by 1.7.2