From 13f633bf6cf0630f82a1c4d5865dd35675c51ab0 Mon Sep 17 00:00:00 2001 From: payton Date: Fri, 15 Dec 2023 15:47:44 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0cardv=E5=85=B3=E6=9C=BA?= =?UTF-8?q?=E8=B6=85=E6=97=B6=E9=94=99=E8=AF=AF=E6=97=B6sfapp=E5=85=B3?= =?UTF-8?q?=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../source/sf_app/code/source/app/sf_system.c | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/code/application/source/sf_app/code/source/app/sf_system.c b/code/application/source/sf_app/code/source/app/sf_system.c index db2305107..0763b43ff 100755 --- a/code/application/source/sf_app/code/source/app/sf_system.c +++ b/code/application/source/sf_app/code/source/app/sf_system.c @@ -141,7 +141,11 @@ SF_THREAD_S McuUpDataTskCfg = .IsRun = 0, .TskId = -1, }; - +SF_THREAD_S PowerOffTskCfg = +{ + .IsRun = 0, + .TskId = -1, +}; SINT8 debugFlag = 0; UINT8 McuInitFlag = 0; @@ -1499,7 +1503,36 @@ SINT32 sf_app_mcu_para_stop(void) } return SF_SUCCESS; } +void* sf_app_power_off_thread(void *arg) +{ + SLOGI("thread run\n"); + PowerOffTskCfg.IsRun = 1; + sleep(5); + SLOGE("cdv power off err\n"); + app_system_poweroff(0); + PowerOffTskCfg.IsRun = 0; + SLOGI("thread end\n"); + + return NULL; +} +SINT32 sf_app_power_off_start(void) +{ + SINT32 ret = SF_FAILURE; + if(PowerOffTskCfg.IsRun) + { + SLOGE("thread has already run !!!\n"); + return SF_FAILURE; + } + ret = pthread_create(&PowerOffTskCfg.TskId, NULL, sf_app_power_off_thread, NULL); + if(ret != SF_SUCCESS) + { + MLOGD("thread creat fail!\n"); + return ret; + } + return SF_SUCCESS; + +} /************************************************* Function: sf_power_off_msg_to_cardv Description: power off @@ -1516,6 +1549,7 @@ void sf_power_off_msg_to_cardv(void) stMessageBuf.arg1 = SF_EVENT_KEY_SHORT_CLICK; stMessageBuf.arg2 = SF_KEY_PIN_AOTU_MODE_POWOFF;//auto mode powoff sf_com_message_send_to_cardv(&stMessageBuf); + sf_app_power_off_start(); } UINT8 sf_app_get_mcu_init_flag(void)