-
-
Notifications
You must be signed in to change notification settings - Fork 98
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
Issues connecting to GPS device #15
Comments
Hi @invader-zimm, I'm away from the office at the moment so these are just some preliminary observations/queries for now.
Professor Membrane (aka semuadmin) |
Hello,
Thanks, EDIT: using U-Center, I found the NMEA messages related to the hardware and firmware versions:
|
Ok something really bizarre is going on here which I've never seen before in any mainstream linux dist. It looks like PyGPSClient, Python or tkinter is not properly installed. I'm not too familiar with Artix linux - is there any particular reason why you chose this over a more mainstream dist like Ubuntu? I'm not suggesting this is the source of the issue necessarily - just wondering if there's something peculiar about the Python and/or tkinter implementation on this distribution. Are you successfully running any other Python/tkinter GUI apps on this platform? Your GPS device is a NEO-M8 running firmware SPG 3.01, UBX protocol version 18.0, which is perfectly standard. PyGPSClient v1.1.7 can decode NMEA, UBX and RTCM3 GNSS protocols (the other utilities you mention only handle NMEA natively, and may obscure/ignore any underlying ubx protocol issues) but it only shows what the device has been explicitly configured to output. The UBX configuration panel does send a few UBX messages to the device when it's first opened to establish the current state of the device, but it will not leave the device outputting UBX navigation messages unless you explicitly configure it that way. As I say, the fact that you're not seeing the panel entry fields displayed (until you click on them) suggests there's something seriously wrong with Python and/or tkinter. When I'm back in the office I'll try to spin up an Artix VM and see if I can recreate the problem, but off the top of my head I'd say it was a Python/tkinter implementation problem. Out of interest, have you tried installing PyGPSClient on a Windows platform and, if so, does it work OK with this GPS device? |
PyGPSClient was originally designed as a kind of "u-center Lite" for Linux platforms. It has been rigorously tested on most mainstream Linux dists but not, admittedly, on Artix (that's an omission we'll endeavour to rectify in future releases). It uses the standard and well-proven pySerial library for serial port handling. In the meantime, I hate to give you a stock "have you tried uninstalling and reinstalling?" reply but in this case it may be worth a try. Uninstall PyGPSClient using pip uninstall, then reinstall ensuring that all the tkinter & python dependencies mentioned in the installation instructions are present. As an aside, I normally install Python/tkinter from source on Linux platforms to take advantage of various performance optimisations. But PyGPSClient should run fine on the version of Python (>=3.7) supplied in the standard repos, though you do normally have to install all the tkinter dependencies separately. |
Hi @invader-zimm OK, glad you got to the bottom of it - at least I know what to suggest if I get a similar issue in the future! No need to bow head in shame - we've all been there ;-) As to why the device is outputting UBX rather than (or as well as) NMEA data, that's another puzzler. Are you saying that it's ONLY outputting UBX messages, or NMEA AND UBX messages (your previous terminal screen shots seem to indicate that it is outputting NMEA data). Does it still do this even after powering off and on? I can only imagine that either the device was configured that way out of the box (which seems highly unlikely) or you've inadvertantly sent one or more 'turn on UBX message' commands from the PyGPSClient UBX configuration panel. Assuming PyGPSClient is connecting and working as expected now, you should be able to open the UBX Configuration panel and select from the various preset NMEA/UBX message options on the lower right. These allow you to quickly turn on or off all the NMEA and/or UBX message types supported by your receiver, or select a 'minimum set' of NMEA or UBX message types (i.e. just NMEA GSA & GSV OR UBX NAV-PVT & NAV-SAT). You should see a series of ACK-ACK or ACK-NAK responses (don't worry if you see some red ACK-NAK responses - this just signifies that your M8 receiver doesn't support all possible NMEA or UBX message types). I can only suggest that you try this and let me know how you get on. (PS NOTE that M8 receivers don't support CFG-VALSET, CFG-VALGET or CFG-VALDEL commands - you need a generation 9+ device for this e.g. ZED-F9P or NEO-M9). |
Hi @invader-zimm Are you happy for this issue to be closed? |
Hi, sorry I was afk for a while. Yes the issue can be closed, the NMEA/UBX issue is not really a problem for me and your suggestion of using the presets from the UBX config dialog worked as well. |
Hi,
I'm trying to use PyGPSClient on Artix Linux and I'm encountering some issues. The GPS device I have is this one and I installed PyGPSClient using pip as described in the github readme (
python -m pip install --upgrade PyGPSClient
).The first issue is that I can't seem to run the application without root/sudo. The docs say to add my user to the tty group (there is no dialout group on my system), and I did that but PyGPSClient still says it cannot connect to the device:
![image](https://user-images.githubusercontent.com/76672128/159144513-af668eb1-e459-4afc-8e78-2202eeb80c94.png)
I also tried changing the permissions for /dev/ttyACM0 using udev rules, like this one
KERNEL=="ttyACM[0-9]*",NAME="tts/ACM%n",SYMLINK+="%k",GROUP="tty",MODE="0666"
but I still couldn't connect to the GPS device. Is something mis-configured on my machine or is there a PyGPSClient issue?
Another problem is that even if I connect as root, the connection to the device seems to drop at random. It takes anywhere between 2-3 seconds to 30 seconds to get a status bar message saying "End of file reached":
![image](https://user-images.githubusercontent.com/76672128/159144802-ef021927-a66d-4acd-840e-9d45aa822187.png)
Sometimes I see an error saying that the device returned no data:
![image](https://user-images.githubusercontent.com/76672128/159144835-e7c980e4-5a78-4534-80f2-8b2fa986dc48.png)
I also see this error printed out several times in the console where I start PyGPSClient from:
Other GPS apps work fine, I'm seeing these issues only with PyGPSClient and I'm not sure if these are bugs or problems with my machine/OS. Any help is greatly appreciated.
Thank you.
The text was updated successfully, but these errors were encountered: