更新GNSS 用hsuart进行通讯的配置,暂时测试未通过。不影响u8的使用 1601/2 1601/head
authorSnickerSun <snickersun@163.com>
Wed, 8 Jan 2025 06:31:57 +0000 (14:31 +0800)
committerSnickerSun <snickersun@163.com>
Wed, 8 Jan 2025 06:32:25 +0000 (14:32 +0800)
19 files changed:
code/sdk/application/wearable/nativeapp/nativeui/TestGPS/src/GPSView.cpp
code/sdk/application/wearable/nativeapp/nativeui/clock/src/MainClockView.cpp
code/sdk/application/wearable/nativeapp/nativeui/main/src/PullUpDownView.cpp
code/sdk/application/wstp/at_service/app/app_at_process.c
code/sdk/build/config/target_config/brandy/config.py
code/sdk/drivers/boards/brandy_evb/board_config/board_lt22.h
code/sdk/drivers/chips/brandy/include/platform_core.h
code/sdk/drivers/chips/brandy/porting/uart/uart_porting.c
code/sdk/middleware/chips/brandy/pm/service/pm_sleep.c
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_clock_dial/MainClockView.cpp
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_clock_dial/PullUpDownView.cpp
code/sdk/zhihui/services/gnss/driver/common/interface/board_interface/board_internal/tiot_board_log.h
code/sdk/zhihui/services/gnss/driver/common/interface/board_interface/board_porting/tiot_board_pin_port.h
code/sdk/zhihui/services/gnss/driver/common/interface/device_interface/tiot_service_interface.c
code/sdk/zhihui/services/gnss/driver/product_porting/porting/gnss_board_port.c
code/sdk/zhihui/services/gnss/driver/product_porting/porting/tiot_board_uart_port.c
code/sdk/zhihui/services/gnss/inc/gnss_ctl.h
code/sdk/zhihui/services/gnss/sample/gnss_sample/gnss_sample.c
code/sdk/zhihui/services/gnss/src/gnss_ctl.c

index 8945fa4..201e9d8 100644 (file)
@@ -98,7 +98,7 @@ void GPSView::CreateUIButton()
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GPSView cancelButton new fail");\r
             return;\r
         }\r
-        cancelButton->SetPosition(85, 400, 90, 90); // 85:x, 320:y, 90:width, 90:height\r
+        cancelButton->SetPosition(85, 350, 90, 90); // 85:x, 320:y, 90:width, 90:height\r
         cancelButton->SetViewId(GPS_CANCEL_BUTTON);\r
         cancelButton->SetImageSrc(ALARM_DELETE_ADD_PATH, ALARM_DELETE_ADD_PATH);\r
         cancelButton->SetOnClickListener(clickListener);\r
@@ -110,7 +110,7 @@ void GPSView::CreateUIButton()
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GPSView confirmButton new fail");\r
             return;\r
         }\r
-        confirmButton->SetPosition(279, 400, 90, 90); // 279:x, 320:y, 90:width, 90:height\r
+        confirmButton->SetPosition(279, 350, 90, 90); // 279:x, 320:y, 90:width, 90:height\r
         confirmButton->SetViewId(GPS_CONFIRM_BUTTON);\r
         confirmButton->SetImageSrc(ALARM_TRUE_ADD_PATH, ALARM_TRUE_ADD_PATH);\r
         confirmButton->SetOnClickListener(clickListener);\r
index 6fb226b..f197f04 100644 (file)
@@ -12,7 +12,7 @@
 #include "ui_resource_image.h"
 #include "common/image_cache_manager.h"
 #include <ctime>
-
+#include "custom_utils.h"
 namespace OHOS {
 static MainClockView *g_pMainClockView = nullptr;
 
@@ -152,7 +152,11 @@ bool MainClockView::InitLabelView(void)
         return false;
     }
     batteryLabel->SetPosition(BATTERYP_LABEL_X, BATTERYP_LABEL_Y, TEXT_WIDTH, TEXT_HEIGHT);
-    batteryLabel->SetText("90%");
+    uint8_t power=90;
+    battery_getvolpower(&power);
+    char tmp[16]={0};
+    sprintf(tmp,"%d%",power);
+    batteryLabel->SetText(tmp);
     batteryLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
     batteryLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);
     batteryLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);
index 34eb21d..edcccbf 100644 (file)
@@ -13,6 +13,7 @@
 #include "ScreenModels.h"
 #include "SettingModel.h"
 #include "ui_resource_image.h"
+#include "custom_utils.h"
 
 namespace OHOS {
 
@@ -260,7 +261,11 @@ void PullUpDownView::InitViewInfo(void)
         return;
     }
     batteryLable->SetPosition(BATTERY_LABEL_X, BATTERY_LABEL_Y, TEXT_WIDTH, TEXT_HEIGHT);
-    batteryLable->SetText("90%");
+    uint8_t power=90;
+    battery_getvolpower(&power);
+    char tmp[16]={0};
+    sprintf(tmp,"%d%",power);
+    batteryLable->SetText(tmp);
     batteryLable->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);
     batteryLable->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);
     dateLable = new UILabel();
index 5fc6248..9231462 100644 (file)
@@ -1947,24 +1947,32 @@ uint32_t gps_on(uint8_t *data, uint32_t data_len)
     char *ptr = (char *)data;\r
     uint32_t mode = strtoul(ptr, NULL, 10);\r
 \r
-    wstp_print("gnss cmd: 0 poweroff , 1 power on , 2 load_cfg , 3 start , 4 stop\r\n");\r
+    wstp_print("gnss cmd: 0 switch to download , 1 switch to gnss , 2 load_cfg ,3 poweron ,4 poweroff, 5 start , 6 stop\r\n");\r
     if (mode == 0) {\r
         // osDelay(500);\r
-        wstp_print("0 gnss_power_off\r\n");\r
-        gnss_power_off();\r
+        wstp_print("0 switch to download\r\n");\r
+        download_gnss_switch(SWITCH_TO_DOWNLOAD);\r
     }else if (mode == 1)  {\r
-        wstp_print("1 gnss_power_on\r\n");\r
-        gnss_power_on();\r
+        wstp_print("1 switch to gnss\r\n");\r
+        download_gnss_switch(SWITCH_TO_GNSS);\r
     }else if (mode == 2)  {\r
-        \r
-        wstp_print("2 gnss_load_cfg\r\n");\r
-        gnss_load_cfg();\r
+        const char* msg="2 gnss_load_cfg\r\n";\r
+        wstp_print(msg);\r
+        gnss_write_cmd(msg,strlen(msg));\r
+\r
     }else if (mode == 3)  {\r
-        wstp_print("3 gnss_start\r\n");\r
+        wstp_print("3 gnss_poweron\r\n");\r
+        gnss_power_on;\r
+    }else if (mode == 4)  {\r
+        wstp_print("4 gnss_poweroff\r\n");\r
+        gnss_power_off();\r
+    }else if (mode == 5)  {\r
+        wstp_print("5 gnss_start \r\n");\r
         gnss_start();\r
+    \r
     }else {\r
         // osDelay(500);\r
-        wstp_print("4 gnss_stop\r\n");\r
+        wstp_print("6 gnss_stop\r\n");\r
         gnss_stop();\r
     }\r
 \r
index 4bbfb15..5ab6e5b 100644 (file)
@@ -580,9 +580,9 @@ target = {
                     'GNSS_UART1',
                     'SUPPORT_AUTO_OTA_SERVER', 
                     'CONFIG_DFX_SUPPORT_DIAG_UP_MACHINE=1',
-                    'GPS_CAT1_RESET_TEST',
                     'TPTYPE_CST86XX',
                     'TEST_4G_UI',
+                    'TEST_GPS_UI',
                     'NANDFLASH_F35UQA'
                     ],
                'ram_component': [
@@ -653,13 +653,10 @@ target = {
     'brandy-native-js-lt22': {
         'base_target_name': 'brandy-native-js',
                'defines': ['CONFIG_EFUSE_READ_TO_RAM',
-                                       'FT_SINGLE_UART',
                     # 'WEARABLE_LOG_DEBUG',
                     'SUPPORT_RC_CALIBRATION',
-                    #'PPG_HX3695',
                     'VIB_USE_PWM',
                     'CONFIG_PWM_SUPPORT',
-                    # 'ACC_LIS2DOC',
                     'ENABLE_CYWEE',
                     'ENABLE_CUSTOM_I2C',
                     'SUPPORT_AT_CYWEE',
@@ -686,12 +683,16 @@ target = {
                     #'ENABLE_WEBSOCKET',
                     'SINGLE_USER_PARTITION',
                     'BOARD_L22',
+                                       # 'FT_SINGLE_UART',
                     'GNSS_UART1',
+                    # 'DISABLE_UART_LOG',
+                    # 'CONFIG_GNSS_UART_WITH_FLOWCTRL',
+                    'DOWNLOAD_GNSS_SWITCH',
                     'SUPPORT_AUTO_OTA_SERVER', 
                     'CONFIG_DFX_SUPPORT_DIAG_UP_MACHINE=1',
-                    'GPS_CAT1_RESET_TEST',
                     'TPTYPE_CST86XX',
                     'TEST_4G_UI',
+                    'TEST_GPS_UI',
                     'NANDFLASH_F35UQA',
                     'PPG_VC921X',
                     'ROTARYENCODER_HX3509',
@@ -700,7 +701,6 @@ target = {
                     
                     ],
                'ram_component': [
-                        #'baidumapsdk',
                         'audio_at_service', 
                         'media_at_service', 
                         'bt_manager_at_service',
index 1941963..66cb658 100644 (file)
@@ -277,30 +277,18 @@ const hal_gpio_config_t g_gpio_function_config[PIN_MAX_NUMBER] = {
     {   S_AGPIO_L14, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
 #endif
 
-    {   S_AGPIO_L30, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 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 },
-
+/*GPS power on*/
+    //GPS_CRYSTAL set_value S_HGPIO0 GPIO_LEVEL_HIGH 
+    {   S_HGPIO0, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
+    //GPS_1V8 set_value S_AGPIO_L20 GPIO_LEVEL_HIGH 
+    {   S_AGPIO_L20, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
+    //GPS_BAT_ON set_value S_AGPIO_R9 GPIO_LEVEL_HIGH 
+    {   S_AGPIO_R9, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
+    //GPS_RESET set_value S_AGPIO_L32 GPIO_LEVEL_HIGH 
+    {   S_AGPIO_L32, 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 },
-#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 低电流充电
-    // {   S_AGPIO_R9, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
-    // {   S_AGPIO_L20, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
-#else
-    // {   S_AGPIO_R9, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
-    // {   S_AGPIO_L20, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
-#endif
 
 //默认关闭马达
     {   S_AGPIO_R2, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
index 7479c76..0a40e63 100644 (file)
 #define CODELOADER_UART_TX_PIN S_MGPIO33
 #define CODELOADER_UART_RX_PIN S_MGPIO34
 
+#if 0
 #define LOG_UART_BUS    UART_BUS_1
 #define LOG_UART_TX_PIN     S_MGPIO33
 #define LOG_UART_RX_PIN     S_MGPIO34
 #define CHIP_FIXED_RX_PIN S_MGPIO34
 #endif
 #endif
+#endif
+#ifdef DISABLE_UART_LOG
+
+#define SW_DEBUG_UART_BUS UART_BUS_MAX_NUMBER
+#define CHIP_FIXED_TX_PIN PIN_NONE
+#define CHIP_FIXED_RX_PIN PIN_NONE
+
+#define LOG_UART_BUS UART_BUS_MAX_NUMBER
+#define LOG_UART_TX_PIN PIN_NONE
+#define LOG_UART_RX_PIN PIN_NONE
+#else
+
+#ifndef FT_SINGLE_UART
+#define SW_DEBUG_UART_BUS UART_BUS_0
+#define CHIP_FIXED_TX_PIN S_MGPIO19
+#define CHIP_FIXED_RX_PIN S_MGPIO20
+
+#define LOG_UART_BUS UART_BUS_0
+#define LOG_UART_TX_PIN S_MGPIO19
+#define LOG_UART_RX_PIN S_MGPIO20
+
+#else
+#define SW_DEBUG_UART_BUS UART_BUS_1
+#define CHIP_FIXED_TX_PIN S_MGPIO33
+#define CHIP_FIXED_RX_PIN S_MGPIO34
+
+#define LOG_UART_BUS UART_BUS_1
+#define LOG_UART_TX_PIN S_MGPIO33
+#define LOG_UART_RX_PIN S_MGPIO34
+
+#endif
+
+
+#endif
+
 #define CHIP_FIXED_UART_BUS UART_BUS_0
 
 #define QSPI_MAX_NUMBER    3
index c172f7b..2150f89 100644 (file)
@@ -209,6 +209,23 @@ static uart_config_t g_uart_config[UART_BUS_MAX_NUMBER] = {
     },
     /* UART_BUS_1 is used to hso uart */
     {
+        #ifdef GNSS_UART1
+        {
+            .tx_pin = PIN_NONE,
+            .rx_pin = PIN_NONE,
+            .cts_pin = PIN_NONE,
+            .rts_pin = PIN_NONE
+        },
+        {
+            .tx_pin_mode = (pin_mode_t)HAL_PIO_FUNC_MAX,
+            .rx_pin_mode = (pin_mode_t)HAL_PIO_FUNC_MAX,
+            .cts_pin_mode = (pin_mode_t)HAL_PIO_FUNC_MAX,
+            .rts_pin_mode = (pin_mode_t)HAL_PIO_FUNC_MAX
+        },
+            RESERVED_80_IRQn,
+            NULL,
+            NULL,
+        #else
         {
             .tx_pin = S_MGPIO33,
             .rx_pin = S_MGPIO34,
@@ -230,6 +247,7 @@ static uart_config_t g_uart_config[UART_BUS_MAX_NUMBER] = {
 #else
         log_factory_at_callback,
 #endif
+        #endif
         {
             .baud_rate = CUSTOM_UART_RATE,
             .data_bits = UART_DATA_BIT_8,
index 16aded5..fffdb5e 100644 (file)
@@ -272,6 +272,8 @@ static void pm_enter_deep_sleep(void)
     pm_enter_wfi();
     lpc_forbid_deepsleep();
 #endif
+
+#ifndef GNSS_UART1
 #ifndef FT_SINGLE_UART
     uint16_t status = pmu_lpm_wakeup_get_status(LPM_EVT_ACTION, PMU_LPM_MCPU_UART_H1_RX_WAKEUP);
 #else
@@ -280,6 +282,8 @@ static void pm_enter_deep_sleep(void)
     if (status != 0) {
         pm_wkup_event_by_uart_callback();
     }
+#endif
+
     pm_wkup_prepare(PM_SLEEP_DS);
     pm_sleep_info_record(SLP_INFO_DEEPSLEEP);
     reg16_setbit(0x520003e4, 0x3);  // open mdam clock after deepsleep
index 5843248..1bf73f9 100644 (file)
@@ -17,6 +17,7 @@
 #include "components/ui_label.h"\r
 #include "common/image_cache_manager.h"\r
 #include "MainClockView.h"\r
+#include "custom_utils.h"\r
 \r
 namespace OHOS {\r
 static MainClockView *g_pMainClockView = nullptr;\r
@@ -152,7 +153,11 @@ bool MainClockView::InitLabelView(void)
         return false;\r
     }\r
     batteryLabel->SetPosition(BATTERYP_LABEL_X, BATTERYP_LABEL_Y, TEXT_WIDTH, TEXT_HEIGHT);\r
-    batteryLabel->SetText("90%");\r
+    uint8_t power=90;\r
+    battery_getvolpower(&power);\r
+    char tmp[16]={0};\r
+    sprintf(tmp,"%d%",power);\r
+    batteryLabel->SetText(tmp);\r
     batteryLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
     batteryLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);\r
     batteryLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);\r
index 841da6e..2f3f227 100644 (file)
@@ -19,6 +19,7 @@
 #include "ScreenModel.h"\r
 #include "ui_resource_image.h"\r
 #include "common/image_cache_manager.h"\r
+#include "custom_utils.h"\r
 \r
 namespace OHOS {\r
 \r
@@ -208,7 +209,11 @@ void PullUpDownView::InitViewInfo(void)
         return;\r
     }\r
     batteryLable->SetPosition(BATTERY_LABEL_X, BATTERY_LABEL_Y, TEXT_WIDTH, TEXT_HEIGHT);\r
-    batteryLable->SetText("90%");\r
+    uint8_t power=90;\r
+    battery_getvolpower(&power);\r
+    char tmp[16]={0};\r
+    sprintf(tmp,"%d%",power);\r
+    batteryLable->SetText(tmp);\r
     batteryLable->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);\r
     batteryLable->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);\r
     dateLable = new UILabel();\r
index 9de1f1f..b5a9b92 100644 (file)
@@ -30,7 +30,7 @@ extern "C" {
 #define TIOT_LOG_DEBUG    4   /*!< Log level debug. */\r
 \r
 #ifndef TIOT_BOARD_LOG_LEVEL\r
-#define TIOT_BOARD_LOG_LEVEL  TIOT_LOG_INFO\r
+#define TIOT_BOARD_LOG_LEVEL  TIOT_LOG_DEBUG\r
 #endif\r
 \r
 /* 宏定义 */\r
index e2a88b2..48b6528 100644 (file)
@@ -10,7 +10,8 @@
 #define TIOT_BOARD_PIN_PORT_H\r
 \r
 #include "tiot_types.h"\r
-\r
+#include "gpio.h"\r
+#include "uart.h"\r
 #ifdef __cplusplus\r
 #if __cplusplus\r
 extern "C" {\r
@@ -27,8 +28,23 @@ extern "C" {
  * @brief  Pin none, board port should use this macro if pin is not connected.\r
  */\r
 #define TIOT_PIN_NONE        0xFFFFFFFFU\r
-#define TIOT_PIN_UART_WAKEUP_NUM    0x80000000U    /* 用于uart rx唤醒. */\r
 \r
+#if defined(GNSS_UART1)\r
+#define TIOT_UART_PORT  UART_BUS_1\r
+#else\r
+#define TIOT_UART_PORT  UART_BUS_0\r
+#endif\r
+\r
+#ifdef BOARD_U8\r
+#define TIOT_PIN_UART_WAKEUP_NUM    S_AGPIO_L31    /* 用于uart rx唤醒. */\r
+#define TIOT_PIN_POWER      S_AGPIO_L30     /* 用于开启GNSS. */\r
+#elif defined(BOARD_L22) || defined(BOARD_W9)\r
+#define TIOT_PIN_UART_WAKEUP_NUM    S_AGPIO_L15    /* 用于uart rx唤醒. */\r
+#define TIOT_PIN_POWER      S_AGPIO_L32     /* 用于开启GNSS. */\r
+#else\r
+#define TIOT_PIN_POWER      TIOT_PIN_NONE     /* 用于开启GNSS. */\r
+#define TIOT_PIN_UART_WAKEUP_NUM    0x80000000U    /* 用于uart rx唤醒. */\r
+#endif\r
 /**\r
  * @brief  Pin level enum.\r
  */\r
index 643b39a..b0434eb 100644 (file)
@@ -198,6 +198,15 @@ int32_t tiot_service_write(tiot_handle handle, const uint8_t *data, uint32_t len
 {
     /* 默认发送subsys为0的数据 */
     const tiot_service_tx_param param = { 0 };
+       #if 0
+    printf("tiot_service_write 0x");
+    for( int i =0;i < len;i++)
+    {
+        printf("%01X",data[i]);
+    }
+    printf("\r\n");
+    printf("tiot_service_write %s \r\n",data);
+       #endif
     return tiot_service_write_ext(handle, data, len, &param);
 }
 
index 1e02257..8dbe7e5 100644 (file)
@@ -35,11 +35,11 @@ U8  GPS_1V8 S_AGPIO_L28   High  默认一直拉高
        */
 
 #if defined(GNSS_UART1)
-static const gnss_board_hw_info g_gnss_board_hw_info = { UART_BUS_1, { S_AGPIO_L30, TIOT_PIN_NONE, TIOT_PIN_NONE } };
+static const gnss_board_hw_info g_gnss_board_hw_info = { UART_BUS_1, { S_AGPIO_L32, TIOT_PIN_NONE, TIOT_PIN_NONE } };
 #else
 static const gnss_board_hw_info g_gnss_board_hw_info = { UART_BUS_0, { S_AGPIO_L30, TIOT_PIN_NONE, TIOT_PIN_NONE } };
 #endif
-
+//static const gnss_board_hw_info g_gnss_board_hw_info = { TIOT_UART_PORT, { TIOT_PIN_POWER, TIOT_PIN_UART_WAKEUP_NUM, TIOT_PIN_NONE } };
 static const gnss_board_info g_gnss_board_info = {
     .cfg_path = NULL,  /* 如果使用文件系统,此处填写固件cfg文件完整路径,
                           例如 .cfg_path = "user/gnss_firmware/gnss_fw_cfg";
index bb2aa0e..5bb64ed 100644 (file)
@@ -54,6 +54,7 @@ static tiot_board_uart_port g_tiot_board_uart_port[TIOT_UART_NUM] = {
     {\r
         .flow_ctrl_bk = TIOT_UART_ATTR_FLOW_CTRL_ENABLE,   /* MCU UART默认是否开启流控。 */\r
         .rx_buff = { 0 },\r
+#if defined(CONFIG_GNSS_UART_WITH_FLOWCTRL)\r
 #if defined(GNSS_UART1)\r
         .pin_config_orig = { S_MGPIO33, S_MGPIO34, S_MGPIO35, S_MGPIO36 },   /* MCU UART管脚,按实际板级情况适配。 */\r
         /* MCU UART管脚pinmux,按实际板级情况适配。 */\r
@@ -68,6 +69,23 @@ static tiot_board_uart_port g_tiot_board_uart_port[TIOT_UART_NUM] = {
             HAL_PIO_FUNC_UART1, HAL_PIO_FUNC_UART1,\r
             HAL_PIO_FUNC_UART1, HAL_PIO_FUNC_UART1\r
         },   \r
+#endif\r
+#else\r
+#if defined(GNSS_UART1)\r
+        .pin_config_orig = { S_MGPIO33, S_MGPIO34, PIN_NONE, PIN_NONE },   /* MCU UART管脚,按实际板级情况适配。 */\r
+        /* MCU UART管脚pinmux,按实际板级情况适配。 */\r
+        .pinmux = {\r
+            HAL_PIO_FUNC_UART_HS_UART, HAL_PIO_FUNC_UART_HS_UART,\r
+            HAL_PIO_FUNC_MAX, HAL_PIO_FUNC_MAX\r
+        },  \r
+#else \r
+        .pin_config_orig = { S_MGPIO19, S_MGPIO20, PIN_NONE, PIN_NONE },   /* MCU UART管脚,按实际板级情况适配。 */\r
+        /* MCU UART管脚pinmux,按实际板级情况适配。 */\r
+        .pinmux = {\r
+            HAL_PIO_FUNC_UART1, HAL_PIO_FUNC_UART1,\r
+            HAL_PIO_FUNC_MAX, HAL_PIO_FUNC_MAX\r
+        },   \r
+#endif\r
 #endif\r
         .rx_callback = tiot_board_rx_callback0             /* MCU UART管脚接收回调,按TIoT驱动使用UART个数适配增加。 */\r
     }\r
index 9c4a766..de6cb52 100644 (file)
@@ -20,13 +20,26 @@ extern "C" {
 #include "stdint.h"
 #include "errcode.h"
 
-errcode_t gnss_init(void);
 errcode_t gnss_power_on(void);
 errcode_t gnss_power_off(void);
-errcode_t gnss_load_cfg(void);
 errcode_t gnss_start(void);
 errcode_t gnss_stop(void);
 uint8_t is_gnss_on(void);
+
+typedef enum {
+    SWITCH_TO_DOWNLOAD=0,
+    SWITCH_TO_GNSS=1,
+} DOWNLOAD_GPS_SWITCH_T;
+
+errcode_t download_gnss_switch(DOWNLOAD_GPS_SWITCH_T download_gps_switch);
+
+
+int is_GnssLogEnabled(void);
+int GnssLogEnable(bool enable);
+
+/**test only */
+uint32_t gnss_write_cmd(uint8_t * cmdbuf,uint16_t cmdlen);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
index afa15ec..e59debb 100644 (file)
@@ -9,6 +9,7 @@
 #include "securec.h"\r
 #include "tiot_service_interface.h"\r
 #include "pm_definition.h"\r
+#include "gnss_ctl.h"\r
 \r
 #define COLDSTART_FIXMODEGPS_NMEAALL_SAMPLE        0\r
 #define AUTOSTART_FIXMODEALL_NMEADEF_SAMPLE        1\r
@@ -239,6 +240,15 @@ static void ListenGnssData(tiot_handle handle)
     int32_t i = 0;\r
     // 写日志\r
     for (;;) {  // 写日志条件\r
+\r
+        if (i >= LISTEN_DATA_MAX_LINES) {\r
+            printf("\ncnt enough\n");\r
+            break;\r
+        }\r
+        if (g_gnss_stopflag == 1)\r
+        {\r
+            break;\r
+        }\r
         // 监听\r
         int32_t ret = tiot_service_read(handle, g_gnssServiceBuff, REPORT_MAX_BYTES, LISTEN_TIME_THR);\r
         if (ret > 0) {\r
@@ -260,14 +270,7 @@ static void ListenGnssData(tiot_handle handle)
             }\r
             i++;\r
         }\r
-        if (i >= LISTEN_DATA_MAX_LINES) {\r
-            printf("\ncnt enough\n");\r
-            break;\r
-        }\r
-        if (g_gnss_stopflag == 1)\r
-        {\r
-            break;\r
-        }\r
+\r
     }\r
 }\r
 void GnssServerStop(void)\r
@@ -279,6 +282,22 @@ int getGnssServerStat(void)
     return g_is_gnss_poweron;\r
 }\r
 \r
+int is_GnssLogEnabled(void)\r
+{\r
+    return g_is_gnss_logon;\r
+}\r
+int GnssLogEnable(bool enable)\r
+{\r
+    if (enable)\r
+        g_is_gnss_logon = 1;\r
+    else\r
+        g_is_gnss_logon = 0;\r
+\r
+\r
+    return g_is_gnss_logon;\r
+}\r
+\r
+\r
 void GnssServerStart(void)\r
 {\r
     printf("\nenter gnss samples\n");\r
@@ -288,18 +307,24 @@ void GnssServerStart(void)
         return ;\r
     }\r
     uapi_pm_add_sleep_veto(PM_ID_SYS);\r
+\r
+    #ifdef DOWNLOAD_GNSS_SWITCH\r
+    download_gnss_switch(SWITCH_TO_GNSS);\r
+    #endif\r
     g_is_gnss_poweron = 1;\r
     g_gnss_stopflag = 0;\r
     // Step1: init\r
     int32_t ret = tiot_service_init();\r
     if (ret != 0) {\r
         printf("\ntiot service init fail\n");\r
+        g_is_gnss_poweron = 0;\r
+        g_gnss_stopflag = 1;\r
     }\r
 \r
     // 打开日志文件\r
     if (g_is_gnss_logon)\r
     {\r
-        g_gnssLogFp = fopen("/user/gnss.log", "w");\r
+        g_gnssLogFp = fopen("/user/log/gnss.log", "w");\r
         if (g_gnssLogFp == NULL) {\r
             printf("\nerror: open log file error\n");\r
             return;\r
@@ -311,6 +336,8 @@ void GnssServerStart(void)
     tiot_handle handle = tiot_service_open("gn71", NULL);\r
     if (handle == 0) {\r
         printf("\nopen tiot service fail\n");\r
+        g_is_gnss_poweron = 0;\r
+        g_gnss_stopflag = 1;\r
         return;\r
     }\r
     printf("\nopen tiot service success\n");\r
@@ -353,6 +380,10 @@ void GnssServerStart(void)
     }\r
     // Step8: deinit\r
     tiot_service_deinit();\r
+\r
+    #ifdef DOWNLOAD_GNSS_SWITCH\r
+    download_gnss_switch(SWITCH_TO_DOWNLOAD);\r
+    #endif\r
     uapi_pm_remove_sleep_veto(PM_ID_SYS);\r
     g_is_gnss_poweron=0;\r
     printf("\nfinish gnss samples\n");\r
index 962d029..ce8914b 100644 (file)
 #include "uart_gnss.h"
 #include "gnss_sample.h"
 
-errcode_t gnss_init(void)
-{
-
-    return ERRCODE_SUCC;
-}
-
 errcode_t gnss_power_on(void)
 {
 
@@ -158,8 +152,8 @@ 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);
 
-    ret=uapi_gpio_set_val(S_AGPIO_L16, GPIO_LEVEL_LOW);   // crystal sw
-    PRINT("SWITCH uart to download set_value S_AGPIO_L16 GPIO_LEVEL_LOW ret %d\n",ret);
+    // ret=uapi_gpio_set_val(S_AGPIO_L16, GPIO_LEVEL_LOW);   // crystal sw
+    // PRINT("SWITCH uart to download set_value S_AGPIO_L16 GPIO_LEVEL_LOW ret %d\n",ret);
   
 #endif
     return ERRCODE_SUCC;
@@ -168,16 +162,6 @@ S_AGPIO_L28    GPS_1V8
 static uint8_t g_gnss_status=0;
 
 
-errcode_t gnss_load_cfg(void)
-{
-    // do_gnss_cmd(GNSS_CMD_WRITEDATA,g_cfg_all_nmea_cmd,sizeof(g_cfg_all_nmea_cmd)); 
-    uint8_t cmd = GNSS_CMD_CFG_INIT;
-    do_gnss_cmd(GNSS_CMD_WRITEDATA, &cmd,1);
-    g_gnss_status = 1;
-    return 0;
-}
-
-
 errcode_t gnss_start(void)
 {
     // do_gnss_cmd(GNSS_CMD_WRITEDATA,g_cfg_all_nmea_cmd,sizeof(g_cfg_all_nmea_cmd)); 
@@ -200,4 +184,22 @@ errcode_t gnss_stop(void)
 uint8_t is_gnss_on(void)
 {
     return g_gnss_status;
+}
+
+
+errcode_t download_gnss_switch(DOWNLOAD_GPS_SWITCH_T download_gps_switch)
+{
+    errcode_t ret=ERRCODE_SUCC;
+    ret=uapi_gpio_set_dir(S_AGPIO_L16,GPIO_DIRECTION_OUTPUT);
+    PRINT("set_dir S_AGPIO_L16,GPIO_DIRECTION_OUTPUT ret %d\n",ret);
+    
+    if (download_gps_switch == SWITCH_TO_GNSS)
+    {
+        ret=uapi_gpio_set_val(S_AGPIO_L16, GPIO_LEVEL_HIGH);   // crystal sw
+        PRINT("SWITCH uart to GNSS set_value S_AGPIO_L16 GPIO_LEVEL_HIGH ret %d\n",ret);  
+    }else{
+        ret=uapi_gpio_set_val(S_AGPIO_L16, GPIO_LEVEL_LOW);   // crystal sw
+        PRINT("SWITCH uart to download set_value S_AGPIO_L16 GPIO_LEVEL_LOW ret %d\n",ret);
+    }
+    return ret;
 }
\ No newline at end of file