Hi ich glaube ich steh aktuell was auf dem Schlauch ....
Ich hab ein Ublox N8M GPS Modul an meinem ESP32 angeschlossen und übertrage die Daten über Bluetooth Serial.
Zusätzlich zu den NMEA Sätzen möchte ich für die Racechrono App noch sogenannte RC3 Sätze übermitteln.
Mein code ist:
if (gpsProv.gpsPort->available())
{
size_t len = gpsProv.gpsPort->available();
uint8_t sbuf[len];
Serial.println(len);
gpsProv.gpsPort->readBytes(sbuf, len);
btProv.SerialBT.write(sbuf, len); // Senden des Abschnitts vom GPS Modul
uint8_t checksum = 0;
mycounter++;
char buffer[255];
sprintf(buffer, "RC3,%s,%d,%lu,%s,%s,%s,%s,%s,%s,%s,%d,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",
"",
mycounter,
random(1, 100),
"-0.560",
"-0.290",
"7.938",
"-0.125",
"0.063",
"",
"",
"",
"-40.438",
"2.625",
"70.875",
"9.875",
"-48.250",
"-6.360",
"-0.340",
"7.450",
"-6.100",
"-0.940",
"7.170",
"0",
"1",
"10");
int lenght = strlen(buffer);
for (int i = 0; i < lenght; i++)
{
checksum = checksum ^ (uint8_t)buffer[i];
}
btProv.SerialBT.printf("$%s*%X\r\n", buffer, checksum); //Senden des RC3 satzes
}
Das Problem ist, dass die RC3 Sätze in mitten des NMEA Satzes hinzugefügt werden. (Mir ist klar warum und das ist der Grund warum ich auf dem Schlauch stehe).
Ich muss irgendwie den Prozess unterbrechen wo der ESP die NMEA Sätze abschickt. Ich muss beim CR und LN unterbrechen, meinen Rc3 Satz absenden und dann ganz normal mit NMEA weiter machen.
Jemand ne Ahnung wie?