Hot!GPS Data

Page: < 12 Showing page 2 of 2
Author
MBedder
Circuit breaker
  • Total Posts : 6266
  • Reward points : 0
  • Joined: 2008/05/30 11:24:01
  • Location: Zelenograd, Russia
  • Status: offline
Re: GPS Data 2017/08/12 13:39:27 (permalink)
+1 (1)
CinziaGget my books! :)
https://www.lulu.com/shop..rch.ep?keyWords=greggio
Wow! Estimato signor Dario Greggio - scrittore famoso?! Smile


#21
MBedder
Circuit breaker
  • Total Posts : 6266
  • Reward points : 0
  • Joined: 2008/05/30 11:24:01
  • Location: Zelenograd, Russia
  • Status: offline
Re: GPS Data 2017/08/12 14:00:55 (permalink)
+1 (1)
huttojb
So is 15 the number of Satellites, I'm not sure what "("15") is a number of visible GPS+GLONASS SVs" actually means. ... how do you see Satellite Signal Strength.  I've seen on Screen Shots, devices where it shows the signal of each satellite.  I cannot see with the data I receive where I could establish that information.

SV stands for Satellite Vehicle, or just Satellite. So in you case 15 was a number of visible satellites including GPS and GLONASS.


The Satellite Signal Strength is actually represented by the signal to noise ratio (SNR). The SNR values in units of dB*Hz are found in the GSV sentences as I explained above, e.g.:
$GPGSV,4,1,15,19,35,306,29,03,81,243,28,22,70,077,26,17,50,282,23*74

Underlined are the satellite ID numbers, bold are the corresponding SNR values.
 
Please do not use [ code] tags for links - use the chain link button instead.
#22
CinziaG
rome burns :D
  • Total Posts : 3085
  • Reward points : 0
  • Joined: 2016/12/07 14:20:36
  • Location: Wien
  • Status: online
Re: GPS Data 2017/08/12 14:41:41 (permalink)
0
MBedder
CinziaGget my books! :)
https://www.lulu.com/shop..rch.ep?keyWords=greggio
Wow! Estimato signor Dario Greggio - scrittore famoso?!





Yeah grin
I found a site that can print and send to other countries... so I can publich my whole lots of stuff!
#23
rodims
Super Member
  • Total Posts : 817
  • Reward points : 0
  • Joined: 2009/02/10 11:08:59
  • Location: 51.9627, 7.6262
  • Status: offline
Re: GPS Data 2017/08/13 01:21:06 (permalink)
0
MBedder
rodimsYou have / had 4 satellites in view  (first number)
$GPGSV,4,1,15,19,35,306,29,03,81,243,28,22,70,077,26,17,50,282,23*74
$GPGSV,4,2,15,14,25,046,18,01,59,119,15,04,72,282,,11,37,146,*7C
$GPGSV,4,3,15,23,30,180,,31,14,077,,32,09,037,,06,09,296,*78
$GPGSV,4,4,15,09,05,196,,12,04,353,,28,03,241,*43
Wrong. The first data field ("4") means there are 4 GSV sentences in succession, the next field is a GSV sentence number (note 1,2,3,4) because every single GSV sentence can contain data of only four satellites (SV) maximum.  The next field ("15") is a number of visible GPS+GLONASS SVs and the next groups of four fields are the SV number, its elevation, its azimuth and its S/N ratio - up to four SV groups in a single sentence. See the link in my message above.

Yes, I was wrong of course. No idea why I did get that wrong. Did the precision improve?
#24
MBedder
Circuit breaker
  • Total Posts : 6266
  • Reward points : 0
  • Joined: 2008/05/30 11:24:01
  • Location: Zelenograd, Russia
  • Status: offline
Re: GPS Data 2017/08/13 01:34:50 (permalink)
+1 (1)
rodimsDid the precision improve?
I suppose yes since after Dario's post the OP has finally found the coordinate conversion spreadsheet Smile


#25
rodims
Super Member
  • Total Posts : 817
  • Reward points : 0
  • Joined: 2009/02/10 11:08:59
  • Location: 51.9627, 7.6262
  • Status: offline
Re: GPS Data 2017/08/13 06:13:52 (permalink)
0
Since you started with Hyper-Terminal:
With the NEO-6M don't miss to download the u-blox u-center application.
https://www.u-blox.com/en/product/u-center-windows
Of course it is of limited use as long as you do not have a usable antenna signal, but otherwise it's quite useful for 'evaluation'. Also once you start developing firmware for your PIC, it's easier to test certain GPS functionality with u-center, and afterwards apply your knowledge in firmware development.
 
For your Royaltek module:  I did not try that, but as long as you are only using NMEA I think you could try to use u-center with that GPS module. Just configure COM port and baud rate and try the functions in the 'view' menu (start with F8 and F9). Note that u-blox introduces its own sentences (PUBX), but just as default from power-on even the u-Blox modules only send simple NMEA messages.


 
<edit: the NEO-6M is rather old. You might also google for gy-gpsv3-neo or other modules with NEO-M8N >
post edited by rodims - 2017/08/13 06:25:02
#26
huttojb
Super Member
  • Total Posts : 573
  • Reward points : 0
  • Joined: 2006/03/04 15:34:49
  • Location: Birmingham England
  • Status: offline
Re: GPS Data 2017/08/13 10:14:42 (permalink)
+1 (1)
rodims
Did the precision improve?


Yes Rodims, once I did what ConziaG suggested with the decimal vs. sessagesimal it was exact.

MBedder
rodimsDid the precision improve?
I suppose yes since after Dario's post the OP has finally found the coordinate conversion spreadsheet Smile


Like to say thank you MBedder, you help was amazing.

But everyone's help was fantastic.

Jason.
#27
CinziaG
rome burns :D
  • Total Posts : 3085
  • Reward points : 0
  • Joined: 2016/12/07 14:20:36
  • Location: Wien
  • Status: online
Re: GPS Data 2017/08/13 10:18:04 (permalink)
+1 (1)
Oh, so that was it!
I'm really happy Smile
#28
huttojb
Super Member
  • Total Posts : 573
  • Reward points : 0
  • Joined: 2006/03/04 15:34:49
  • Location: Birmingham England
  • Status: offline
Re: GPS Data 2017/08/13 18:32:38 (permalink)
0
rodims
Since you started with Hyper-Terminal:
With the NEO-6M don't miss to download the u-blox u-center application.
https://www.u-blox.com/en/product/u-center-windows
Of course it is of limited use as long as you do not have a usable antenna signal, but otherwise it's quite useful for 'evaluation'. Also once you start developing firmware for your PIC, it's easier to test certain GPS functionality with u-center, and afterwards apply your knowledge in firmware development.
 
For your Royaltek module:  I did not try that, but as long as you are only using NMEA I think you could try to use u-center with that GPS module. Just configure COM port and baud rate and try the functions in the 'view' menu (start with F8 and F9). Note that u-blox introduces its own sentences (PUBX), but just as default from power-on even the u-Blox modules only send simple NMEA messages.


 
<edit: the NEO-6M is rather old. You might also google for gy-gpsv3-neo or other modules with NEO-M8N >




Thanks Rodims.  I have been evaluating u-center, really good piece of software.  I also found earthbridge which traced movement.
 
Now I have it all working, I'm gonna attach to my PIC18F4680 and read the GPS over UART and output over the CANbus.  Wish me luck.
 
If anyone has any C18 Code to decode the string then I'll be happy to take suggestions. lol!!
 
Thanks again.
#29
CinziaG
rome burns :D
  • Total Posts : 3085
  • Reward points : 0
  • Joined: 2016/12/07 14:20:36
  • Location: Wien
  • Status: online
Re: GPS Data 2017/08/14 02:22:52 (permalink)
0
Well, I was doing tht kind obviously like this Smile :

            if(Buf232_2gps[0]=='$') {
                char *p;
// controllare CHECKSUM!
// http://aprs.gids.nl/nmea/#gsa
                gotGPS=TRUE;
                if(!strnicmp((const char *)Buf232_2gps+1,"GPGGA",5)) {        //RTC o meglio solo ora..?
                    p=(char *)Buf232_2gps+7+4;
                    currentTime.sec=atoi(p);
                    p[0]=0;
                    p-=2;
                    currentTime.min=atoi(p);
                    p[0]=0;
                    p-=2;
                    currentTime.hour=atoi(p);
                    }
                else if(!strnicmp((const char *)Buf232_2gps+1,"GPGSA",5)) {
                    }
                else if(!strnicmp((const char *)Buf232_2gps+1,"GPRMC",5)) {            // RTC e coordinate
                    p=skip_comma((const char *)Buf232_2gps+7);        // salto ora, v. dopo
                    if(*p=='V') {
                        GPSValido=0;
                        }
                    else {
                        GPSValido=1;
                        oldLatit=Latit;
                        oldLongit=Longit;
                        }
                    p=skip_comma(p);


//                    Latit=atof(p);
                    Latit.mantissa=atol(p);
                    p=strchr(p,'.');
                    Latit.decimale=atoi(p+1);
                    p=skip_comma(p);
                    Latit.sign=0;            //+- NS per ora...
                    Latit.dummy=0;
                    p=skip_comma(p);            // N
//                    Longit=atof(p);
                    Longit.mantissa=atol(p);
                    p=strchr(p,'.');
                    Longit.decimale=atoi(p+1);
                    p=skip_comma(p);
                    Longit.sign=0;            //+- EW per ora...
                    Longit.dummy=0;
                    p=skip_comma(p);            // E
                    p=skip_comma(p);            // speed in knots
                    p=skip_comma(p);            // true course
//                    sscanf(p,"%lf,%u,%lf,%u,%lf,%u,%lf,%lf,%s",&d,&i1,&Latit,&i2,&Longit,&i3,&d2,&d3,buf);
                    if(isdigit(*p)) {            // occhio ché altera...
                        p+=4;
                        currentDate.year=atoi(p) /*+2000*/;
                        p[0]=0;
                        p-=2;
                        currentDate.mon=atoi(p);
                        p[0]=0;
                        p-=2;
                        currentDate.mday=atoi(p);
                        }

                    p=(char *)Buf232_2gps+7;        // alla fine, perché altera...
                    if(isdigit(*p)) {
                        p+=4;
                        currentTime.sec=atoi(p);
                        p[0]=0;
                        p-=2;
                        currentTime.min=atoi(p);
                        p[0]=0;
                        p-=2;
                        currentTime.hour=atoi(p);        // gestire fuso orario!
                        }

//                    GPS_RTC=d;
                    }
                else if(!strnicmp((const char *)Buf232_2gps+1,"GPGSV",5)) {
                    p=skip_comma((const char *)Buf232_2gps+7);
                    p=skip_comma(p);
                    num_sat=atoi(p);
//                    sscanf(p,"%u,%u,%u",&i1,&i2,&num_sat);
                    }
                }


 
Nothing fancy, and could be improved. I ran the above on PIC18 and PIC24 (beware of ROM strings n that case).
Buf232_2gps was being filled up to CR (LF) by an interrupt routine using a buffer (not circular in this case).
#30
Page: < 12 Showing page 2 of 2
Jump to:
© 2017 APG vNext Commercial Version 4.5