Giter Site home page Giter Site logo

rtklibexplorer / rtklib Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tomojitakasu/rtklib

597.0 84.0 236.0 129.85 MB

A version of RTKLIB optimized for low cost GNSS receivers, especially u-blox receivers. It is based on RTKLIB 2.4.3 and is kept reasonably closely synced to that branch. This software is provided “AS IS” without any warranties of any kind so please be careful, especially if using it in any kind of real-time application.

Home Page: http://rtkexplorer.com/

License: Other

C++ 31.34% Pascal 16.39% Batchfile 0.34% C 39.48% Makefile 0.51% Shell 0.03% HTML 0.40% Fortran 1.89% MATLAB 8.33% QMake 0.23% JavaScript 0.56% CSS 0.51% Prolog 0.01%
gnss rtklib gps rtklibexplorer demo5

rtklib's Introduction

A version of RTKLIB optimized for low cost GNSS receivers (single, dual, or triple frequency), especially u-blox receivers.  It is based on RTKLIB 2.4.3 and is kept reasonably closely synced to that branch.   This software is provided “AS IS” without any warranties of any kind so please be careful, especially if using it in any kind of real-time application. 

Releases with Windows executables are avaiable at https://github.com/rtklibexplorer/RTKLIB/releases 

Tutorials for this code, and sample GPS data sets are available at http://rtkexplorer.com/  

The latest version of the user manual is at: https://rtkexplorer.com/pdfs/manual_demo5.pdf

   
WINDOWS: To build and install code for with Windows Embarcadero compiler:

GUIs: 
1) Build executables with app/winapp/rtklib_winapp.groupproj project file 
2) Install executables and DLLs to ../RTKLIB/bin by runnning app/winapp/install_winapp.bat

CUIs:
1) Build executables with app/consapp/rtklib_consapp.groupproj project file 
2) Install executables to ../RTKLIB/bin by runnning app/consapp/install_consapp.bat



LINUX: To build and install code

CUIs:
1) cd app/consapp/<appName>/gcc
2) make

GUIs (Qt based - Beta):
1) cd app/qtapp
2) qmake
3) make
4) ./install_qtapp

Windows binaries can be found on the release page.
Pre-complied linux packages are available at https://build.opensuse.org/package/show/home:ReimannJens/rtklib-qt.

The last step will copy the compiled executables into a new directory RTKLIB_bin next to the rtklib source directory.

rtklib's People

Contributors

adrienwehrle avatar andrehauschild avatar anton-chy avatar charleschouette avatar chsln avatar dayjaby avatar daz avatar drf5n avatar dwrobel avatar enamp avatar fnadeau avatar igor-gladkov avatar jdatalog avatar jensreimann avatar jwidauer avatar karstenbriksoft avatar nathgilson avatar nzanepro avatar ourairquality avatar patrickelectric avatar rtklibexplorer avatar tomojitakasu avatar umeda-skyley avatar uuiitwp avatar valgur avatar vuquangtrong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rtklib's Issues

rinex header APPROX POSITION XYZ

Hi, I got a rtcm3-format stream file that contains more than 5 base station. When it is decoded by rtkconv.exe, the rinex file has all base station coordinates stored as "APPROX POSITION XYZ". But when I do "make" convbin on Linux, there is only one "APPROX POSITION XYZ" at the beginning of the rinex file. It is something wrong with the configure or "makefile" is to be revised ?

RTKRCV autostart is not working

Hi,

I upgraded to the latest demo5 b31 and autostart is not working anymore. To make it start you need to telnet into the admin console, then a message comes up that the rtk service is starting.

This is my start command in /etc/rc.local on my Raspberry Pi:
sudo /home/pi/RTKLIB/RTKLIB/app/rtkrcv/gcc/rtkrcv -o /home/pi/rtk.conf -s -p 5001 &

This worked perfectly in the b29 version.

SrcTblFile example, for the correct usage of Ntrip Caster

I'm using STRSVR as Ntrip Caster, but various clients require a Source Table. Is there any example of the basic content of the expected file, so that STRSVR delivers an acceptable response to the clients at the start of a connection?
BNC, from the BKG seems to be the most critical client that I used up to now and refuses to work with STRSVR without source table.
My trials did not succeed up to now using the two attached documents, so that any hint is welcome
16-Guidelines Broadcasters 2013-05-28.pdf
NtripDocumentation.pdf

build issues on Embarcadero C++Builder 10.3

I tried to build from source the following projects with Embarcadero C++Builder 10.3 (b33d):
app\rnx2rtkp\bcc_win64_rnx2rtkp_win64.cbproj --> success
app\rtkpost_win64\rtkpost_win64.cbproj --> success

app\convbin\bcc_convbin.cbproj --> failure , original setting is Win32, after Error I added the target platform Win64 and now it is a success
app\rtkconv\rtkconv.cbproj --> failure , I changed it to Win64 platform but I still receive an error: "[bcc64 Error] rtkconv.cpp(32): C++ requires a type specifier for all declarations"

Anyone having the same problems?

Out of Bounds access in pppos()

In this loop there's an out of bounds access

    for (i=0;i<MAXOBS;i++) for (j=0;j<opt->nf;j++) {
        rtk->ssat[i].fix[j]=0;
        rtk->ssat[obs[i].sat-1].snr_rover[j]=obs[i].SNR[j];
        rtk->ssat[obs[i].sat-1].snr_base[j] =0;
    }

As rtk->ssat has size = MAXSAT;
ssat_t ssat[MAXSAT]; /* satellite status */

MAXOBS defaults to fixed value of 64.

#ifndef MAXOBS
#define MAXOBS      64                  /* max number of obs in an epoch */
#endif

And MAXSAT varies with the sat systems enabled.
#define MAXSAT (NSATGPS+NSATGLO+NSATGAL+NSATQZS+NSATCMP+NSATIRN+NSATSBS+NSATLEO)

app\strsvr_qt\svrmain.cpp

D:\Qt\Qt5.4.2\Examples\Qt-5.4\RTKLIB-demo5\app\strsvr_qt\svrmain.cpp:599: ошибка: C2660: 'strsvrstart' : function does not take 7 arguments

How to compile and run the QT part on Linux?

I don't know much about qt, but when I run the following:

mkdir build
cd build
qmake ../app/rtknavi_qt/rtknavi_qt.pro
make

I got the error:

../app/appcmn_qt/serioptdlg.cpp:13:50: fatal error: QtExtSerialPort/qextserialenumerator.h: No such file or directory
 #include <QtExtSerialPort/qextserialenumerator.h>
compilation terminated.
Makefile:231: recipe for target 'qextserialenumerator.o' failed
make: *** [qextserialenumerator.o] Error 1

Any suggestions?

rnx2rtkp -sys option not working ...

Hello Tim,

I think there is a pb with -sys option for rnx2rtkp (had some mistake trying using it)

    else if (!strcmp(argv[i],"-sys")&&i+1<argc) {
        for (p=argv[++i];*p;p++) {
            switch (*p) {
                case 'G': prcopt.navsys|=SYS_GPS;
                case 'R': prcopt.navsys|=SYS_GLO;
                case 'E': prcopt.navsys|=SYS_GAL;
                case 'J': prcopt.navsys|=SYS_QZS;
                case 'C': prcopt.navsys|=SYS_CMP;
                case 'I': prcopt.navsys|=SYS_IRN;
            }
            if (!(p=strchr(p,','))) break;
        }
    }

Probably will work better (break en missing in the switch) :

    else if (!strcmp(argv[i],"-sys")&&i+1<argc) {
        prcopt.navsys = 0;
        for (p=argv[++i];*p;p++) {
            switch (*p) {
                case 'G': prcopt.navsys|=SYS_GPS;break;
                case 'R': prcopt.navsys|=SYS_GLO;break;
                case 'E': prcopt.navsys|=SYS_GAL;break;
                case 'J': prcopt.navsys|=SYS_QZS;break;
                case 'C': prcopt.navsys|=SYS_CMP;break;
                case 'I': prcopt.navsys|=SYS_IRN;break;
                case 'S': prcopt.navsys|=SYS_SBS;break;
            }
            if (!(p=strchr(p,','))) break;
        }
    }

I will check my suggestion asap.

Christophe

New Commit Breaks RTKRCV - 6f40c413e69312bdf032a1827f3eaad7ac068d9b

Hi,

When building rtkrcv:

"../../../src/rcv/swiftnav.c:298:12: error: static declaration of ‘uraindex’ follows non-static declaration
static int uraindex(double value) {"

"makefile:71: recipe for target 'swiftnav.o' failed
make: *** [swiftnav.o] Error 1
make: *** Waiting for unfinished jobs...."

rtkrcv segfault on auto-start

When adding the "-s" flag to rtkrcv, if an options file has been specified that sets outputstr1/2 or logstr1/2 to a file type, the binary segfaults on start.

If the binary is loaded with the options file and then manually started, there is no issue.

The same issue does not appear on rtkrcv compiled using RTKLIB 2.4.2 or 2.4.3 source

In this instance, rtkrcv was compiled using make on ubuntu16.04

./rtkrcv -s -o rtkexplorer_custom.conf
Segmentation fault (core dumped)

bug in reading precise ephemeris (number of satellites)

I think the arguments are mixed up here:
https://github.com/rtklibexplorer/RTKLIB/blob/demo5/src/preceph.c#L83
ns=(int)str2num(buff,4,2);

The third line of the SP3-file contains the text: number of satellites
+__114 C06C07C08C09C10C11C12C13C14C16C19C20C21C22C23C24C25

It reads two characters starting from position 4, gets 14. But I must on the contrary to get 114.
Now he reads the first 14 entries for each epoch, and these turn out to be BeiDou. Accordingly, nothing further works without GPS.

Feature request: camera event delay

Hello, thanks for the awesome improvements over the emlid RTKLIB implementation! Using your program instead of emlids I almost never have problems getting a fixed solution.

With this accuracy I have noticed a slight error in my aerial surveys. The camera events have a few milliseconds delay, which is always consistent. In my case it is around 17 milliseconds, which does offset the measurements by 12 cm when flying at 7 m/s. It would be great to have a feature inside RTKPOST, which simply offsets the time mark by a given ammount before doing the interpolation.

E14 18737246.845 1 98464891.132 1 -2713.078 49.000 18737251.721 1 75447162.243 1 -2078.830 44.000
E15 23299971.762 1 122442189.168 1 1002.208 46.000 23299978.273 1 93819356.122 2 768.045 41.000
E36 26807313.625 1 140873394.052 3 -3380.760 37.000
> 2020 10 14 9 48 21.4412288 5 0
">" 2020 10 14 9 48 21.7980000 0 26
G 1 19699155.390 1 103519762.065 1 -1229.095 46.000 19699154.560 1 80664728.774 2 -957.837 40.000
G 3 20203615.143 1 106170715.769 1 803.229 49.000 20203614.377 1 82730429.844 1 625.867 43.000
G 4 22696746.971 1 119272238.929 2 3110.891 42.000 22696745.533 1 92939429.756 2 2424.002 40.000
G 8 24304498.388 8 3 -4240.088 30.000 24304500.781 8 7 -3303.336 30.000
G11 20897795.518 1 109818667.318 1 -3479.077 47.000
G17 22691786.120 1 119246142.277 2 1734.418 41.000 22691783.540 1 92919062.383 2 1351.277 39.000

getcodepri bug in VS

In this function, if the code is "", then the j would be 0. Thus, codepris[i][j-1] would be an unexpected or wrong value. It wouldn't be the right priority number.

extern int getcodepri(int sys, unsigned char code, const char *opt)
{
const char *p,*optstr;
char *obs,str[8]="";
int i,j;

switch (sys) {
    case SYS_GPS: i=0; optstr="-GL%2s"; break;
    case SYS_GLO: i=1; optstr="-RL%2s"; break;
    case SYS_GAL: i=2; optstr="-EL%2s"; break;
    case SYS_QZS: i=3; optstr="-JL%2s"; break;
    case SYS_SBS: i=4; optstr="-SL%2s"; break;
    case SYS_CMP: i=5; optstr="-CL%2s"; break;
    case SYS_IRN: i=6; optstr="-IL%2s"; break;
    default: return 0;
}
obs=code2obs(code,&j);

/* parse code options */
for (p=opt;p&&(p=strchr(p,'-'));p++) {
    if (sscanf(p,optstr,str)<1||str[0]!=obs[0]) continue;
    return str[1]==obs[1]?15:0;
}
/* search code priority */
return (p=strchr(codepris[i][j-1],obs[1]))?14-(int)(p-codepris[i][j-1]):0;

}

Build issue : error: too few arguments to function ‘void uniqnav(nav_t*, int)’

Hello,

I get an error when I try to build RTKLIB/demo5

plotdata.cpp: In member function ‘int Plot::ReadObsRnx(const QStringList&, obs_t*, nav_t*, sta_t*)’:
plotdata.cpp:264:16: error: too few arguments to function ‘void uniqnav(nav_t*, int)’
264 | uniqnav(nav);
| ^
In file included from plotdata.cpp:14:
../../src/rtklib.h:1543:13: note: declared here
1543 | EXPORT void uniqnav(nav_t *nav, int nf);

(Build on ubuntu 20.04)

RTKNavi b31a binary chrashes when configured for SSR PPP L1/L2/E5

RTKExplorer RTKnavi binary (b31a ) crashes (on aWindows7 x64 host) if configured to work with the following configuration:

  • UBX ZED-F9P
  • PPP static (or dynamic)
  • Correction source SSR CLK93
  • Constellation don't care

RTKnavi works well in the other positioning mode (welcome GALILEO E5)

In this demo, "#define NFREQ 3 " and " #define NEXOBSN" 0 doesn't work

In rtklib.h, we have:
#ifndef NFREQ
#define NFREQ 3 /* number of carrier frequencies /
#endif
#ifndef NEXOBS
#define NEXOBS 0 / number of extended obs codes */
#endif

When I run rtkrcv in linux, the value of NFREQ is 4 and that of NEXOBS is 3.
the #define in rtklib.h doesn't work. In rtklib 2.4.3, the value of NFREQ can be changed in rtklib.
Are NFREQ 4 and NEXOBS 3 a special setting in the demo? How can I change their values?

Latest demo5 branch str2str not compiling

When I try to compile str2str I get the following from the loader.
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
cc str2str.o stream.o rtkcmn.o solution.o sbas.o geoid.o rcvraw.o novatel.o ublox.o ss2.o crescent.o skytraq.o gw10.o javad.o nvs.o binex.o rt17.o rtcm.o rtcm2.o rtcm3.o rtcm3e.o preceph.o streamsvr.o septentrio.o cmr.o -lm -lrt -lpthread -o str2str
novatel.o: In function decode_bdsephemerisb': /home/kenm/GPS/RTK/RTKLIB-Forks/RTKLIB_explorer/app/str2str/gcc/../../../src/rcv/novatel.c:1039: undefined reference to uraindex'
nvs.o: In function decode_gpsephem': /home/kenm/GPS/RTK/RTKLIB-Forks/RTKLIB_explorer/app/str2str/gcc/../../../src/rcv/nvs.c:202: undefined reference to uraindex'
binex.o: In function decode_bnx_01_01': /home/kenm/GPS/RTK/RTKLIB-Forks/RTKLIB_explorer/app/str2str/gcc/../../../src/rcv/binex.c:461: undefined reference to uraindex'
binex.o: In function decode_bnx_01_04': /home/kenm/GPS/RTK/RTKLIB-Forks/RTKLIB_explorer/app/str2str/gcc/../../../src/rcv/binex.c:634: undefined reference to uraindex'
binex.o: In function decode_bnx_01_06': /home/kenm/GPS/RTK/RTKLIB-Forks/RTKLIB_explorer/app/str2str/gcc/../../../src/rcv/binex.c:771: undefined reference to uraindex'
collect2: error: ld returned 1 exit status
make: *** [str2str] Error 1
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
this is on either an Intel 64bit
cc --version
cc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
or an Arm 32bit
cc --version
cc (Debian 4.9.2-10) 4.9.2

str2str as ntrip source sends mount point without leading slash

command str2str -out ntrips://:password@localhost:2101/mount will send following header to localhost port 2101:

SOURCE password mount
Source-Agent: NTRIP RTKLIB/demo5_b33c
STR:

however in ntrip v1 reference, the example is:

SOURCE letmein /Mountpoint
Source-Agent: NTRIP NtripServerCMD/1.0

I am not sure whether the leading slash should exist. if it should be, then the ntrip caster code in rtklib should change, too.

rtkrcv crashing when reconnecting with telnet - race condition between vt_close() and con_close()

To reproduce, on latest debian :
launch rtkrcv with telnet on
./rtkrcv -p 12345
then connect to the console with telnet
telnet localhost 12345
type the password (default one is admin)
then just type :
exit.
When you try to reconnect with
telnet localhost 12345
rtkrcv crashes with this message :
malloc(): unsorted double linked list corrupted
Aborted

This is due to vt_close() being called inside the spawned console thread (con_thread()). It's freeing the vt struct and this sometime happens before con_close() is called. Since con_close() is writing on vt->status (to handle other types of console closings I guess) it breaks malloc's internals, which crashes the program when next malloc() occurs.

The best way I've found to resolve this issue it so move the call to vt_close() from con_thread() to con_close(). By placing it right after thread.join(), we insure that the console thread is closed and we won't have any further access to the vt struct.

I had the same error message when quitting a non-telnet rtkrcv using shutdown. this fix resolved it too.

info: yocto / embedded overlay

Greetings.
Just wanted to let you that there is a yocto / openembedded overlay for rtklibexplorer at https://github.com/navdata-net/meta-navdatanet that i maintain. Its GPL as it should be so people might reuse it or complain about sth so i can improve it.
As a secondary note, i use it with that to run rtklibexplorer on raspberry pi.
Best regards.

When was tadj (time adjust) added to gen_obs_glo() call?

Not an issue, just trying to keep one of our clone copies aligned. Trying to get a feel for how far back the two diverged, so I can seek for related changes. Can anyone recall when this was added?

What first brought this issue up was a failure in the b31a release (using the strsrv tool) to translate GLO MT1012 to MT1010 where it appears that the carrier frequency is always getting set to -1 (err), The codes fail for the translation is MT1012->MT1012 as well. The old code also has an issue where lambda is not always computed that seems to be dealt with as well in the new.

Running this with b33a, and the same settings, the translate of RTCM3 to RTCM3, GLO MT1012 to 1010/1011/1012 is working fine.

Compilation error in rcvraw.c

Hello I just get a compilation error I am pasting below. I just comment input_tersus function ...

rcvraw.o: In function input_raw': /home/admin/RTK/RTKLIB/app/rtkrcv/gcc/../../../src/rcvraw.c:1002: undefined reference to input_tersus'
rcvraw.o: In function input_rawf': /home/admin/RTK/RTKLIB/app/rtkrcv/gcc/../../../src/rcvraw.c:1032: undefined reference to input_tersusf'
collect2: error: ld returned 1 exit status
: recipe for target 'rtkrcv' failed
make: *** [rtkrcv] Error 1

Receiver clock offset – multi-GNSS PPP

Hello,

Thank you for your work. I posted the following on the original GitHub, but this part the code is also actively developed.

I would like to use RTKLib in PPP-static mode for the monitoring of a receiver clock offset along time.

I can generate a solution when GPS is selected. The clock offset is computed for all GNSS systems presents in the RINEX (GPS, Galileo, GLONASS). Is it the normal behaviour ? I would expect that the clock offset is computed only for the selected constellation.

When Galileo or GLONASS only is selected, no solution is generated. Nevertheless, when GPS and another system is selected (GPS + GLONASS or GPS + Galileo), a different solution is obtained than if only GPS was used. Is there a way to compute a solution only with Galileo or GLONASS ?

Thank you in advance for your help

The following version of RTKLib is used:

RTKLib 2.4.3 b29e

The following input files are used:

RINEX 3.03

MGEX project precise products (sp3, clk) and mixed navigation file.

rtklib as flatpak or snap package

Hi, I am surveyor from Costa Rica and opensource lover.
At present, universal packages have been developed to be used in most Linux distributions and their derivatives.
Having this piece of software available for Linux would be greatly appreciated by freelance surveying professionals.
The packages are fatpak and snap, here their links.
https://snapcraft.io/ , https://snapcraft.io/docs/creating-a-snap , https://forum.snapcraft.io/categories and here to request a snap package https://forum.snapcraft.io/c/snap-requests
https://flatpak.org/ , https://docs.flatpak.org/en/latest/, and here to request app in flatpak format https://discourse.flathub.org/c/requests/5
Please, provide this software for linux, one app for all distros.
Thanks

Chat

This project have a chat like gitter or irc ?
I would like to work over this fork and need some information about my development plan.

RTKPOST fixed vertical windowsize

The window size of RTKPOST is not big enough to present the bottom line of buttons. (plot, view to kml, options, execute and exit)
I can't drag the vertical side to a bigger size either.

Version: Demo5 b33b2
I run a 4K screen.

Locate pppcorr_trop() and pppcorr_stec()

Where do these calls live now? I see them used in ppp.c but cannot seem to find the.

EXPORT int pppcorr_trop(const pppcorr_t *corr, gtime_t time, const double *pos,
double *ztd, double *std);
EXPORT int pppcorr_stec(const pppcorr_t *corr, gtime_t time, const double *pos,
double *ion, double *std);

Missing ss2.c and #define

I ran into the following issues when building this fork of rtklib (17a7219) in linux:

  • ss2.c was not found

  • missing #defines in src/rtklib.h for FREQTYPE_L6 through FREQTYPE_L9, required by app/rtkconv/codeopt.cpp

I copied the missing file over from the original RTKLIB (ran into #32 ), added placeholder values for the missing constants and the build finished successfully.

RTK Plot problems

Hello, there is problem in Plotting pos file results.
If i open solution file position.txt, then in RTKPlot right bottom cornel i see incorrect coordinats, difference by 8 cm. CTRL+W insert also incorrect point.

If i change in options Coordinat Origin from Base station to End Pos. Then displaying coord same as in position files. I think problems in translation coord from local to WGS coord system. In Larionov version a don`t see so error.

position.txt

rover position prior to locating = 0,0,0 (llh) instead of undefined / empty / null

Greetings
before any successful measurement, rtklib reports in its stats llh 0,0,0. It would make monitoring & statistics easier if a defined output was given that indicates undefined / empty / NULL. This output should not be inside the range of possible true values, which is the case for 0 for all position values. Essentially, this is true for all position and related status information.
Thanks and best regards.
Michael

It appears to completely drop satellites temporarily if the rate of update of each constellation is different

I might be missing a setting here but when I convert ublox data to rtcm3 (with strsvr) and I export constellation observations with an interval of say 1second, it works fine for solutions, however if one of the constellations has a lower interval it seems to behave in a way that rtknavi completely drops all the data for the higher-interval constellations temporarily and intermittently (e.g. for 1 second if they have a 2sec interval instead). As a result the solution may be reset or be low quality in general.

Question: What does "Time to select ephemeris" mean in `sat2poss`

I'm really sorry if this is a stupid question (I am a noob to a lot of this stuff), but I'm trying to calculate satellite positions and velocities based on ephemeris data, and rtklib seems like the perfect thing for it.

I'm looking at sat2poss, and am supposed to supply a "time to select ephemeris". What does this mean, and why not just current time?

str2str and strsrv

Hello,
I'm using both str2str and strsvr to redirect a stream coming from a serial port to a TCP socket.

First test: strsvr
The first test is made on my Windows PC (which runs the rtklib GUI), the PC serial port is plugged to a GNSS receiver which yelds RTCM3 messages. The app strsrv works great, I can grab its redirected TCP stream with rtknavi and I'm able to see the RTCM3 messages in the (1) Rover panel (available from the popup menù of rtknavi).
The config is the following:
(0) Input, Serial, Port COM4, Bitrate 115200, Byte size 8, Parity None, Stop bits 1, Flw Ctrl none
(1) Output, TCP Server, Port 3333
rtknavi is configured to capture the RTCM3 stream from the local server 127.0.0.1:3333

I've tried to do the same with str2str from a linux box. For this second attempt the same receiver is plugged to the serial port of a Linux machine.
The command I use is the following:
str2str -in serial://ttyUSB0:115200:8:o:1:off -out tcpsvr://:3333
I use again rtknavi on my Windows PC to grab the stream from the 3333 port of the linux TCP server (which is now the Linux box IP address). I can see the data flow because of the green light in the upper right corner of rtknavi (an even inside the info panel for the streams). Unfortunately form the (1) Rover panel of rtknavi I can see the stream if I choose HEX or ASCII visualization but nothing is showed if I select RTCM3 (or RTCM2).

Both Windows and Linux box are under the same TCP/IP subnet.
Is this caused by a bug inside str2str?

ublox.c U4 for unsigned long bug

function U4 is not initializing to zero the returned unsigned long, then, since only 4 bytes are copied, the result of this function depends on an uninitialized value.

u-blox checksum error while rtkrcv read from stream

I am a graduate school student using rtklib with rtcm ssr message to perform rt-ppp.
I use ublox f9p chip with raspberry pi running debian linux.
Currently I face a problem that rtklib real-time ppp output few solutions.
There are only about ten solution in one minute.

I use str2str to stream the ublox message from serial to file and tcp,
and rtkrcv read ublox message from tcp, and so on the rtcm message.
This is how I obtain the few solutions mentioned above.
However, when I replay the file, the solutions are well, and appear in every second.

I tried many different aproach, and conclude these facts:

  1. The solutions are normal if I use the recorded file as stream source,
    Whether I stream the file to rtkrcv with str2str,
    or directly specify inpstr1-type=file in configuration of rtkrcv.
  2. On pi, there are many checksum errors when rtkrcv log level 3 -t 3,
    but there are hardly checksum errors when streaming from file.
  3. However, on pc debian, nothing strange in rtkrcv log.
    No checksum error, but the solutions are few, too.
  4. Finally, the solutions are normal in rtknavi.

To debug, I tried to print the ublox message if checksum error,
but finally realize that I can not understand the message now.
(I need some time to read the f9p manual.)
If anyone is interested, there are some checksum error messages below,
(most of them are SFRBX message,
and some lines repeat because of my bad code.)
and the code to print these message is here:
GHolk@360d282079d9ce589a

3 decode_ubx: type=0213 len=32
3 decode_ubx: type=0213 len=32
2 ubx checksum error: type=0213 len=32
3 error hex: B5620213180006010008042002001011
3 error hex: 3845788D00700E2E02004608F26AB562
3 error hex: 3845788D00700E2E02004608F26AB562
3 decode_ubx: type=0213 len=32
3 decode_ubx: type=0213 len=52
2 ubx checksum error: type=0213 len=52
3 error hex: B56202132C00020C050009470200F03F
3 error hex: 1F0303C90763054644720040046900C0
3 error hex: 1AAF15005E74B56202131800060C0206
3 error hex: 04580200
3 decode_ubx: type=0213 len=32
3 decode_ubx: type=0213 len=32
3 decode_ubx: type=0213 len=32
2 ubx checksum error: type=0213 len=32
3 error hex: B562021318000607000C020010113845
3 error hex: 788D00F100700E2E02004608ED2BB562
3 error hex: 788D00F100700E2E02004608ED2BB562
3 decode_ubx: type=0213 len=32

RTKCONV regression

The most recent commit: 0127160
modifies src/rev/ublox.c

- sys==SYS_CMP?CODE_L1I:(sys==SYS_GAL?CODE_L1C:CODE_L1C);
+ sys==SYS_CMP?CODE_L1I:(sys==SYS_GAL?CODE_L1X:CODE_L1C);

Which reverts part of this commit: 979b858

- sys==SYS_CMP?CODE_L1I:(sys==SYS_GAL?CODE_L1X:CODE_L1C);
+ sys==SYS_CMP?CODE_L1I:(sys==SYS_GAL?CODE_L1C:CODE_L1C);

The end result is that at least rtkconv will not convert .ubx Galileo data to Rinex.

demo5 b33d & b33e rtkpost executables for win10 not scaling correctly

The window for the app clips such that controls at top and bottom are not visible or accessible. For example, the row of controls including the Options... button does not display nor is there a vertical scroll bar available to scroll the row into view. As a consequence, doing ppk in demo5 b33d or b33e with rtklib using Win10 doesn't seem possible except via command line.

Furthermore, the rtkpost window is too small on high-dpi (4k) displays. The font size looks to be about 1-2 pt, whereas on a 1080p monitor they're 4 pt or so (which in itself is too small).

For both these issues, the executable for rtkconv displays correctly in Win10, as does the non-demo5 rtkpost executable.

These comments apply to Win10 2H2, but changing Compatibility of the exe in Properties doesn't seem to help.

Ublox ZED-F9P bad measurements time

Need a ubx_f9p_1hz.cmd , because correct measurements should be multiple of one second. Now, measurement show 1 m/second shift.
example:
07.02.2019 14:09:58.000
07.02.2019 14:09:59.000
07.02.2019 14:09:59.999
07.02.2019 14:10:00.999
07.02.2019 14:10:01.999
...
07.02.2019 14:33:30.999
07.02.2019 14:33:32.000


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.