GPS speedometer and tracking, programming error.

Hi Guys/Girls,

Pretty new to this and started with a Duinotech learning kit, no issues there and wanted to go a bit further.

Came across this here from Jaycar and followed their ReadMe file.
Everything went well with downloading the correct library and altering some documents as they described and building the unit itself of course.

But as soon as I want to verify and upload it comes up with this error ‘class NMEAGPS’ has no member named ‘sat_count’.
And I’m a bit unclear what to do next.

Hope any of you can help.

gps_speedometer1.ino (5.54 KB)

Search for NEOGPS on Git hub and have a look at the data model.
Based on a very quick look try "fix.satellites" instead.
If using hardware serial you may have to disconnect GPS TX to reprogramme.
What a strange device that looks to have the antenna, which must see the sky, on the same side as the screen which you need to view.
Best of luck

The forum needs to see the code you are actually using, without having to read a long external article.

Follow the guidelines in the;

'How to use this forum - please read' post at the top of the forum.

In the tutorial, they forgot to mention an extra configuration of the NeoGPS that's required.

Please do this:
File > Examples > NeoGPS > NMEA
Sketch > Show sketch folder
Navigate up two folder levels.
Open the "src" folder.
Open the file NMEAGPS_cfg.h in a text editor.
Change line 213 from:

//#define NMEAGPS_PARSE_SATELLITES

to

#define NMEAGPS_PARSE_SATELLITES

Save the file

That will fix the error "'class NMEA' has no member named 'sat_count'".

In your screenshot, I notice a different troubling bit of output:
void loop() previously defined here

Due to you having posted a screenshot of a fragment of the output, rather than the much more sensible choice to post the full output as text, I can't say what is going on with that, but I don't have it in my output when I compile and it certainly doesn't seem right.

pert:
In the tutorial, they forgot to mention an extra configuration of the NeoGPS that's required.

Please do this:
File > Examples > NeoGPS > NMEA
Sketch > Show sketch folder
Navigate up two folder levels.
Open the "src" folder.
Open the file NMEAGPS_cfg.h in a text editor.
Change line 213 from:

//#define NMEAGPS_PARSE_SATELLITES

to

#define NMEAGPS_PARSE_SATELLITES

Save the file

That will fix the error "'class NMEA' has no member named 'sat_count'".

In your screenshot, I notice a different troubling bit of output:
void loop() previously defined here

Due to you having posted a screenshot of a fragment of the output, rather than the much more sensible choice to post the full output as text, I can't say what is going on with that, but I don't have it in my output when I compile and it certainly doesn't seem right.

Thanks mate, that definitely did the trick.

I understand to attach the output as a whole from now, it was a case of shooting first without aiming :confused: , and I did not read the "How to use this forum" guideline first.

Arduino: 1.8.9 (Windows 10), Board: "Arduino Leonardo"

C:\Users\daves\Desktop\gps_speedometer1\gps_speedometer1.ino: In function 'void loop()':

gps_speedometer1:73:23: error: 'class NMEAGPS' has no member named 'sat_count'

   inf.sat_count = gps.sat_count;

                       ^

C:\Users\daves\Desktop\gps_speedometer1\gps_record.ino: At global scope:

gps_record:27:16: error: redefinition of 'NMEAGPS gps'

 static NMEAGPS gps;

                ^

C:\Users\daves\Desktop\gps_speedometer1\gps_speedometer1.ino:25:9: note: 'NMEAGPS gps' previously declared here

 NMEAGPS gps;

         ^

C:\Users\daves\Desktop\gps_speedometer1\gps_record.ino: In function 'void gps_isr(char)':

gps_record:31:13: error: redefinition of 'void gps_isr(char)'

 static void gps_isr(char c){

             ^

C:\Users\daves\Desktop\gps_speedometer1\gps_speedometer1.ino:46:13: note: 'void gps_isr(char)' previously defined here

 static void gps_isr(char c){                //gps interrupt service routine

             ^

C:\Users\daves\Desktop\gps_speedometer1\gps_record.ino: In function 'void setup()':

gps_record:117:6: error: redefinition of 'void setup()'

 void setup() {

      ^

C:\Users\daves\Desktop\gps_speedometer1\gps_speedometer1.ino:53:6: note: 'void setup()' previously defined here

 void setup() {

      ^

C:\Users\daves\Desktop\gps_speedometer1\gps_record.ino: In function 'void loop()':

gps_record:127:6: error: redefinition of 'void loop()'

 void loop() {

      ^

C:\Users\daves\Desktop\gps_speedometer1\gps_speedometer1.ino:67:6: note: 'void loop()' previously defined here

 void loop() {

      ^

exit status 1
'class NMEAGPS' has no member named 'sat_count'

This was the initial output fault as seen above.
Once I did your fix as you mentioned, nothing else comes up either and it allows me to program the board as per normal.

You're welcome. I'm glad to hear it's working now. Enjoy!
Per