![](/media/cache/profiles/4b0986230d9d7aded7f0c24033d221d4.jpg.50x50_q85.jpg)
Programme de contrôle de l'octopode 4DOF, Theraphosa-Salconi.
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
directive.h
- Committer:
- salco
- Date:
- 2015-10-05
- Revision:
- 38:57d5f36a0333
- Parent:
- 35:d81f6b927932
- Child:
- 39:34d7802e8d15
File content as of revision 38:57d5f36a0333:
/** * @file directive.h * @brief Cette classe est le modele des 3 taches de controle. * @author Salco * @version 2.00 * @date 11 mars 2015 */ #ifndef DIRECTIVE_H #define DIRECTIVE_H #define DEBUG_DIRECTIVE_TEST 1 #define DEBUG_DIRECTIVE_LABYRINTH 1 #define mvToADC(value)((value*1.023)/5) #define ADCTomv(value)((value*5)/1.023) #define ultrasonicToInch(value)(ADCTomv(value)/9.8) #define mvToInch(value)(value/9.8) #include "mbed.h" #include "debug.h" #include "source/Task/TTask.h" #include "Motrice/mouvement.h" #include <stdlib.h> /* srand, rand */ #include <list> #include <time.h> /* time */ #include "labyrinthe.h" #include "settingDebug.h" ////////////////////////////// // 00 - Nothing // //X01 - Calibration(milieu) // //X02 - Debout // //X03 - Coucher // //X04 - Tourne Gauche // //X05 - Tourne Droite // // 06 - Marche // // 07 - Recule // // 08 - Repositioner legs // // 09 - Crabe Gauche // Dont use Crabe because it's really anoying // 10 - Crabe Droite // Dont use Crabe because it's really anoying // 11 - Position naturel // ////////////////////////////// class Directive : public TTask { //CtrlBridge* m_CtrlBridge; Faculter_motrice *ctrDesPattes; /*Serial*//*Raw*/Serial *ssc32; string m_capteurUltrasonic,m_capteurIR,m_capteurProximiter; //char c; Labyrinthe* myMaze; struct positionXY { signed char posX; signed char posY; }; std::list<positionXY> bufferNewWay; int m_valueCapteurUltrasonic,m_valueCapteurIR,m_valueCapteurProximiter; unsigned char tableauDeCommange[10]; unsigned char size_tableauDeCommange; void updateModuleValue(void); protected: /* * Tache principale de la classe */ virtual void task(void); void analiseMaze(void); char checkOtherWay(char dir, bool checkExplorer=false); bool searchNewWay(void); bool isAnotherWay(void); public: Directive(); virtual~Directive(); double IRToCm (double miliVolt); void addTableauDeCommande(unsigned char value); }; #endif // DIRECTIVE_H