From 1f9dacf486e2d22505ff0a92ad75d89ec6a31ea1 Mon Sep 17 00:00:00 2001 From: Tom Fifield Date: Wed, 31 Jul 2024 04:57:13 +0800 Subject: [PATCH] Add support for ATGM332D series (#4351) Adds detection code for the ATGM332D series of chips (11, 21, 31, 51, 71), and sets meshtastic to use GNSS_MODEL_ATGM336H for them. --- src/gps/GPS.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/gps/GPS.cpp b/src/gps/GPS.cpp index 67f6adb98..091b4e6bc 100644 --- a/src/gps/GPS.cpp +++ b/src/gps/GPS.cpp @@ -1217,7 +1217,7 @@ GnssModel_t GPS::probe(int serialSpeed) return GNSS_MODEL_UC6580; } - // Get version information + // Get version information for ATGM336H clearBuffer(); _serial_gps->write("$PCAS06,1*1A\r\n"); if (getACK("$GPTXT,01,01,02,HW=ATGM336H", 500) == GNSS_RESPONSE_OK) { @@ -1225,6 +1225,15 @@ GnssModel_t GPS::probe(int serialSpeed) return GNSS_MODEL_ATGM336H; } + /* ATGM332D series (-11(GPS), -21(BDS), -31(GPS+BDS), -51(GPS+GLONASS), -71-0(GPS+BDS+GLONASS)) + based on AT6558 */ + clearBuffer(); + _serial_gps->write("$PCAS06,1*1A\r\n"); + if (getACK("$GPTXT,01,01,02,HW=ATGM332D", 500) == GNSS_RESPONSE_OK) { + LOG_INFO("ATGM332D detected, using ATGM336H Module\n"); + return GNSS_MODEL_ATGM336H; + } + // Get version information clearBuffer(); _serial_gps->write("$PCAS06,0*1B\r\n");