PUD: force STATIONARY when the position just became valid
authorFerry Huberts <ferry.huberts@pelagic.nl>
Tue, 31 Jan 2012 07:30:34 +0000 (08:30 +0100)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Tue, 31 Jan 2012 07:31:09 +0000 (08:31 +0100)
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
lib/pud/src/receiver.c

index 33c0742..4a0750c 100644 (file)
@@ -397,7 +397,9 @@ static void detemineMoving(PositionUpdateEntry * avg,
         * avg  last  movingNow
         *  0     0   STATIONARY : can't determine whether we're moving, force STATIONARY
         *  0     1   STATIONARY : can't determine whether we're moving, force STATIONARY
-        *  1     0   MOVING  : always seen as movement
+        *  1     0   STATIONARY : position just became valid, force STATIONARY to do averageing since we
+        *                         might be dealing with bad signal quality. we will go into moving when
+        *                         signal quality is good and we're actually moving.
         *  1     1   determine via other parameters
         */
 
@@ -410,8 +412,8 @@ static void detemineMoving(PositionUpdateEntry * avg,
        /* avg is valid here */
 
        if (!positionValid(lastTx)) {
-               /* the position just became valid: force moving */
-               result->moving = SET;
+               /* the position just became valid: force stationary */
+               result->moving = UNSET;
                /* the rest is unknown */
                return;
        }