From 39c61863ea8cfa53043bb0ed007b4aba47552878 Mon Sep 17 00:00:00 2001 From: SnickerSun Date: Tue, 10 Dec 2024 17:54:25 +0800 Subject: [PATCH] =?utf8?q?=E9=85=8D=E7=BD=AELT22=20GPS/4G=20=E9=A9=B1?= =?utf8?q?=E5=8A=A8=EF=BC=8C=E6=B7=BB=E5=8A=A0AT=E6=8C=87=E4=BB=A4?= =?utf8?q?=EF=BC=8C=E5=8F=8A=E4=B8=B4=E6=97=B6=E6=B5=8B=E8=AF=95=E7=95=8C?= =?utf8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../src/ConnectPhonePresenter.cpp | 13 ++++ .../connectnewphone/src/ConnectSelectView.cpp | 4 ++ .../nativeui/settings/src/SettingModel.cpp | 4 ++ .../wstp/at_service/app/app_at_process.c | 60 ++++++++++++++++++- .../wstp/at_service/app/app_cmd_manager.c | 13 +++- .../wstp/at_service/app/app_msg_manager.h | 3 +- .../config/target_config/brandy/config.py | 1 + .../brandy_evb/board_config/board_lt22.h | 42 +++++++------ 8 files changed, 116 insertions(+), 24 deletions(-) diff --git a/code/sdk/application/wearable/nativeapp/nativeui/connectnewphone/src/ConnectPhonePresenter.cpp b/code/sdk/application/wearable/nativeapp/nativeui/connectnewphone/src/ConnectPhonePresenter.cpp index cefe591f9..07a5c69f3 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/connectnewphone/src/ConnectPhonePresenter.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/connectnewphone/src/ConnectPhonePresenter.cpp @@ -36,15 +36,23 @@ ConnectPhonePresenter *ConnectPhonePresenter::GetInstance() return g_pConnectPhonePresenter; } +#ifdef GPS_CAT1_RESET_TEST +extern "C" uint32_t cat1_on(uint8_t *data, uint32_t data_len); +extern "C" uint32_t gps_on(uint8_t *data, uint32_t data_len); +#endif bool ConnectPhonePresenter::OnClick(UIView& view, const ClickEvent& event) { UNUSED(event); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnClick OnClick"); if (strcmp(view.GetViewId(), CANCEL_BUTTON) == 0) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CANCEL_BUTTON OnClick"); +#ifdef GPS_CAT1_RESET_TEST + gps_on(NULL,0); +#endif NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); } else if (strcmp(view.GetViewId(), CONFIRM_BUTTON) == 0) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CONFIRM_BUTTON OnClick"); + #ifndef GPS_CAT1_RESET_TEST RemovePair(); ConfirmOnClick(); if (ConnectPhoneView::GetInstance() == nullptr) { @@ -52,6 +60,11 @@ bool ConnectPhonePresenter::OnClick(UIView& view, const ClickEvent& event) return false; } ConnectPhoneView::GetInstance()->ChangeView(CONNECTSELECTVIEW, CONNECTOPENVIEW); + #else + cat1_on(NULL,0); + + NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); + #endif } else if (strcmp(view.GetViewId(), CONNECT_OPEN_BACK_BUTTON) == 0) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CONNECT_OPEN_BACK_BUTTON OnClick"); NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); diff --git a/code/sdk/application/wearable/nativeapp/nativeui/connectnewphone/src/ConnectSelectView.cpp b/code/sdk/application/wearable/nativeapp/nativeui/connectnewphone/src/ConnectSelectView.cpp index e223a9a4a..f01445572 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/connectnewphone/src/ConnectSelectView.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/connectnewphone/src/ConnectSelectView.cpp @@ -45,7 +45,11 @@ void ConnectSelectView::ShowUpTitleLabel() return; } titleLabel->SetPosition(65, 100, 324, 160); // 65:x, 100:y, 324:width, 160:height +#ifndef GPS_CAT1_RESET_TEST titleLabel->SetText(" 将断开已连接的手 机,同一账号的新手机配对会保留个人数 据。是否继续?"); +#else + titleLabel->SetText(" 点击左侧取消重置GPS,点击右侧确认重置Cat-1 !"); +#endif titleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 35); // 35:font data titleLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE); titleLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER, diff --git a/code/sdk/application/wearable/nativeapp/nativeui/settings/src/SettingModel.cpp b/code/sdk/application/wearable/nativeapp/nativeui/settings/src/SettingModel.cpp index b13f61a9f..04dc4ccff 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/settings/src/SettingModel.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/settings/src/SettingModel.cpp @@ -23,7 +23,11 @@ namespace OHOS { { int index = 0; settings[index++] = {VIEW_BLUETOOTH_EARPHONE, PNG_BLUETOOTH_STITLE, "蓝牙耳机", true, false}; +#ifndef GPS_CAT1_RESET_TEST settings[index++] = {VIEW_CONNECT_PHONE, PNG_CONNECT_PHONE_IMAGE, "连接手机", true, true}; +#else + settings[index++] = {VIEW_CONNECT_PHONE, PNG_CONNECT_PHONE_IMAGE, "GPS_4G_TEST", true, true}; +#endif settings[index++] = {VIEW_REBOOT, PNG_SETTTING_REBOOT_IMAGE, "重启", true, true}; settings[index++] = {VIEW_REBOOT, PNG_SETTTING_SHUTDOWN_IMAGE, "关机", true, true}; settings[index++] = {VIEW_SET_DESKTOP, PNG_SETTTING_DESKTOP_IMAGE, "桌面", true, true}; diff --git a/code/sdk/application/wstp/at_service/app/app_at_process.c b/code/sdk/application/wstp/at_service/app/app_at_process.c index 61f2a8912..43d429e49 100644 --- a/code/sdk/application/wstp/at_service/app/app_at_process.c +++ b/code/sdk/application/wstp/at_service/app/app_at_process.c @@ -1882,7 +1882,7 @@ S_AGPIO_L28 GPS_1V8 ret=uapi_gpio_set_val(S_AGPIO_L30, GPIO_LEVEL_LOW); //gps reset PRINT("GPS_PWRON set_value S_AGPIO_L30 GPIO_LEVEL_LOW ret %d\n",ret); - osDelay(500); + osDelay(1000); ret=uapi_gpio_set_val(S_AGPIO_L30, GPIO_LEVEL_HIGH); //gps reset PRINT("GPS_PWRON set_value S_AGPIO_L30 GPIO_LEVEL_HIGH ret %d\n",ret); #elif defined (BOARD_LT22) || defined (BOARD_W9) @@ -1909,7 +1909,7 @@ S_AGPIO_L28 GPS_1V8 ret=uapi_gpio_set_val(S_AGPIO_L32, GPIO_LEVEL_LOW); //gps reset PRINT("GPS_PWRON set_value S_AGPIO_L32 GPIO_LEVEL_LOW ret %d\n",ret); - osDelay(500); + osDelay(1000); ret=uapi_gpio_set_val(S_AGPIO_L32, GPIO_LEVEL_HIGH); //gps reset PRINT("GPS_PWRON set_value S_AGPIO_L32 GPIO_LEVEL_HIGH ret %d\n",ret); @@ -1921,6 +1921,61 @@ S_AGPIO_L28 GPS_1V8 #endif return ERRCODE_SUCC; } + +/** + * + * // S_AGPIO_L23 CAT_1_PWR_ON ----- high power on + { S_AGPIO_L23, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL }, + // S_AGPIO_L28 Cat1 reset ---- low reset + { S_AGPIO_L28, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL }, +*/ +uint32_t cat1_on(uint8_t *data, uint32_t data_len) +{ + + + errcode_t ret=0; + +#if defined (BOARD_LT22) || defined (BOARD_W9) + ret=uapi_gpio_set_dir(S_AGPIO_L23,GPIO_DIRECTION_OUTPUT); + if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L23,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + // ret=uapi_gpio_set_dir(S_AGPIO_L28,GPIO_DIRECTION_OUTPUT); + // if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L28,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_AGPIO_L14,GPIO_DIRECTION_OUTPUT); + if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L14,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + + + + ret=uapi_gpio_set_val(S_AGPIO_L14, GPIO_LEVEL_LOW); + PRINT("CAT1 VBAT OFF set_value S_AGPIO_L14 GPIO_LEVEL_LOW ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L23, GPIO_LEVEL_HIGH); + PRINT("CAT1 poweroff set_value S_AGPIO_L23 GPIO_LEVEL_HIGH ret %d\n",ret); + + // ret=uapi_gpio_set_val(S_AGPIO_L28 , GPIO_LEVEL_HIGH); + // PRINT("CAT1 reset set_value S_AGPIO_L28 GPIO_LEVEL_HIGH ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L14, GPIO_LEVEL_HIGH); + PRINT("CAT1 VBAT ON set_value S_AGPIO_L14 GPIO_LEVEL_HIGH ret %d\n",ret); + + + osDelay(1000); + + + // ret=uapi_gpio_set_val(S_AGPIO_L28 , GPIO_LEVEL_HIGH); + // PRINT("CAT1 release-reset set_value S_AGPIO_L28 GPIO_LEVEL_HIGH ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L23, GPIO_LEVEL_LOW); + PRINT("CAT1 poweron set_value S_AGPIO_L23 GPIO_LEVEL_LOW ret %d\n",ret); + + osDelay(1000); + + +#endif + + + return ERRCODE_SUCC; +} + uint32_t lcd_fill(uint8_t *data, uint32_t data_len) { char *ptr = (char *)data; @@ -2771,6 +2826,7 @@ static const app_process_table g_app_funcs[] = { { GETCURSEC, mcu_dfx_get_cur_second}, { LCDFILL, lcd_fill }, { GPSON, gps_on }, + { CAT1ON, cat1_on }, { GETIDS, get_ids }, { LCDLIGHT, lcd_test_light }, { RESUMETOUCH, mcu_pm_no_resume_touch }, diff --git a/code/sdk/application/wstp/at_service/app/app_cmd_manager.c b/code/sdk/application/wstp/at_service/app/app_cmd_manager.c index 5a59f5eb9..ad6466366 100644 --- a/code/sdk/application/wstp/at_service/app/app_cmd_manager.c +++ b/code/sdk/application/wstp/at_service/app/app_cmd_manager.c @@ -427,7 +427,15 @@ static uint32_t app_gpson(uint8_t *para, uint32_t para_len, char *str_cmd) app_pkg_msg_send(GPSON, DIAG_CONTROL_FALSE, para, para_len); return ERRCODE_SUCC; } - +static uint32_t app_cat1on(uint8_t *para, uint32_t para_len, char *str_cmd) +{ + unused(str_cmd); + if (para == NULL) { + return ERRCODE_FAIL; + } + app_pkg_msg_send(CAT1ON, DIAG_CONTROL_FALSE, para, para_len); + return ERRCODE_SUCC; +} static uint32_t app_get_ids(uint8_t *para, uint32_t para_len, char *str_cmd) { unused(str_cmd); @@ -1054,7 +1062,8 @@ static const at_cmd_table_t g_app_cmd[] = { { "AT^PMMODEGET", app_test_pm_dfx_mode, "" }, { "AT^GETCURSEC", app_get_cur_second, "" }, { "AT^LCDFILL", app_test_lcd_fill, "" }, - { "AT^GPSON", app_gpson, "" }, + { "AT^GPSON", app_gpson, "" }, + { "AT^CAT1ON", app_cat1on, "" }, { "AT^LCDLIGHT", app_test_lcd_light, "" }, { "AT^GETIDS", app_get_ids, "" }, { "AT^STOUCHRESUME", app_set_touch_resume_flag, "" }, diff --git a/code/sdk/application/wstp/at_service/app/app_msg_manager.h b/code/sdk/application/wstp/at_service/app/app_msg_manager.h index ab8fc8036..100a03c9e 100644 --- a/code/sdk/application/wstp/at_service/app/app_msg_manager.h +++ b/code/sdk/application/wstp/at_service/app/app_msg_manager.h @@ -114,7 +114,8 @@ typedef enum { AUTOOTASHOWMAC = 0x53, PERFSTART = 0x54, PERFSTOP = 0x55, - GPSON = 0x56, + GPSON = 0x56, + CAT1ON = 0x57, MSG_ID_MAX_BUTT, } app_msg_id; diff --git a/code/sdk/build/config/target_config/brandy/config.py b/code/sdk/build/config/target_config/brandy/config.py index 7286d62c6..8ddc4310b 100644 --- a/code/sdk/build/config/target_config/brandy/config.py +++ b/code/sdk/build/config/target_config/brandy/config.py @@ -434,6 +434,7 @@ target = { 'FT_SINGLE_UART', 'SUPPORT_AUTO_OTA_SERVER', 'CONFIG_DFX_SUPPORT_DIAG_UP_MACHINE=1', + 'GPS_CAT1_RESET_TEST', 'TPTYPE_CST86XX', 'NANDFLASH_F35UQA' ], diff --git a/code/sdk/drivers/boards/brandy_evb/board_config/board_lt22.h b/code/sdk/drivers/boards/brandy_evb/board_config/board_lt22.h index 4f2a75902..816f25112 100644 --- a/code/sdk/drivers/boards/brandy_evb/board_config/board_lt22.h +++ b/code/sdk/drivers/boards/brandy_evb/board_config/board_lt22.h @@ -239,36 +239,40 @@ const hal_pio_config_t g_pio_function_config[PIN_MAX_NUMBER] = { //默认开启Cat1 然后再根据配置决定是否关闭. //默认不开启 ppg checkid失败,原因未知,暂时开机开启cat1 -#define DEFAULT_POWERON_CAT1 0 +#define DEFAULT_POWERON_CAT1 1 //需要配置默认输出的,以及需要配置默认输入中断函数的。 const hal_gpio_config_t g_gpio_function_config[PIN_MAX_NUMBER] = { #if DEFAULT_POWERON_CAT1 + // S_AGPIO_L17 Cat Vbat en + { S_AGPIO_L14, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL }, + // S_AGPIO_L28 Cat1 reset ---- low reset + // { S_AGPIO_L28, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL }, // S_AGPIO_L23 CAT_1_PWR_ON ----- high power on - { S_AGPIO_L23, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL }, - // S_AGPIO_L28 Cat1 reset ---- low reset - { S_AGPIO_L28, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL }, + { S_AGPIO_L23, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, + #else // S_AGPIO_L23 CAT_1_PWR_ON ----- high power on - { S_AGPIO_L23, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, + { S_AGPIO_L23, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL }, // S_AGPIO_L28 Cat1 reset ---- low reset - { S_AGPIO_L28, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, + // { S_AGPIO_L28, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, + // S_AGPIO_L17 Cat Vbat en + { S_AGPIO_L14, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, #endif - // S_AGPIO_L17 HX3507_INT - // { S_AGPIO_L17, HAL_GPIO_DIRECTION_INPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, - // S_AGPIO_L12 SDIO_BT 光电开关 sd - { S_AGPIO_L12, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, - // S_AGPIO_L13 SCLK_BT 光电开关 sc - { S_AGPIO_L13, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, + + // // S_AGPIO_L12 SDIO_BT 光电开关 sd + // { S_AGPIO_L12, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, + // // S_AGPIO_L13 SCLK_BT 光电开关 sc + // { S_AGPIO_L13, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, - // S_AGPIO_L26 心率复位 PPG reset - { S_AGPIO_L26, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, - // S_AGPIO_R0 PRG_LED_POWER ON 心率等电源控制脚 - { S_AGPIO_R0, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, + // // S_AGPIO_L26 心率复位 PPG reset + // { S_AGPIO_L26, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, + // // S_AGPIO_R0 PRG_LED_POWER ON 心率等电源控制脚 + // { S_AGPIO_R0, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, - //S_AGPIO_L21 NTC_VDD_ON 给低打开 NTC上拉电源 ,默认关闭 - { S_AGPIO_L21, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL }, + // //S_AGPIO_L21 NTC_VDD_ON 给低打开 NTC上拉电源 ,默认关闭 + // { S_AGPIO_L21, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL }, #if 0 //默认正常充电 // #define GPIO_PIN_ENABLE_CHARGE S_AGPIO_R9 //low enable // #define GPIO_PIN_ENABLE_CHARGE_0_2C S_AGPIO_L20 //low 0.2c 低电流充电 @@ -286,7 +290,7 @@ const hal_gpio_config_t g_gpio_function_config[PIN_MAX_NUMBER] = { #ifdef ENABLE_CYWEE /**G sensor G_INT1 S_AGPIO_L11 G_INT2 S_AGPIO_L19 采用timer 时这些中断要屏蔽*/ - { S_AGPIO_L11, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_RISING_EDGE, cywee_int_callback }, + // { S_AGPIO_L11, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_RISING_EDGE, cywee_int_callback }, //{ S_AGPIO_L19, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_DEDGE, cywee_int_callback }, #endif /**S_AGPIO_R1 GPO alipay默认resetpin*/ -- 2.17.1