Skip to content
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

ubx commands for uBlox M8N #101

Closed
Leethal60 opened this issue Aug 14, 2015 · 15 comments
Closed

ubx commands for uBlox M8N #101

Leethal60 opened this issue Aug 14, 2015 · 15 comments

Comments

@Leethal60
Copy link

Hi,

I tried to use the command files in the data folder for ublox M8N but these failed to work. There was no ubx output.

I finally managed to get it working reliably with the following commands at start up.

!UBX CFG-MSG 3 15 0 1 0 1 0 0
!UBX CFG-MSG 3 16 0 1 0 1 0 0

Now I just need someone who can describe what these commands actually do. I know they have turned on the TRK-MEAS and TRK-SRFBX as I can see the B5 62 03 0F and B5 62 03 10 amongst the data.

I can't find a reference to how to cipher/decipher these codes to and from ubx binary to understand what the 3 15 0 1 0 1 0 0 actually means for example.

Is anyone able to help?

Regards,
Lee.

ublox raw

@sukeshak
Copy link

The PDF files should have details on specific UBX configuration
https://www.u-blox.com/en/product-resources/2688

@DavidKelleySCSC
Copy link

Pardon my own ignorance but can you in fact get carrier data from the uBlox M8N?? One of my co-workers swears you can only get code measurements unless you do ROM patching. Can anyone confirm that carrier data is available on the M8N (or the NEO-M8Q, or NEO-M8M for that matter). A review of the product resources and spec sheet does not seem to address this topic.

To Leethal60
In the absence of carrier data you will not be able to use an RTK mode (or a PPP mode) and will be limited to "DGPS" modes. You will more or less observe the same deviations, but they will be centered about "truth" rather then off by a meter or more depending on how the ionosphere is treating you that day.

@Leethal60
Copy link
Author

@sukeshak

I understand where you are coming from hovwever the documents refer to HEX data as per the image below whereas the commands are different eg they start with an ! instead of a UBX hex header and seem to be in decimal(uncertain)??

cfg-msg

So I don't understand where the translation happens to this format to check what I have been able to do.

@DavidKelleySCSC

I do have little understanding of this so far however the combination of TRK-MEAS and TRK-SFRBX would I thought have been sufficient. I base this on the following references:
http://wiki.openstreetmap.org/wiki/UbloxRAW
gpspp.sakura.ne.jp/paper2005/gpssymp_2014_ttaka.pdf

Regards,
Lee.

@Leethal60
Copy link
Author

I see, the formatting is done in ublox.c Looks like I should have been referring to the following which sets the rate on all the ports:

cfg-msg 1

The 8 numbers then are converted from the string to integers (white space required between them)which would then be seen as 8 binary bytes by the receiver including the first 2 bytes for the CLASS/ID.

So, with the following:

!UBX CFG-MSG 3 15 0 1 0 1 0 0
!UBX CFG-MSG 3 16 0 1 0 1 0 0

3 15 translates to 0x03 0x0F which is send TRK-MEAS and the 0 1 0 1 0 0 translates to 0x00 0x01 0x00 0x01 0x00 0x00 which turns on the RS232 port and the USB port at 1 second intervals.

It was the RS232 that I needed for my board..........

3 16 translates to 0x03 0x10 which is send TRK-SRFBX

ublox port numbers

Maybe this can be of help to someone else who is also confused.

@DavidKelleySCSC Is the carrier data in the subframe data? I apologize for my ignorance.

Regards,
Lee.

@sukeshak
Copy link

@Leethal60
Have you tried u-center software U-Blox provides? That has a way to configure setting using the UI and then copy paste the configuration.

@Leethal60
Copy link
Author

@sukeshak
Hi, Yes I use it quite frequently to configure our boards currently using LEA-6H. I've recently drawn up a board for the NEO format and have been trialling the M8 evaluation Kit. Unfortunately, there is no way to configure RXM-RAW or TRK-MEAS etc as these aren't supported on the M8N. Anything under RXM is unusable except for the SV INFO. You could probably type them in messages under Custom but it far easier to use the CMD next to the I button in RTK-NAVI for instance.

As you can probably tell I am a hardware guy and most of the programming I've done is with microcontrollers. This area of GPS Data I'm afraid I have only just begun.

Regards,
Lee.

@DavidKelleySCSC
Copy link

Pardon my own ignorance but can you in fact get carrier data from the uBlox M8N??

there is no way to configure RXM-RAW or TRK-MEAS etc as these aren't supported on the M8N

While this topic is rightfully closed, I recently learned from uBlox press releases that the new "8MT" chip does have the raw data available and claims to support the prior message set. Look under 'timing" on the site, for some reason it seems that they do not like to admit RTK uses of the chip. UBlox evaluation kits are available at the normal prices and CSG Shop has a small board as well.

@Leethal60
Copy link
Author

Hi David,

Thank you for the reply. We are in fact purchasing 2 of the M8T modules as we speak. I was however able to obtain both the TRK-MEAS and TRK-SFRBX from the M8N by using the commands as documented in the gpssymp_2014ted below. My problem was I hadn't enabled the RS232 output and used the commands as is.(USB only)

No.107 Some features supported for receiver message handling (RTKNAV, RTKRCV, RTKCONV, CONVBIN, STRSVR, STR2STR ver.2.4.2 p7)

The following features are supported for receiver message handling.
(1) u-blox M8N message TRK-MEAS and TRK-SFRBX for raw observation and navigation data.
(2) Javad [lD] message for GLONASS raw navigation data.
(3) Receiver command "!HEX" to generate a general HEX message.

Appy the patch rtklib_2.4.2_p8.zip. (2014/06/29)

Also the paper found here: gpspp.sakura.ne.jp/paper2005/gpssymp_2014_ttaka.pdf

While that is possible I'm actually at a point where I need to understand the basics, such as what the measurements are (Timing drift???) and what data the subframes contain and how this data is applied to cause a correction. Much googling to be done.

Regards,
Lee.

@cturvey
Copy link

cturvey commented Nov 22, 2015

@DavidKelleySCSC

All uBlox chips use code/carrier measurements internally. All chips in the 6/7/8 families can output this data, usually through the debug messages unique to each family. Some specialized, and higher priced offerings can provide these Raw Measurements in a more friendly manner that can be directly translated into RINEX for carrier phase, pseudo-range and doppler.

@Leethal60 the subframe data contains curve-fitted data describing the track of the satellite (ephemeris) and a long term time table of the orbits (almanac). The data bit edges are synchronous with the carrier, as are the code chip edges. These can be used to pin down the carrier cycles, and phase.

Timing drift relates to the differences in any two independent clock sources. The speed of the receiver's local clock is measured against the timing derived from the GPS signals. The receiver generates local copies of the carrier (through the intermediate frequency of the down converter(s)) and code sequence, and correlates (compares) those copies against the signals received from the satellites. How long the signals take to arrive relates to the distance, and the satellites are moving causing doppler shift, if the receiver is moving there are velocity/acceleration components there too, and if the clock at the receiver is different that will move/drift too. All these things go into building the local copies of the signal. The drift is common to all channels, and will accumulate in a "bias", where you're getting measurements further and further away from the top-of-second, or millisecond. When this gets too much receivers can slew their own timing. The drift indicates how good the local timing is, so TCXO (Temperature Compensated Crystal Oscillator) based receiver will have a much smaller drift than one with just a crystal. Parts like the M8F use a VCTCXO (Voltage Controlled..) where the accuracy is improved by a control voltage generated by the feedback loop using the measured drift. There you might expect the drift to be in the tens of nanoseconds/second (ppb), vs microsecond/second (ppm) of a crystal.

The only part with official Raw Measurement support is the M8T (LEA/NEO using the UBX-M8030 chipset), via UBX-RAWX (0x02,0x15), and this has a different firmware load. The M8N and M8F can provide this data in a rougher form using TRK-MEAS (0x03,0x10), but can't be "patched" because the code is simply not there to support the advanced commands. The 6 and 7 parts typically use a ROM firmware, with functionality enabled through options or OTP configuration.

@johschmitz
Copy link

@cturvey You say M8F is unable to output some messages. Does it mean it is impossible to use 2 M8F with rtiklib? Because I am trying that right now.
I used the following messages to get them running:

!UBX CFG-GNSS 0 32 32 1 6 16 16 0 0
!UBX CFG-GNSS 0 32 32 1 3 16 16 0 1
!UBX CFG-MSG 3 16 0 0 0 1 0 0
!UBX CFG-MSG 3 15 0 0 0 1 0 0
!UBX CFG-MSG 1 32 0 0 0 1 0 0

@
!UBX CFG-MSG 3 16 0 0 0 0 0 0
!UBX CFG-MSG 3 15 0 0 0 0 0 0
!UBX CFG-MSG 1 32 0 0 0 0 0 0

rtklib always shows me solution: SINGLE
Is it due to the missing messages you described above that it is impossible to work?

@cturvey
Copy link

cturvey commented May 30, 2016

As I stated, the M8F firmware does NOT support the RXM-RAWX message, you have to use the TRK-MEAS form. The TRK-MEAS (0x03 0x10) message contains all the raw data and is viable on M8N, M8F, M8Q parts. I've used it for generating RINEX data, and post-processing.

Are you outputting the message to the correct port, and do you have a feed from another station with which to form an RTK solution? At the moment you are using the USB port. If you are instead using the UART port, then you'll need to enable the messages on that, and provide an adequately high baud rate to sustain the data rate.

@johschmitz
Copy link

I got it to work with two M8F, and also have acces to a ntrip reference station 26km away. Just had to make sure that all the options and parameters are set correct and also a correct position for the base station is set. I used the ntrip stream to obtain that for one of the M8F and then used that one as the basestation.
However I get FLOAT most of the time and not FIX. It just sometimes goes to fix for a short time. What can be a reason for that?

@unalbayrakci
Copy link

@johschmitz I used the same commands but I could not get any solution on RTKNAVI. I think I did not manage to get raw data properly. I disable the NMEA massages on u-center and open rxm rawx and rxm sfrbx in configuration view part. What am I doing wrong ?

@johschmitz
Copy link

You put the command in a file and then load them, don't forget to put the ticks so that they really get executed!
screenshot from 2016-06-09 14 09 39

@thomashamain
Copy link

Hi. I know it has been a long time that someone discussed something here, but I'm running into an issue and I feel I'm really close.
I Applied all the settings as shown in previous messages to activate TRK-MEAS and TRK-SBFX on my M8N with 2.01 firmware. U-Center detects that some Unknown messages of UBX type are received, that's good. When I run RTKLIB-NAVI, I get some UBX reading also with one signature being the TRK-MEAS (0x0310) and I believe the second TRK-SBFX is 0x030F. However, I believe that what arrives at RTKLIB-NAVI is only the "ID tag" of the message without the payload. Could someone confirm my thoughts, and maybe point out to a solution?
Here are the messages I receive. As you can see, after the code of the message, following the two points, there is nothing. I presume that the payload should be there, right?
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants