création Library Arduino

Salut à tout le monde,

J’ai créé une bibliothèque et dans le fichier source (testBP.cpp) je veux récupérer les valeurs des variables suivantes :

Point (unsigned long)
MouchePoints (int)
MoucheNombre (int)
NbtiresReel (int)
Zone1 (int)
Zone2 (int)
Zone3 (int)
Zone4 (int)
Zone5 (int)
Zone6 (int)

Comment je peux récupérer ces données dans mon programme Arduino, et surtout, comme déclarer ces variables dans les fichiers testBP.h et testBP.cpp ?

Voici le contenu du ficher testBP.cpp :

#include "testBP.h"
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "EEPROM.h" 

 testBP::testBP () //testBP::testBP (int Sensibilite)
 {
	
	// This is the threshold for the sensitiveness of the piezo sensors.
	// The maximum threshold that works fine is 1023.
	maSensibilite=Sensibilite; 
}

void testBP::PinSetup() {
  
  Cible1 = EEPROM.read(1)*5;
  Cible2 = EEPROM.read(2)*5;
  Cible3 = EEPROM.read(3)*5;
  Cible4 = EEPROM.read(4)*5;
  Cible5 = EEPROM.read(5)*5;
  Cible6 = EEPROM.read(6)*5;
  
  BonusMouche = EEPROM.read(20);

}


void testBP::Partie1()
{
  if (Serial.available()>0) {Poubelle = Serial.read();} 
  delay(wait200);
  
  NbtiresReel = 0;
  Point = 0;
  Zone1 = 0;
  Zone2 = 0;
  Zone3 = 0;
  Zone4 = 0;
  Zone5 = 0;
  Zone6 = 0; 
  
  digitalWrite(LED_VERTE, HIGH); // Neige
  digitalWrite(LED_ROUGE, LOW);

  tone(Buzzer, freq1500, dur500);  
   
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Points:");
   lcd.setCursor(9,0);
   lcd.print(Point);
   lcd.setCursor(0,2);  
   lcd.print("   Appuyez sur OK   ");
   lcd.setCursor(0,3);  
   lcd.print("    pour Arreter    ");

   TempsInit = (millis());  // initialisation compteur temps

  while(1) {     
    
	hitfactor = 0;
	
	if (digitalRead(BoutonSELECT) == HIGH)                     // Appui sur bouton OK pour forcer l'arret de la partie en cours
    {(millis()- time_since_last_reset) >= intervalTemps;    // si la duree du jeu atteint la duree choisie
		Serial.println('Z');                                    // on envoie le signal 'Z' au boitier principal
		//finModeVitesseGame(); 
	} 
 //*******************************  
    if (Serial.available()>0) {
    received = Serial.read(); 

// Enregistrement des points selon la cible touchee 
 //Cibles 1
		if(received == 'A') {
			Point = (Point + Cible1);
			NbtiresReel++;
			Zone1++;
			// POUR PARTIE AVEC MOUCHE
			MouchePoints = MouchePoints + BonusMouche;
			MoucheNombre++;
		}
 //Cible 2         
		if(received == 'B'){
			Point = (Point + Cible2);
			NbtiresReel++;
			Zone2++;
		}
//Cible 3           
		if(received == 'C'){
			Point = (Point + Cible3);
			NbtiresReel++;
			Zone3++;
		}
//Cible 4
		if(received == 'D') {
			Point = (Point + Cible4);
			NbtiresReel++;
		}
//Cible 5          
		if(received == 'E') {
			Point = (Point + Cible5);
			NbtiresReel++;
			Zone5++;
		}          
//Cible  6         
		if(received == 'F') {
			Point = (Point + Cible6);
			NbtiresReel++;
			Zone6++;
		}          
    
	} // fin if (Serial.available()>0)
    lcd.setCursor(9,0);
    lcd.print(Point);
    
 //*******************************
	if((millis()- time_since_last_reset) >= intervalTemps){ 
		//-------------------------
		/*
			recupérer ici les valeurs suivantes: 
				
				Point 			(unsigned long)
				MouchePoints	(int)
				MoucheNombre	(int)
				NbtiresReel		(int)
				
				Zone1	(int)
				Zone2	(int)	
				Zone3	(int)
				Zone4	(int)
				Zone5	(int)
				Zone6	(int)
			
			et les renvoyer par un "return" si possible.
		*/
		//-------------------------
		
		//Serial.println('Z');
		//finModeVitesseGame();
	}  
  } // fin while(1)
} // fin void

Expliquez pourquoi vous avez créé une classe ? Vous avez besoin d’instances de testBP ?

On a aucune idée de ce que sont les éléments dont vous parlez et si ce sont des variables d’instance, l’idée de l’encapsulation c’est que normalement le programme principal n’a pas besoin d’y accéder... (Même si c’est faisable bien sûr )