Prof Greg Egan
/
UAVXArm-GKE
UAVX Multicopter Flight Controller.
Diff: UAVXArm.c
- Revision:
- 1:1e3318a30ddd
- Parent:
- 0:62a1c91a859a
- Child:
- 2:90292f8bd179
--- a/UAVXArm.c Fri Feb 18 22:28:05 2011 +0000 +++ b/UAVXArm.c Fri Feb 25 01:35:24 2011 +0000 @@ -22,21 +22,15 @@ volatile Flags F; -uint32 T1; - -boolean OK; -uint8 ch; - int main(void) { InitMisc(); InitHarness(); - + InitRC(); InitTimersAndInterrupts(); - GreenLED = 1; InitLEDs(); - + InitParameters(); ReadStatsPX(); InitMotors(); @@ -46,6 +40,7 @@ InitAccelerometers(); InitGyros(); InitIRSensors(); + InitCompass(); InitRangefinder(); @@ -56,7 +51,7 @@ InitBarometer(); ShowSetup(true); - + I2C0.frequency(MinI2CRate); FirstPass = true; @@ -65,6 +60,9 @@ StopMotors(); LightsAndSirens(); // Check for Rx signal, disarmed on power up, throttle closed, gyros ONLINE + + GetAttitude(); + MixAndLimitCam(); State = Starting; F.FirstArmed = false; @@ -98,8 +96,7 @@ ZeroStats(); DoStartingBeeps(3); - SendParamPacket(0); - SendParamPacket(1); + SendParameters(ParamSet); mS[ArmedTimeout] = mSClock() + ARMED_TIMEOUT_MS; mS[RxFailsafeTimeout] = mSClock() + RC_NO_CHANGE_TIMEOUT_MS; @@ -176,10 +173,11 @@ DoControl(); MixAndLimitMotors(); + OutSignals(); + MixAndLimitCam(); - OutSignals(); -// zzz??? need to do some minor scheduling here with housekeeping - GetTemperature(); + + GetTemperature(); GetBattery(); CheckAlarms(); CheckTelemetry();