application文件夹下wstp文件夹合并提交
authorluozheng <1732036298@qq.com>
Thu, 24 Jul 2025 03:57:01 +0000 (11:57 +0800)
committerluozheng <1732036298@qq.com>
Thu, 24 Jul 2025 03:57:01 +0000 (11:57 +0800)
code/sdk/application/wstp/at_service/app/app_at_process.c
code/sdk/application/wstp/at_service/app/app_cmd_manager.c
code/sdk/application/wstp/at_service/graphic/sample/gpu_sample.c
code/sdk/application/wstp/at_service/ohosfwk/CMakeLists.txt
code/sdk/application/wstp/at_service/ohosfwk/ohosfwk_at_process.cpp

index b8f5324..25d054a 100644 (file)
@@ -2875,3 +2875,24 @@ void app_at_process(uint8_t *data, uint32_t data_len)
     }\r
     g_app_diag_flag = false;\r
 }\r
+\r
+uint32_t test_get_mem_info(uint8_t memType, uint32_t *used, uint32_t *free)\r
+{\r
+#if LOSCFG_MEM_TASK_STAT && defined __LITEOS__\r
+    void *heapMan = NULL;\r
+    LOS_MEM_POOL_STATUS status;\r
+    if (memType) {\r
+        heapMan = OS_EXTEND_MEM_ADDR;\r
+    } else {\r
+        heapMan = OS_SYS_MEM_ADDR;\r
+    }\r
+    if (LOS_MemInfoGet(heapMan, &status) != LOS_NOK) {\r
+        *used = status.uwTotalUsedSize;\r
+        *free = status.uwTotalFreeSize;\r
+        printf("test_get_mem_info used = %d, free = %d\n", *used, *free);\r
+    } else {\r
+        printf("test_get_mem_info fail\n");\r
+    }\r
+#endif\r
+    return 0;\r
+}\r
index 0b2dc24..9c80140 100644 (file)
@@ -31,6 +31,8 @@
 #include "app_test_fs.h"\r
 #include "log_file.h"\r
 #include "diag_msg.h"\r
+#include "chip_io.h"\r
+#include "chip_exception_utils.h"\r
 \r
 #define ARRAY_COUNT(array) (sizeof(array) / sizeof(array[0]))\r
 \r
@@ -223,14 +225,6 @@ static uint32_t parse_emmc_set_driver_cap_handle(uint8_t *para, uint32_t para_le
     return ERRCODE_SUCC;\r
 }\r
 \r
-static uint32_t parse_heap_info_handle(uint8_t *para, uint32_t para_len, char *str_cmd)\r
-{\r
-    unused(str_cmd);\r
-\r
-    app_pkg_msg_send(HEAPINFO, DIAG_CONTROL_FALSE, para, para_len);\r
-    return ERRCODE_SUCC;\r
-}\r
-\r
 static uint32_t parse_stack_info_handle(uint8_t *para, uint32_t para_len, char *str_cmd)\r
 {\r
     unused(str_cmd);\r
@@ -1036,8 +1030,54 @@ static uint32_t app_sdio_test(uint8_t *para, uint32_t para_len, char *str_cmd)
 }\r
 #endif\r
 \r
+static uint32_t parse_heap_info_handle(uint8_t *para, uint32_t para_len, char *str_cmd)\r
+{\r
+    unused(str_cmd);\r
+    app_pkg_msg_send(HEAPINFO, DIAG_CONTROL_FALSE, para, para_len);\r
+    return ERRCODE_SUCC;\r
+}\r
+\r
+static uint32_t app_test_mcu_bus_status(uint8_t *para, uint32_t para_len, char *str_cmd)\r
+{\r
+    unused(str_cmd);\r
+    test_mcu_bus();\r
+    wstp_print("\r\nOK~\r\n");\r
+    return ERRCODE_SUCC;\r
+}\r
+\r
+static uint32_t app_test_rw_error(uint8_t *para, uint32_t para_len, char *str_cmd)\r
+{\r
+    unused(str_cmd);\r
+    wstp_print("\r\nOK~\r\n");\r
+    writew(0x0, 0);\r
+    return ERRCODE_SUCC;\r
+}\r
+\r
+static uint32_t app_test_watchdog_error(uint8_t *para, uint32_t para_len, char *str_cmd)\r
+{\r
+    unused(str_cmd);\r
+    wstp_print("\r\nOK~\r\n");\r
+    osal_irq_lock();\r
+    while(1) {\r
+    }\r
+    return ERRCODE_SUCC;\r
+}\r
+\r
+static uint32_t app_test_hard_fault_dog_error(uint8_t *para, uint32_t para_len, char *str_cmd)\r
+{\r
+    unused(str_cmd);\r
+    wstp_print("\r\nOK~\r\n");\r
+       writew(SPI_HOST_CLOCK_REG, 0x0110); // 关闭sdio的配置时钟,构造访问sdio硬件狗超时场景\r
+    uint16_t value =readw(SPI_HOST_REG_FOR_HADR_DOG_TEST); //访问sdio的配置寄存器\r
+    return ERRCODE_SUCC;\r
+}\r
+\r
 static const at_cmd_table_t g_app_cmd[] = {\r
 /* 无参数无特殊处理AT命令 */\r
+    { "AT^TESTMCUBUS",   app_test_mcu_bus_status,           "" }, //测试总线状态\r
+    { "AT^TESTRWERROR",  app_test_rw_error,                 "" }, //测试普通的读写超时异常\r
+    { "AT^TESTWATCHDOGERROR",   app_test_watchdog_error,    "" }, //测试普通的狗超时异常\r
+    { "AT^TESTHARDDOGERROR", app_test_hard_fault_dog_error, "" }, //测试硬件狗超时异常\r
     { "AT^HEAPINFO",     parse_heap_info_handle,            "" },\r
     { "AT^STACKINFO",    parse_stack_info_handle,           "" },\r
 /* 直接发A核的命令 */\r
index 55382c6..bad768f 100644 (file)
@@ -351,6 +351,8 @@ td_void wstp_gpu_sample_process(int argc, char *argv[])
         print_mipi_and_dpu_reg(argc - 1, argv + 1);
     } else if (strcmp((char *)argv[0], "dpu_save_fb") == 0) {
         dfx_dpu_save_fb_enable(argc - 1, argv + 1);
+    } else if (strcmp((char *)argv[0], "vau_print") == 0) {
+        vau_dfx_print(argc - 1, argv + 1);
     } else if (strcmp((char *)argv[0], "vau_proc") == 0) {\r
         vau_dfx_proc_read(argc - 1, argv + 1);\r
     } else if (strcmp((char *)argv[0], "vau_api_print") == 0) {
index f1e5227..c180547 100644 (file)
@@ -15,13 +15,11 @@ set(PRIVATE_HEADER
     ${ROOT_DIR}/openharmony/foundation/aafwk/aafwk_lite/include/aafwk/aafwk_lite/frameworks/abilitymgr_lite/include
     ${ROOT_DIR}/openharmony/foundation/aafwk/aafwk_lite/include/appexecfwk/appexecfwk_lite/interfaces/kits
     ${ROOT_DIR}/application/wearable/ohos_deps
-    ${ROOT_DIR}/application/wearable/nativeapp/nativeui/uiservice/include
     ${ROOT_DIR}/open_source/openharmony/third_party/cJSON
     ${ROOT_DIR}/middleware/services/gui/uikit/utils/interfaces/kits
     ${ROOT_DIR}/middleware/services/gui/uikit/utils/interfaces/innerkits
     ${ROOT_DIR}/open_source/openharmony/base/global/resmgr_lite/interfaces/innerkits/include
     ${ROOT_DIR}/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/include/appexecfwk/appexecfwk_lite/services/bundlemgr_lite/include
-    ${ROOT_DIR}/application/wearable/nativeapp/nativeui/applist/include
     ${ROOT_DIR}/open_source/openharmony/base/sensors/location/sample
     ${ROOT_DIR}/open_source/openharmony/base/sensors/sample
 )
index 54163c3..46c28fc 100644 (file)
 #include "bundlems_slite_client.h"
 #include "abilityms_slite_client.h"
 #include "gt_bundle_manager_service.h"
-#include "ui_service.h"
+#include "uiservice/ui_service.h"
 #include "sign_mode.h"
 #include "NativeAbility.h"
 #include "ability_manager.h"
 #include "js_fwk_common.h"
 #include "global.h"
 #include "msg_center_customer.h"
-#include "ApplistModel.h"
+#include "applist/ApplistModel.h"
 #include "bundle_manager.h"
 #include <unistd.h>
 #ifdef SUPPORT_AT_LOCATION
@@ -30,7 +30,6 @@
 #ifdef SUPPORT_AT_SENSOR
 #include "sensor_sample.h"
 #endif
-#include <msg_center.h>
 
 #define ARRAY_COUNT(array) (sizeof(array) / sizeof(array[0]))
 #define OHOSFWK_MAX_ARGC 8
@@ -38,6 +37,8 @@
 
 #define OHOSFWK_SUCCESS 0
 #define OHOSFWK_FAILED (-1)
+#define MAX_PAGE 100
+#define ARGC_NUM 2
 
 static void ReceiveCallback(const uint8_t resultCode, const void *resultMessage)
 {
@@ -507,6 +508,38 @@ static uint32_t OhosfwkATCmdSensor(uint8_t *para, uint32_t paraLen, char *strCom
     return ret;
 }
 #endif
+
+static uint32_t OhosfwkATSwitchSlicePage(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
+{
+    unused(strCommonCmd);
+    uint8_t argv[OHOSFWK_MAX_ARGC][OHOSFWK_MAX_ARGV_LEN] = {0};
+    uint32_t argc = 0;
+
+    int ret = ConvertCmdToParam(para, paraLen, argv, &argc);
+    if (ret != OHOSFWK_SUCCESS) {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OhosATTestPageCmd ATCMD Convert Command Failed");
+        return ERRCODE_FAIL;
+    }
+    if (argc != ARGC_NUM) {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OhosATTestPageCmd ATCMD Set Parameter Failed");
+        return ERRCODE_FAIL;
+    }
+
+    char *sliceStr = (char *)argv[0];
+    char *pageStr = (char *)argv[1];
+    uint32_t sliceIndex = atoi(sliceStr);
+    uint32_t pageIndex = atoi(pageStr);
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "OhosATTestPageCmd(), sliceIndex = %[d], pageIndex = %[d]", sliceIndex,
+                  pageIndex);
+    if (sliceIndex > VIEW_INVALIDE_APP || pageIndex > MAX_PAGE) {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OhosATTestPageCmd sliceIndex/pageIndex too larget!", sliceIndex,
+                      pageIndex);
+        return ERRCODE_FAIL;
+    }
+    OHOS::NativeAbility::GetInstance().SwitchSlice(sliceIndex, pageIndex);
+    return ERRCODE_SUCC;
+}
+
 static const at_cmd_table_t g_ohosfwk_cmd[] = {
     {(char *)"AT^OHOSFWK_AM_EXIT_JSAPP", OhosfwkATCmdAmExitJsApp, (char *)"00 00 00 00"},
     {(char *)"AT^OHOSFWK_BM_INSTALL", OhosfwkATCmdBmInstall, (char *)"00 00 00 01"},
@@ -525,6 +558,7 @@ static const at_cmd_table_t g_ohosfwk_cmd[] = {
 #ifdef SUPPORT_AT_SENSOR
     {(char *)"AT^OHOSFWK_SENSOR", OhosfwkATCmdSensor, (char *)"00 00 00 09"},
 #endif
+   {(char *)"AT^SWITCH_SLICE_PAGE", OhosfwkATSwitchSlicePage, (char *)"00 00 00 13"}, // 界面切换AT指令方便测试使用;
 };
 
 at_cmd_table_t *get_ohosfwk_cmd_table(uint32_t *cmd_count)