Prof Greg Egan
/
UAVXArm-GKE
UAVX Multicopter Flight Controller.
Diff: params.c
- Revision:
- 2:90292f8bd179
- Parent:
- 1:1e3318a30ddd
--- a/params.c Fri Feb 25 01:35:24 2011 +0000 +++ b/params.c Tue Apr 26 12:12:29 2011 +0000 @@ -2,7 +2,7 @@ // = UAVXArm Quadrocopter Controller = // = Copyright (c) 2008 by Prof. Greg Egan = // = Original V3.15 Copyright (c) 2007 Ing. Wolfgang Mahringer = -// = http://code.google.com/p/uavp-mods/ http://uavp.ch = +// = http://code.google.com/p/uavp-mods/ = // =============================================================================================== // This is part of UAVXArm. @@ -56,35 +56,19 @@ void Legacy(void) { static uint8 p; - - - for ( p = 0; p <MAX_PARAMETERS; p++ ) // brute force + for ( p = 0; p < MAX_PARAMETERS; p++ ) // brute force K[p] = (float)P[p]; - - // Rate Control - K[RollKp] *= 2.6 * MAGIC; - K[RollKi] *= 20.7 * MAGIC; - K[RollKd] = -K[RollKd] * 0.021 * MAGIC; - K[RollIntLimit] *= DEGRAD; + + GRollKp = K[RollKp]; + GRollKi = K[RollKi]; + GRollKd = K[RollKd]; - K[PitchKp] *= 2.6 * MAGIC; - K[PitchKi] *= 20.7 * MAGIC; - K[PitchKd] = -K[PitchKd] * 0.021 * MAGIC; - K[PitchIntLimit] *= DEGRAD; - - K[YawKp] *= 2.6 * MAGIC; - K[YawKi] *= 41.4 * MAGIC; - K[YawKd] = -K[YawKd] * 0.0004 * MAGIC; + GPitchKp = K[PitchKp]; + GPitchKi = K[PitchKi]; + GPitchKd = K[PitchKd]; - // Angle Control - - // not yet - - // Inertial Damping - K[VertDampKp] *= 0.1; // one click/MPS - K[HorizDampKp] *= 0.1; - K[VertDampDecay] *= 0.01; - K[HorizDampDecay] *= 0.01; + K[RollIntLimit] *= (DEGRAD * 10.0); + K[PitchIntLimit] *= (DEGRAD * 10.0); // Altitude Hold K[AltKp] *= 0.625; @@ -97,7 +81,11 @@ K[Balance] = ( 128.0 + (float)P[Balance])/128.0; - K[CompassKp] = P[CompassKp] / 4096.0; + K[CompassKp] = P[CompassKp] * 0.01; + + K[YawKp] *= 2.6; + K[YawKi] *= 4.14; // was 41.4 + K[YawIntLimit] = P[YawIntLimit] * 256.0 /1000.0; // Camera @@ -267,7 +255,7 @@ if ( F.AllowNavAltitudeHold ) DoBeep100mS(4, 4); ParametersChanged |= true; - Beeper_OFF; + //zzz Beeper_OFF; LEDBlue_OFF; } }