Die in der PDF 1.3 angegebene Anleitung enthält noch das einfügen der Sensordaten und des Bords . Das ist in meinder Version schon drin.
UBLOX Center.
Schnippt bei mir auch immer von 2 auf 1 zurück.
Vom MK glaube ich mich zu erinnern daß man da nicht alle Meldungen vom GPS brauchte und die anderen abgeschalten hat um den Prozesor nicht zu sehr von seiner Arbeit abzuhalten. In der Standart einstellung ist auf alle Fälle unter PORTs Protocoll Out NMEA und UBX an (sieht man auch im U-center unten rechts daß da wechselnd die Daten kommen.
Im Sketch sind unter dem Register GPS je verschiedene Varianten angegeben. Hier scheint auch das Modul konfiguriert zu werden "
void GPS_SerialInit() {
SerialOpen(GPS_SERIAL,GPS_BAUD);
delay(1000);
#if defined(UBLOX)
for(uint8_t i=0;i<5;i++){
SerialOpen(GPS_SERIAL,init_speed); // switch UART speed for sending SET BAUDRATE command (NMEA mode)
#if (GPS_BAUD==19200)
SerialGpsPrint(PSTR("$PUBX,41,1,0003,0001,19200,0*23\r\n")); // 19200 baud - minimal speed for 5Hz update rate
#endif
#if (GPS_BAUD==38400)
SerialGpsPrint(PSTR("$PUBX,41,1,0003,0001,38400,0*26\r\n")); // 38400 baud
#endif
#if (GPS_BAUD==57600)
SerialGpsPrint(PSTR("$PUBX,41,1,0003,0001,57600,0*2D\r\n")); // 57600 baud
#endif
#if (GPS_BAUD==115200)
SerialGpsPrint(PSTR("$PUBX,41,1,0003,0001,115200,0*1E\r\n")); // 115200 baud
#endif
while(!SerialTXfree(GPS_SERIAL)) delay(10);
}
delay(200);
SerialOpen(GPS_SERIAL,GPS_BAUD);
for(uint8_t i=0; i<sizeof(UBLOX_INIT); i++) { // send configuration data in UBX protocol
SerialWrite(GPS_SERIAL, pgm_read_byte(UBLOX_INIT+i));
delay(5); //simulating a 38400baud pace (or less), otherwise commands are not accepted by the device.
}
#elif defined(INIT_MTK_GPS) // MTK GPS setup
for(uint8_t i=0;i<5;i++){
SerialOpen(GPS_SERIAL,init_speed); // switch UART speed for sending SET BAUDRATE command
#if (GPS_BAUD==19200)
SerialGpsPrint(PSTR("$PMTK251,19200*22\r\n")); // 19200 baud - minimal speed for 5Hz update rate
#endif
#if (GPS_BAUD==38400)
SerialGpsPrint(PSTR("$PMTK251,38400*27\r\n")); // 38400 baud
#endif
#if (GPS_BAUD==57600)
SerialGpsPrint(PSTR("$PMTK251,57600*2C\r\n")); // 57600 baud
#endif
#if (GPS_BAUD==115200)
SerialGpsPrint(PSTR("$PMTK251,115200*1F\r\n")); // 115200 baud
#endif
while(!SerialTXfree(GPS_SERIAL)) delay(80);
}
// at this point we have GPS working at selected (via #define GPS_BAUD) baudrate
SerialOpen(GPS_SERIAL,GPS_BAUD);
SerialGpsPrint(PSTR("$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28\r\n")); // only GGA and RMC sentence
SerialGpsPrint(PSTR("$PMTK220,200*2C\r\n")); // 5 Hz update rate
#endif
"
Damit ist doch eigentlich die Konfig um U-center nicht nötig. Ich glaube da gab es mal Probleme daß die GPS Empfänger bei leerer Speicherbatterie die Programmierung vergessen und das Bord das jedesmal beim einschalten macht.
Was ist nun besser UBX Protokoll oder NMEA ?