void checkGPSUart(void) { mychar = uart1Getch(); if (mychar != -1) parseGPS((unsigned char)mychar); }
Position GM862::requestGPS(void) { char buf[150]; Serial.println("requesting GPS position ..."); requestModem("AT$GPSACP", 2000, false, buf); if (strlen(buf) > 29) { actPosition.fix = 0; // invalidate actual position parseGPS(buf, &actPosition); if (actPosition.fix > 0) { Serial.println(actPosition.fix); state |= STATE_POSFIX; } } else { actPosition.fix = 0; Serial.println("no fix"); state &= ~STATE_POSFIX; } return actPosition; }