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:
Tue Jul 28 01:22:16 2015 +0000
Revision:
28:ac5c6350ed9a
Parent:
27:ea60d12dccdf
Child:
35:d81f6b927932
tsest

Who changed what in which revision?

UserRevisionLine numberNew contents of line
salco 2:4c5b0f6d0a6b 1 /**
salco 2:4c5b0f6d0a6b 2 * @file TTask.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 2:4c5b0f6d0a6b 30
salco 28:ac5c6350ed9a 31 //////////////////////////////
salco 28:ac5c6350ed9a 32 // 00 - Nothing //
salco 28:ac5c6350ed9a 33 //X01 - Calibration(milieu) //
salco 28:ac5c6350ed9a 34 //X02 - Debout //
salco 28:ac5c6350ed9a 35 //X03 - Coucher //
salco 28:ac5c6350ed9a 36 //X04 - Tourne Gauche //
salco 28:ac5c6350ed9a 37 //X05 - Tourne Droite //
salco 28:ac5c6350ed9a 38 // 06 - Marche //
salco 28:ac5c6350ed9a 39 // 07 - Recule //
salco 28:ac5c6350ed9a 40 // 08 - Repositioner legs //
salco 28:ac5c6350ed9a 41 // 09 - Crabe Gauche // Dont use Crabe because it's really anoying
salco 28:ac5c6350ed9a 42 // 10 - Crabe Droite // Dont use Crabe because it's really anoying
salco 28:ac5c6350ed9a 43 // 11 - Position naturel //
salco 28:ac5c6350ed9a 44 //////////////////////////////
salco 2:4c5b0f6d0a6b 45 class Directive : public TTask
salco 2:4c5b0f6d0a6b 46 {
salco 27:ea60d12dccdf 47 //CtrlBridge* m_CtrlBridge;
salco 3:e0d6e081a9d3 48 Faculter_motrice *ctrDesPattes;
salco 27:ea60d12dccdf 49 /*Serial*//*Raw*/Serial *ssc32;
salco 27:ea60d12dccdf 50 string m_capteurUltrasonic,m_capteurIR,m_capteurProximiter;
salco 28:ac5c6350ed9a 51 //char c;
salco 28:ac5c6350ed9a 52 Labyrinthe* myMaze;
salco 28:ac5c6350ed9a 53
salco 28:ac5c6350ed9a 54 int m_valueCapteurUltrasonic,m_valueCapteurIR,m_valueCapteurProximiter;
salco 28:ac5c6350ed9a 55 unsigned char tableauDeCommange[10];
salco 28:ac5c6350ed9a 56 unsigned char size_tableauDeCommange;
salco 28:ac5c6350ed9a 57 void updateModuleValue(void);
salco 28:ac5c6350ed9a 58
salco 2:4c5b0f6d0a6b 59 protected:
salco 28:ac5c6350ed9a 60 /*
salco 28:ac5c6350ed9a 61 * Tache principale de la classe
salco 28:ac5c6350ed9a 62 */
salco 2:4c5b0f6d0a6b 63 virtual void task(void);
salco 28:ac5c6350ed9a 64 void analiseMaze(void);
salco 2:4c5b0f6d0a6b 65 public:
salco 2:4c5b0f6d0a6b 66 Directive();
salco 2:4c5b0f6d0a6b 67 virtual~Directive();
salco 28:ac5c6350ed9a 68 double IRToCm (double miliVolt);
salco 28:ac5c6350ed9a 69 void addTableauDeCommande(unsigned char value);
salco 2:4c5b0f6d0a6b 70
salco 2:4c5b0f6d0a6b 71 };
salco 2:4c5b0f6d0a6b 72 #endif // DIRECTIVE_H