Ejemplo n.º 1
0
bool GpsDriver::wakeup(void) {
    if (inStandbyMode) {
        inStandbyMode = false;
        sendCommand("");  // send byte to wake it up
        return waitForSentence(PMTK_AWAKE);
    } else {
        return false;  // Returns false if not in standby mode, nothing to wakeup
    }
}
Ejemplo n.º 2
0
boolean GPS_5Hz::wakeup(void) {
  if (inStandbyMode) {
   inStandbyMode = false;
    sendCommand("");  // envía un byte para despertarlo
    return waitForSentence(PMTK_AWAKE);
  }
  else {
      return false;  // Regresa falso si no esta en modo standBy, no hay nada que despertar
  }
}
Ejemplo n.º 3
0
boolean Adafruit_GPS::LOCUS_ReadStatus(void) {
  sendCommand(PMTK_LOCUS_QUERY_STATUS);
  
  if (! waitForSentence("$PMTKLOG"))
    return false;

  char *response = lastNMEA();
  uint16_t parsed[10];
  uint8_t i;
  
  for (i=0; i<10; i++) parsed[i] = -1;
  
  response = strchr(response, ',');
  for (i=0; i<10; i++) {
    if (!response || (response[0] == 0) || (response[0] == '*')) 
      break;
    response++;
    parsed[i]=0;
    while ((response[0] != ',') && 
	   (response[0] != '*') && (response[0] != 0)) {
      parsed[i] *= 10;
      char c = response[0];
      if (isDigit(c))
        parsed[i] += c - '0';
      else
        parsed[i] = c;
      response++;
    }
  }
  LOCUS_serial = parsed[0];
  LOCUS_type = parsed[1];
  if (isAlpha(parsed[2])) {
    parsed[2] = parsed[2] - 'a' + 10; 
  }
  LOCUS_mode = parsed[2];
  LOCUS_config = parsed[3];
  LOCUS_interval = parsed[4];
  LOCUS_distance = parsed[5];
  LOCUS_speed = parsed[6];
  LOCUS_status = !parsed[7];
  LOCUS_records = parsed[8];
  LOCUS_percent = parsed[9];

  return true;
}
Ejemplo n.º 4
0
boolean Adafruit_GPS::LOCUS_StopLogger(void) {
  sendCommand(PMTK_LOCUS_STOPLOG);
  recvdflag = false;
  return waitForSentence(PMTK_LOCUS_STARTSTOPACK);
}
Ejemplo n.º 5
0
boolean Adafruit_GPS::LOCUS_StartLogger(void) {
  sendCommand(PMTK_LOCUS_STARTLOG);
  recvdflag = false;
  return waitForSentence(PMTK_LOCUS_LOGSTARTED);
}
Ejemplo n.º 6
0
bool GpsDriver::LOCUS_StopLogger(void) {
    sendCommand(PMTK_LOCUS_STOPLOG);
    recvdflag = false;
    return waitForSentence(PMTK_LOCUS_STARTSTOPACK);
}