tomojitakasu / RTKLIB

2.58k stars 1.63k forks source link

GLON not available when compiled with "CTARGET= -mfpu=neon-vfpv4 -mfloat-abi=hard" #84

Open twagler opened 9 years ago

twagler commented 9 years ago

Base system is an nVidia Jetson TK1 running Fedora 22. All configuration files are identical.

When compiled with default build flags (always stays on float, never gets fix. I thought maybe speed was an issue so I was going to try compiling with hard floating point): rtkrcv> obs

TIME(GPST) SAT R P1(m) P2(m) L1(cyc) L2(cyc) D1(Hz) D2(Hz) S1 S2 LLI 01:24:13.0 G01 1 23899652.64 0.00 -9205878.89 0.00 -3101.3 0.0 45 0 0 0 01:24:13.0 G03 1 22655212.79 0.00 -13809081.16 0.00 599.2 0.0 46 0 0 0 01:24:13.0 G06 1 20860238.12 0.00 -21615791.39 0.00 2591.6 0.0 51 0 0 0 01:24:13.0 G10 1 24827058.99 0.00 -47900.12 0.00 4005.8 0.0 27 0 1 0 01:24:13.0 G17 1 20622862.47 0.00 -26469311.88 0.00 153.1 0.0 50 0 0 0 01:24:13.0 G24 1 23358899.65 0.00 -9105677.21 0.00 1780.2 0.0 47 0 0 0 01:24:13.0 G28 1 20844196.33 0.00 -25647793.02 0.00 -1020.8 0.0 48 0 0 0 01:24:13.0 G30 1 24917318.93 0.00 0.00 0.00 -3291.6 0.0 17 0 0 0 01:24:13.0 G32 1 24899280.98 0.00 -1284486.18 0.00 -1533.8 0.0 30 0 0 0 01:24:13.0 R03 1 22567837.74 0.00 -8679951.80 0.00 1188.7 0.0 43 0 0 0 01:24:13.0 R04 1 22945975.11 0.00 -5423815.90 0.00 3755.0 0.0 41 0 0 0 01:24:13.0 R09 1 19447440.94 0.00 -26637379.86 0.00 -961.2 0.0 50 0 0 0 01:24:13.0 R10 1 20950559.84 0.00 -17062478.75 0.00 3163.4 0.0 49 0 0 0 01:24:13.0 R16 1 21807107.29 0.00 -15533827.15 0.00 -3938.6 0.0 50 0 0 0 01:24:13.0 R18 1 22470614.68 0.00 -11784891.16 0.00 -2629.6 0.0 46 0 0 0 01:24:13.0 R19 1 19607821.65 0.00 -26022275.36 0.00 -402.4 0.0 51 0 0 0 01:24:13.0 R20 1 21223108.16 0.00 -15878822.34 0.00 2443.6 0.0 43 0 0 0 01:24:13.0 G01 2 24140862.82 0.00 -14458996.26 0.00 -2802.4 0.0 44 0 0 0 01:24:13.0 G02 2 24538165.50 0.00 -3912294.51 0.00 3881.8 0.0 46 0 0 0 01:24:13.0 G03 2 22896421.53 0.00 -16207978.93 0.00 898.2 0.0 46 0 0 0 01:24:13.0 G06 2 21101448.89 0.00 -25523084.61 0.00 2890.6 0.0 53 0 0 0 01:24:13.0 G17 2 20864072.76 0.00 -31173002.18 0.00 452.1 0.0 50 0 0 0 01:24:13.0 G24 2 23600111.97 0.00 -10449395.39 0.00 2079.2 0.0 45 0 0 0 01:24:13.0 G28 2 21085405.79 0.00 -32089476.16 0.00 -721.8 0.0 52 0 0 0 01:24:13.0 G30 2 25158582.70 0.00 0.00 0.00 -2995.8 0.0 18 0 0 0 01:24:13.0 G32 2 25140483.55 0.00 -3464332.55 0.00 -1235.0 0.0 40 0 0 0 01:24:13.0 R03 2 22809047.90 0.00 -9842807.36 0.00 1493.3 0.0 43 0 0 0 01:24:13.0 R04 2 23187183.84 0.00 -6098868.27 0.00 4059.9 0.0 39 0 0 0 01:24:13.0 R09 2 19688651.65 0.00 -30049095.73 0.00 -657.4 0.0 51 0 0 0 01:24:13.0 R10 2 21191770.26 0.00 -18698392.45 0.00 3466.8 0.0 45 0 0 0 01:24:13.0 R16 2 22048314.65 0.00 -21350073.50 0.00 -3634.7 0.0 49 0 0 0 01:24:13.0 R18 2 22711825.86 0.00 -17608957.28 0.00 -2325.9 0.0 47 0 0 0 01:24:13.0 R19 2 19849031.86 0.00 -30174030.70 0.00 -98.0 0.0 51 0 0 0 01:24:13.0 R20 2 21464321.69 0.00 -17752511.80 0.00 2747.9 0.0 47 0 0 0

When compiled with : "CTARGET= -mfpu=neon-vfpv4 -mfloat-abi=hard"

rtkrcv> obs

TIME(GPST) SAT R P1(m) P2(m) L1(cyc) L2(cyc) D1(Hz) D2(Hz) S1 S2 LLI 01:29:01.5 G01 1 24070636.83 0.00 -8307371.73 0.00 -3126.7 0.0 45 0 0 0 01:29:01.5 G03 1 22627065.41 0.00 -13956998.29 0.00 425.5 0.0 47 0 0 0 01:29:01.5 G06 1 20721608.04 0.00 -22344300.83 0.00 2457.7 0.0 52 0 0 0 01:29:01.5 G10 1 24606050.93 0.00 -1209486.86 0.00 4045.7 0.0 33 0 0 0 01:29:01.5 G17 1 20616032.52 0.00 -26505204.47 0.00 95.5 0.0 50 0 0 0 01:29:01.5 G24 1 23265656.05 0.00 -9595678.50 0.00 1615.8 0.0 45 0 0 0 01:29:01.5 G28 1 20903616.90 0.00 -25335543.75 0.00 -1144.2 0.0 49 0 0 0 01:29:01.5 G32 1 24987335.20 0.00 382411.77 0.00 -1674.0 0.0 27 0 0 0 01:29:01.5 G01 2 24295447.41 0.00 -13646659.34 0.00 -2827.9 0.0 41 0 0 0 01:29:01.5 G02 2 24326060.45 0.00 -5026917.09 0.00 3844.5 0.0 45 0 0 0 01:29:01.5 G03 2 22851877.50 0.00 -16442066.39 0.00 724.3 0.0 47 0 0 0 01:29:01.5 G06 2 20946420.14 0.00 -26337764.56 0.00 2756.5 0.0 52 0 0 0 01:29:01.5 G10 2 24830858.53 0.00 -1186242.49 0.00 4344.5 0.0 33 0 0 0 01:29:01.5 G17 2 20840843.95 0.00 -31295065.38 0.00 394.2 0.0 49 0 0 0 01:29:01.5 G24 2 23490470.79 0.00 -11025567.20 0.00 1914.6 0.0 47 0 0 0 01:29:01.5 G28 2 21128427.27 0.00 -31863397.39 0.00 -845.4 0.0 52 0 0 0 01:29:01.5 G32 2 25212377.78 0.00 -3087578.53 0.00 -1377.7 0.0 26 0 0 0

Any ideas?

nopeppermint commented 9 years ago

I got the same problem (no GLONASS Satellites) when I compiled for rpy2 with CTARGET= -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard

nopeppermint commented 9 years ago

But in my case it doesn't matter if I use the CTARGET line or if I compile with default build flags, I never get GLONASS Satellites.

maybe this is because of the following compile error:

../rtkrcv.c: In function 'prnavidata':
../rtkrcv.c:773:12 warning: ISO C forbids zero-size array 'geph' [-Wpedantic]
          geph_t geph[MAXPRNGLO];
                      ^
nopeppermint commented 9 years ago

there is one more in rinex.c:

../../../src/rinex.c: In function 'outrnxobsh':
../../../src/rinex.c: 1826:17 warning: ISO C forbids zero-size array 'prn' [-Wpedantic]
          int i,j,k,n,prn[MAXPRNGLO];
                      ^
nopeppermint commented 9 years ago

Found my problem, If you delete "CTARGET= -DENAGLO -DENAGAL -DENAQZS -DNFREQ=3" you will no longer get GLONASS Satellites.

@twagler could you share your configuration file and some information about your GNSS receivers and your setup? Maybe I can help. I think this is not a performance problem, more settings problem.

twagler commented 9 years ago

I commented that line out when I added "CTARGET= -mfpu=neon-vfpv4 -mfloat-abi=hard". I'll try leaving it in and recompiling when I get home from travel.

twagler commented 9 years ago

Yeah, that took care of it. I should have actually read what I was commenting out. Feel free to close this issue.

nopeppermint commented 9 years ago

As this issue was opened by you, you're the only one who could close it ;-)

twagler commented 9 years ago

It appears that I'm still having an issue with performance. Utilizing the same two streams, my desktop computer is able to get a fix fairly quickly with an ar ratio of 40+. The Tegra TK1 stays on float. It seems that the Tegra is able to get a fix when using only GPS, and disabling GLONASS, but the desktop PC is able to get a fix in either configuration utilizing the exact same config file. I'm using the NV08C-CSM receivers by NVS.

nopeppermint commented 9 years ago

are you using the same rtkrcv config file on the desktop and on the Tegra TK1? Because RTKNAVI and RTKRCV have different config files. As my rtkrcv setup also isn't working I will now take a look at the python port of rtklib here https://github.com/thesamprice/RTKLIB

twagler commented 9 years ago

Both running the same config file and both running rtkrcv.

nopeppermint commented 9 years ago

In my setup the problem was, that RTCM3 messages received on the embedded linux board (Tegra TK1 in your case) are tracked with the actual system time (by rtkrcv). My embedded linux board had a system time from 1970... therefore "age of differential (s)" was multiple thousand. The solution was, to set the system time with sudo date --set 2015-5-18 17:00:00 no I have fix solution (and actual time on my embedded linux board ;-)

Minipada commented 9 years ago

I am encountering the exact same issue with the exact same setup. Did you solve it ?

twagler commented 9 years ago

Negative. I'm still having this issue. Someone else has posted an issue like this with Rpi 2.