Gps + temperatura

Boas,

ando aqui de volta do codigo para tentar adicionar dois termometros ao loop, o codigo do gps esta a funcionar sem problemas e o dos termomentros em separado tb, quando o junto com o do gps nao faz loops, apenas corre uma vez.
resumindo eu adicionei o codigo

float temperature = getTemp();
 int reading = analogRead(sensorPin);  
 float voltage = reading * 5.0;
  voltage /= 1024.0; 
  float temperatureC = (voltage - 0.5) * 100 ;
 Serial.print(temperatureC); Serial.print(" degrees C - Pequeno");Serial.print(" ||||||| ");Serial.print(temperature); Serial.println(" degrees C - Waterproof");

directamente aqui no de baixo

void loop()
{
  bool newdata = false;
  unsigned long start = millis();
    while (millis() - start < 500)
  {
    if (feedgps())
      newdata = true;
  }
          gpsdump(gps);
AQUI AQUI AQUI AQUI AQUI AQUI AQUI AQUI AQUI AQUI 
}

ja percebi que nao o posso meter aqui, mas não sei onde o meter, meti fora do loop, mas ai so faz 1 volta. aceito ideias

Obrigado
jGaf

O que é que só corre uma vez?

Importas-te de explicar o que é suposto aquele while com o milis fazer?

E o que acontece exactamente quando metes o código para leres o LM35?

Importas-te de colocar o código completo? O que não funciona, isto é...