-
Notifications
You must be signed in to change notification settings - Fork 156
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not receiving GPS position over tcp and pty on socktap #216
Comments
Hi @daniel0720, so the |
Hi @riebl , I modified the function
|
Hi! Gary E. Miller here, a maintainer for gpsd. Several things to note here:
Version 3.25 is current.
gpsfake does not require sudo, or root. As the man page says: "gpsfake does not require root privileges, but will run fine as root. It can be run concurrently with a production gpsd instance without causing problems, as long as you use the -P option. Running under sudo will cause minor loss of functionality." The code in gps_position_provider.cpp has several bugs. The example1.c program for gpsd shows how to properly check for a valid fix: https://gpsd.io/gpsd-client-example-code.html One major bug is that assumes that fix.status tells you anything about whether the location fix is present or valid. |
Thanks @garyemiller for input. The upstream sources of Vanetza no longer use |
I'm unfamiliar with this project. Where are the upstream sources? Did they fix the other bugs? |
The upstream sources are just here in the master branch. Because of this issue ticket, I have revised the |
I see things that I have complained about still unfixed. Did you fix this weirdness?
epx and epy have nothing to do with the semi_minor and semi_major axis!! And this:
I recommend against using uses_shm. The SHM interface is very unstable and this project can't keep up with the much more stable JSON interface. Only surveyors use altHAE. I can get pilots killed:
|
1 similar comment
I see things that I have complained about still unfixed. Did you fix this weirdness?
epx and epy have nothing to do with the semi_minor and semi_major axis!! And this:
I recommend against using uses_shm. The SHM interface is very unstable and this project can't keep up with the much more stable JSON interface. Only surveyors use altHAE. I can get pilots killed:
|
This is wrong:
epv units is already in meters/second. What is the si:meter multiplying doing?? |
Thanks for your remarks @garyemiller!
Where did you note down your complaints? I must have missed these because they are not in this issue ticket.
I have just discovered GST_SET and the accompanying Is it good practice to constantly merge
Vanetza implements ETSI ITS standards, where an altitude of zero refers to "referenceEllipsoidSurface" in the WGS84 coordinate system; thus, I think
Multiplying with |
In the gpsd issue. but best to just move it all here.
Very few GNSS receivers output GST_SET. You can ignore that for now.
Nope. Grab what you need as it flies by. gps_data_t has a huge number of things you do not care about.
If that's the spec, then fine. But altHAE can differ from altMSL by up to 200m. People expect altMSL.
Odd, but if that is how it works on your end. I also take back what I said. epv is ep of vertical, so meters is correct. I always misread that as velocity, which would be m/s.
Yes. As good as it gets, without an IMU, but not good.
No, not, not at all. That is for pseudo ranges! There is one psuedorange per sat in use, and it is the guesstimated distance from the antenna to that sat. Only after some really ugly math does that become part of the ep's. Stick to the TPV sentences. |
I would love to stick with ETSI's AltitudeConfidence shall express the "estimated absolute accuracy". The same wording "estimated accuracy" is used for the PositionConfidenceEllipse. Since the ellipse is only given by GST, my gut feeling is that GST error estimates should be used for both, altitude and position confidence. If I guess it boils down to the question if |
That anchor does not exist in that document.
You, and everyone else that ever looks at them.
You need to read more carefully. Here is the ONLY place that document mentions epx, epy and epv:
Key phrases: "fragile device-dependent " "bug-prone" "problems may still lurk there." That is a nice way of saying the numbers are all hand waving. Every receiver that bothers to calculate them does so differently. There are no standards, or even any documentation, on how each receiver calculates them. You can only use these as a rough "figure of merit".
How do you think DOPs are calculated? EVERYTHING starts with the psuedoranges.
Actually, it is MUCH more specific than that. So specific that I know of know receiver on the market that can satisfy their requirements.
I would love to get the GST error estimates. But so far only a very few u-blox receivers provide them. If you have that model receiver, then you will get the GST automagically. Otherwise, you are totally out of luck.
Once again you can not "Assume". The spec you want does not want you to assume, it wants you to know. Sadly, very few receivers tell you how they calcualate epx, epy and epv. Of the few that do, they use 50%, 1 sigma, 2 sigma, 3 sigma, and other measures. That is no way to get 2 sigma unless you have a receiver that tells you it is giving you 2 sigma. And even those lie.
One of the things you quickly learn with GNSS is that the simple academic distributions you were taught are useless when doing geodesy. Stop piling assumptions on assumptions!
Yes, they do. For any given receiver and antenna combination they are very useful as a "figure of merit". Beyond that, they tell you very little. Now, step way, way back, and think about this from a very high level. Almost all that gpsd does is pass on the data that your GNSS receiver gives it. When the data is sparse, like you have altHAE, but not altMSL, then gpsd will try to compute the missing value. But even then the "accuracy" depends on the "accuracy" of the data (altHAE) from the receiver. gpsd can not pull data out of thin air. gpsd, and it clients, can only guess the quality of the data by reading the (false) data sheets, and running tests. Only a handful of receivers say they output a 95% confidence epx, epy, and epv. Most of them are not telling the truth. If you really need 95%, you need to hand select each receiver and antenna, then test it for a long time. Even "95%" is a really sloppy measure. Is that "95%" It is not possible to actually comply with your "standard". You have to decide what is "good enough". |
Issue in the GPSD repo for reference: https://gitlab.com/gpsd/gpsd/-/issues/269 |
Hello everyone,
Since I don’t have an actual gps receiving device, I use gpsfake to generate simulated gps data. The gps log file used is nmea format data. See attachment 1 for details.
nmea.log
The version of gpsd is 3.22, as shown in the figure below
The sequence of operations is to start gpsfake and then run socktap.
First run gpsfake in pty mode, the command is
sudo gpsfake -D3 -S nmea.log.
Then run the socktap command. At this time, the output of gpsfake is as shown below.socktap also reported an error
I use the gpsmon command to view gps information, the output is as follows
Then I saw in the issue that it was said to use tcp mode to send GPS data, so I used tcp instead. When using the tcp protocol, the socktap program no longer reports an error and can send BTP-B data packets, but the latitude and longitude information in them are all 0. gpsfake output is as follows
Use gpsmon to view gps information and get gps data.
I don’t understand why socktap cannot obtain the gps data sent by gpsfake.
Can anyone help me?
Thanks a lot.
The text was updated successfully, but these errors were encountered: