}\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
#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
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
}\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
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) {
${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
)
#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
#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
#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)
{
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"},
#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)