UAVX Multicopter Flight Controller.

Dependencies:   mbed

Revision:
2:90292f8bd179
Parent:
0:62a1c91a859a
--- a/utils.c	Fri Feb 25 01:35:24 2011 +0000
+++ b/utils.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.
@@ -25,14 +25,17 @@
 void Delay100mS(int16);
 void DoBeep100mS(uint8, uint8);
 void DoStartingBeeps(uint8);
+void DoBeeperPulse1mS(uint16);
 void CheckAlarms(void);
 real32 SlewLimit(real32, real32, real32);
 real32 DecayX(real32, real32);
-void LPFilter(real32*, real32*, real32, real32);
+real32 LPFilter(real32, real32, real32);
 void Timing(uint8, uint32);
 
 TimingRec Times[(UnknownT+1)];
 
+uint32 BeeperOnTime, BeeperOffTime;
+
 void InitMisc(void) {
     int8 i;
 
@@ -88,18 +91,29 @@
         DoBeep100mS(2, 8);
 
     DoBeep100mS(8,0);
+
 } // DoStartingBeeps
 
+void DoBeeperPulse1mS(int16 d) {
+
+    if ( !F.BeeperInUse ) {
+        mS[BeeperTimeout] = mSClock() + 500L;
+        Beeper_ON;
+    }
+
+//   BeeperOnTime = d;
+//   BeeperOffTime = 0x7ffffff;
+
+} // DoBeeperPulse1mS
+
 void CheckAlarms(void) {
 
-    static uint16 BeeperOnTime, BeeperOffTime;
-
     F.BeeperInUse = F.LowBatt || F.LostModel  || (State == Shutdown);
 
     if ( F.BeeperInUse ) {
         if ( F.LowBatt ) {
-            BeeperOffTime = 750;
-            BeeperOnTime = 250;
+            BeeperOffTime = 500;
+            BeeperOnTime = 500;
         } else
             if ( State == Shutdown ) {
                 BeeperOffTime = 4750;
@@ -143,13 +157,9 @@
     return (i);
 } // DecayX
 
-void LPFilter(real32* i, real32* ip, real32 FilterF, real32 dT) {
-    static real32 FilterA;
+real32 LPFilter(real32 i, real32 ip, real32 A) {
 
-    FilterA = dT / ( FilterF + dT );
-
-    *i = *ip + (*i - *ip) * FilterA;
-    *ip = *i;
+    return ( ip + (i - ip) * A );
 
 } // LPFilter