Support legacy boards without GNSS

This commit is contained in:
chenjintao
2026-09-15 17:03:13 +08:00
parent 2746cc3d4e
commit f283223b23
7 changed files with 136 additions and 0 deletions
@@ -15,6 +15,7 @@
#include "sockets.h"
#include "netdb.h"
#include "app_inc.h"
#include "../../../../ql-config/config/board_features.h"
// 新增宏定义(原代码中未定义)
#define GNSS_FAST_MODE_HOLD_TIME (5 * 60 * 1000) // FAST模式持续5分钟后切SLOW
@@ -320,9 +321,14 @@ void quec_gnss_callback(char *data, int len)
*===========================================================================*/
void set_gnss_mode(gnss_mode_t mode)
{
#if !NFC_GNSS_BOARD_HAS_GNSS
(void)mode;
return; /* No GNSS task exists to leave FAST mode and allow sleep. */
#else
g_gnss_mode = mode;
printf("[GNSSMode] Set to %s Mode\n",
(mode == GNSS_MODE_FAST) ? "Fast (30s)" : "Slow (5min)");
#endif
}
gnss_mode_t get_gnss_mode(void)
@@ -531,6 +537,11 @@ static void quec_gnss_test(void * argv)
void app_gnss_init(void)
{
#if !NFC_GNSS_BOARD_HAS_GNSS
printf("[GNSS] Legacy board: positioning disabled\n");
return;
#else
ql_task_t gnssTaskRef = NULL;
ql_rtos_task_create(&gnssTaskRef, 1024*4, 100, "gnss_Task_Ref", quec_gnss_test, NULL);
#endif
}