\r
}else if (mode == 3) {\r
wstp_print("3 gnss_poweron\r\n");\r
- gnss_power_on;\r
+ gnss_power_on();\r
}else if (mode == 4) {\r
wstp_print("4 gnss_poweroff\r\n");\r
gnss_power_off();\r
'SINGLE_USER_PARTITION',
'TEST_GPS_UI',
'BOARD_U8',
- 'GNSS_UART0',
+ 'SUPPORT_GNSS',
'SUPPORT_AUTO_OTA_SERVER',
'CONFIG_DFX_SUPPORT_DIAG_UP_MACHINE=1',
'TPTYPE_CST86XX',
#'ENABLE_WEBSOCKET',
'SINGLE_USER_PARTITION',
'BOARD_W9',
- 'GNSS_UART1',
+ 'SUPPORT_GNSS',
'SUPPORT_AUTO_OTA_SERVER',
'CONFIG_DFX_SUPPORT_DIAG_UP_MACHINE=1',
'TPTYPE_CST86XX',
#'ENABLE_WEBSOCKET',
'SINGLE_USER_PARTITION',
'BOARD_L22',
- # 'FT_SINGLE_UART',
- 'GNSS_UART1',
- # 'DISABLE_UART_LOG',
- # 'CONFIG_GNSS_UART_WITH_FLOWCTRL',
+ 'FT_SINGLE_UART',
+ 'SUPPORT_GNSS',
+ 'DISABLE_UART_LOG',
+ 'CONFIG_GNSS_UART_WITH_FLOWCTRL',
'DOWNLOAD_GNSS_SWITCH',
'SUPPORT_AUTO_OTA_SERVER',
'CONFIG_DFX_SUPPORT_DIAG_UP_MACHINE=1',
#endif
{ HAL_PIO_FUNC_UART_HS_UART, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO33 huart tx
{ HAL_PIO_FUNC_UART_HS_UART, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_MGPIO34 huart rx
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO35
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO36
+ { HAL_PIO_FUNC_UART_HS_UART, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO35
+ { HAL_PIO_FUNC_UART_HS_UART, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO36
#if 0
{ HAL_PIO_FUNC_UART2_M2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO37 uart tx
{ HAL_PIO_FUNC_UART2_M2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_MGPIO38 uart rx
* Maximum UART buses
* Defined here rather than in the uart_bus_t enum, due to needing to use it for conditional compilation
*/
+#ifdef DISABLE_UART_LOG
+#define UART_BUS_MAX_NUMBER 3 // !< Max number of UARTS available
+#else
#define UART_BUS_MAX_NUMBER 2 // !< Max number of UARTS available
-
+#endif
#define I2C_BUS_MAX_NUMBER 4 // !< Max number of I2C available
#define I2C_4_IRQn I2C_0_IRQN
#define I2C_5_IRQn I2C_0_IRQN
#endif
#ifdef DISABLE_UART_LOG
-#define SW_DEBUG_UART_BUS UART_BUS_MAX_NUMBER
+#define SW_DEBUG_UART_BUS UART_BUS_2
#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_BUS UART_BUS_2
#define LOG_UART_TX_PIN PIN_NONE
#define LOG_UART_RX_PIN PIN_NONE
#else
static bool g_sw_debug_uart_enabled = false;
uint8_t g_uart0_rx_buffer[UART_RX_BUFFER_SIZE];
uint8_t g_uart1_rx_buffer[UART_RX_BUFFER_SIZE];
+#ifdef DISABLE_UART_LOG
+uint8_t g_uart2_rx_buffer[UART_RX_BUFFER_SIZE];
+#endif
#if defined(SUPPORT_AT_CMD)
static void at_cmd_uart_rx_callback(const void *buf, uint16_t buf_len, bool remaining);
#endif
},
/* 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,
#else
log_factory_at_callback,
#endif
- #endif
{
.baud_rate = CUSTOM_UART_RATE,
.data_bits = UART_DATA_BIT_8,
NULL,
false
}
+#ifdef DISABLE_UART_LOG
+ ,
+ /* UART_BUS_2 is used to hso uart */
+ {
+
+ {
+ .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,
+ {
+ .baud_rate = CUSTOM_UART_RATE,
+ .data_bits = UART_DATA_BIT_8,
+ .parity = UART_PARITY_NONE,
+ .stop_bits = UART_STOP_BIT_1,
+ },
+ {
+ .rx_buffer_size = UART_RX_BUFFER_SIZE,
+ .rx_buffer = g_uart2_rx_buffer,
+ },
+ NULL,
+ false
+ }
+
+#endif
#endif
};
static uart_recovery_regs_t g_uart_recovery_reg[UART_BUS_MAX_NUMBER] = { 0 };
lpc_forbid_deepsleep();
#endif
-#ifndef GNSS_UART1
+#ifndef SUPPORT_GNSS
#ifndef FT_SINGLE_UART
uint16_t status = pmu_lpm_wakeup_get_status(LPM_EVT_ACTION, PMU_LPM_MCPU_UART_H1_RX_WAKEUP);
#else
#include "AlarmClockModel.h"
#include "cmsis_os2.h"
-#if defined(GNSS_UART1) || defined(GNSS_UART0)
+#if defined(SUPPORT_GNSS)
#include "NMEA0183.h"
// code/sdk/zhihui/services/gnss/inc/.h
\r
#include "custom_runtime.h"\r
\r
-#if defined(GNSS_UART1) || defined(GNSS_UART0)\r
+#if defined(SUPPORT_GNSS)\r
#include "gnss_ctl.h"\r
#endif\r
\r
\r
#endif\r
\r
- #if defined(GNSS_UART1) || defined(GNSS_UART0)\r
+ #if defined(SUPPORT_GNSS)\r
if (strcmp(view.GetViewId(), GPS_OPEN_CONFIRM_BUTTON) == 0)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GPS On OnClick");\r
{SEChipTest,"SEChipTestbutton","SEChipTest","SEChipTestbutton_next" ,&testView::ChangeSEChipTESTView,true},\r
{PingTest,"PingTestbutton","PingTest","PingTestbutton_next" ,&testView::ChangePingTESTView,true},\r
\r
-#if defined(GNSS_UART1) || defined(GNSS_UART0)\r
+#if defined(SUPPORT_GNSS)\r
{GPSTEST,"GPSTestbutton","GPSTest","GPSTestbutton_next" ,&testView::ChangeGPSTESTView,true},\r
#endif\r
#ifdef AGINGTEST\r
\r
bool testView::ChangeGPSTESTView(int16_t thisView)\r
{\r
-#if defined(GNSS_UART1) || defined(GNSS_UART0)\r
+#if defined(SUPPORT_GNSS)\r
if (SystemScrollView[thisView] == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSEChipTESTView");\r
test_Ping_view = nullptr;\r
SystemScrollView[hideView]=nullptr;\r
break;\r
-#if defined(GNSS_UART1) || defined(GNSS_UART0)\r
+#if defined(SUPPORT_GNSS)\r
case GPSTEST:\r
RootView::GetInstance()->Remove(SystemScrollView[hideView]);\r
delete test_GPS_view; \r
*/\r
#define TIOT_PIN_NONE 0xFFFFFFFFU\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_UART_PORT UART_BUS_0\r
+#define TIOT_PIN_WAKEUP_HOST_NUM TIOT_PIN_NONE /* 用于唤醒HOST. */\r
+#define TIOT_PIN_WAKEUP_GNSS_NUM S_AGPIO_L31 /* 用于 唤醒GNSS. */\r
#define TIOT_PIN_POWER S_AGPIO_L30 /* 用于开启GNSS. */\r
+\r
+#define TIOT_PIN_UART_TX S_MGPIO19\r
+#define TIOT_PIN_UART_RX S_MGPIO20\r
+#define TIOT_PIN_UART_CTS S_MGPIO22\r
+#define TIOT_PIN_UART_RTS S_MGPIO21\r
+#define TIOT_PINMUX HAL_PIO_FUNC_UART1\r
+\r
#elif defined(BOARD_L22) || defined(BOARD_W9)\r
-#define TIOT_PIN_UART_WAKEUP_NUM S_AGPIO_L15 /* 用于uart rx唤醒. */\r
+#define TIOT_UART_PORT UART_BUS_1\r
+#define TIOT_PIN_WAKEUP_HOST_NUM S_AGPIO_L15 /* 用于唤醒HOST. */\r
+#define TIOT_PIN_WAKEUP_GNSS_NUM S_HGPIO0 /* 用于 唤醒GNSS. */\r
#define TIOT_PIN_POWER S_AGPIO_L32 /* 用于开启GNSS. */\r
+\r
+#define TIOT_PIN_UART_TX S_MGPIO33\r
+#define TIOT_PIN_UART_RX S_MGPIO34\r
+#define TIOT_PIN_UART_CTS S_MGPIO36\r
+#define TIOT_PIN_UART_RTS S_MGPIO35\r
+#define TIOT_PINMUX HAL_PIO_FUNC_UART_HS_UART\r
+\r
#else\r
+#define TIOT_PIN_WAKEUP_HOST_NUM TIOT_PIN_NONE /* 用于唤醒HOST. */\r
+#define TIOT_PIN_WAKEUP_GNSS_NUM TIOT_PIN_NONE /* 用于 唤醒GNSS. */\r
#define TIOT_PIN_POWER TIOT_PIN_NONE /* 用于开启GNSS. */\r
-#define TIOT_PIN_UART_WAKEUP_NUM 0x80000000U /* 用于uart rx唤醒. */\r
+#define TIOT_UART_PORT UART_BUS_0\r
+#define TIOT_PIN_UART_TX S_MGPIO19\r
+#define TIOT_PIN_UART_RX S_MGPIO20\r
+#define TIOT_PIN_UART_CTS S_MGPIO22\r
+#define TIOT_PIN_UART_RTS S_MGPIO21\r
+#define TIOT_PINMUX HAL_PIO_FUNC_UART1\r
+\r
#endif\r
+#define TIOT_PIN_UART_WAKEUP_NUM 0x80000000U /* 用于uart rx唤醒. */\r
/**\r
* @brief Pin level enum.\r
*/\r
可选,如果板级未连接此管脚,必须设为TIOT_PIN_NONE宏.
*/
-#if defined(GNSS_UART1)
-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_hw_info g_gnss_board_hw_info = { TIOT_UART_PORT, { TIOT_PIN_POWER,TIOT_PIN_WAKEUP_GNSS_NUM , TIOT_PIN_WAKEUP_HOST_NUM } };
static const gnss_board_info g_gnss_board_info = {
.cfg_path = NULL, /* 如果使用文件系统,此处填写固件cfg文件完整路径,
例如 .cfg_path = "user/gnss_firmware/gnss_fw_cfg";
/* TIoT驱动使用中断管脚配置,需要按实际使用的中断管脚适配修改。 */\r
static tiot_int_pin_map g_tiot_int_pin_map[TIOT_INT_PIN_NUMBER] = {\r
/* 例如使用XXX唤醒MCU管脚,对应GPIO ID为S_AGPIO_R0. */\r
- { S_AGPIO_R0, NULL }\r
+ { TIOT_PIN_WAKEUP_HOST_NUM, NULL }\r
};\r
\r
/**\r
* 2023-03-25, Create file. \n\r
*/\r
#include "tiot_board_uart_port.h"\r
+#include "tiot_board_pin_port.h"\r
#include "tiot_board_log.h"\r
\r
#include "uart.h"\r
{\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
+ .pin_config_orig = { TIOT_PIN_UART_TX, TIOT_PIN_UART_RX, TIOT_PIN_UART_CTS,TIOT_PIN_UART_RTS }, /* 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_UART_HS_UART, HAL_PIO_FUNC_UART_HS_UART\r
+ TIOT_PINMUX, TIOT_PINMUX,\r
+ TIOT_PINMUX, TIOT_PINMUX\r
}, \r
-#else \r
- .pin_config_orig = { S_MGPIO19, S_MGPIO20, S_MGPIO21, S_MGPIO22 }, /* MCU UART管脚,按实际板级情况适配。 */\r
- /* MCU UART管脚pinmux,按实际板级情况适配。 */\r
- .pinmux = {\r
- 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
/* TIOT_UART_PORTx... */\r
static inline enum tiot_uart_port tiot_board_uart_bus_convert_port(uart_bus_t bus)\r
{\r
/* 例如 UART_BUS_0 对应 TIoT驱动使用的第一个UART。 */\r
-#if defined(GNSS_UART1)\r
- if (bus == UART_BUS_1)\r
-#else\r
- if (bus == UART_BUS_0) \r
-#endif\r
+ if (bus == TIOT_UART_PORT)\r
{\r
return TIOT_UART_PORT0;\r
}\r
#include "custom_utils.h"
#include "uart_gnss.h"
#include "gnss_ctl.h"
+#include "tiot_board_pin_port.h"
// errcode_t gnss_get_next_cmd(uint8_t cmd_index,uint8_t** cmdbuf,int *cmdlen);
// errcode_t gnss_get_current_cmd(uint8_t cmd_index,uint8_t** cmdbuf,int *cmdlen);
// errcode_t gnss_get_nmea_cfg_cmd(uint8_t** cmdbuf,int *cmdlen);
uint32_t gnss_write_cmd(uint8_t * cmdbuf,uint16_t cmdlen)
{
-#if defined(GNSS_UART0)
- return uapi_uart_write(UART_BUS_0, cmdbuf, cmdlen,0);
-#elif defined (GNSS_UART1)
- return uapi_uart_write(UART_BUS_1, cmdbuf, cmdlen,0);
-#else
- return 0;
-#endif
+ return uapi_uart_write(TIOT_UART_PORT, cmdbuf, cmdlen,0);
}
uint32_t gnss_data_read(uint8_t * cmdbuf,uint16_t cmdlen)
{
-#if defined(GNSS_UART0)
- return uapi_uart_read(UART_BUS_0, cmdbuf, cmdlen,0);
-#elif defined (GNSS_UART1)
- return uapi_uart_read(UART_BUS_1, cmdbuf, cmdlen,0);
-#else
- return 0;
-#endif
+ return uapi_uart_read(TIOT_UART_PORT, cmdbuf, cmdlen,0);
}
static void uart_event_task(void const *arg)
{