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

directive.cpp

Committer:
salco
Date:
2015-05-14
Revision:
27:ea60d12dccdf
Parent:
23:7b296b6d8285
Child:
28:ac5c6350ed9a

File content as of revision 27:ea60d12dccdf:


#include "directive.h"

Directive::Directive():TTask(0)//on veux que cette tache sois exec toute les fois que TTaskGen sexecute.
{
    c=0;
    ssc32 = new /*Serial*//*Raw*/Serial/*(USBTX, USBRX);*/(PB_6, PB_7);//(PA_9, PA_10);
    ctrDesPattes = new Faculter_motrice(ssc32/*pc*/);
    //m_CtrlBridge = m_CtrlBridge->getInstance();
    //a enlever de commentaire//m_ListDesModules = m_CtrlBridge->findModule(0,1,0,0);

    //Serial pc(USBTX, USBRX);

    //ssc32->set_flow_control(0);
    debug("\n\r directive Init");//printf("Hello World\n");
    m_ListDesModules = m_CtrlBridge->findModule(0,CAPTEUR,DISTANCE,0);
    m_ListDesModules.append(m_CtrlBridge->findModule(0,CAPTEUR,PROXIMITEE,0));
    
    m_capteurUltrasonic= m_CtrlBridge->findModule(0,CAPTEUR,ULTRASONIQUE,0x27/*0b100111*/);
    m_capteurIR= m_CtrlBridge->findModule(0,CAPTEUR,DISTANCE,0x27/*0b100111*/);
    m_capteurProximiter= m_CtrlBridge->findModule(0,CAPTEUR,PROXIMITEE,0x0E/*0b001110*/);
}
Directive::~Directive()
{

    if(ctrDesPattes)
        delete ctrDesPattes;
    if(ssc32)
        delete ssc32;
}
void Directive::task(void)//ALL CODE HERE//
{
    debug(DEBUG_DIRECTIVE_TEST,"\n\rIn task directive");
    //pas sur que c'Est tout ce qui doit etre ici mais je vois pas quoi d'autre pour le moment.
    string flag,data;

    ////////////////
    // Inspection //
    ////////////////
    flag.append(1,0);//0x02);
    for(int i=0; i<m_ListDesModules.length(); ++i)
    {
     wait_us(300);
     flag.clear();
     flag.append(1,7);  
     data.clear(); 
    debug("\n\r result: %d",m_CtrlBridge->send(m_ListDesModules.at(i),flag,data));
    
    debug("\n\r flag: %d",flag[0]);
    debug("\n\r data: %x",data[0]);
    
    }
    //////////////////////////////
    // Traitement du Labyrinthe //
    //////////////////////////////
    
    ///////////////
// Mouvement //
///////////////
    //  ctrDesPattes.exec();
////////////////////
// Update memoire //
////////////////////

////////////
// Autre? //
////////////
    debug(DEBUG_DIRECTIVE_TEST,"\n\rOut task directive");
}