GPS pains

Jan Mulder jlmulder at xs4all.nl
Mon Jul 24 10:55:52 PDT 2017


On 24-07-17 17:02, Willem Ferguson wrote:
> I have done quite a bit of testing of the software in land.
> 
> 
> 2) Logging did not occur at 3 min intervals, but at about 5-min 
> intervals. The software behaves almost like the minimum allowed 
> between-record interval is 5 minutes and it substitutes my 3-min 
> interval with 5-min.

This 5 minutes seems in line with the code. See core/gpslocation.cpp 
line 89. As is this hard coded, and there is only one gpsLocation 
instance that never has its update frequency set to anything else than 
the initial 5 minutes, there seems at least a coupling with the QML UI 
missing.
> I think there is room for experimentation with the algorithm that does 
> the GPS recording. I suspect that a single plot is obtained from several 
> GPS data points and the criteria for determining an accurate plot are 
> set quite tight so that data points need to be very close together for 
> the software to record a single GPS position in the list of GPS 
> positions. If this is the case, then one should experiment with the 
> number of repeat points required for a single GPS position as well as 
> the degree to which these repeats need to be similar in order to be 
> accepted as a valid GPS record. This is the only way in which I can make 
> sense of this.

Trying to understand the code, I do not see any resampling of GPS data 
points. It is, currently, just a sample every 5 minutes (for the 
location service).

For a manual add of a dive, we can select "use current position", and 
that pulls an update of the position independently of the 5 minute mark. 
This seems an obvious spot where work needs to be done. As we are (for 
the lucky ones with BT/BLE or FTDI interfaced DCs), moving away from 
manual input, we need a way to add a position to a downloaded dive. 
Looking through the mobile app ... I do not see this functionality yet.

> I scratched around in the mobile-widgets, core and Qt-models directories 
> to look for the code where the actual GPS recording takes place but I 
> have not yet found it. I am not sure at what low level the GPS chip is 
> accessible from our code.

Ok, as said above. core/gpslocation.cpp.

--jan




More information about the subsurface mailing list