From: SnickerSun Date: Wed, 8 Jan 2025 06:31:57 +0000 (+0800) Subject: 更新GNSS 用hsuart进行通讯的配置,暂时测试未通过。不影响u8的使用 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=a786aa9649967cdc0a3f4c9bd3b33efaf6f2cff6;p=mirrors%2FFD230.git 更新GNSS 用hsuart进行通讯的配置,暂时测试未通过。不影响u8的使用 --- diff --git a/code/sdk/application/wearable/nativeapp/nativeui/TestGPS/src/GPSView.cpp b/code/sdk/application/wearable/nativeapp/nativeui/TestGPS/src/GPSView.cpp index 8945fa46e..201e9d838 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/TestGPS/src/GPSView.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/TestGPS/src/GPSView.cpp @@ -98,7 +98,7 @@ void GPSView::CreateUIButton() WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GPSView cancelButton new fail"); return; } - cancelButton->SetPosition(85, 400, 90, 90); // 85:x, 320:y, 90:width, 90:height + cancelButton->SetPosition(85, 350, 90, 90); // 85:x, 320:y, 90:width, 90:height cancelButton->SetViewId(GPS_CANCEL_BUTTON); cancelButton->SetImageSrc(ALARM_DELETE_ADD_PATH, ALARM_DELETE_ADD_PATH); cancelButton->SetOnClickListener(clickListener); @@ -110,7 +110,7 @@ void GPSView::CreateUIButton() WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GPSView confirmButton new fail"); return; } - confirmButton->SetPosition(279, 400, 90, 90); // 279:x, 320:y, 90:width, 90:height + confirmButton->SetPosition(279, 350, 90, 90); // 279:x, 320:y, 90:width, 90:height confirmButton->SetViewId(GPS_CONFIRM_BUTTON); confirmButton->SetImageSrc(ALARM_TRUE_ADD_PATH, ALARM_TRUE_ADD_PATH); confirmButton->SetOnClickListener(clickListener); diff --git a/code/sdk/application/wearable/nativeapp/nativeui/clock/src/MainClockView.cpp b/code/sdk/application/wearable/nativeapp/nativeui/clock/src/MainClockView.cpp index 6fb226b6e..f197f0440 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/clock/src/MainClockView.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/clock/src/MainClockView.cpp @@ -12,7 +12,7 @@ #include "ui_resource_image.h" #include "common/image_cache_manager.h" #include - +#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); diff --git a/code/sdk/application/wearable/nativeapp/nativeui/main/src/PullUpDownView.cpp b/code/sdk/application/wearable/nativeapp/nativeui/main/src/PullUpDownView.cpp index 34eb21de7..edcccbfea 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/main/src/PullUpDownView.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/main/src/PullUpDownView.cpp @@ -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(); 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 5fc624830..9231462b1 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 @@ -1947,24 +1947,32 @@ uint32_t gps_on(uint8_t *data, uint32_t data_len) char *ptr = (char *)data; uint32_t mode = strtoul(ptr, NULL, 10); - wstp_print("gnss cmd: 0 poweroff , 1 power on , 2 load_cfg , 3 start , 4 stop\r\n"); + 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"); if (mode == 0) { // osDelay(500); - wstp_print("0 gnss_power_off\r\n"); - gnss_power_off(); + wstp_print("0 switch to download\r\n"); + download_gnss_switch(SWITCH_TO_DOWNLOAD); }else if (mode == 1) { - wstp_print("1 gnss_power_on\r\n"); - gnss_power_on(); + wstp_print("1 switch to gnss\r\n"); + download_gnss_switch(SWITCH_TO_GNSS); }else if (mode == 2) { - - wstp_print("2 gnss_load_cfg\r\n"); - gnss_load_cfg(); + const char* msg="2 gnss_load_cfg\r\n"; + wstp_print(msg); + gnss_write_cmd(msg,strlen(msg)); + }else if (mode == 3) { - wstp_print("3 gnss_start\r\n"); + wstp_print("3 gnss_poweron\r\n"); + gnss_power_on; + }else if (mode == 4) { + wstp_print("4 gnss_poweroff\r\n"); + gnss_power_off(); + }else if (mode == 5) { + wstp_print("5 gnss_start \r\n"); gnss_start(); + }else { // osDelay(500); - wstp_print("4 gnss_stop\r\n"); + wstp_print("6 gnss_stop\r\n"); gnss_stop(); } diff --git a/code/sdk/build/config/target_config/brandy/config.py b/code/sdk/build/config/target_config/brandy/config.py index 4bbfb15f2..5ab6e5be0 100644 --- a/code/sdk/build/config/target_config/brandy/config.py +++ b/code/sdk/build/config/target_config/brandy/config.py @@ -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', 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 1941963f6..66cb658bc 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 @@ -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 }, diff --git a/code/sdk/drivers/chips/brandy/include/platform_core.h b/code/sdk/drivers/chips/brandy/include/platform_core.h index 7479c7667..0a40e63b4 100644 --- a/code/sdk/drivers/chips/brandy/include/platform_core.h +++ b/code/sdk/drivers/chips/brandy/include/platform_core.h @@ -194,6 +194,7 @@ #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 @@ -213,6 +214,41 @@ #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 diff --git a/code/sdk/drivers/chips/brandy/porting/uart/uart_porting.c b/code/sdk/drivers/chips/brandy/porting/uart/uart_porting.c index c172f7b73..2150f8975 100644 --- a/code/sdk/drivers/chips/brandy/porting/uart/uart_porting.c +++ b/code/sdk/drivers/chips/brandy/porting/uart/uart_porting.c @@ -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, diff --git a/code/sdk/middleware/chips/brandy/pm/service/pm_sleep.c b/code/sdk/middleware/chips/brandy/pm/service/pm_sleep.c index 16aded51c..fffdb5e12 100644 --- a/code/sdk/middleware/chips/brandy/pm/service/pm_sleep.c +++ b/code/sdk/middleware/chips/brandy/pm/service/pm_sleep.c @@ -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 diff --git a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_clock_dial/MainClockView.cpp b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_clock_dial/MainClockView.cpp index 5843248a3..1bf73f96b 100644 --- a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_clock_dial/MainClockView.cpp +++ b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_clock_dial/MainClockView.cpp @@ -17,6 +17,7 @@ #include "components/ui_label.h" #include "common/image_cache_manager.h" #include "MainClockView.h" +#include "custom_utils.h" namespace OHOS { static MainClockView *g_pMainClockView = nullptr; @@ -152,7 +153,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); diff --git a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_clock_dial/PullUpDownView.cpp b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_clock_dial/PullUpDownView.cpp index 841da6e21..2f3f22708 100644 --- a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_clock_dial/PullUpDownView.cpp +++ b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_clock_dial/PullUpDownView.cpp @@ -19,6 +19,7 @@ #include "ScreenModel.h" #include "ui_resource_image.h" #include "common/image_cache_manager.h" +#include "custom_utils.h" namespace OHOS { @@ -208,7 +209,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(); diff --git a/code/sdk/zhihui/services/gnss/driver/common/interface/board_interface/board_internal/tiot_board_log.h b/code/sdk/zhihui/services/gnss/driver/common/interface/board_interface/board_internal/tiot_board_log.h index 9de1f1fee..b5a9b92ac 100644 --- a/code/sdk/zhihui/services/gnss/driver/common/interface/board_interface/board_internal/tiot_board_log.h +++ b/code/sdk/zhihui/services/gnss/driver/common/interface/board_interface/board_internal/tiot_board_log.h @@ -30,7 +30,7 @@ extern "C" { #define TIOT_LOG_DEBUG 4 /*!< Log level debug. */ #ifndef TIOT_BOARD_LOG_LEVEL -#define TIOT_BOARD_LOG_LEVEL TIOT_LOG_INFO +#define TIOT_BOARD_LOG_LEVEL TIOT_LOG_DEBUG #endif /* 宏定义 */ diff --git a/code/sdk/zhihui/services/gnss/driver/common/interface/board_interface/board_porting/tiot_board_pin_port.h b/code/sdk/zhihui/services/gnss/driver/common/interface/board_interface/board_porting/tiot_board_pin_port.h index e2a88b257..48b652869 100644 --- a/code/sdk/zhihui/services/gnss/driver/common/interface/board_interface/board_porting/tiot_board_pin_port.h +++ b/code/sdk/zhihui/services/gnss/driver/common/interface/board_interface/board_porting/tiot_board_pin_port.h @@ -10,7 +10,8 @@ #define TIOT_BOARD_PIN_PORT_H #include "tiot_types.h" - +#include "gpio.h" +#include "uart.h" #ifdef __cplusplus #if __cplusplus extern "C" { @@ -27,8 +28,23 @@ extern "C" { * @brief Pin none, board port should use this macro if pin is not connected. */ #define TIOT_PIN_NONE 0xFFFFFFFFU -#define TIOT_PIN_UART_WAKEUP_NUM 0x80000000U /* 用于uart rx唤醒. */ +#if defined(GNSS_UART1) +#define TIOT_UART_PORT UART_BUS_1 +#else +#define TIOT_UART_PORT UART_BUS_0 +#endif + +#ifdef BOARD_U8 +#define TIOT_PIN_UART_WAKEUP_NUM S_AGPIO_L31 /* 用于uart rx唤醒. */ +#define TIOT_PIN_POWER S_AGPIO_L30 /* 用于开启GNSS. */ +#elif defined(BOARD_L22) || defined(BOARD_W9) +#define TIOT_PIN_UART_WAKEUP_NUM S_AGPIO_L15 /* 用于uart rx唤醒. */ +#define TIOT_PIN_POWER S_AGPIO_L32 /* 用于开启GNSS. */ +#else +#define TIOT_PIN_POWER TIOT_PIN_NONE /* 用于开启GNSS. */ +#define TIOT_PIN_UART_WAKEUP_NUM 0x80000000U /* 用于uart rx唤醒. */ +#endif /** * @brief Pin level enum. */ diff --git a/code/sdk/zhihui/services/gnss/driver/common/interface/device_interface/tiot_service_interface.c b/code/sdk/zhihui/services/gnss/driver/common/interface/device_interface/tiot_service_interface.c index 643b39aae..b0434ebc7 100644 --- a/code/sdk/zhihui/services/gnss/driver/common/interface/device_interface/tiot_service_interface.c +++ b/code/sdk/zhihui/services/gnss/driver/common/interface/device_interface/tiot_service_interface.c @@ -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, ¶m); } diff --git a/code/sdk/zhihui/services/gnss/driver/product_porting/porting/gnss_board_port.c b/code/sdk/zhihui/services/gnss/driver/product_porting/porting/gnss_board_port.c index 1e0225770..8dbe7e5fa 100644 --- a/code/sdk/zhihui/services/gnss/driver/product_porting/porting/gnss_board_port.c +++ b/code/sdk/zhihui/services/gnss/driver/product_porting/porting/gnss_board_port.c @@ -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"; diff --git a/code/sdk/zhihui/services/gnss/driver/product_porting/porting/tiot_board_uart_port.c b/code/sdk/zhihui/services/gnss/driver/product_porting/porting/tiot_board_uart_port.c index bb2aa0e2b..5bb64ed38 100644 --- a/code/sdk/zhihui/services/gnss/driver/product_porting/porting/tiot_board_uart_port.c +++ b/code/sdk/zhihui/services/gnss/driver/product_porting/porting/tiot_board_uart_port.c @@ -54,6 +54,7 @@ static tiot_board_uart_port g_tiot_board_uart_port[TIOT_UART_NUM] = { { .flow_ctrl_bk = TIOT_UART_ATTR_FLOW_CTRL_ENABLE, /* MCU UART默认是否开启流控。 */ .rx_buff = { 0 }, +#if defined(CONFIG_GNSS_UART_WITH_FLOWCTRL) #if defined(GNSS_UART1) .pin_config_orig = { S_MGPIO33, S_MGPIO34, S_MGPIO35, S_MGPIO36 }, /* MCU UART管脚,按实际板级情况适配。 */ /* MCU UART管脚pinmux,按实际板级情况适配。 */ @@ -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, HAL_PIO_FUNC_UART1, HAL_PIO_FUNC_UART1 }, +#endif +#else +#if defined(GNSS_UART1) + .pin_config_orig = { S_MGPIO33, S_MGPIO34, PIN_NONE, PIN_NONE }, /* MCU UART管脚,按实际板级情况适配。 */ + /* MCU UART管脚pinmux,按实际板级情况适配。 */ + .pinmux = { + HAL_PIO_FUNC_UART_HS_UART, HAL_PIO_FUNC_UART_HS_UART, + HAL_PIO_FUNC_MAX, HAL_PIO_FUNC_MAX + }, +#else + .pin_config_orig = { S_MGPIO19, S_MGPIO20, PIN_NONE, PIN_NONE }, /* MCU UART管脚,按实际板级情况适配。 */ + /* MCU UART管脚pinmux,按实际板级情况适配。 */ + .pinmux = { + HAL_PIO_FUNC_UART1, HAL_PIO_FUNC_UART1, + HAL_PIO_FUNC_MAX, HAL_PIO_FUNC_MAX + }, +#endif #endif .rx_callback = tiot_board_rx_callback0 /* MCU UART管脚接收回调,按TIoT驱动使用UART个数适配增加。 */ } diff --git a/code/sdk/zhihui/services/gnss/inc/gnss_ctl.h b/code/sdk/zhihui/services/gnss/inc/gnss_ctl.h index 9c4a766bb..de6cb520a 100644 --- a/code/sdk/zhihui/services/gnss/inc/gnss_ctl.h +++ b/code/sdk/zhihui/services/gnss/inc/gnss_ctl.h @@ -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 */ diff --git a/code/sdk/zhihui/services/gnss/sample/gnss_sample/gnss_sample.c b/code/sdk/zhihui/services/gnss/sample/gnss_sample/gnss_sample.c index afa15ec36..e59debb8d 100644 --- a/code/sdk/zhihui/services/gnss/sample/gnss_sample/gnss_sample.c +++ b/code/sdk/zhihui/services/gnss/sample/gnss_sample/gnss_sample.c @@ -9,6 +9,7 @@ #include "securec.h" #include "tiot_service_interface.h" #include "pm_definition.h" +#include "gnss_ctl.h" #define COLDSTART_FIXMODEGPS_NMEAALL_SAMPLE 0 #define AUTOSTART_FIXMODEALL_NMEADEF_SAMPLE 1 @@ -239,6 +240,15 @@ static void ListenGnssData(tiot_handle handle) int32_t i = 0; // 写日志 for (;;) { // 写日志条件 + + if (i >= LISTEN_DATA_MAX_LINES) { + printf("\ncnt enough\n"); + break; + } + if (g_gnss_stopflag == 1) + { + break; + } // 监听 int32_t ret = tiot_service_read(handle, g_gnssServiceBuff, REPORT_MAX_BYTES, LISTEN_TIME_THR); if (ret > 0) { @@ -260,14 +270,7 @@ static void ListenGnssData(tiot_handle handle) } i++; } - if (i >= LISTEN_DATA_MAX_LINES) { - printf("\ncnt enough\n"); - break; - } - if (g_gnss_stopflag == 1) - { - break; - } + } } void GnssServerStop(void) @@ -279,6 +282,22 @@ int getGnssServerStat(void) return g_is_gnss_poweron; } +int is_GnssLogEnabled(void) +{ + return g_is_gnss_logon; +} +int GnssLogEnable(bool enable) +{ + if (enable) + g_is_gnss_logon = 1; + else + g_is_gnss_logon = 0; + + + return g_is_gnss_logon; +} + + void GnssServerStart(void) { printf("\nenter gnss samples\n"); @@ -288,18 +307,24 @@ void GnssServerStart(void) return ; } uapi_pm_add_sleep_veto(PM_ID_SYS); + + #ifdef DOWNLOAD_GNSS_SWITCH + download_gnss_switch(SWITCH_TO_GNSS); + #endif g_is_gnss_poweron = 1; g_gnss_stopflag = 0; // Step1: init int32_t ret = tiot_service_init(); if (ret != 0) { printf("\ntiot service init fail\n"); + g_is_gnss_poweron = 0; + g_gnss_stopflag = 1; } // 打开日志文件 if (g_is_gnss_logon) { - g_gnssLogFp = fopen("/user/gnss.log", "w"); + g_gnssLogFp = fopen("/user/log/gnss.log", "w"); if (g_gnssLogFp == NULL) { printf("\nerror: open log file error\n"); return; @@ -311,6 +336,8 @@ void GnssServerStart(void) tiot_handle handle = tiot_service_open("gn71", NULL); if (handle == 0) { printf("\nopen tiot service fail\n"); + g_is_gnss_poweron = 0; + g_gnss_stopflag = 1; return; } printf("\nopen tiot service success\n"); @@ -353,6 +380,10 @@ void GnssServerStart(void) } // Step8: deinit tiot_service_deinit(); + + #ifdef DOWNLOAD_GNSS_SWITCH + download_gnss_switch(SWITCH_TO_DOWNLOAD); + #endif uapi_pm_remove_sleep_veto(PM_ID_SYS); g_is_gnss_poweron=0; printf("\nfinish gnss samples\n"); diff --git a/code/sdk/zhihui/services/gnss/src/gnss_ctl.c b/code/sdk/zhihui/services/gnss/src/gnss_ctl.c index 962d02910..ce8914b57 100644 --- a/code/sdk/zhihui/services/gnss/src/gnss_ctl.c +++ b/code/sdk/zhihui/services/gnss/src/gnss_ctl.c @@ -32,12 +32,6 @@ #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