Programme de contrôle de l'octopode 4DOF, Theraphosa-Salconi.

Dependencies:   debug mbed

CtrlBridge

  • fonction quelquonque pour communiquer avec les module
  • fonction quelquonque pour faire des recherche dans les module dispo
  • autre fonction pour jouer avec MemRegistre

Version 1.2.0

  • Ajout d'un mode de simulation pour tester le code avec seulement un contrôleur stm32
Committer:
salco
Date:
Sat Sep 12 21:34:57 2015 +0000
Revision:
35:d81f6b927932
Parent:
28:ac5c6350ed9a
Child:
38:57d5f36a0333
modification du labyrithe et test du doxygen.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
salco 2:4c5b0f6d0a6b 1 /**
salco 35:d81f6b927932 2 * @file directive.h
salco 2:4c5b0f6d0a6b 3 * @brief Cette classe est le modele des 3 taches de controle.
salco 2:4c5b0f6d0a6b 4 * @author Salco
salco 2:4c5b0f6d0a6b 5 * @version 2.00
salco 2:4c5b0f6d0a6b 6 * @date 11 mars 2015
salco 2:4c5b0f6d0a6b 7 */
salco 2:4c5b0f6d0a6b 8 #ifndef DIRECTIVE_H
salco 2:4c5b0f6d0a6b 9 #define DIRECTIVE_H
salco 2:4c5b0f6d0a6b 10
salco 19:0ac80045ba4c 11 #define DEBUG_DIRECTIVE_TEST 1
salco 28:ac5c6350ed9a 12 #define DEBUG_DIRECTIVE_LABYRINTH 1
salco 28:ac5c6350ed9a 13
salco 28:ac5c6350ed9a 14
salco 28:ac5c6350ed9a 15 #define mvToADC(value)((value*1.023)/5)
salco 28:ac5c6350ed9a 16 #define ADCTomv(value)((value*5)/1.023)
salco 28:ac5c6350ed9a 17 #define ultrasonicToInch(value)(ADCTomv(value)/9.8)
salco 28:ac5c6350ed9a 18
salco 28:ac5c6350ed9a 19 #define mvToInch(value)(value/9.8)
salco 28:ac5c6350ed9a 20
salco 28:ac5c6350ed9a 21
salco 19:0ac80045ba4c 22
salco 3:e0d6e081a9d3 23 #include "mbed.h"
salco 19:0ac80045ba4c 24 #include "debug.h"
salco 2:4c5b0f6d0a6b 25 #include "source/Task/TTask.h"
salco 3:e0d6e081a9d3 26 #include "Motrice/mouvement.h"
salco 28:ac5c6350ed9a 27 #include <stdlib.h> /* srand, rand */
salco 28:ac5c6350ed9a 28 #include <time.h> /* time */
salco 28:ac5c6350ed9a 29 #include "labyrinthe.h"
salco 35:d81f6b927932 30 #include "settingDebug.h"
salco 2:4c5b0f6d0a6b 31
salco 28:ac5c6350ed9a 32 //////////////////////////////
salco 28:ac5c6350ed9a 33 // 00 - Nothing //
salco 28:ac5c6350ed9a 34 //X01 - Calibration(milieu) //
salco 28:ac5c6350ed9a 35 //X02 - Debout //
salco 28:ac5c6350ed9a 36 //X03 - Coucher //
salco 28:ac5c6350ed9a 37 //X04 - Tourne Gauche //
salco 28:ac5c6350ed9a 38 //X05 - Tourne Droite //
salco 28:ac5c6350ed9a 39 // 06 - Marche //
salco 28:ac5c6350ed9a 40 // 07 - Recule //
salco 28:ac5c6350ed9a 41 // 08 - Repositioner legs //
salco 28:ac5c6350ed9a 42 // 09 - Crabe Gauche // Dont use Crabe because it's really anoying
salco 28:ac5c6350ed9a 43 // 10 - Crabe Droite // Dont use Crabe because it's really anoying
salco 28:ac5c6350ed9a 44 // 11 - Position naturel //
salco 28:ac5c6350ed9a 45 //////////////////////////////
salco 2:4c5b0f6d0a6b 46 class Directive : public TTask
salco 2:4c5b0f6d0a6b 47 {
salco 27:ea60d12dccdf 48 //CtrlBridge* m_CtrlBridge;
salco 3:e0d6e081a9d3 49 Faculter_motrice *ctrDesPattes;
salco 27:ea60d12dccdf 50 /*Serial*//*Raw*/Serial *ssc32;
salco 27:ea60d12dccdf 51 string m_capteurUltrasonic,m_capteurIR,m_capteurProximiter;
salco 28:ac5c6350ed9a 52 //char c;
salco 28:ac5c6350ed9a 53 Labyrinthe* myMaze;
salco 28:ac5c6350ed9a 54
salco 28:ac5c6350ed9a 55 int m_valueCapteurUltrasonic,m_valueCapteurIR,m_valueCapteurProximiter;
salco 28:ac5c6350ed9a 56 unsigned char tableauDeCommange[10];
salco 28:ac5c6350ed9a 57 unsigned char size_tableauDeCommange;
salco 28:ac5c6350ed9a 58 void updateModuleValue(void);
salco 28:ac5c6350ed9a 59
salco 2:4c5b0f6d0a6b 60 protected:
salco 28:ac5c6350ed9a 61 /*
salco 28:ac5c6350ed9a 62 * Tache principale de la classe
salco 28:ac5c6350ed9a 63 */
salco 2:4c5b0f6d0a6b 64 virtual void task(void);
salco 28:ac5c6350ed9a 65 void analiseMaze(void);
salco 2:4c5b0f6d0a6b 66 public:
salco 2:4c5b0f6d0a6b 67 Directive();
salco 2:4c5b0f6d0a6b 68 virtual~Directive();
salco 28:ac5c6350ed9a 69 double IRToCm (double miliVolt);
salco 28:ac5c6350ed9a 70 void addTableauDeCommande(unsigned char value);
salco 2:4c5b0f6d0a6b 71
salco 2:4c5b0f6d0a6b 72 };
salco 2:4c5b0f6d0a6b 73 #endif // DIRECTIVE_H