401,7 → 401,7 |
if(NC_CompassSetpoint != -1) |
{ |
int diff; |
if(!NeueKompassRichtungMerken && (KompassSollWert != NC_CompassSetpoint) && CareFree) |
if(!NeueKompassRichtungMerken && (KompassSollWert != NC_CompassSetpoint) && (CareFree || NCForcesNewDirection)) |
{ |
diff = ((540 + (KompassSollWert - NC_CompassSetpoint)) % 360) - 180; |
if(diff > 2) diff = 2; // max. 2° in 20ms = 100°/sec |
409,7 → 409,11 |
if(diff < -2) diff = -2; |
KompassSollWert -= diff; |
} |
else NC_CompassSetpoint = -1; |
else |
{ |
NC_CompassSetpoint = -1; |
NCForcesNewDirection = 0; // allows Yawing without CareFree (Yawing at Coming Home) |
} |
} |
// ++++++++++++++++++++++++++++ |
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__)) |