修复训练卡片弹窗亮屏 56/4
authorCaisking <3449750381@qq.com>
Fri, 19 Apr 2024 13:43:50 +0000 (21:43 +0800)
committerCaisking <3449750381@qq.com>
Fri, 19 Apr 2024 13:43:50 +0000 (21:43 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardPresenter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp
code/sdk/drivers/peripheral/utils/custom_utils.c

index d2559c1..758e4c3 100644 (file)
@@ -263,7 +263,6 @@ namespace OHOS
         /*设置训练强度*/
         void SetIntensity(int heart);
 
-
         std::string GetStartTiemStr();
         std::string GetEndTiemStr();
 
@@ -283,6 +282,7 @@ namespace OHOS
         int tag_ = 0; // 训练目标
         int totalHeartRate = 0;
         int countHeartRate = 0;
+        bool gettagstuats{false};
         /*std::unique_ptr<SportData> sportdata;*/ // 使用 std::unique_ptr 管理 SportData 对象
     };
 }
index af80add..474958f 100644 (file)
@@ -24,6 +24,7 @@
 #include "bletest.h"
 #include "config/include/ConfigModel.h"
 #include "samgr_lite.h"
+#include "vibrator_service.h"
 #include <mutex>
 #include <memory>
 
@@ -32,6 +33,7 @@
 #define HARD_OFF 1
 #define TRAINING_PATH "user/userdata/sportdata/"
 extern "C" errcode_t uapi_get_timestampe_ms(uint64_t *tm);
+extern "C" void custom_VibratorFunc(OHOS::VibratorType vibratorType);
 
 #ifdef __cplusplus
 extern "C"
@@ -497,6 +499,52 @@ namespace OHOS
         default:
             break;
         }
+        /* -------------------------------------------------------------------------- */
+        // 首先需要判断有没有设置训练目标
+        if (sportdata->tag && (!gettagstuats))
+        {
+            // 根据设置的训练目标类型去对应相对的数据
+            switch (sportdata->sportTag)
+            {
+            case ExerciseTag::Duration:
+                break;
+            case ExerciseTag::Calories:
+                if (sportdata->calories >= sportdata->tag)
+                {
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Calories");
+                    uapi_set_screen_on_api(); // 亮屏检测
+                    custom_VibratorFunc(VibratorType::VIBRATOR_TYPE_TWO);
+                    TraingCardView::GetInstance()->SetPopupViewStatus(GetTagPopup, true);
+                    TraingCardView::GetInstance()->GetAnimator()->Start();
+                    gettagstuats = true;
+                }
+                break;
+            case ExerciseTag::Distance:
+                if (sportdata->distance >= sportdata->tag)
+                {
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Distance");
+                    uapi_set_screen_on_api(); // 亮屏检测
+                    custom_VibratorFunc(VibratorType::VIBRATOR_TYPE_TWO);
+                    TraingCardView::GetInstance()->SetPopupViewStatus(GetTagPopup, true);
+                    TraingCardView::GetInstance()->GetAnimator()->Start();
+                    gettagstuats = true;
+                }
+                break;
+            case ExerciseTag::STEP:
+                if (sportdata->steps >= sportdata->tag)
+                {
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "STEP");
+                    uapi_set_screen_on_api(); // 亮屏检测
+                    custom_VibratorFunc(VibratorType::VIBRATOR_TYPE_TWO);
+                    TraingCardView::GetInstance()->SetPopupViewStatus(GetTagPopup, true);
+                    TraingCardView::GetInstance()->GetAnimator()->Start();
+                    gettagstuats = true;
+                }
+                break;
+            default:
+                break;
+            }
+        }
     }
     /*获取数据*/
     SportData *TraingModel::GetSportdata()
index 68da598..cc08ec6 100644 (file)
@@ -58,7 +58,6 @@ namespace OHOS
         bool OnDrag(UIView &view, const DragEvent &event) override;\r
         int tag_ = 0;\r
         bool opensensorstuats{false};\r
-        bool gettagstuats{false};\r
         // bool OnDragEnd(UIView& view, const DragEvent& event) override;\r
     };\r
 } // namespace OHOS\r
index 41f557c..d372140 100644 (file)
@@ -169,52 +169,7 @@ namespace OHOS
             return;\r
         }\r
         PRINT("sportdata->tag[%d] sportdata->sportTag[%d]\r\n", sportdata->tag, sportdata->sportTag);\r
-        // 首先需要判断有没有设置训练目标\r
-        if (sportdata->tag && (!gettagstuats))\r
-        {\r
-            // 根据设置的训练目标类型去对应相对的数据\r
-            switch (sportdata->sportTag)\r
-            {\r
-            case ExerciseTag::Duration:\r
-                break;\r
-            case ExerciseTag::Calories:\r
-                if (sportdata->calories >= sportdata->tag)\r
-                {\r
-                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Calories");\r
-                    uapi_set_screen_on_api(); // 亮屏检测\r
-                    custom_VibratorFunc(VibratorType::VIBRATOR_TYPE_TWO);\r
-                    TraingCardView::GetInstance()->SetPopupViewStatus(GetTagPopup, true);\r
-                    TraingCardView::GetInstance()->GetAnimator()->Start();\r
-                    gettagstuats = true;\r
-                }\r
-                break;\r
-            case ExerciseTag::Distance:\r
-                if (sportdata->distance >= sportdata->tag)\r
-                {\r
-                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Distance");\r
-                    uapi_set_screen_on_api(); // 亮屏检测\r
-                    custom_VibratorFunc(VibratorType::VIBRATOR_TYPE_TWO);\r
-                    TraingCardView::GetInstance()->SetPopupViewStatus(GetTagPopup, true);\r
-                    TraingCardView::GetInstance()->GetAnimator()->Start();\r
-                    gettagstuats = true;\r
-                }\r
-                break;\r
-            case ExerciseTag::STEP:\r
-                if (sportdata->steps >= sportdata->tag)\r
-                {\r
-                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "STEP");\r
-                    uapi_set_screen_on_api(); // 亮屏检测\r
-                    custom_VibratorFunc(VibratorType::VIBRATOR_TYPE_TWO);\r
-                    TraingCardView::GetInstance()->SetPopupViewStatus(GetTagPopup, true);\r
-                    TraingCardView::GetInstance()->GetAnimator()->Start();\r
-                    gettagstuats = true;\r
-                }\r
-                break;\r
-            default:\r
-                break;\r
-            }\r
-        }\r
-\r
+    \r
         std::string distanceStr;\r
         if (sportdata->distance != 0)\r
         {\r
index 0532320..2fcf116 100644 (file)
 
 errcode_t uapi_create_osThread_custom(app_task_definition_t *task_cfg)
 {
-    if (task_cfg==NULL)
+    if (task_cfg == NULL)
         return ERRCODE_FAIL;
- /* Create queues before tasks in case they are used during initialisation. */
-    if (task_cfg->create_queue_handle) {
+    /* Create queues before tasks in case they are used during initialisation. */
+    if (task_cfg->create_queue_handle)
+    {
         task_cfg->create_queue_handle();
     }
     /* Create tasks */
-    if (task_cfg->use_mem == USE_EXTEND_MEM) {
+    if (task_cfg->use_mem == USE_EXTEND_MEM)
+    {
         task_cfg->attr.stack_mem = memalign(16, task_cfg->attr.stack_size); // 16字节对齐
     }
     task_cfg->task_handle = osThreadNew(task_cfg->func, NULL, &(task_cfg->attr));
-    if (task_cfg->task_handle == NULL) {
+    if (task_cfg->task_handle == NULL)
+    {
         return ERRCODE_FAIL;
     }
     return ERRCODE_SUCC;
@@ -61,55 +64,57 @@ uint32_t zh_get_sn(uint8_t *buf_sn, uint32_t *len_sn)
 {
 
 #ifdef SUPPORT_NV
-    if( buf_sn == NULL)
+    if (buf_sn == NULL)
         return ERRCODE_FAIL;
     uint16_t len = 0;
     custom_key_sn_t sn = {0};
     errcode_t nvRet = uapi_nv_read(NV_ID_CUSTOM_KEY_SERIAL_NUM, sizeof(custom_key_sn_t), &len, &sn);
-    if (nvRet != ERRCODE_SUCC) {
-         *len_sn = 0;
+    if (nvRet != ERRCODE_SUCC)
+    {
+        *len_sn = 0;
     }
-    memcpy_s(buf_sn,sizeof(sn.sn),sn.sn,sn.size);
+    memcpy_s(buf_sn, sizeof(sn.sn), sn.sn, sn.size);
     *len_sn = sn.size;
-    //PRINT("get sn len %d, ret %d , %s\r\n",sn.size,nvRet,sn.sn);
+    // PRINT("get sn len %d, ret %d , %s\r\n",sn.size,nvRet,sn.sn);
 #endif
     return ERRCODE_SUCC;
 }
 
-
 uint32_t zh_set_sn(uint8_t *buf_sn, uint32_t len_sn)
 {
-    errcode_t nv_ret_value=0;
+    errcode_t nv_ret_value = 0;
 #ifdef SUPPORT_NV
-    if( buf_sn == NULL || len_sn == 0)
+    if (buf_sn == NULL || len_sn == 0)
         return ERRCODE_FAIL;
 
-    uint8_t *test_nv_value; /* 要写入的NV value保存在test_nv_value中 */ 
+    uint8_t *test_nv_value; /* 要写入的NV value保存在test_nv_value中 */
 
-    uint16_t key_len=  sizeof(custom_key_sn_t); 
-    uint8_t *write_value = malloc(key_len); 
-    custom_key_sn_t *p_sn = (custom_key_sn_t*)write_value;
+    uint16_t key_len = sizeof(custom_key_sn_t);
+    uint8_t *write_value = malloc(key_len);
+    custom_key_sn_t *p_sn = (custom_key_sn_t *)write_value;
     uint16_t len = 0;
     if (len_sn > sizeof(p_sn->sn))
     {
         len = sizeof(p_sn->sn);
-    }else{
+    }
+    else
+    {
         len = len_sn;
     }
     p_sn->size = len;
-    memcpy_s(p_sn->sn,sizeof(p_sn->sn),buf_sn,len); 
-    nv_ret_value = uapi_nv_write(NV_ID_CUSTOM_KEY_SERIAL_NUM, write_value, key_len); 
-    if (nv_ret_value != ERRCODE_SUCC) { 
-        /* ERROR PROCESS */ 
-        free(write_value); 
-        return ERRCODE_FAIL; 
-    } 
-    /* APP PROCESS */ 
-    free(write_value); 
+    memcpy_s(p_sn->sn, sizeof(p_sn->sn), buf_sn, len);
+    nv_ret_value = uapi_nv_write(NV_ID_CUSTOM_KEY_SERIAL_NUM, write_value, key_len);
+    if (nv_ret_value != ERRCODE_SUCC)
+    {
+        /* ERROR PROCESS */
+        free(write_value);
+        return ERRCODE_FAIL;
+    }
+    /* APP PROCESS */
+    free(write_value);
 
 #endif
     return nv_ret_value;
-
 }
 
 extern uint32_t mcu_os_sys_reset(uint8_t *para, uint32_t para_len);
@@ -117,18 +122,18 @@ extern void uapi_sys_shipmode(uint32_t arg);
 extern void sync_all_config_to_disk(void);
 void uapi_poweroff_device(void)
 {
-    
+
     uapi_sys_shipmode(0);
 }
 void uapi_reboot_device(void)
 {
-    mcu_os_sys_reset(NULL,NULL);
+    mcu_os_sys_reset(NULL, NULL);
 }
 
 void shutdown_reboot_prejobs_task(void)
 {
     addressbookTowrite();
-    
+
     uapi_calendar_store_date();
     sync_all_config_to_disk();
 }
@@ -136,19 +141,18 @@ static bool doing_shutdown_or_reboot = false;
 void shutdown_reboot_prejobs(void)
 {
     PRINT("shutdown_reboot_prejobs !\r\n");
-    app_task_definition_t taskcfg={0};
+    app_task_definition_t taskcfg = {0};
     taskcfg.create_queue_handle = NULL;
-    taskcfg.attr.name="shutdown_reboot_prejobs";
+    taskcfg.attr.name = "shutdown_reboot_prejobs";
     taskcfg.attr.priority = osPriorityNormal;
-    taskcfg.attr.stack_size = 0x1000*2;
+    taskcfg.attr.stack_size = 0x1000 * 2;
     taskcfg.func = shutdown_reboot_prejobs_task;
     taskcfg.use_mem = USE_EXTEND_MEM;
-    
-    errcode_t ret=uapi_create_osThread_custom(&taskcfg);
-    if(ret != ERRCODE_SUCC)
+
+    errcode_t ret = uapi_create_osThread_custom(&taskcfg);
+    if (ret != ERRCODE_SUCC)
     {
-        PRINT("create shutdown_reboot_prejobs thread failed %d!\r\n",ret);
-        
+        PRINT("create shutdown_reboot_prejobs thread failed %d!\r\n", ret);
     }
 }
 void start_shutdown_or_reboot(void)
@@ -164,20 +168,20 @@ bool is_doing_shutdown_or_reboot(void)
 bool start_custom_ble_service(void)
 {
 #ifdef SUPPORT_BLE_SERVICE
-        openBle();
-        PRINT("start custom protocol classic bt ble service !\r\n");
-        // bool ret = enable_bt_stack();
-#endif 
+    openBle();
+    PRINT("start custom protocol classic bt ble service !\r\n");
+    // bool ret = enable_bt_stack();
+#endif
     return true;
 }
 bool stop_custom_ble_service(void)
 {
 #ifdef SUPPORT_BLE_SERVICE
-        PRINT("start custom protocol classic bt ble service !\r\n");
-        // ble_unregist_server();
-        closeBle();
-        // bool ret = disable_bt_stack();
-#endif 
+    PRINT("start custom protocol classic bt ble service !\r\n");
+    // ble_unregist_server();
+    closeBle();
+    // bool ret = disable_bt_stack();
+#endif
     return true;
 }
 
@@ -214,7 +218,7 @@ void startup_post_init_task(void)
     PRINT("startup_post_init_task !\r\n");
     uapi_calendar_recover_date();
 
-    if(!custom_ble_service_on_flag())
+    if (!custom_ble_service_on_flag())
     {
         stop_custom_ble_service();
     }
@@ -225,37 +229,37 @@ void startup_post_init_task(void)
 
     LOS_Msleep(5000);
     addressbookToRead();
-    if ( poweron_cat1_on_bootup_flag() )
+    if (poweron_cat1_on_bootup_flag())
     {
         PRINT("PowerOn Cat1 !\r\n");
 
         uapi_cat1_power_on(1);
         uapi_cat1_reset(0);
-    }else{
+    }
+    else
+    {
         PRINT("PowerOff Cat1 !\r\n");
 
         uapi_cat1_power_on(0);
         uapi_cat1_reset(1);
     }
-
 }
-    
+
 void startup_post_init(void)
 {
     PRINT("startup_post_init !\r\n");
-    app_task_definition_t taskcfg={0};
+    app_task_definition_t taskcfg = {0};
     taskcfg.create_queue_handle = NULL;
-    taskcfg.attr.name="startup_post_init_task";
+    taskcfg.attr.name = "startup_post_init_task";
     taskcfg.attr.priority = osPriorityNormal;
     taskcfg.attr.stack_size = 0x1000;
     taskcfg.func = startup_post_init_task;
     taskcfg.use_mem = USE_EXTEND_MEM;
-    
-    errcode_t ret=uapi_create_osThread_custom(&taskcfg);
-    if(ret != ERRCODE_SUCC)
+
+    errcode_t ret = uapi_create_osThread_custom(&taskcfg);
+    if (ret != ERRCODE_SUCC)
     {
-        PRINT("create shutdown_reboot_prejobs thread failed %d!\r\n",ret);
-        
+        PRINT("create shutdown_reboot_prejobs thread failed %d!\r\n", ret);
     }
 }
 
@@ -265,18 +269,24 @@ errcode_t uaip_cmd_update_request(void)
 {
     errcode_t ret;
     upg_prepare_info_t t = {0};
-    t.package_len = 4 ; //文件升级的前提下,只要package_len 大于0 即可。 
+    t.package_len = 4; // 文件升级的前提下,只要package_len 大于0 即可。
     ret = uapi_upg_prepare(&t);
-    if (ret != ERRCODE_SUCC) {
+    if (ret != ERRCODE_SUCC)
+    {
         printf("uapi_upg_prepare error = 0x%x\r\n", ret);
         return ret;
-    } else {
+    }
+    else
+    {
         printf("uapi_upg_prepare OK!!\r\n");
     }
     ret = uapi_upg_request_upgrade(false);
-    if (ret != ERRCODE_SUCC) {
+    if (ret != ERRCODE_SUCC)
+    {
         printf("uapi_upg_request_upgrade error = 0x%x\r\n", ret);
-    } else {
+    }
+    else
+    {
         printf("uapi_upg_request_upgrade OK!!\r\n");
         /* app中下载后直接开始升级流程,升级流程结束后重启 */
         /* IOT设备重启 */
@@ -285,201 +295,246 @@ errcode_t uaip_cmd_update_request(void)
     return ret;
 }
 
-
 #include "systick.h"
 #include "sys/time.h"
 #include "time.h"
 errcode_t uapi_get_timestampe_ms(uint64_t *tm)
 {
-    struct timeval tv = { 0 };
+    struct timeval tv = {0};
 
-    if (gettimeofday(&tv, NULL)) {
+    if (gettimeofday(&tv, NULL))
+    {
         return ERRCODE_FAIL;
     }
-    *tm = (uint64_t)(tv.tv_sec*1000 + tv.tv_usec/1000 );
-        
+    *tm = (uint64_t)(tv.tv_sec * 1000 + tv.tv_usec / 1000);
+
     return ERRCODE_SUCC;
 }
 
-#define BITS_PER_BYTE               8
-#define HEXADECIMAL                 16
-#define DECIMAL                     10
-#define TIME_YEAR_OFFSET        123
-#define TIME_ZONE_OFF           (8 * 60)
-#define TIME_SECSPERMIN         60     /* second per minute */
-static uint32_t get_sec_time_from_cat1time(char* time , uint32_t *second , uint8_t *zone)
+#define BITS_PER_BYTE 8
+#define HEXADECIMAL 16
+#define DECIMAL 10
+#define TIME_YEAR_OFFSET 123
+#define TIME_ZONE_OFF (8 * 60)
+#define TIME_SECSPERMIN 60 /* second per minute */
+static uint32_t get_sec_time_from_cat1time(char *time, uint32_t *second, uint8_t *zone)
 {
 
-    struct tm _tm = { 0 };
-    char* ptr = time;
-    char* tmp;
+    struct tm _tm = {0};
+    char *ptr = time;
+    char *tmp;
 
-    if (time==NULL || strlen(time) < 12)
+    if (time == NULL || strlen(time) < 12)
     {
         printf("time==NULL || strlen(time) < 12 , format error, should like (2024, 3, 2, 18, 40, 1, 5, 62),8 ");
         return 2;
     }
-    
+
     // 年
     tmp = strchr(ptr, '(');
-    if (tmp == NULL) { return 1; }
+    if (tmp == NULL)
+    {
+        return 1;
+    }
     ptr = tmp + 1;
     tmp = strchr(ptr, ',');
-    if (tmp == NULL) { return 1; }
+    if (tmp == NULL)
+    {
+        return 1;
+    }
     *tmp = '\0';
     // 年的计算需要减去1900
     _tm.tm_year = strtol(ptr, NULL, DECIMAL) - 1900;
-    if (_tm.tm_year < TIME_YEAR_OFFSET) {
+    if (_tm.tm_year < TIME_YEAR_OFFSET)
+    {
         printf("ERR!year num must bigger than 2023!");
         return 3;
     }
     ptr = tmp + 1;
 
-    
     // 月
-    if ( *ptr == ' ') { ptr = ptr + 1; }
+    if (*ptr == ' ')
+    {
+        ptr = ptr + 1;
+    }
     tmp = strchr(ptr, ',');
-    if (tmp == NULL) { return 1; }
+    if (tmp == NULL)
+    {
+        return 1;
+    }
     *tmp = '\0';
     // 月的计算需要减1
     _tm.tm_mon = strtol(ptr, NULL, DECIMAL) - 1;
     ptr = tmp + 1;
 
     // 日
-    if ( *ptr == ' ') { ptr = ptr + 1; }
+    if (*ptr == ' ')
+    {
+        ptr = ptr + 1;
+    }
     tmp = strchr(ptr, ',');
-    if (tmp == NULL) { return 1; }
+    if (tmp == NULL)
+    {
+        return 1;
+    }
     *tmp = '\0';
     _tm.tm_mday = strtol(ptr, NULL, DECIMAL);
     ptr = tmp + 1;
 
     // 时
-    if ( *ptr == ' ') { ptr = ptr + 1; }
+    if (*ptr == ' ')
+    {
+        ptr = ptr + 1;
+    }
     tmp = strchr(ptr, ',');
-    if (tmp == NULL) { return 1; }
+    if (tmp == NULL)
+    {
+        return 1;
+    }
     *tmp = '\0';
     _tm.tm_hour = strtol(ptr, NULL, DECIMAL);
     ptr = tmp + 1;
 
     // 分
-    if ( *ptr == ' ') { ptr = ptr + 1; }
+    if (*ptr == ' ')
+    {
+        ptr = ptr + 1;
+    }
     tmp = strchr(ptr, ',');
-    if (tmp == NULL) { return 1; }
+    if (tmp == NULL)
+    {
+        return 1;
+    }
     *tmp = '\0';
     _tm.tm_min = strtol(ptr, NULL, DECIMAL);
     ptr = tmp + 1;
 
     // 秒
-    if ( *ptr == ' ') { ptr = ptr + 1; }
+    if (*ptr == ' ')
+    {
+        ptr = ptr + 1;
+    }
     tmp = strchr(ptr, ',');
-    if (tmp == NULL) { return 1; }
+    if (tmp == NULL)
+    {
+        return 1;
+    }
     *tmp = '\0';
     _tm.tm_sec = strtol(ptr, NULL, DECIMAL);
     ptr = tmp + 1;
 
-    //毫秒
+    // 毫秒
     tmp = strchr(ptr, ',');
-    if (tmp == NULL) { return 1; }
+    if (tmp == NULL)
+    {
+        return 1;
+    }
     ptr = tmp + 1;
-    //微妙
+    // 微妙
     tmp = strchr(ptr, ',');
-    if (tmp == NULL) { return 1; }
+    if (tmp == NULL)
+    {
+        return 1;
+    }
     ptr = tmp + 1;
-    
-    //时区
-    if ( *ptr == ' ') { ptr = ptr + 1; }
+
+    // 时区
+    if (*ptr == ' ')
+    {
+        ptr = ptr + 1;
+    }
     *zone = strtol(ptr, NULL, DECIMAL);
     *second = (uint32_t)__tm_to_secs(&_tm);
-     *second -= *zone * 3600; //cat1获得的时间时当下时间,实际上要减去zone的时间
+    *second -= *zone * 3600; // cat1获得的时间时当下时间,实际上要减去zone的时间
 
     //  printf("%04d-%02d-%02d %02d:%02d:%02d %d\n",_tm.tm_year,_tm.tm_mon,_tm.tm_mday,_tm.tm_hour,_tm.tm_min,_tm.tm_sec,*zone);
     return 0;
 }
-errcode_t uapi_set_time_from_cat1(char* cat1time)
+errcode_t uapi_set_time_from_cat1(char *cat1time)
 {
     uint8_t zone = 0;
-     uint32_t sec = 0;
-     uint32_t ret = get_sec_time_from_cat1time(cat1time,&sec,&zone);
-
-     if (ret == 0 )
-     {
-            struct timeval tv = { 0 };
-            struct timezone tz = { 0 };
+    uint32_t sec = 0;
+    uint32_t ret = get_sec_time_from_cat1time(cat1time, &sec, &zone);
 
-            tv.tv_sec = sec;
-            tv.tv_usec = 0;
-            tz.tz_dsttime = 0;
-            tz.tz_minuteswest = zone*60;
-            settimeofday(&tv, &tz);
-
-     }else{
-        printf("convert to time failed ret %d!\n",ret);
+    if (ret == 0)
+    {
+        struct timeval tv = {0};
+        struct timezone tz = {0};
+
+        tv.tv_sec = sec;
+        tv.tv_usec = 0;
+        tz.tz_dsttime = 0;
+        tz.tz_minuteswest = zone * 60;
+        settimeofday(&tv, &tz);
+    }
+    else
+    {
+        printf("convert to time failed ret %d!\n", ret);
         return ERRCODE_FAIL;
-     }
-      
-   
+    }
+
     time_t rawtime;
-    struct tm* timeinfo;
+    struct tm *timeinfo;
     time(&rawtime);
     timeinfo = localtime(&rawtime);
 
     printf("set time success %04d-%02d-%02d %02d:%02d:%02d %d\n",
-    timeinfo->tm_year + 1900,
-    timeinfo->tm_mon + 1,
-    timeinfo->tm_mday,
-    timeinfo->tm_hour,
-    timeinfo->tm_min,
-    timeinfo->tm_sec,zone);
-    
-    if (timeinfo->tm_year+1900 < 2024)
+           timeinfo->tm_year + 1900,
+           timeinfo->tm_mon + 1,
+           timeinfo->tm_mday,
+           timeinfo->tm_hour,
+           timeinfo->tm_min,
+           timeinfo->tm_sec, zone);
+
+    if (timeinfo->tm_year + 1900 < 2024)
         return ERRCODE_FAIL;
 
     return ERRCODE_SUCC;
-}       
+}
 
 /*
  * @brief 获取当地[年-月-日]日期
  * @return 格式为:[年.月.日]的字符串
-*/
+ */
 char *uapi_get_local_yyyymmdd_date(void)
 {
 
     time_t rawtime;
-    struct tm* timeinfo;
+    struct tm *timeinfo;
     time(&rawtime);
     timeinfo = localtime(&rawtime);
-    char *buffer = (char*)malloc(80); // 动态分配内存
-    if(buffer == NULL)
+    char *buffer = (char *)malloc(80); // 动态分配内存
+    if (buffer == NULL)
     {
         return NULL; // 内存分配失败
     }
 
     // 格式化输出当前时间为 "YYYY-MM-DD HH:MM:SS" 形式
-    sprintf(buffer,"%04d.%02d.%02d\n",
-    timeinfo->tm_year + 1900,
-    timeinfo->tm_mon + 1,
-    timeinfo->tm_mday);
-    
+    sprintf(buffer, "%04d.%02d.%02d\n",
+            timeinfo->tm_year + 1900,
+            timeinfo->tm_mon + 1,
+            timeinfo->tm_mday);
+
     return buffer;
 }
 
 /// @brief 获取日期
 errcode_t uapi_get_yyyymmddhhmmss_Date(char *date)
 {
-    if(date != NULL)
+    if (date != NULL)
     {
         time_t rawtime;
-        struct tm* timeinfo;
+        struct tm *timeinfo;
         time(&rawtime);
         timeinfo = localtime(&rawtime);
 
-        sprintf(date,"%04d%02d%02d%02d%02d%02d",
-        timeinfo->tm_year + 1900,
-        timeinfo->tm_mon + 1,
-        timeinfo->tm_mday,
-        timeinfo->tm_hour,
-        timeinfo->tm_min,
-        timeinfo->tm_sec);
+        sprintf(date, "%04d%02d%02d%02d%02d%02d",
+                timeinfo->tm_year + 1900,
+                timeinfo->tm_mon + 1,
+                timeinfo->tm_mday,
+                timeinfo->tm_hour,
+                timeinfo->tm_min,
+                timeinfo->tm_sec);
     }
     return ERRCODE_SUCC;
 }
@@ -558,19 +613,19 @@ errcode_t uapi_get_WeekStr(char *p_week)
 }
 
 /// @brief 控制屏幕是否常亮
-/// @param turnOnFlag 1:常亮屏幕 
-/// @param turnOnFlag 0:取消常亮 
+/// @param turnOnFlag 1:常亮屏幕
+/// @param turnOnFlag 0:取消常亮
 void ScreenAlwaysOnCtr(uint8_t turnOnFlag)
 {
     const power_display_svr_api_t *display_api = power_display_svr_get_api();
-    if(turnOnFlag)
+    if (turnOnFlag)
     {
         display_api->set_screen_set_keepon_timeout(0);
         if (display_api->get_screen_state() != SCREEN_ON)
         {
             display_api->turn_on_screen();
         }
-        //当设置的值是-1 的时候,设置屏幕常亮
+        // 当设置的值是-1 的时候,设置屏幕常亮
         display_api->set_screen_set_keepon_timeout(-1);
     }
     else
@@ -589,8 +644,8 @@ void uapi_setScreenBrightness(int value)
 }
 
 /*
- * @brief 设置某个Slice亮屏时间,超过时间后屏幕息屏,单位ms 
-*/
+ * @brief 设置某个Slice亮屏时间,超过时间后屏幕息屏,单位ms
+ */
 void uapi_setScreenDuration(int32_t time)
 {
     const power_display_svr_api_t *display_api = power_display_svr_get_api();
@@ -598,8 +653,8 @@ void uapi_setScreenDuration(int32_t time)
 }
 
 /*
- * @brief 获取屏幕状态 
-*/
+ * @brief 获取屏幕状态
+ */
 int32_t uapi_get_screen_state(void)
 {
     const power_display_svr_api_t *display_api = power_display_svr_get_api();
@@ -612,16 +667,17 @@ int32_t uapi_get_screen_state(void)
 void uapi_set_screen_on_api(void)
 {
     const power_display_svr_api_t *display_api = power_display_svr_get_api();
+    display_api->set_screen_set_keepon_timeout(0);
     if (display_api->get_screen_state() != SCREEN_ON)
     {
         display_api->turn_on_screen();
     }
+    // 设置屏幕亮5000
+    display_api->set_screen_set_keepon_timeout(5000);
 }
 
 #include "bts_le_gap.h"
 
-
-
 // extern void wstp_spp_cmd_server_create(const char *spp_uuid, const char *name, uint8_t name_len);
 // extern void wstp_spp_cmd_server_accept(uint32_t server_id);
 // extern errcode_t enable_bt_stack(void);
@@ -633,7 +689,7 @@ void uapi_set_screen_on_api(void)
 // extern errcode_t bluetooth_get_local_name(unsigned char *localName, unsigned char *length);
 errcode_t uapi_get_btname(uint8_t *buf_btname, uint32_t *len_btname)
 {
-    if(buf_btname == NULL || len_btname == NULL)
+    if (buf_btname == NULL || len_btname == NULL)
     {
         printf("ERROR param NULL");
         return ERRCODE_FAIL;
@@ -641,48 +697,52 @@ errcode_t uapi_get_btname(uint8_t *buf_btname, uint32_t *len_btname)
     unsigned char namelen = 248;
     unsigned char name[248] = {0};
     errcode_t res = bluetooth_get_local_name(name, &namelen);
-    if (res == 0) {
+    if (res == 0)
+    {
         char str[256] = "^btname:";
-        strcat_s(str, strlen(str) + strlen((char*)name), (char*)name);
+        strcat_s(str, strlen(str) + strlen((char *)name), (char *)name);
         printf("%s\r\n", &str[0]);
         printf("name: %s, length: %d\n", name, namelen);
-        sprintf((char*)buf_btname,"%s",name);
-        *len_btname = strlen((const char*)name);
+        sprintf((char *)buf_btname, "%s", name);
+        *len_btname = strlen((const char *)name);
         return ERRCODE_SUCC;
-    } else {
-        printf("bluetooth_get_local_name ret = 0x%X\n",res);
+    }
+    else
+    {
+        printf("bluetooth_get_local_name ret = 0x%X\n", res);
         return ERRCODE_FAIL;
     }
-
 }
 errcode_t uapi_get_btaddr(uint8_t *buf_btaddr, uint32_t *len_btaddr)
 {
-    if (buf_btaddr == NULL || len_btaddr == NULL) {
+    if (buf_btaddr == NULL || len_btaddr == NULL)
+    {
         printf("ERROR param NULL");
         return ERRCODE_FAIL;
     }
     errcode_t res;
-    #define BT_MAC_LEN 6
+#define BT_MAC_LEN 6
     unsigned int len = BT_MAC_LEN;
     unsigned char addr[BT_MAC_LEN] = {0};
     srand(time(0));
     res = bluetooth_get_local_addr(&addr[0], len);
-    if (res == 0) {
+    if (res == 0)
+    {
         char str[64] = {0};
-        strcat_s(str, strlen(str) + strlen((char*)addr), (char*)addr);
+        strcat_s(str, strlen(str) + strlen((char *)addr), (char *)addr);
         printf("%s\r\n", &str[0]);
         printf("local_addr : ******%02x%02x%02x\n", addr[3], addr[4], addr[5]);
-            
-        memset((void*)buf_btaddr,0,*len_btaddr);
-        sprintf_s((char*)buf_btaddr, *len_btaddr, "%02X:%02X:%02X:%02X:%02X:%02X",addr[0], addr[1],addr[2],addr[3],addr[4],addr[5]);
+
+        memset((void *)buf_btaddr, 0, *len_btaddr);
+        sprintf_s((char *)buf_btaddr, *len_btaddr, "%02X:%02X:%02X:%02X:%02X:%02X", addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
         *len_btaddr = strlen(str);
-        
-    } else {
-        printf("bluetooth_get_local_addr err 0x%X\r\n",res);
+    }
+    else
+    {
+        printf("bluetooth_get_local_addr err 0x%X\r\n", res);
         return ERRCODE_FAIL;
     }
 
-
     return ERRCODE_SUCC;
 }
 
@@ -690,168 +750,171 @@ errcode_t uapi_get_nv_btaddr(uint8_t *buf_btaddr, uint32_t *len_btaddr)
 {
 
 #ifdef SUPPORT_NV
-    if( buf_btaddr == NULL || len_btaddr == NULL || *len_btaddr == 0)
+    if (buf_btaddr == NULL || len_btaddr == NULL || *len_btaddr == 0)
         return ERRCODE_FAIL;
 
     uint16_t len = 0;
     btsrv_local_device_info_t btinfo = {0};
     errcode_t nvRet = uapi_nv_read(NV_ID_BTSRV_LOCAL_DEV_INFO, sizeof(btsrv_local_device_info_t), &len, &btinfo);
-    if (nvRet != ERRCODE_SUCC) {
-         *len_btaddr = 0;
-         return nvRet;
+    if (nvRet != ERRCODE_SUCC)
+    {
+        *len_btaddr = 0;
+        return nvRet;
     }
     uint32_t max_input_len = *len_btaddr;
-    memcpy_s(buf_btaddr,max_input_len,btinfo.bd_addr,sizeof(btinfo.bd_addr));
+    memcpy_s(buf_btaddr, max_input_len, btinfo.bd_addr, sizeof(btinfo.bd_addr));
     *len_btaddr = sizeof(btinfo.bd_addr);
     printf("get nv local_addr : ******%02x%02x%02x\n", buf_btaddr[2], buf_btaddr[1], buf_btaddr[0]);
 
 #endif
 
- return ERRCODE_SUCC;
+    return ERRCODE_SUCC;
 }
 errcode_t uapi_set_nv_btaddr(uint8_t *buf_btaddr, uint32_t len_btaddr)
 {
 #ifdef SUPPORT_NV
-    if( buf_btaddr == NULL || len_btaddr == 0)
+    if (buf_btaddr == NULL || len_btaddr == 0)
         return ERRCODE_FAIL;
 
     btsrv_local_device_info_t btinfo = {0};
     uint16_t len = 0;
-    
+
     /**先读取NV,再修改addr值*/
     errcode_t nvRet = uapi_nv_read(NV_ID_BTSRV_LOCAL_DEV_INFO, sizeof(btsrv_local_device_info_t), &len, &btinfo);
-    if (nvRet != ERRCODE_SUCC) {
-         return nvRet;
+    if (nvRet != ERRCODE_SUCC)
+    {
+        return nvRet;
     }
 
+    uint16_t key_len = sizeof(btinfo.bd_addr);
+    memcpy_s(btinfo.bd_addr, key_len, buf_btaddr, len_btaddr);
+    nvRet = uapi_nv_write(NV_ID_BTSRV_LOCAL_DEV_INFO, &btinfo, sizeof(btsrv_local_device_info_t));
+    if (nvRet != ERRCODE_SUCC)
+    {
+        /* ERROR PROCESS */
 
-    uint16_t key_len=  sizeof(btinfo.bd_addr); 
-    memcpy_s(btinfo.bd_addr,key_len,buf_btaddr,len_btaddr);
-    nvRet = uapi_nv_write(NV_ID_BTSRV_LOCAL_DEV_INFO, &btinfo, sizeof(btsrv_local_device_info_t)); 
-    if (nvRet != ERRCODE_SUCC) { 
-        /* ERROR PROCESS */ 
-      
-        return nvRet; 
-    } 
+        return nvRet;
+    }
     printf("set nv local_addr : ******%02x%02x%02x\n", buf_btaddr[3], buf_btaddr[4], buf_btaddr[5]);
-    
+
 #endif
-    
+
     return ERRCODE_SUCC;
 }
 
-
 errcode_t uapi_get_nv_btname(uint8_t *buf_btname, uint32_t *len_btname)
 {
 #ifdef SUPPORT_NV
-    if( buf_btname == NULL || len_btname == NULL || *len_btname == 0)
+    if (buf_btname == NULL || len_btname == NULL || *len_btname == 0)
         return ERRCODE_FAIL;
 
     uint16_t len = 0;
     btsrv_local_device_info_t btinfo = {0};
     errcode_t nvRet = uapi_nv_read(NV_ID_BTSRV_LOCAL_DEV_INFO, sizeof(btsrv_local_device_info_t), &len, &btinfo);
-    if (nvRet != ERRCODE_SUCC) {
-         *len_btname = 0;
-         return nvRet;
+    if (nvRet != ERRCODE_SUCC)
+    {
+        *len_btname = 0;
+        return nvRet;
     }
     uint32_t max_input_len = *len_btname;
-    *len_btname = strlen((char*)btinfo.name);
-    memcpy_s(buf_btname,max_input_len,btinfo.name,*len_btname);
+    *len_btname = strlen((char *)btinfo.name);
+    memcpy_s(buf_btname, max_input_len, btinfo.name, *len_btname);
     printf("get nv local_name : %s\n", buf_btname);
 
 #endif
 
- return ERRCODE_SUCC;
+    return ERRCODE_SUCC;
 }
 
-
 errcode_t uapi_set_nv_btname(uint8_t *buf_btname, uint32_t len_btname)
 {
 
 #ifdef SUPPORT_NV
-    if( buf_btname == NULL || len_btname == 0)
+    if (buf_btname == NULL || len_btname == 0)
         return ERRCODE_FAIL;
 
     btsrv_local_device_info_t btinfo = {0};
     uint16_t len = 0;
-    
+
     /**先读取NV,再修改addr值*/
     errcode_t nvRet = uapi_nv_read(NV_ID_BTSRV_LOCAL_DEV_INFO, sizeof(btsrv_local_device_info_t), &len, &btinfo);
-    if (nvRet != ERRCODE_SUCC) {
-         return ERRCODE_FAIL;
+    if (nvRet != ERRCODE_SUCC)
+    {
+        return ERRCODE_FAIL;
     }
 
+    uint16_t key_len = sizeof(btinfo.name);
+    memcpy_s(btinfo.name, key_len, buf_btname, len_btname);
+    nvRet = uapi_nv_write(NV_ID_BTSRV_LOCAL_DEV_INFO, &btinfo, sizeof(btsrv_local_device_info_t));
+    if (nvRet != ERRCODE_SUCC)
+    {
+        /* ERROR PROCESS */
 
-    uint16_t key_len=sizeof(btinfo.name); 
-    memcpy_s(btinfo.name,key_len,buf_btname,len_btname);
-    nvRet = uapi_nv_write(NV_ID_BTSRV_LOCAL_DEV_INFO, &btinfo, sizeof(btsrv_local_device_info_t)); 
-    if (nvRet != ERRCODE_SUCC) { 
-        /* ERROR PROCESS */ 
-
-        return ERRCODE_FAIL; 
-    } 
+        return ERRCODE_FAIL;
+    }
     printf("set nv local_name : %s\n", btinfo.name);
-    
+
 #endif
- return ERRCODE_SUCC;
+    return ERRCODE_SUCC;
 }
 
-
-
-
 errcode_t init_btaddr_btname(void)
 {
 
-    errcode_t ret ;
-    uint8_t bd_addr[BD_ADDR_LEN]={0};
-    uint8_t name[BTSDK_DEVNAME_LEN]={0};
-    uint32_t  addrlen = sizeof(bd_addr);
-    ret = uapi_get_nv_btaddr(bd_addr,&addrlen);
-    if (ret != ERRCODE_SUCC) { 
-        /* ERROR PROCESS */ 
-        printf("uapi_get_nv_btaddr failed ret %d , addrlen %d\n",ret,addrlen);
-        return ERRCODE_FAIL; 
-    } 
+    errcode_t ret;
+    uint8_t bd_addr[BD_ADDR_LEN] = {0};
+    uint8_t name[BTSDK_DEVNAME_LEN] = {0};
+    uint32_t addrlen = sizeof(bd_addr);
+    ret = uapi_get_nv_btaddr(bd_addr, &addrlen);
+    if (ret != ERRCODE_SUCC)
+    {
+        /* ERROR PROCESS */
+        printf("uapi_get_nv_btaddr failed ret %d , addrlen %d\n", ret, addrlen);
+        return ERRCODE_FAIL;
+    }
 
- //如果  281106856959
-    if ( bd_addr[5] == 0x59 &&
+    // 如果  281106856959
+    if (bd_addr[5] == 0x59 &&
         bd_addr[4] == 0x69 &&
         bd_addr[3] == 0x85 &&
         bd_addr[2] == 0x06 &&
         bd_addr[1] == 0x11 &&
-        bd_addr[0] == 0x28 )
-    {   
-        
-        uint8_t soc_id[20]; // 20 is soc id length
+        bd_addr[0] == 0x28)
+    {
+
+        uint8_t soc_id[20];           // 20 is soc id length
         uapi_soc_read_id(soc_id, 20); // 20 is soc id length
         uint16_t sum = 0x0;
         printf("[soc id:]\r\n");
-        for (uint8_t i = 0; i < 20; i += 2) { // 20 is soc id length, 2 means use 16bits
-            uint16_t ptmp16= *((uint16_t *)&soc_id[i]);
+        for (uint8_t i = 0; i < 20; i += 2)
+        { // 20 is soc id length, 2 means use 16bits
+            uint16_t ptmp16 = *((uint16_t *)&soc_id[i]);
             sum += ptmp16;
             printf("0x%04X  ", ptmp16);
-            if ((i + 2) % 8 == 0) { printf("\r\n"); } // 2&8 will word wrap
+            if ((i + 2) % 8 == 0)
+            {
+                printf("\r\n");
+            } // 2&8 will word wrap
         }
-        printf("get socid sum 0x%04X\r\n",sum);
+        printf("get socid sum 0x%04X\r\n", sum);
         srand(sum);
-        //默认是:281106856959
+        // 默认是:281106856959
         printf("是默认值,修改地址\n");
-        bd_addr[3] = rand() % 0xFF;  
+        bd_addr[3] = rand() % 0xFF;
         bd_addr[4] = rand() % 0xFF;
         bd_addr[5] = rand() % 0xFF;
 
         printf("uapi_set_nv_btaddr : ******%02x%02x%02x\n", bd_addr[3], bd_addr[4], bd_addr[5]);
 
         ret = uapi_set_nv_btaddr(bd_addr, addrlen);
-        if (ret != ERRCODE_SUCC) { 
-            /* ERROR PROCESS */ 
-            printf("uapi_set_nv_btaddr failed ret %d\n",ret);
-            return ERRCODE_FAIL; 
-        } 
-
+        if (ret != ERRCODE_SUCC)
+        {
+            /* ERROR PROCESS */
+            printf("uapi_set_nv_btaddr failed ret %d\n", ret);
+            return ERRCODE_FAIL;
+        }
     }
 
- 
 #if 0
     uint32_t  namelen = sizeof(name);
     ret = uapi_get_nv_btname(name,&namelen);
@@ -875,21 +938,19 @@ errcode_t init_btaddr_btname(void)
     }
 #endif
     return ERRCODE_SUCC;
-
 }
 
-
 #include "build_version.h"
-#define VER_STR_MAX             128
+#define VER_STR_MAX 128
 errcode_t uapi_get_buildversion(uint8_t *para, uint32_t para_len)
 {
-    if (para == NULL || para_len == 0 )
+    if (para == NULL || para_len == 0)
         return ERRCODE_FAIL;
 
     char str[VER_STR_MAX];
-#if !(defined BUILD_TIME) 
+#if !(defined BUILD_TIME)
 #warning no BUILD_TIME
- (void)sprintf_s(str, VER_STR_MAX, "%s",
+    (void)sprintf_s(str, VER_STR_MAX, "%s",
                     get_version_string());
 
 #else
@@ -898,26 +959,25 @@ errcode_t uapi_get_buildversion(uint8_t *para, uint32_t para_len)
 
 #endif
     printf(str);
-    memset(para,0,para_len);
-    memcpy_s(para,para_len,str,strlen(str));
+    memset(para, 0, para_len);
+    memcpy_s(para, para_len, str, strlen(str));
 
     return ERRCODE_SUCC;
 }
 
 #include "vibrator.h"
 
-void vibrator_cyclicity(uint16_t duty , uint16_t cycle_time_ms,uint16_t duration_time_ms)
+void vibrator_cyclicity(uint16_t duty, uint16_t cycle_time_ms, uint16_t duration_time_ms)
 {
-    g_VibratorFunc(duty,cycle_time_ms,duration_time_ms);
+    g_VibratorFunc(duty, cycle_time_ms, duration_time_ms);
 }
 
-
 void uapi_take_to_wake(int cmd)
 {
-    if(cmd == 1)
-        do_cywee_service_check_msg(CYWEE_SERVICE_CMD_OPEN_HAND_UPDOWN,NULL);
-    else 
-        do_cywee_service_check_msg(CYWEE_SERVICE_CMD_CLOSE_HAND_UPDOWN,NULL);
+    if (cmd == 1)
+        do_cywee_service_check_msg(CYWEE_SERVICE_CMD_OPEN_HAND_UPDOWN, NULL);
+    else
+        do_cywee_service_check_msg(CYWEE_SERVICE_CMD_CLOSE_HAND_UPDOWN, NULL);
 }
 
 #include "lcd_common.h"
@@ -928,17 +988,20 @@ void lcd_getid(uint32_t *id)
     lcd_drv_cfg *lcd_cfg = NULL;
 
     lcd_drv_comm_api = lcd_drv_get_common_api();
-    if (lcd_drv_comm_api == NULL) {
+    if (lcd_drv_comm_api == NULL)
+    {
         PRINT("lcd_drv_comm_api is null.\r\n");
     }
     else
     {
         lcd_cfg = lcd_drv_comm_api->get_lcd_config();
-        if (lcd_cfg == NULL) {
+        if (lcd_cfg == NULL)
+        {
             PRINT("lcd_cfg is null.\r\n");
-        }else
+        }
+        else
         {
-            PRINT("LCD ID : 0x%x\r\n",(uint32_t)lcd_cfg->lcd_id);
+            PRINT("LCD ID : 0x%x\r\n", (uint32_t)lcd_cfg->lcd_id);
             *id = (uint32_t)lcd_cfg->lcd_id;
         }
     }
@@ -946,38 +1009,38 @@ void lcd_getid(uint32_t *id)
 
 #include "ft6x46_ctrl.h"
 #include "ft6x46_touch1.h"
-#define FTS_REG_CHIP_ID                                0xA3
-#define FTS_REG_CHIP_ID2                               0x9F
+#define FTS_REG_CHIP_ID 0xA3
+#define FTS_REG_CHIP_ID2 0x9F
 /*Max point numbers of touch trace*/
-#define MAX_POINTS_TOUCH_TRACE                         1
+#define MAX_POINTS_TOUCH_TRACE 1
 /*Length of touch information*/
-#define MAX_LEN_TOUCH_INFO                                 (MAX_POINTS_TOUCH_TRACE * 6 + 2)
-#define        FTS_MAX_POINTS_SUPPORT                                          10
-
-struct fts_ts_event {
-    int x;             /*x coordinate */
-    int y;             /*y coordinate */
-    int p;             /* pressure */
-    int type;  /* touch event flag: 0 -- down; 1-- up; 2 -- contact */
-    int id;    /*touch ID */
-    int area;   /*touch area*/
-};
+#define MAX_LEN_TOUCH_INFO (MAX_POINTS_TOUCH_TRACE * 6 + 2)
+#define FTS_MAX_POINTS_SUPPORT 10
 
+struct fts_ts_event
+{
+    int x;    /*x coordinate */
+    int y;    /*y coordinate */
+    int p;    /* pressure */
+    int type; /* touch event flag: 0 -- down; 1-- up; 2 -- contact */
+    int id;   /*touch ID */
+    int area; /*touch area*/
+};
 
-void get_tp_info(int16_t *x,int16_t *y)
+void get_tp_info(int16_t *x, int16_t *y)
 {
     uint8_t i = 0;
     uint8_t base = 0;
     uint8_t regaddr = 0x01;
-    uint8_t buf[MAX_LEN_TOUCH_INFO];/*A maximum of two points are supported*/
+    uint8_t buf[MAX_LEN_TOUCH_INFO]; /*A maximum of two points are supported*/
 
-    struct fts_ts_event events[FTS_MAX_POINTS_SUPPORT];    /* multi-touch */
+    struct fts_ts_event events[FTS_MAX_POINTS_SUPPORT]; /* multi-touch */
     /*read touch information from reg0x01*/
     tp_ft6x46_i2c_data_read(regaddr, buf, MAX_LEN_TOUCH_INFO);
 
     memset(events, 0xFF, sizeof(struct fts_ts_event) * FTS_MAX_POINTS_SUPPORT);
 
-    for (i = 0; i < MAX_POINTS_TOUCH_TRACE; i++) 
+    for (i = 0; i < MAX_POINTS_TOUCH_TRACE; i++)
     {
         base = 2 + i * 6;
 
@@ -987,28 +1050,32 @@ void get_tp_info(int16_t *x,int16_t *y)
         *x = events[i].x;
         *y = events[i].y;
 
-        PRINT("X : %d, y : %d \r\n",*x,*y);
+        PRINT("X : %d, y : %d \r\n", *x, *y);
     }
 }
 
-
 void touch_getid(uint16_t *id)
 {
     ext_errno ret;
-    uint8_t chip_id[2] = { 0 };
+    uint8_t chip_id[2] = {0};
     /*get chip id*/
     ret = tp_ft6x46_i2c_data_read(FTS_REG_CHIP_ID, &chip_id[0], 1);
-    if (ret != EXT_ERR_SUCCESS) {
+    if (ret != EXT_ERR_SUCCESS)
+    {
         PRINT("get ic information error1");
-    } else {
+    }
+    else
+    {
         ret = tp_ft6x46_i2c_data_read(FTS_REG_CHIP_ID2, &chip_id[1], 1);
-        if (ret != EXT_ERR_SUCCESS) {
+        if (ret != EXT_ERR_SUCCESS)
+        {
             PRINT("get ic information error2");
-        } else
+        }
+        else
         {
-            PRINT("TOUCH CHIP ID = 0x%02x%02x \r\n",  chip_id[0], chip_id[1]);
+            PRINT("TOUCH CHIP ID = 0x%02x%02x \r\n", chip_id[0], chip_id[1]);
             *id = (chip_id[0] & 0XFF) << 8 | (chip_id[1] & 0XFF);
-            //sprintf(id,"0x%02x%02x",  chip_id[0], chip_id[1]);
+            // sprintf(id,"0x%02x%02x",  chip_id[0], chip_id[1]);
         }
     }
 }
@@ -1019,7 +1086,7 @@ void touch_getstate(void)
 {
     int32_t state;
     state = uapi_get_screen_state();
-    PRINT("state : %d\r\n",state);
+    PRINT("state : %d\r\n", state);
 }
 
 #include "MMC5603.h"
@@ -1030,20 +1097,19 @@ void mmc5603_getid(unsigned char *id)
     MMC5603_GETID(id);
 }
 
-void mmc5603_getdata(float *fAzimuth,float *fPitch,float *fRoll)
+void mmc5603_getdata(float *fAzimuth, float *fPitch, float *fRoll)
 {
     mmc5603_check();
     *fAzimuth = mag_service_get_fAzimuth();
     *fPitch = mag_service_get_fPitch();
     *fRoll = mag_service_get_fRoll();
-    PRINT("Azimuth : %f, fPitch : %f , fRoll : %f \r\n",*fAzimuth,*fPitch,*fRoll);
+    PRINT("Azimuth : %f, fPitch : %f , fRoll : %f \r\n", *fAzimuth, *fPitch, *fRoll);
 }
 
-
 #include "battery_hal.h"
 void charge_getstate(void)
 {
-    if(get_charge_stat())
+    if (get_charge_stat())
         PRINT("charging\r\n");
     else
         PRINT("uncharged\r\n");
@@ -1062,7 +1128,6 @@ void battery_getvoltage(float *voltage)
     battery_get_voltage(voltage);
 }
 
-
 #include "flash.h"
 
 void flash_getid(uint32_t *id)
@@ -1070,7 +1135,7 @@ void flash_getid(uint32_t *id)
     flash_info_t norflash_id;
     uapi_flash_get_info(0, &norflash_id);
     *id = norflash_id.flash_id;
-    PRINT("flash_id : %X \r\n",*id);
+    PRINT("flash_id : %X \r\n", *id);
 }
 
 void flash_erase(void)
@@ -1095,9 +1160,8 @@ void get_gsensor_single(uint8_t *databuf)
     databuf[4] = (uint8_t)((t.z & 0xFF00) >> 8);
     databuf[5] = (uint8_t)(t.z & 0x00FF);
 
-    PRINT("x : %d, y : %d, z : %d \r\n",t.x,t.y,t.z);
-    PRINT("GSENSOR: %2X %2X %2X %2X %2X %2X\r\n",databuf[0],databuf[1],databuf[2],databuf[3],databuf[4],databuf[5]);
-
+    PRINT("x : %d, y : %d, z : %d \r\n", t.x, t.y, t.z);
+    PRINT("GSENSOR: %2X %2X %2X %2X %2X %2X\r\n", databuf[0], databuf[1], databuf[2], databuf[3], databuf[4], databuf[5]);
 }
 
 void gsensor_get_single_data(gsenson_t *t)
@@ -1105,20 +1169,22 @@ void gsensor_get_single_data(gsenson_t *t)
     get_gsonsen_xyz(t);
 }
 
-
 // 判断是否为闰年
-int isLeapYear(int year) {
+int isLeapYear(int year)
+{
     return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
 }
 
 // 计算某年某月的天数
-int daysInMonth(int year, int month) {
+int daysInMonth(int year, int month)
+{
     const int days[12] = {31, 28 + isLeapYear(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
     return days[month - 1];
 }
 
 // 计算时间距离1970年1月1日00:00:00的秒数
-uint32_t secondsSinceEpoch(int year,int month,int day,int hour,int min,int sec) {
+uint32_t secondsSinceEpoch(int year, int month, int day, int hour, int min, int sec)
+{
     const int secondsPerMinute = 60;
     const int secondsPerHour = 3600;
     const int secondsPerDay = 86400;
@@ -1127,12 +1193,14 @@ uint32_t secondsSinceEpoch(int year,int month,int day,int hour,int min,int sec)
     long long seconds = 0;
 
     // 计算年份之间的秒数
-    for (int i = 1970; i < year; ++i) {
+    for (int i = 1970; i < year; ++i)
+    {
         seconds += isLeapYear(i) ? secondsPerYear + secondsPerDay : secondsPerYear;
     }
 
     // 计算月份之间的秒数
-    for (int i = 1; i < month; ++i) {
+    for (int i = 1; i < month; ++i)
+    {
         seconds += daysInMonth(year, i) * secondsPerDay;
     }
 
@@ -1149,56 +1217,58 @@ void get_rtc(uint32_t *msc)
 {
 
     time_t rawtime;
-    struct tm* timeinfo;
+    struct tm *timeinfo;
     time(&rawtime);
     timeinfo = localtime(&rawtime);
     *msc = secondsSinceEpoch(timeinfo->tm_year + 1900,
-                            timeinfo->tm_mon + 1,
-                            timeinfo->tm_mday,
-                            timeinfo->tm_hour,
-                            timeinfo->tm_min,
-                            timeinfo->tm_sec);
-    PRINT("msc : %d \r\n",*msc);
+                             timeinfo->tm_mon + 1,
+                             timeinfo->tm_mday,
+                             timeinfo->tm_hour,
+                             timeinfo->tm_min,
+                             timeinfo->tm_sec);
+    PRINT("msc : %d \r\n", *msc);
 }
 
-//#include "lis2doc_reg.h"
+// #include "lis2doc_reg.h"
 
 #include "stdio.h"
 
 /**** 静态全局变量 ****/
-static int width = 200; //LCD X 分辨率
-static int height = 200; //LCD Y 分辨率
-static uint32_t *bmp_buf = NULL; //bmp_buf
-static unsigned long line_length; //LCD 一行的长度(字节为单位)
+static int width = 200;           // LCD X 分辨率
+static int height = 200;          // LCD Y 分辨率
+static uint32_t *bmp_buf = NULL;  // bmp_buf
+static unsigned long line_length; // LCD 一行的长度(字节为单位)
 
 /**** BMP 文件头数据结构 ****/
-typedef struct {
-    unsigned char type[2]; //文件类型
-    unsigned int size; //文件大小
-    unsigned short reserved1; //保留字段 1
-    unsigned short reserved2; //保留字段 2
-    unsigned int offset; //到位图数据的偏移量
-} __attribute__ ((packed)) bmp_file_header;
+typedef struct
+{
+    unsigned char type[2];    // 文件类型
+    unsigned int size;        // 文件大小
+    unsigned short reserved1; // 保留字段 1
+    unsigned short reserved2; // 保留字段 2
+    unsigned int offset;      // 到位图数据的偏移量
+} __attribute__((packed)) bmp_file_header;
 
 /**** 位图信息头数据结构 ****/
-typedef struct {
-    unsigned int size; //位图信息头大小
-    int width; //图像宽度
-    int height; //图像高度
-    unsigned short planes; //位面数
-    unsigned short bpp; //像素深度
-    unsigned int compression; //压缩方式
-    unsigned int image_size; //图像大小
-    int x_pels_per_meter; //像素/米
-    int y_pels_per_meter; //像素/米
+typedef struct
+{
+    unsigned int size;        // 位图信息头大小
+    int width;                // 图像宽度
+    int height;               // 图像高度
+    unsigned short planes;    // 位面数
+    unsigned short bpp;       // 像素深度
+    unsigned int compression; // 压缩方式
+    unsigned int image_size;  // 图像大小
+    int x_pels_per_meter;     // 像素/米
+    int y_pels_per_meter;     // 像素/米
     unsigned int clr_used;
     unsigned int clr_omportant;
-} __attribute__ ((packed)) bmp_info_header;
+} __attribute__((packed)) bmp_info_header;
 
 int set_bmp(void)
 {
-    unsigned short *line_buf = NULL; //行缓冲区
-    unsigned long line_bytes; //BMP 图像一行的字节的大小
+    unsigned short *line_buf = NULL; // 行缓冲区
+    unsigned long line_bytes;        // BMP 图像一行的字节的大小
     unsigned int min_h, min_bytes;
 
     const char *path = {"/system/1.bmp"};
@@ -1209,21 +1279,22 @@ int set_bmp(void)
 
     /* 打开BMP 文件 */
     FILE *fp = fopen(path, "r");
-    if (fp == NULL) {
+    if (fp == NULL)
+    {
         fclose(fp);
         PRINT("file open failed !!!\r\n");
         return -1;
     }
     PRINT("file open succ !!!\r\n");
     /* 读取 BMP 文件头 */
-    if (sizeof(bmp_file_header) != fread(&file_h, 1, sizeof(bmp_file_header),fp) )
+    if (sizeof(bmp_file_header) != fread(&file_h, 1, sizeof(bmp_file_header), fp))
     {
         PRINT(" read  bmp_file_header failed !!!\r\n");
         fclose(fp);
         return -1;
     }
     PRINT("file read succ !!!\r\n");
-    if (0 != memcmp(file_h.type, "BM", 2)) 
+    if (0 != memcmp(file_h.type, "BM", 2))
     {
         PRINT("it's not a BMP file !!!\r\n");
         fclose(fp);
@@ -1231,7 +1302,7 @@ int set_bmp(void)
     }
 
     /* 读取位图信息头 */
-    if (sizeof(bmp_info_header) != fread(&info_h, 1,sizeof(bmp_info_header),fp) )
+    if (sizeof(bmp_info_header) != fread(&info_h, 1, sizeof(bmp_info_header), fp))
     {
         PRINT("read bmp_info_header error !!!\r\n");
         fclose(fp);
@@ -1239,15 +1310,16 @@ int set_bmp(void)
     }
     /* 打印信息 */
     PRINT("文件大小: %d\n"
-    "位图数据的偏移量: %d\n"
-    "位图信息头大小: %d\n"
-    "图像分辨率: %d*%d\n"
-    "像素深度: %d\n", file_h.size, file_h.offset,
-    info_h.size, info_h.width, info_h.height,
-    info_h.bpp);
+          "位图数据的偏移量: %d\n"
+          "位图信息头大小: %d\n"
+          "图像分辨率: %d*%d\n"
+          "像素深度: %d\n",
+          file_h.size, file_h.offset,
+          info_h.size, info_h.width, info_h.height,
+          info_h.bpp);
 
     /* 将文件读写位置移动到图像数据开始处 */
-    if (-1 == fseek(fp, file_h.offset, SEEK_SET)) 
+    if (-1 == fseek(fp, file_h.offset, SEEK_SET))
     {
         PRINT("file lseek error !!!\r\n");
         fclose(fp);
@@ -1259,7 +1331,7 @@ int set_bmp(void)
     line_bytes = info_h.width * info_h.bpp / 8;
     line_buf = malloc(line_bytes);
     bmp_buf = malloc(file_h.size);
-    if (NULL == line_buf) 
+    if (NULL == line_buf)
     {
         fclose(fp);
         return -1;
@@ -1267,47 +1339,46 @@ int set_bmp(void)
     else
         PRINT("malloc succ !!!\r\n");
 
-
     if (line_length > line_bytes)
         min_bytes = line_bytes;
     else
         min_bytes = line_length;
 
-    if (0 < info_h.height) 
-    {//倒向位图
-        if (info_h.height > height) 
+    if (0 < info_h.height)
+    { // 倒向位图
+        if (info_h.height > height)
         {
             min_h = height;
             fseek(fp, (info_h.height - height) * line_bytes, SEEK_CUR);
-            bmp_buf += width * (height - 1); //定位到屏幕左下角位置
+            bmp_buf += width * (height - 1); // 定位到屏幕左下角位置
         }
-        else 
+        else
         {
             min_h = info_h.height;
-            bmp_buf += width * (info_h.height - 1); 
+            bmp_buf += width * (info_h.height - 1);
         }
-        for (j = min_h; j > 0; bmp_buf -= width, j--) 
+        for (j = min_h; j > 0; bmp_buf -= width, j--)
         {
-            fread( line_buf, 1, line_bytes ,fp); //读取出图像数据
-            memcpy(bmp_buf, line_buf, min_bytes);//
+            fread(line_buf, 1, line_bytes, fp);   // 读取出图像数据
+            memcpy(bmp_buf, line_buf, min_bytes); //
         }
     }
-    else 
-    { //正向位图
-        int temp = 0 - info_h.height; //负数转成正数
+    else
+    {                                 // 正向位图
+        int temp = 0 - info_h.height; // 负数转成正数
         if (temp > height)
             min_h = height;
         else
             min_h = temp;
-        for (j = 0; j < min_h; j++, bmp_buf += width) 
+        for (j = 0; j < min_h; j++, bmp_buf += width)
         {
-            fread(line_buf, 1 ,line_bytes , fp);
+            fread(line_buf, 1, line_bytes, fp);
             memcpy(bmp_buf, line_buf, min_bytes);
         }
     }
 
     int size = strlen(bmp_buf);
-    PRINT("bmp_buf size : %d\r\n",size);
+    PRINT("bmp_buf size : %d\r\n", size);
 
     /* 关闭文件、函数返回 */
     fclose(fp);
@@ -1317,13 +1388,13 @@ int set_bmp(void)
 
 int enter_recovery(void)
 {
-    if(set_bmp() == -1)
+    if (set_bmp() == -1)
     {
         PRINT("set bmp failed !!! \r\n");
         return -1;
     }
     return 1;
-    //upg_reboot();
+    // upg_reboot();
 }
 
 #include "driver/calendar.h"
@@ -1334,7 +1405,7 @@ uint32_t uapi_calendar_store_date(void)
     calendar_t date;
 
     time_t rawtime;
-    struct tm* timeinfo;
+    struct tm *timeinfo;
     time(&rawtime);
     timeinfo = localtime(&rawtime);
     date.year = timeinfo->tm_year + 1900;
@@ -1345,9 +1416,10 @@ uint32_t uapi_calendar_store_date(void)
     date.sec = timeinfo->tm_sec;
 
     errcode_t ret = uapi_calendar_set_datetime(&date);
-    if (ret == ERRCODE_SUCC) {
+    if (ret == ERRCODE_SUCC)
+    {
         printf("store datetime success: %d-%d-%d %d:%d:%d\r\n", date.year, date.mon, date.day, date.hour, date.min,
-            date.sec);
+               date.sec);
         return ERRCODE_SUCC;
     }
     printf("Set datetime failed, error code = %d \r\n", ret);
@@ -1359,15 +1431,16 @@ uint32_t uapi_calendar_recover_date(void)
 
     calendar_t date;
     errcode_t ret = uapi_calendar_get_datetime(&date);
-    if (ret == ERRCODE_SUCC) {
+    if (ret == ERRCODE_SUCC)
+    {
         printf("Get datetime success: %d-%d-%d %d:%d:%d\r\n", date.year, date.mon, date.day, date.hour, date.min,
-            date.sec);
-        
-        {//设置时间
-            struct timeval tv = { 0 };
-            struct tm _tm={0};
-            _tm.tm_year = date.year -1900;
-            _tm.tm_mon = date.mon -1;
+               date.sec);
+
+        { // 设置时间
+            struct timeval tv = {0};
+            struct tm _tm = {0};
+            _tm.tm_year = date.year - 1900;
+            _tm.tm_mon = date.mon - 1;
             _tm.tm_mday = date.day;
             _tm.tm_hour = date.hour;
             _tm.tm_min = date.min;
@@ -1377,10 +1450,9 @@ uint32_t uapi_calendar_recover_date(void)
             tv.tv_usec = 0;
             settimeofday(&tv, NULL);
         }
-        
+
         return ERRCODE_SUCC;
     }
     printf("Get datetime failed, error code = %d \r\n", ret);
     return ret;
 }
-