From d42a43768fccc7b6935ea40b7004b792ab573065 Mon Sep 17 00:00:00 2001 From: Andrei Menzopol Date: Thu, 17 Oct 2024 22:38:17 +0300 Subject: [PATCH] Revert "[nxp fromtree] [NXP][common][mcxw71_k32w1] Update ButtonApp::HandleLongPress and PlatformManagerImpl (#35989)" This reverts commit 3bb99e1e02128e95c5a88c5a93e4f096315e0b71. Signed-off-by: Andrei Menzopol --- .../nxp/common/matter_button/source/ButtonApp.cpp | 9 +-------- .../nxp/mcxw71_k32w1/PlatformManagerImpl.cpp | 15 +++++---------- .../nxp/mcxw71_k32w1/PlatformManagerImpl.h | 2 +- 3 files changed, 7 insertions(+), 19 deletions(-) diff --git a/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp b/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp index c380319a1d1840..3b03b413ec2a93 100644 --- a/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp +++ b/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp @@ -48,14 +48,7 @@ void chip::NXP::App::ButtonApp::HandleShortPress() void chip::NXP::App::ButtonApp::HandleLongPress() { - // Execute "clean" reset - chip::DeviceLayer::PlatformMgr().ScheduleWork( - [](intptr_t arg) { - chip::DeviceLayer::PlatformMgr().StopEventLoopTask(); - chip::DeviceLayer::PlatformMgr().Shutdown(); - chip::DeviceLayer::PlatformMgrImpl().Reset(); - }, - (intptr_t) nullptr); + chip::DeviceLayer::PlatformMgrImpl().CleanReset(); } void chip::NXP::App::ButtonApp::HandleDoubleClick() diff --git a/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.cpp b/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.cpp index e0ec11a747ba9c..3c1e39b041b4e2 100644 --- a/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.cpp +++ b/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.cpp @@ -48,6 +48,7 @@ #include +extern "C" void HAL_ResetMCU(void); extern "C" void freertos_mbedtls_mutex_init(void); extern uint8_t __data_end__[], m_data0_end[]; @@ -92,16 +93,14 @@ CHIP_ERROR PlatformManagerImpl::ServiceInit(void) return CHIP_NO_ERROR; } -void PlatformManagerImpl::Reset() +void PlatformManagerImpl::CleanReset() { + StopEventLoopTask(); + Shutdown(); #if (CHIP_PLAT_NVM_SUPPORT == 1) NvCompletePendingOperations(); #endif - // Restart the system. - NVIC_SystemReset(); - while (1) - { - } + HAL_ResetMCU(); } void PlatformManagerImpl::ScheduleResetInIdle(void) @@ -201,10 +200,6 @@ void PlatformManagerImpl::_Shutdown() ChipLogError(DeviceLayer, "Failed to get current uptime since the Node’s last reboot"); } - /* Handle the server shutting down & emit the ShutDown event */ - /* Make sure to call this function from Matter Task */ - PlatformMgr().HandleServerShuttingDown(); - /* Shutdown all layers */ Internal::GenericPlatformManagerImpl_FreeRTOS::_Shutdown(); } diff --git a/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.h b/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.h index 935efaa555da36..588790823cdd57 100644 --- a/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.h +++ b/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.h @@ -51,7 +51,7 @@ class PlatformManagerImpl final : public PlatformManager, public Internal::Gener System::Clock::Timestamp GetStartTime() { return mStartTime; } void HardwareInit(void); CHIP_ERROR ServiceInit(void); - void Reset(); + void CleanReset(); void StopBLEConnectivity() {} void ScheduleResetInIdle(void); bool GetResetInIdleValue(void);