diff --git a/libraries/GSM/src/GSM.cpp b/libraries/GSM/src/GSM.cpp index 1e29a9962..f45d7b35c 100644 --- a/libraries/GSM/src/GSM.cpp +++ b/libraries/GSM/src/GSM.cpp @@ -71,9 +71,7 @@ int arduino::GSMClass::begin(const char* pin, const char* apn, const char* usern _device->set_cmux_status_flag(_cmuxGSMenable); _device->set_retry_timeout_array(_retry_timeout, sizeof(_retry_timeout) / sizeof(_retry_timeout[0])); -#if GSM_DEBUG_ENABLE _device->attach(mbed::callback(this, &GSMClass::onStatusChange)); -#endif _device->init(); _pin = pin; diff --git a/libraries/GSM/src/GSMDebug.cpp b/libraries/GSM/src/GSMDebug.cpp index cce912ff8..2edfda2f9 100644 --- a/libraries/GSM/src/GSMDebug.cpp +++ b/libraries/GSM/src/GSMDebug.cpp @@ -184,8 +184,15 @@ const char * arduino::GSMClass::getRegistrationStateString(const mbed::CellularN } } +#endif + void arduino::GSMClass::onStatusChange(nsapi_event_t ev, intptr_t in) { + if(ev == CellularStateRetryEvent) { + feedWatchdog(); + } + +#if GSM_DEBUG_ENABLE const cell_callback_data_t *data = (const cell_callback_data_t *)in; switch(ev) @@ -270,6 +277,5 @@ void arduino::GSMClass::onStatusChange(nsapi_event_t ev, intptr_t in) { } break; } -} - #endif +}