From 230d917769455a14c27bfbefe5712a4cb38909de Mon Sep 17 00:00:00 2001 From: pennam Date: Mon, 27 Nov 2023 16:07:46 +0100 Subject: [PATCH] GSM: allow watchdog feed in case of connection retry --- libraries/GSM/src/GSM.cpp | 2 -- libraries/GSM/src/GSMDebug.cpp | 10 ++++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) 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 +}