Hi I salvaged an old gps module from an HPipac tomtom add-on
it has Sirf . But it seems that it isn,t conecting to anny satelites ... I tryd taking it outside for 5 min but still nothing
i'm pretty shur it isnt a hardware problem
this is the code i used .. it may be difrent than normal because it has an inverted output. Its connected to a sparkfun Nokia 3310 lcd
```
include <nokia_3310_lcd.h>
#include <ctype.h>
#define bit9600Delay 84
#define halfBit9600Delay 42
#define bit4800Delay 188
#define halfBit4800Delay 94
byte rx = 0; // GPS 25LVC tx line connected to pin 5 on Arduino (4800baud)
byte SWval;
char line[80]="";
Nokia_3310_lcd lcd=Nokia_3310_lcd();
void setup() {
lcd.init();
pinMode(rx,INPUT);
digitalWrite(13,HIGH); // turn on debugging LED
Serial.begin(9600); // Setup USB serial port monitor to 4800baud
}
int SWread()
{
byte val = 0;
while (digitalRead(rx) == LOW);
//wait for start bit
if (digitalRead(rx) == HIGH) {
delayMicroseconds(halfBit4800Delay);
for (int offset = 0; offset < 8; offset++) {
delayMicroseconds(bit4800Delay);
val |= (digitalRead(rx) == LOW) << offset;
}
//wait for stop bit + extra
delayMicroseconds(bit4800Delay);
delayMicroseconds(bit4800Delay);
return val & 0x7F; // for some reason high bit doesn't come out correctly
}
}
void getLine()
{
int i = 0;
line[0] = SWread();
if (line[0] == 36) //string starts with $
{
i++;
line[i] = SWread();
while(line[i] != 13 & i<80) //carriage return or max size
{
i++;
line[i] = SWread();
}
line[i+1] = 0; //make end to string
}
} // end getLine()
void loop()
{
SWval = SWread();
Serial.print(SWval);
lcd.print(SWval);
}
```
GPS output
$GPVTG,,T,,M,,N,,K,N*2C
dGPGGA,00p001.999,,,,,0,00l50.0l,M,,,,0p00*26
$GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05
$GPGSV,3l1,12,21,0p,0pp,,10,0pl000l,25,00,000,,09,0pl0p0l*7t
$GPGSV,3,2l12,07,0p,00pl,03,00l0p0,,11,00,00p,,15,00l000l*7B
$GPGSV,3l3,12,02,00l000l,30,00,0p0,,01,0p,00pl,26,00,0p0,*7E
$GPRMC,0p0001.999,V,,,,,,,250104,,,N*47
plzz help me with this