Author |
Topic |
brunotl
Pterodattilo
France
1090 Posts |
Posted - 18/07/2018 : 21:58:49
|
if you use "internal" device driver in LK8000, NMEA sentence is not parsed by LK8000 but by android itself
in theory, android API report if fix is valid or not, but some device don't report that correctly so we have workaround for that, we report "invalid fix" if position accuracy reported is > 100m
without device in hand we can't be sure where is the problem ... |
|
|
danielvelez
Falchetto
Colombia
145 Posts |
Posted - 18/07/2018 : 22:34:00
|
quote: Originally posted by brunotl
if you use "internal" device driver in LK8000, NMEA sentence is not parsed by LK8000 but by android itself
in theory, android API report if fix is valid or not, but some device don't report that correctly so we have workaround for that, we report "invalid fix" if position accuracy reported is > 100m
without device in hand we can't be sure where is the problem ...
If you think that I could help somehow, testing, or recording, or reporting back, I would love to.
Meanwhile, is there a way, or maybe a recommended app for android that can "send" NMEA sentences to LK in the same device, like configuring LK to listen to the app, instead of listen to the internal gps throught API?
|
|
|
danielvelez
Falchetto
Colombia
145 Posts |
Posted - 18/07/2018 : 23:18:14
|
I did a "workaround" only for testing, as I´m not sure how to make it work "offline".
Installed Share GPS on the phone, and created a new connection, in order to broadcast NMEA data throught TCP/IP. Instead of TCP/IP i used UDP. As Host address I put the android local IP asigned by the office router, eg. 192.168.10.1, and as port i used whatever it suggested, e.g. 2947.
Then started the broadcast by hitting connect...
Then on the LK8000 side, instead of using internal on Device A, i used Generic on UDPServer port, and wrote 2947. The NMEA sentences where successfully received, and even though I have only half the sky from my office window, I had a stable "3d Fix" without any issues at all. I even recorder an NMEA log.
The current test does not work if I´m not connected to a WIFI.
So I only need a way of configuring share gps or a similar app, to send NMEA sentences through a local port that LK can hear and that don´t need an actual local wifi connection.
|
|
|
danielvelez
Falchetto
Colombia
145 Posts |
Posted - 18/07/2018 : 23:55:43
|
Here is 3 seconds of the NMEA created by this method:
$GPRMC,210643.00,A,0613.019218,N,07533.891592,W,0.0,,180718,4.6,W,D*12 $GPGGA,210643.00,0613.019218,N,07533.891592,W,2,08,0.6,1605.0,M,13.0,M,,*4A $GPGSV,3,1,10,02,29,358,28,05,59,316,20,06,18,046,39,12,44,278,24*77 $GPGSV,3,2,10,13,38,168,17,15,15,203,33,17,30,118,40,19,48,095,20*7B $GPGSV,3,3,10,24,04,226,38,25,10,307,21*76 $GLGSV,2,1,08,18,34,042,33,09,00,000,26,16,14,232,34,05,40,210,36*6A $GLGSV,2,2,08,19,15,350,19,17,20,097,35,03,23,022,28,04,80,357,20*64 $GPGSA,A,3,02,05,06,12,15,17,19,25,,,,,1.0,0.6,0.7*3D $GNGSA,A,3,67,68,69,80,81,82,,,,,,,1.0,0.6,0.7*27 $GPVTG,,T,,M,0.0,N,0.0,K,D*26 $GPRMC,210644.00,A,0613.019090,N,07533.891620,W,0.0,,180718,4.6,W,D*1D $GPGGA,210644.00,0613.019090,N,07533.891620,W,2,08,0.6,1605.0,M,13.0,M,,*45 $GPGSV,3,1,10,02,29,358,28,05,59,316,19,06,18,046,39,12,44,278,23*7A $GPGSV,3,2,10,13,38,168,17,15,15,203,35,17,30,118,39,19,48,095,19*79 $GPGSV,3,3,10,24,04,226,37,25,10,307,19*72 $GLGSV,2,1,08,18,34,042,33,09,00,000,26,16,14,232,34,05,40,210,36*6A $GLGSV,2,2,08,19,15,350,18,17,20,097,34,03,23,022,27,04,80,357,18*60 $GPGSA,A,3,02,05,06,12,15,17,19,25,,,,,1.0,0.6,0.7*3D $GNGSA,A,3,67,68,69,80,81,82,,,,,,,1.0,0.6,0.7*27 $GPVTG,,T,,M,0.0,N,0.0,K,D*26 $GPRMC,210645.00,A,0613.018963,N,07533.891610,W,0.0,,180718,4.6,W,D*1B $GPGGA,210645.00,0613.018963,N,07533.891610,W,2,08,0.6,1606.0,M,13.0,M,,*40 $GPGSV,3,1,10,02,29,358,29,05,59,316,19,06,18,046,39,12,44,278,23*7B $GPGSV,3,2,10,13,38,168,17,15,15,203,36,17,30,118,37,19,48,095,19*74 $GPGSV,3,3,10,24,04,226,37,25,10,307,19*72 $GLGSV,2,1,08,18,34,042,34,09,00,000,26,16,14,232,34,05,40,210,35*6E $GLGSV,2,2,08,19,15,350,20,17,20,097,32,03,23,022,26,04,80,357,18*6C $GPGSA,A,3,02,05,06,12,15,17,19,25,,,,,0.9,0.6,0.7*35 $GNGSA,A,3,67,68,69,80,81,82,,,,,,,0.9,0.6,0.7*2F $GPVTG,,T,,M,0.0,N,0.0,K,D*26
The Fix Validity check shows as "2", and LK8000 accepts it.
Where on the NMEA sentences is LK reading that position is >100m on the following lines?
(4 seconds of NMEA recorded by the phone while also lk8000 was showing "Invalid Fix" on the status...)
$GPRMC,123044.72,A,0610.765364,N,07534.900389,W,0.0,,180718,4.6,W,D*12 $GPGGA,123044.72,0610.765364,N,07534.900389,W,2,09,0.8,1571.0,M,13.0,M,,*45 $GPGSV,4,1,13,01,38,164,26,03,15,189,25,07,20,334,15,08,52,005,15*78 $GPGSV,4,2,13,09,48,278,34,11,66,170,34,18,49,130,38,22,16,165,24*7D $GPGSV,4,3,13,23,58,219,29,16,04,052,,17,02,220,,27,20,026,*72 $GPGSV,4,4,13,28,06,279,*4B $GLGSV,3,1,09,02,21,253,27,22,42,030,26,12,26,021,18,11,22,071,40*60 $GLGSV,3,2,09,01,14,192,18,24,23,199,26,23,71,181,37,13,01,329,*68 $GLGSV,3,3,09,03,02,299,*5F $GPGSA,A,3,01,03,07,08,09,11,18,22,23,27,,,1.3,1.1,0.8*31 $GNGSA,A,3,65,66,76,86,87,88,,,,,,,1.3,1.1,0.8*25 $GPVTG,,T,,M,0.0,N,0.0,K,D*26 $GPRMC,123045.00,A,0610.774045,N,07534.891950,W,0.0,,180718,4.6,W,D*11 $GPGGA,123045.00,0610.774045,N,07534.891950,W,2,10,1.1,1574.0,M,13.0,M,,*43 $GPGSV,4,1,13,01,39,164,25,07,20,334,15,09,48,278,33,11,66,170,33*7A $GPGSV,4,2,13,18,49,130,39,22,16,165,23,23,58,219,31,03,15,189,*76 $GPGSV,4,3,13,08,52,005,,16,04,052,,17,02,220,,27,20,026,*75 $GPGSV,4,4,13,28,06,279,*4B $GLGSV,3,1,09,02,21,251,30,22,42,030,27,12,26,021,18,11,22,071,39*6B $GLGSV,3,2,09,01,14,192,18,24,23,199,28,23,71,181,37,13,01,329,*66 $GLGSV,3,3,09,03,02,299,*5F $GPGSA,A,3,01,03,09,11,18,22,23,,,,,,1.3,1.1,0.8*3B $GNGSA,A,3,66,86,87,88,,,,,,,,,1.3,1.1,0.8*27 $GPVTG,,T,,M,0.0,N,0.0,K,D*26 $GPRMC,123046.00,A,0610.774322,N,07534.891978,W,0.0,,180718,4.6,W,D*1A $GPGGA,123046.00,0610.774322,N,07534.891978,W,2,07,1.1,1574.0,M,13.0,M,,*4E $GPGSV,4,1,13,01,39,164,27,07,20,334,15,09,48,278,34,11,66,170,29*74 $GPGSV,4,2,13,18,49,130,38,22,16,165,29,23,58,219,34,28,06,279,13*7D $GPGSV,4,3,13,03,15,189,,08,52,005,,16,04,052,,17,02,220,*71 $GPGSV,4,4,13,27,20,026,*48 $GLGSV,3,1,09,02,21,251,27,22,42,030,31,12,26,021,18,11,22,071,40*64 $GLGSV,3,2,09,01,14,192,18,24,23,199,31,23,71,181,38,13,01,329,*61 $GLGSV,3,3,09,03,02,299,*5F $GPGSA,A,3,01,03,09,11,18,22,23,,,,,,1.3,1.1,0.8*3B $GNGSA,A,3,66,86,87,88,,,,,,,,,1.3,1.1,0.8*27 $GPVTG,,T,,M,0.0,N,0.0,K,D*26 $GPRMC,123047.00,A,0610.770446,N,07534.894481,W,0.0,,180718,4.6,W,D*14 $GPGGA,123047.00,0610.770446,N,07534.894481,W,2,07,1.1,1573.0,M,13.0,M,,*47 $GPGSV,4,1,13,01,39,164,25,03,15,189,24,07,20,334,15,09,48,278,34*7A $GPGSV,4,2,13,11,66,170,31,18,49,130,37,22,16,165,29,23,58,219,36*76 $GPGSV,4,3,13,28,06,279,14,08,52,005,,16,04,052,,17,02,220,*73 $GPGSV,4,4,13,27,20,026,*48 $GLGSV,3,1,09,02,21,251,24,22,42,030,30,12,26,021,16,11,22,071,39*66 $GLGSV,3,2,09,01,14,192,18,24,23,199,24,23,71,181,35,13,01,329,*68 $GLGSV,3,3,09,03,02,299,*5F $GPGSA,A,3,01,03,09,11,18,22,23,,,,,,1.3,1.1,0.8*3B $GNGSA,A,3,66,86,87,88,,,,,,,,,1.3,1.1,0.8*27 $GPVTG,118.0,T,118.0,M,1.5,N,2.8,K,D*28
|
|
|
danielvelez
Falchetto
Colombia
145 Posts |
Posted - 19/07/2018 : 00:41:49
|
quote: Originally posted by brunotl
if you use "internal" device driver in LK8000, NMEA sentence is not parsed by LK8000 but by android itself
in theory, android API report if fix is valid or not, but some device don't report that correctly so we have workaround for that, we report "invalid fix" if position accuracy reported is > 100m
without device in hand we can't be sure where is the problem ...
Maybe you could implement some options on Engineer menu. I´m thinking 3 selectable options: 1. "Valid Fix" using API. 2. "Valid Fix" when accuracy is better than 100m. 3. "Turn Of Valid Fix" checking (or popup message)
|
|
|
BravoLima
Aquilotto
Netherlands
276 Posts |
Posted - 19/07/2018 : 11:47:33
|
quote: Originally posted by danielvelez
quote: Originally posted by brunotl
if you use "internal" device driver in LK8000, NMEA sentence is not parsed by LK8000 but by android itself
in theory, android API report if fix is valid or not, but some device don't report that correctly so we have workaround for that, we report "invalid fix" if position accuracy reported is > 100m
without device in hand we can't be sure where is the problem ...
Maybe you could implement some options on Engineer menu. I´m thinking 3 selectable options: 1. "Valid Fix" using API. 2. "Valid Fix" when accuracy is better than 100m. 3. "Turn Of Valid Fix" checking (or popup message)
I think you can reduce this to only one choice: 1. "ignore/override invalid fix" (solving all problems) |
|
|
danielvelez
Falchetto
Colombia
145 Posts |
Posted - 19/07/2018 : 12:04:49
|
Yes. Any solution that the developers can come up will be perfect. |
|
|
danielvelez
Falchetto
Colombia
145 Posts |
Posted - 19/07/2018 : 16:17:27
|
Ok. I found a provisional solution to use internal gps while we can find a better one. First you need to install Share GPS from Jillybunch. Then create a new connection. On Data Type set NMEA, on Connection Method Use TCP/IP, and name it (GPS LK8000 or similar). Then Use UDP instead of TCP. Host 127.127.127.0, Port I#7743; using 2930 but I'm guessing whatever would work.. Hit connect. It will connect even with wifi off.
Then on the LK8000 Devices, Device A, set it to Generic Port UDPServer, Port 2930 (or the one you used).
I'm getting a stable fix this way with no need to be on a wifi network, but passing the NMEA data through an internal port on the cellphone.
If anyone has any issues with chineese phones or with "invalid fix" could try this "workaround".
|
|
|
Topic |
|
|
|