[ gpsdrive ] No developer question, but a question about an older version of gpsdrive

Thomas Schönhütl pilleus.pulcher at arcor.de
Wed Oct 31 11:55:56 AKDT 2007


Hamish wrote:
> Thomas Schönhütl wrote:
>   
>>> In gpsdrive.h you 'll find
>>> #define ROUTEREACH (0.02+10*current.groundspeed/(3600*milesconv))
>>>       
> ..
>   
>> I recompiled 2.10pre2 with
>>
>> */ #define ROUTEREACH (0.02+10*current.groundspeed/(3600*milesconv)) */
>> #define ROUTEREACH (0.04+10*current.groundspeed/(3600*milesconv))
>>
>> in src/gpsdrive.h
>>
>> and it seems to be the factor 0.04 which is great on highways, factor 
>> 0.03 seems to be the correct in cities. I could only test it on a short 
>> route.
>>
>> I will try it with different routes and then I will report my experiences.
>>     
>
>
> Instead of different rules for cities/highways could you make a list of the
> best time/distance-to-waypoint while at different speeds? Then we could create
> a single new formula. i.e. it doesn't have to be linear or rules based.
>
> Sorry it is poorly worded, I hope that makes sense.
>   

I come back to this topic, because I made some new experiences with the 
speech output.

I changed the factor 0.02 in ROUTEREACH to 0.08 and 0.12 to test the 
behaviour of my slow Libretto with speechoutput.

0.08 (in definition of gpsdrive.h #define ROUTEREACH 
(0.02+10*current.groundspeed/(3600*milesconv))) seems to be quite good 
with a speed up to 50 km/h. The speechoutput will be given about 400 m 
before the next waypoint.

0.12 seems to be quite good with a speed between 50 and 100 km/h. The 
speechoutput will be given about 600 m before the next waypoint.

0.2 seems to be quite good with a speed over 100 km/h.

I tried to rewrite the definition of ROUTEREACH in gpsdrive.h to

#define ROUTEREACH1 (0.08+10*current.groundspeed/(3600*milesconv))
#define ROUTEREACH2 (0.12+10*current.groundspeed/(3600*milesconv))
#define ROUTEREACH3 (0.2+10*current.groundspeed/(3600*milesconv))

and to add a line

if (current.groundspeed <= 50)

in routes.c (lines 599 and 1108) before the line

if (d <= ROUTEREACH1 || route.forcenext)

but I do not understand the syntax in the right way ...

May be someone can help me out here to find a solution for my problem!?

Thank you very much for your time,

Thomas Schönhütl.


More information about the GPSdrive mailing list