Bonjour,
Je peine avec ce problème.
J’ai une pin 6 ou j’ai attaché un interrupt
attachInterrupt(interrupt, onIncomingCall, FALLING);
Donc quand la pin 6 passe à LOW, la fonction onIncomingCall est appelé
Voici cette fonction dans mon fichier .ccp
void Adafruit_FONA::onIncomingCall() {
DEBUG_PRINT(F("\n> ")); DEBUG_PRINTLN(F("Incoming call..."));
Adafruit_FONA::_incomingCall = true;
}
et la voici dans mon fichier .h (elle se trouve sous protected:)
static void onIncomingCall();
Docn c’est bien une fonction static qui ne doit pas avoir de parametre.
Dans la fonction onIoncmingCall, j’aimerais appeler une autre fonction
void Adafruit_FONA::onIncomingCall() {
DEBUG_PRINT(F("\n> ")); DEBUG_PRINTLN(F("Incoming call..."));
Adafruit_FONA::_incomingCall = true;
char phone[32];
incomingCallNumber(phone);
}
boolean Adafruit_FONA::incomingCallNumber(char* phonenum) {
//+CLIP: "<incoming phone number>",145,"",0,"",0
if(!Adafruit_FONA::_incomingCall)
return false;
readline();
while(!prog_char_strcmp(replybuffer, (prog_char*)F("RING")) == 0) {
flushInput();
readline();
}
readline(); //reads incoming phone number line
parseReply(F("+CLIP: \""), phonenum, '"');
DEBUG_PRINT(F("\t<--- "));
DEBUG_PRINTLN(replybuffer);
Adafruit_FONA::_incomingCall = false;
return true;
}
Le problème qui se pose, c’est que quelque soit la fonction que j’appelle depuis onIncomingCall(), j’ai un message d’erreur
error: cannot call member function 'boolean Adafruit_FONA::incomingCallNumber(char*)' without object
incomingCallNumber(phones);
Je comprends pas le without object
Es-ce que ma fonction est static ou protégée?
Merci pour vos lumires