Bonjour à tous,
j'essaie de nettoyer un code arduino en créant une classe à part "SensorListener".
Pour éviter des appels à Serial.print() en dehors du script arduino, je les gère par des renvois de strings.
Mais j'obtiens cette erreur :
/home/nico/Arduino/libraries/SensorListener/SensorListener.h:12:9: error: 'string' does not name a type; did you mean 'stdin'?
string sendSignal(unsigned long time,int rx,unsigned long duration);
^~~~~~
stdin
avec le code dans SensorListener.h :
#ifndef SENSORLISTENER_H
#define SENSORLISTENER_H
#include <Arduino.h>
class SensorListener
{
public:
SensorListener();
virtual ~SensorListener();
string sendSignal(unsigned long time,int rx,unsigned long duration);
void analyse(int rx_old,long duration);
short decode(int rx_old,long duration);
void resetCode();
string sendCode();
void identification();
string afficheSonde();
bool codeChanged();
protected:
private:
short codeSonde[40];
bool codeChange=false;
int sensor;
int canal;
double temp;
int hum;
int AsensorID=158;
int BsensorID=252;
int CsensorID=146;
int etat = 0;
int count = 0;
int indice = 0; // indice utilisé pour remplir le tableau code_sonde au fur et à mesure
short res;
String id=string(""); //identifiant du message : id de la sonde, température, humidité
int sendTime=0;
};
#endif // SENSORLISTENER_H
Peu importe que je fasse un #include de , <string.h> ou <Arduino.h>
Merci pour vos idées ![]()