Merge #212 into sdk602patch0521 from refs/changes/212/head 213/target/1
authorsnickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Fri, 31 May 2024 15:17:06 +0000 (15:17 +0000)
committersnickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Fri, 31 May 2024 15:17:06 +0000 (15:17 +0000)
Code review from snickersun@163.com

* refs/changes/212/head: (4 commits squashed)

  - 解决触摸屏触摸后无法休眠问题

  - 解决表冠转动时仍然会息屏问题

  - 修复ft6x46内存泄漏问题

  - WEARABLE_LOG_DEBUG放到 config.py中,保证所有模块都受控。优化部分打印以及去掉无用代码

Signed-off-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Reviewed-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Merged-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/212
code/sdk/application/brandy/brandy_standard/thread_pri_init.c
code/sdk/application/wearable/service/power_manager/src/filters/timer_event_filter.c
code/sdk/application/wearable/service/power_manager/src/power_display_service.c
code/sdk/application/wstp/at_service/app/app_at_process.c
code/sdk/build/config/target_config/brandy/config.py
code/sdk/drivers/peripheral/touch/ft6x46_touch/ft6x46_ctrl.c
code/sdk/drivers/peripheral/touch/ft6x46_touch/ft6x46_ctrl.h

index ea69e47..8be0240 100755 (executable)
@@ -434,32 +434,24 @@ static void thread_main(const void *unused)
 \r
 #endif\r
 \r
-// #ifdef MAG_MMC5603\r
-//     uapi_mag_service_init();\r
-// #endif\r
+\r
 #ifdef ACC_LIS2DOC\r
-    uapi_acc_service_init();\r
+    // uapi_acc_service_init();\r
 #endif\r
 \r
 \r
-// #ifdef SUPPORT_PPG_SERVICE\r
-//     uapi_ppg_service_init();\r
-// #endif\r
-\r
 #ifdef ENABLE_SLIP\r
     slip_uart_init();\r
 #endif\r
 \r
     uapi_custom_cmd_service_init();\r
 \r
-// #ifdef ENABLE_CYWEE\r
-//     uapi_cywee_service_init();\r
-// #endif \r
+\r
 \r
 #ifdef SUPPORT_ALIPAY_SEC\r
     uapi_alipay_svr_init();\r
 #endif\r
-    // ble_hid_server_init();\r
+ \r
 \r
 #ifdef SUPPORT_CAT1_SERVICE\r
     cat1_server_init();\r
index 8aac3ce..5630f7d 100755 (executable)
@@ -7,7 +7,7 @@
 #include "power_display_service.h"
 #include "display_filter.h"
 #include "common_def.h"
-
+#include "touch_screen_def.h"
 static input_action_t filter_timer_execute_product_rule(screen_context_t *current, uint32_t event)
 {
     unused(current);
@@ -25,12 +25,12 @@ static input_action_t filter_timer_execute_system_rule(screen_context_t *current
         if (current->current_state == SCREEN_ON) {
             ac = RESET_TIMER;
         }
-    } else if (event == DEFAULT_TIMER_TIME_OUT) {
-        if (sc->press_state == 0 && sc->time_out_enable == true) {
+            } else if (event == DEFAULT_TIMER_TIME_OUT) {
+        if (sc->press_state == MC_TP_RELEASE && sc->time_out_enable == true) {
             ac = TURN_OFF_SCREEN;
         }
-    } else if (event == KEEP_ON_TIMER_TIME_OUT) {
-        ac = RESET_TIMER;
+            } else if (event == KEEP_ON_TIMER_TIME_OUT) {
+                ac = RESET_TIMER;
     }
 
     return ac;
index de79404..32f980a 100755 (executable)
@@ -20,6 +20,7 @@
 #include "touch_screen_def.h"
 #include "display_state_machine.h"
 #include "touch_screen_def.h"
+#include "rotary_encoder_def.h"
 
 #define DISPLAY_AUTO_POWER_OFF_PERIOD_MS 5000
 #define DISPLAY_DEFAULT_BRIGHTNESS 50
@@ -230,12 +231,12 @@ static void power_display_touch_event_cb(uint32_t event, uint32_t event_value)
         event_info += MC_TP_RELEASE;
         g_power_tp_press_num = 0;
     } else {
-        return;
+                return;
     }
-    if (g_power_tp_press_num > 1) {
-        return;
+        if (g_power_tp_press_num > 1) {
+                return;
     }
-    errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);
+        errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);
     if (ret != ERRCODE_SUCC) {
         POWER_DISPLAY_PRINT_ERR(0, "touch_event send msg fail, ret:%u.", ret);
     }
@@ -464,6 +465,7 @@ errcode_t uapi_power_display_init(void)
     g_event_filter_map[TIMER_EVENT] = display_get_timer_filter();
     g_event_filter_map[SLICE_EVENT] = display_get_slice_filter();
     ts_register_power_manager_cb(power_display_touch_event_cb);
+    re_register_power_manager_cb(power_display_key_event_cb);
     button_register_power_display_cb(power_display_key_event_cb);
     return ERRCODE_SUCC;
 }
index 546f281..3ba87d6 100755 (executable)
@@ -2419,7 +2419,7 @@ uint8_t mcu_pms_is_screen_on(void)
 {\r
     const power_display_svr_api_t *display_api = power_display_svr_get_api();\r
     screen_state_t state = display_api->get_screen_state();\r
-    wstp_print("app get screen state = %u, on is %u, off is %u. \r\n", state, SCREEN_ON, SCREEN_OFF);\r
+    wstp_print("app get screen state = %s . \r\n", state==SCREEN_ON?"on":"off");\r
     if( state == SCREEN_ON){\r
         return 1;\r
     }else{\r
@@ -2432,7 +2432,7 @@ static uint32_t mcu_pms_get_screen_state(uint8_t *para, uint32_t para_len)
     unused(para);\r
     const power_display_svr_api_t *display_api = power_display_svr_get_api();\r
     screen_state_t state = display_api->get_screen_state();\r
-    wstp_print("app get screen state = %u, on is %u, off is %u. \r\n", state, SCREEN_ON, SCREEN_OFF);\r
+    wstp_print("app get screen state = %s . \r\n", state==SCREEN_ON?"on":"off");\r
     return ERRCODE_SUCC;\r
 }\r
 #endif\r
index bce4505..ae39c1f 100755 (executable)
@@ -116,6 +116,7 @@ target = {
                     'SW_UART_DEBUG', 'SAVE_EXC_INFO', 'HASH_MEM_COPY', 'JS_ENABLE', 'CONFIG_LOW_POWER_TEST',
                     'ENABLE_ECC','MIPI_ULPS_SUPPORT','SUPPORT_ALIPAY_SEC',
                     'FT_SINGLE_UART',
+                    # 'WEARABLE_LOG_DEBUG',
                     'PPG_HX3695',
                     # 'ACC_LIS2DOC',
                     'ENABLE_CYWEE',
index 5bdfe1f..f6a42fd 100644 (file)
@@ -24,6 +24,8 @@ bool g_host_dev_init_flag = TD_FALSE;
 ft6x46_ctrl_attr g_ctrl_attr;
 touch_callback g_ft6x46_callback = NULL;
 
+static uint8_t g_tp_recv_buf[FT6X46_INPUT_SIZE] = {0};
+
 static void ft6x46_gpio_isr_handle(pin_t pin, uintptr_t param)
 {
     unused(pin);
@@ -98,7 +100,7 @@ ext_errno tp_i2c_data_read(uint8_t reg_addr, uint8_t *data_buf, uint32_t data_le
     errcode_t ret;
     uint32_t retry;
     i2c_data_t data;
-    //uint8_t tp_reg_addr[FT6X46_REG_BYTE_LEN];
+
 
     ret = tp_i2c_rd_wr_param_check(data_buf, data_len);
     if (ret != 0) {
@@ -106,13 +108,14 @@ ext_errno tp_i2c_data_read(uint8_t reg_addr, uint8_t *data_buf, uint32_t data_le
         return ret;
     }
 
-    memset_s(data_buf, data_len, 0, data_len);
-    //tp_reg_addr[FT6X46_I2C_SEND_INDEX0] = reg_addr & 0xff;
-    //tp_reg_addr[FT6X46_I2C_SEND_INDEX1] = (reg_addr >> OFFSET_8_BITS) & 0xff;
-
-    data.send_buf = &reg_addr;
+    if (memset_s(g_tp_recv_buf, data_len, 0, data_len) != EOK) {
+        tp_err("tp read buff set fail! ret=0x%x", ret);
+        return EXT_ERR_FAILURE;
+    }
+       
+    data.send_buf =  &reg_addr;
     data.send_len = FT6X46_CMD_SEND_LEN;
-    data.receive_buf = data_buf;
+    data.receive_buf = g_tp_recv_buf;
     data.receive_len = data_len;
 
     for (retry = 0; retry < FT6X46_I2C_TIME_MAX; retry++) {
@@ -125,7 +128,11 @@ ext_errno tp_i2c_data_read(uint8_t reg_addr, uint8_t *data_buf, uint32_t data_le
         tp_err("tp data read fail! ret=0x%x", ret);
         return ret;
     }
-
+    ret = (uint32_t)memcpy_s(data_buf, data_len, g_tp_recv_buf, data_len);
+    if (ret != EOK) {
+        tp_err("tp data buf content copy fail! ret=0x%x", ret);
+        return ret;
+    }
     return EXT_ERR_SUCCESS;
 }
 
@@ -226,6 +233,7 @@ ext_errno tp_i2c_data_write(uint8_t reg_addr, uint8_t *data_buf, uint16_t data_l
     ret = (uint32_t)memcpy_s(write_data + sizeof(uint8_t), send_len - sizeof(uint8_t), data_buf, data_len);
     if (ret != EOK) {
         tp_err("tp send_buf content copy fail! ret=0x%x", ret);
+               osal_kfree(write_data);
         return ret;
     }
 
@@ -242,10 +250,11 @@ ext_errno tp_i2c_data_write(uint8_t reg_addr, uint8_t *data_buf, uint16_t data_l
     }
     if (ret != EXT_ERR_SUCCESS) {
         tp_err("tp data write fail! ret=0x%x", ret);
+               osal_kfree(write_data);
         return ret;
     }
 
-    tp_mem_free(write_data);
+    osal_kfree(write_data);
     return EXT_ERR_SUCCESS;
 }
 
@@ -275,6 +284,7 @@ ext_errno tp_ft6x46_i2c_data_write(uint8_t reg_addr, uint8_t *data_buf, uint16_t
     ret = (uint32_t)memcpy_s(write_data + sizeof(uint8_t), send_len - sizeof(uint8_t), data_buf, data_len);
     if (ret != EOK) {
         tp_err("tp send_buf content copy fail! ret=0x%x", ret);
+               osal_kfree(write_data);
         return ret;
     }
 
@@ -291,11 +301,11 @@ ext_errno tp_ft6x46_i2c_data_write(uint8_t reg_addr, uint8_t *data_buf, uint16_t
     }
     if (ret != EXT_ERR_SUCCESS) {
         tp_err("tp data write fail! ret=0x%x", ret);
-               tp_mem_free(write_data);
+               osal_kfree(write_data);
         return ret;
     }
 
-    tp_mem_free(write_data);
+    osal_kfree(write_data);
     return EXT_ERR_SUCCESS;
 }
 
index ac23c5f..24ef8f4 100644 (file)
@@ -30,6 +30,7 @@
 
 #define FT6X46_REG_DATA_LEN       2
 #define FT6X46_I2C_TIME_MAX       3
+#define FT6X46_INPUT_SIZE         156
 
 #define FT6X46_I2C_SEND_INDEX0    0
 #define FT6X46_I2C_SEND_INDEX1    1