From 825c3e36b595ef54111e5a45c6ee14b2a0caddc1 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 | 11 +++++++++-- 2 files changed, 9 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..1a630ad49 100644 --- a/libraries/GSM/src/GSMDebug.cpp +++ b/libraries/GSM/src/GSMDebug.cpp @@ -184,8 +184,16 @@ const char * arduino::GSMClass::getRegistrationStateString(const mbed::CellularN } } +#endif + void arduino::GSMClass::onStatusChange(nsapi_event_t ev, intptr_t in) { + if(ev == CellularStateRetryEvent) { + Serial.println("Watchdog feed"); + feedWatchdog(); + } + +#if GSM_DEBUG_ENABLE const cell_callback_data_t *data = (const cell_callback_data_t *)in; switch(ev) @@ -270,6 +278,5 @@ void arduino::GSMClass::onStatusChange(nsapi_event_t ev, intptr_t in) { } break; } -} - #endif +}