Обработчик NMEAPARSER не вызывается, когда GPGGA содержит координаты (Portenta H7, SimpleTk3b)C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Обработчик NMEAPARSER не вызывается, когда GPGGA содержит координаты (Portenta H7, SimpleTk3b)

Сообщение Anonymous »

Я работаю над проектом Arduino с помощью Portenta H7 + Portenta Mid Carrier + Healdertk3b Heading (двойные антенны) для чтения данных GNSS. /> Я вижу странное поведение: < /p>

Когда предложение 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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»