Basically you can't trust that the example python script does any error checking, it'll die if the GPS device doesn't have a signal. When the GPS device doesn't have a signal, it omits data in fields and that python script in particular expects to have them and so, if I recall from memory, you get the error message that you have.
If you follow the method I use to test the GPS device in my blog Putting Together the Pieces - Raspberry Pi 2 GPS Geocaching Project you can at least tell if what you're getting from the GPS device makes sense (frankly though, if you're using minicom you should be seeing if you are or not) but cgps will at least check if the device is putting out data if the LED is blinking that it has a lock.
On the blog post is also the manual for the GPS device, there's also some code you can use to check the GPS lock cache that the device saves (can't remember if it's in the manual or I just worked it out myself).
Does that help?
Could you please tell me which pins from the L80 GPS board you attached to the Raspberry Pi? I'm having great difficulty getting the L80 GPS module to communicate with the PI using the same method you have shown in your photo. I have followed multiple guides, but they all assume you have the additional adapter board.
Hello, I have a little problem with MICROSTACK GPS L80-M39 does not want to walk. With minicom I get values but using gpscat.py element14 python program I have this error appears:
pi@raspberrypi ~ $ sudo python3 /usr/share/doc/python3-microstacknode/examples/gpscat.py
Traceback (most recent call last):
File "/usr/share/doc/python3-microstacknode/examples/gpscat.py", line 9, in <module>
gogll = gps.gpgll
File "/usr/lib/python3/dist-packages/microstacknode/gps/l80gps.py", line 106, in gpgll
raise DataInvalidError("Indicated by data_valid field.")
microstacknode.gps.l80gps.DataInvalidError : Indicated by data_valid field.