Bonjour à tous.
Je ne comprends pas pourquoi j'ai ce message d'erreur
/Users/pierrot/Documents/Arduino/libraries/Adafruit_FONA/Adafruit_FONA.cpp: In static member function 'static void Adafruit_FONA::onRiIncomingCall()':
/Users/pierrot/Documents/Arduino/libraries/Adafruit_FONA/Adafruit_FONA.cpp:2297:31: error: cannot call member function 'uint8_t Adafruit_FONA::getCallStatus()' without object
phoneStatus = getCallStatus();
^
Error compiling.
Voic mon code, si vous pouviez m'éclairer:
Dans mon fichiers file..h
[...]
public:
static void onRiIncomingCall(void);
boolean callerIdNotificationAndRiDetection(boolean enable, uint8_t interrupt);
[...]
Dans mon fichier file.ccp
uint8_t Adafruit_FONA::getCallStatus(void) {
uint16_t phoneStatus;
if (! sendParseReply(F("AT+CPAS"), F("+CPAS: "), &phoneStatus))
return FONA_CALL_FAILED; // 1, since 0 is actually a known, good reply
return phoneStatus; // 0 ready, 2 unkown, 3 ringing, 4 call in progress
}
void Adafruit_FONA::onRiIncomingCall(void)
{
uint8_t phoneStatus;
phoneStatus = getCallStatus();
if(phoneStatus == 0)
{
DEBUG_PRINT(F("\n> ")); DEBUG_PRINTLN(F("Line is READY"));
}
else if(phoneStatus == 1)
{
DEBUG_PRINT(F("\n> ")); DEBUG_PRINTLN(F("Checking line failed"));
}
else if(phoneStatus == 2)
{
DEBUG_PRINT(F("\n> ")); DEBUG_PRINTLN(F("Line is UNKNOW"));
}
else if(phoneStatus == 3)
{
DEBUG_PRINT(F("\n> ")); DEBUG_PRINTLN(F("Line is RINGING"));
}
else if(phoneStatus == 4)
{
DEBUG_PRINT(F("\n> ")); DEBUG_PRINTLN(F("Line is BUSY"));
}
}
Pourquoi cette ligne
phoneStatus = getCallStatus();
me génère le message d'erreur ci-dessus??
Pourtant la fonction getCallStatus() rettourne un unit_8?
Je ne comprends donc pas pourquoi il y a un problème avec
error: expected primary-expression before 'void'
Es-ce que c'est parce que la fonction onRiIncomingCall() est static?
Merci!!!