From 504e3184caf7fd8de3202a908bd85cd719673f2e Mon Sep 17 00:00:00 2001 From: Quency-D Date: Fri, 31 Jul 2026 18:33:57 +0800 Subject: [PATCH] Add LC760CA GNSS module support --- src/gps/GPS.cpp | 13 ++++++++++--- src/gps/GPS.h | 1 + 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/gps/GPS.cpp b/src/gps/GPS.cpp index 389fa600606..f3eab5a8bb9 100644 --- a/src/gps/GPS.cpp +++ b/src/gps/GPS.cpp @@ -755,6 +755,11 @@ bool GPS::verifyCachedProbePresence() _serial_gps->write("$PDTINFO\r\n"); present = (getACK("CM121", 900) == GNSS_RESPONSE_OK); break; + case GNSS_MODEL_LC760CA: + cachedProbeModelName = "LC760CA"; + _serial_gps->write("$PDTINFO,*62\r\n"); + present = (getACK("$PDTINFO,CC1161W,", 900) == GNSS_RESPONSE_OK); + break; case GNSS_MODEL_UBLOX6: case GNSS_MODEL_UBLOX7: case GNSS_MODEL_UBLOX8: @@ -1128,7 +1133,7 @@ bool GPS::setup() } else { LOG_INFO("GNSS module configuration saved!"); } - } else if (gnssModel == GNSS_MODEL_CM121) { + } else if (IS_ONE_OF(gnssModel, GNSS_MODEL_CM121, GNSS_MODEL_LC760CA)) { // only ask for RMC and GGA // enable GGA _serial_gps->write("$CFGMSG,0,0,1,1*1B\r\n"); @@ -1672,8 +1677,10 @@ GnssModel_t GPS::probe(int serialSpeed) case 1: { // Unicore UFirebirdII Series: UC6580, UM620, UM621, UM670A, UM680A, or UM681A,or CM121 - std::vector unicore = { - {"UC6580", "UC6580", GNSS_MODEL_UC6580}, {"UM600", "UM600", GNSS_MODEL_UC6580}, {"CM121", "CM121", GNSS_MODEL_CM121}}; + std::vector unicore = {{"UC6580", "UC6580", GNSS_MODEL_UC6580}, + {"UM600", "UM600", GNSS_MODEL_UC6580}, + {"CM121", "CM121", GNSS_MODEL_CM121}, + {"LC760CA", "$PDTINFO,CC1161W,", GNSS_MODEL_LC760CA}}; PROBE_FAMILY("Unicore Family", "$PDTINFO", unicore, 500); currentDelay = 20; currentStep = 2; diff --git a/src/gps/GPS.h b/src/gps/GPS.h index 328a9a316c3..d03b90c88c6 100644 --- a/src/gps/GPS.h +++ b/src/gps/GPS.h @@ -43,6 +43,7 @@ typedef enum { GNSS_MODEL_AG3352, GNSS_MODEL_LS20031, GNSS_MODEL_CM121, + GNSS_MODEL_LC760CA, GNSS_MODEL_GENERIC_NMEA // generic NMEA source (e.g. gpsd); skips chip-specific probe and init } GnssModel_t;