Bonjour,

voila je suis en premiere année de dut informatique, et je coince. Je fais partie d'un club robotique et un enseignant à programmer un µC qui me permet d'utiliser des classes déja toutes faites. Celle qui me pose probleme et la classe Ticker voici la méthode en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
/** Attach a function to be called by the Ticker, specifiying the interval in micro-seconds
     *
     *  @param fptr pointer to the function to be called
     *  @param t the time between calls in micro-seconds
     */
    void attach_us(void (*fptr)(void), timestamp_t t) {
        _function.attach(fptr);
        setup(t);
    }
j'ai donc réussi a utiliser cette méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
/... différents objets et variables créent en global
 
void CapteurUs(){ //cette fonction permet de générer un pulse pour que mon capteur Ultrason fonctionne, le code en lui meme n'est pas intéressant 
	if(m_verrou_trig == false){
		Timer_trig.start();
		Pin_trig.write(1);
		m_verrou_trig  = true;
	}
	if((Timer_trig.read_us() >= 10) and (Timer_trig.read_us() < 60)){
		Pin_trig.write(0);
	}
	if(Timer_trig.read_us() >= 1000){ 	//on relance automatiquement une autre impulsion apres 1000µs 
 
		Timer_trig.stop();
		Timer_trig.reset();
		m_verrou_trig2  = false;
	}
}
int main(){
Ticker T1;
T1.attach_us(&CapteurUs1, 25);
//...suite du code
et ca marche. Mais vu que j'ai plein de capteurs Ultrason à utiliser, branchés à des broches différentes, je me suis dis, autant faire une classe ca sera plus clair. Et la je coince. Car ma class CapteurUS j'ai une méthode generatePulse() et quand je met

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
CapteurUS C1(...); //constructeur avec différents parametres
 
Ticker T1;
T1.attach_us(&C1.generetePulse, 25)
ca ne marche pas. Je me suis renseigné et il faut mettre ca en static, or le probleme et qu'en static je n'ai plus acces au variable de ma class donc je suis coincé car ma class Capteur doit modifier la distance de l'un de ses attributs.

Comment faire? j'espere que vous avez compris mon probleme.
Je suis débutant en C++ donc ne soyez pas bourrin dans vos explications sinon vous allez me perdre :'(

Merci d'avance pour vos réponses