UAVX Multicopter Flight Controller.

Dependencies:   mbed

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;
         }
     }