Когда предложение gpgga < /strong> пустое, обработчик называется. < /li>
, когда одно и то же предложение содержит достоверные координаты, обработчик не вызывается. Воспроизведите его: < /p>
Код: Выделить всё
#include
#include
NMEAParser parser;
// Handler for GPGGA
void handleGGA() {
Serial.println("[HANDLER] GPGGA handler called!");
}
void setup() {
delay(5000);
Serial.begin(115200);
while (!Serial) {}
Serial.println("=== GNSS handler test ===");
parser.addHandler("GPGGA", handleGGA);
const char *test1 = "$GPGGA,124242.00,,,,,0,00,,,M,,M,,*4B\r\n";
const char *test2 = "$GPGGA,204719.00,4123.6175375,N,00209.0625287,E,1,07,3.3,72.7419,M,51.2915,M,,*50\r\n";
Serial.println("Feeding test sentence 1 (empty):");
for (const char *p = test1; *p; p++) {
parser
Подробнее здесь: [url]https://stackoverflow.com/questions/79720012/nmeaparser-handler-not-called-when-gpgga-contains-coordinates-portenta-h7-simp[/url]