配置LT22 GPS/4G 驱动,添加AT指令,及临时测试界面
authorSnickerSun <snickersun@163.com>
Tue, 10 Dec 2024 09:54:25 +0000 (17:54 +0800)
committerSnickerSun <snickersun@163.com>
Tue, 10 Dec 2024 09:54:25 +0000 (17:54 +0800)
code/sdk/application/wearable/nativeapp/nativeui/connectnewphone/src/ConnectPhonePresenter.cpp
code/sdk/application/wearable/nativeapp/nativeui/connectnewphone/src/ConnectSelectView.cpp
code/sdk/application/wearable/nativeapp/nativeui/settings/src/SettingModel.cpp
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/app/app_msg_manager.h
code/sdk/build/config/target_config/brandy/config.py
code/sdk/drivers/boards/brandy_evb/board_config/board_lt22.h

index cefe591..07a5c69 100644 (file)
@@ -36,15 +36,23 @@ ConnectPhonePresenter *ConnectPhonePresenter::GetInstance()
     return g_pConnectPhonePresenter;\r
 }\r
 \r
+#ifdef GPS_CAT1_RESET_TEST\r
+extern "C" uint32_t cat1_on(uint8_t *data, uint32_t data_len);\r
+extern "C" uint32_t gps_on(uint8_t *data, uint32_t data_len);\r
+#endif\r
 bool ConnectPhonePresenter::OnClick(UIView& view, const ClickEvent& event)\r
 {\r
     UNUSED(event);\r
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnClick OnClick");\r
     if (strcmp(view.GetViewId(), CANCEL_BUTTON) == 0) {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CANCEL_BUTTON OnClick");\r
+#ifdef  GPS_CAT1_RESET_TEST\r
+        gps_on(NULL,0);\r
+#endif\r
         NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
     } else if (strcmp(view.GetViewId(), CONFIRM_BUTTON) == 0) {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CONFIRM_BUTTON OnClick");\r
+        #ifndef GPS_CAT1_RESET_TEST\r
         RemovePair();\r
         ConfirmOnClick();\r
         if (ConnectPhoneView::GetInstance() == nullptr) {\r
@@ -52,6 +60,11 @@ bool ConnectPhonePresenter::OnClick(UIView& view, const ClickEvent& event)
             return false;\r
         }\r
         ConnectPhoneView::GetInstance()->ChangeView(CONNECTSELECTVIEW, CONNECTOPENVIEW);\r
+        #else\r
+        cat1_on(NULL,0);\r
+        \r
+        NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
+        #endif\r
     } else if (strcmp(view.GetViewId(), CONNECT_OPEN_BACK_BUTTON) == 0) {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CONNECT_OPEN_BACK_BUTTON OnClick");\r
         NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
index e223a9a..f014455 100644 (file)
@@ -45,7 +45,11 @@ void ConnectSelectView::ShowUpTitleLabel()
             return;\r
         }\r
         titleLabel->SetPosition(65, 100, 324, 160); // 65:x, 100:y, 324:width, 160:height\r
+#ifndef GPS_CAT1_RESET_TEST\r
         titleLabel->SetText(" 将断开已连接的手 机,同一账号的新手机配对会保留个人数 据。是否继续?");\r
+#else\r
+        titleLabel->SetText(" 点击左侧取消重置GPS,点击右侧确认重置Cat-1 !");\r
+#endif\r
         titleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 35); // 35:font data\r
         titleLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE);\r
         titleLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER,\r
index b13f61a..04dc4cc 100644 (file)
@@ -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};
index 61f2a89..43d429e 100644 (file)
@@ -1882,7 +1882,7 @@ S_AGPIO_L28    GPS_1V8
     ret=uapi_gpio_set_val(S_AGPIO_L30, GPIO_LEVEL_LOW);   //gps reset\r
     PRINT("GPS_PWRON set_value S_AGPIO_L30 GPIO_LEVEL_LOW ret %d\n",ret);\r
 \r
-    osDelay(500);\r
+    osDelay(1000);\r
     ret=uapi_gpio_set_val(S_AGPIO_L30, GPIO_LEVEL_HIGH);   //gps reset\r
     PRINT("GPS_PWRON set_value S_AGPIO_L30 GPIO_LEVEL_HIGH ret %d\n",ret);\r
 #elif defined (BOARD_LT22) || defined (BOARD_W9)\r
@@ -1909,7 +1909,7 @@ S_AGPIO_L28    GPS_1V8
 \r
     ret=uapi_gpio_set_val(S_AGPIO_L32, GPIO_LEVEL_LOW);   //gps reset\r
     PRINT("GPS_PWRON set_value S_AGPIO_L32 GPIO_LEVEL_LOW ret %d\n",ret);\r
-    osDelay(500);\r
+    osDelay(1000);\r
     ret=uapi_gpio_set_val(S_AGPIO_L32, GPIO_LEVEL_HIGH);   //gps reset\r
     PRINT("GPS_PWRON set_value S_AGPIO_L32 GPIO_LEVEL_HIGH ret %d\n",ret);\r
 \r
@@ -1921,6 +1921,61 @@ S_AGPIO_L28    GPS_1V8
 #endif\r
     return  ERRCODE_SUCC;\r
 }\r
+\r
+/**\r
+ * \r
+ *     //    S_AGPIO_L23 CAT_1_PWR_ON ----- high power on\r
+    {   S_AGPIO_L23, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },\r
+   // S_AGPIO_L28   Cat1 reset  ---- low reset\r
+    {   S_AGPIO_L28, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },\r
+*/\r
+uint32_t cat1_on(uint8_t *data, uint32_t data_len)\r
+{\r
+\r
+\r
+    errcode_t ret=0;\r
+\r
+#if defined (BOARD_LT22) || defined (BOARD_W9)\r
+    ret=uapi_gpio_set_dir(S_AGPIO_L23,GPIO_DIRECTION_OUTPUT);\r
+    if (ret != ERRCODE_SUCC)  PRINT("set_dir S_AGPIO_L23,GPIO_DIRECTION_OUTPUT ret %d\n",ret);\r
+    // ret=uapi_gpio_set_dir(S_AGPIO_L28,GPIO_DIRECTION_OUTPUT);\r
+    // if (ret != ERRCODE_SUCC)  PRINT("set_dir S_AGPIO_L28,GPIO_DIRECTION_OUTPUT ret %d\n",ret);\r
+    ret=uapi_gpio_set_dir(S_AGPIO_L14,GPIO_DIRECTION_OUTPUT);\r
+    if (ret != ERRCODE_SUCC)  PRINT("set_dir S_AGPIO_L14,GPIO_DIRECTION_OUTPUT ret %d\n",ret);\r
+\r
+\r
+  \r
+    ret=uapi_gpio_set_val(S_AGPIO_L14, GPIO_LEVEL_LOW);   \r
+    PRINT("CAT1 VBAT OFF  set_value S_AGPIO_L14 GPIO_LEVEL_LOW  ret %d\n",ret);\r
+\r
+    ret=uapi_gpio_set_val(S_AGPIO_L23, GPIO_LEVEL_HIGH);   \r
+    PRINT("CAT1 poweroff  set_value S_AGPIO_L23 GPIO_LEVEL_HIGH  ret %d\n",ret);\r
+\r
+    // ret=uapi_gpio_set_val(S_AGPIO_L28 , GPIO_LEVEL_HIGH);   \r
+    // PRINT("CAT1 reset set_value S_AGPIO_L28  GPIO_LEVEL_HIGH ret %d\n",ret);\r
+    \r
+    ret=uapi_gpio_set_val(S_AGPIO_L14, GPIO_LEVEL_HIGH);   \r
+    PRINT("CAT1 VBAT ON  set_value S_AGPIO_L14 GPIO_LEVEL_HIGH  ret %d\n",ret);\r
+  \r
+  \r
+    osDelay(1000);\r
+\r
+   \r
+    // ret=uapi_gpio_set_val(S_AGPIO_L28 , GPIO_LEVEL_HIGH);   \r
+    // PRINT("CAT1 release-reset set_value S_AGPIO_L28  GPIO_LEVEL_HIGH ret %d\n",ret);\r
+\r
+    ret=uapi_gpio_set_val(S_AGPIO_L23, GPIO_LEVEL_LOW);   \r
+    PRINT("CAT1 poweron  set_value S_AGPIO_L23 GPIO_LEVEL_LOW  ret %d\n",ret);\r
+\r
+    osDelay(1000);\r
+\r
+\r
+#endif\r
+    \r
+\r
+    return  ERRCODE_SUCC;\r
+}\r
+\r
 uint32_t lcd_fill(uint8_t *data, uint32_t data_len)\r
 {\r
     char *ptr = (char *)data;\r
@@ -2771,6 +2826,7 @@ static const app_process_table g_app_funcs[] = {
     { GETCURSEC,            mcu_dfx_get_cur_second},\r
     { LCDFILL,              lcd_fill },\r
     { GPSON,                gps_on },    \r
+    { CAT1ON,               cat1_on },    \r
     { GETIDS,               get_ids },\r
     { LCDLIGHT,             lcd_test_light },\r
     { RESUMETOUCH,          mcu_pm_no_resume_touch },\r
index 5a59f5e..ad64663 100644 (file)
@@ -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);\r
     return ERRCODE_SUCC;\r
 }\r
-\r
+static uint32_t app_cat1on(uint8_t *para, uint32_t para_len, char *str_cmd)\r
+{\r
+    unused(str_cmd);\r
+    if (para == NULL) {\r
+        return ERRCODE_FAIL;\r
+    }\r
+    app_pkg_msg_send(CAT1ON, DIAG_CONTROL_FALSE, para, para_len);\r
+    return ERRCODE_SUCC;\r
+}\r
 static uint32_t app_get_ids(uint8_t *para, uint32_t para_len, char *str_cmd)\r
 {\r
     unused(str_cmd);\r
@@ -1054,7 +1062,8 @@ static const at_cmd_table_t g_app_cmd[] = {
     { "AT^PMMODEGET",    app_test_pm_dfx_mode,              "" },\r
     { "AT^GETCURSEC",    app_get_cur_second,                "" },\r
     { "AT^LCDFILL",      app_test_lcd_fill,                 "" },\r
-    { "AT^GPSON",      app_gpson,                 "" },\r
+    { "AT^GPSON",        app_gpson,                         "" },\r
+    { "AT^CAT1ON",       app_cat1on,                        "" },\r
     { "AT^LCDLIGHT",     app_test_lcd_light,                "" },\r
     { "AT^GETIDS",       app_get_ids,                       "" },\r
     { "AT^STOUCHRESUME", app_set_touch_resume_flag,         "" },\r
index ab8fc80..100a03c 100644 (file)
@@ -114,7 +114,8 @@ typedef enum {
     AUTOOTASHOWMAC      = 0x53,\r
     PERFSTART           = 0x54,\r
     PERFSTOP            = 0x55,\r
-    GPSON            = 0x56,\r
+    GPSON               = 0x56,\r
+    CAT1ON              = 0x57,\r
     MSG_ID_MAX_BUTT,\r
 } app_msg_id;\r
 \r
index 7286d62..8ddc431 100644 (file)
@@ -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'
                     ],
index 4f2a759..816f251 100644 (file)
@@ -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*/