LaunchPad Flight Controller

1ย เชนเชœเชพเชฐ+
เชกเชพเช‰เชจเชฒเซ‹เชก
เช•เชจเซเชŸเซ‡เชจเซเชŸเชจเซเช‚ เชฐเซ‡เชŸเชฟเช‚เช—
เชชเซเชฐเชคเซเชฏเซ‡เช•
เชธเซเช•เซเชฐเซ€เชจเชถเซ‰เชŸ เช›เชฌเซ€
เชธเซเช•เซเชฐเซ€เชจเชถเซ‰เชŸ เช›เชฌเซ€
เชธเซเช•เซเชฐเซ€เชจเชถเซ‰เชŸ เช›เชฌเซ€
เชธเซเช•เซเชฐเซ€เชจเชถเซ‰เชŸ เช›เชฌเซ€
เชธเซเช•เซเชฐเซ€เชจเชถเซ‰เชŸ เช›เชฌเซ€
เชธเซเช•เซเชฐเซ€เชจเชถเซ‰เชŸ เช›เชฌเซ€

เช† เชเชชเชจเซเช‚ เชตเชฐเซเชฃเชจ

This is a flight controller app used for a quadcopter in X-configuration.

It is written for the Tiva C Series TM4C123G LaunchPad running at 80 MHz.

More information can be found at the following blog posts: http://blog.tkjelectronics.dk/2015/01/launchpad-flight-controller and http://blog.tkjelectronics.dk/2015/08/bachelors-thesis-launchpad-flight-controller.

Flight controller source code: https://github.com/Lauszus/LaunchPadFlightController

Android app source code: https://github.com/Lauszus/LaunchPadFlightControllerAndroid

# Features

* Rate mode, self level mode, heading hold and altitude hold
- __AUX1:__ Use 3-POS switch for self level and heading hold. At first position both are off, at second position self level is on and at third position both are on
- __AUX2:__ Use a 3-POS switch for altitude hold. Note that self level mode must be activated for altitude hold to work! At first position altitude hold is turned off, at second position altitude hold will use the distance measured using the sonar and at the third position altitude hold will be using the altitude estimated using the barometer and accelerometer
* Store PID values, calibration values etc. in EEPROM
* Gyro, accelerometer & magnetometer calibration routine
- Gyro is calibrated at startup
- Accelerometer and magnetometer calibration routine can be activated in the code or by using the Android app
- The magnetometer turns on the Blue LED while calibrating
+ Rotate flight controller slowly along all three axis
* Arm/disarm using rudder
* Status LEDs
* Supports CPPM receivers
* Gyro & accelerometer (MPU-6500 or MPU-9250)
* Magnetometer (HMC5883L or AK8963 (inside MPU-9250))
* Barometer (BMP180)
* Ultrasound sensor aka sonar (HC-SR04)
* [Android application](https://github.com/Lauszus/LaunchPadFlightControllerAndroid)
* OneShot125 ESC support
* Buzzer feedback
เช† เชฐเซ‹เชœ เช…เชชเชกเซ‡เชŸ เช•เชฐเซเชฏเซเช‚
7 เชซเซ‡เชฌเซเชฐเซ, 2017

เชกเซ‡เชŸเชพ เชธเชฒเชพเชฎเชคเซ€

เชกเซ‡เชตเชฒเชชเชฐ เชคเชฎเชพเชฐเซ‹ เชกเซ‡เชŸเชพ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชเช•เชคเซเชฐเชฟเชค เช…เชจเซ‡ เชถเซ‡เชฐ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡ เชธเชฎเชœเชตเชพเชฅเซ€ เชธเซเชฐเช•เซเชทเชพเชจเซ€ เชถเชฐเซ‚เช†เชค เชฅเชพเชฏ เช›เซ‡. เชคเชฎเชพเชฐเชพ เชฆเซเชตเชพเชฐเชพ เชเชชเชจเซ‹ เช‰เชชเชฏเซ‹เช—, เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เชคเซ‡ เชชเซเชฐเชฆเซ‡เชถ เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เช‰เช‚เชฎเชฐเชจเชพ เช†เชงเชพเชฐเซ‡ เชกเซ‡เชŸเชพเชจเซ€ เชชเซเชฐเชพเช‡เชตเชธเซ€ เช…เชจเซ‡ เชธเซเชฐเช•เซเชทเชพ เชชเชฆเซเชงเชคเชฟเช“ เช…เชฒเช—-เช…เชฒเช— เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เชกเซ‡เชตเชฒเชชเชฐ เชฆเซเชตเชพเชฐเชพ เช† เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เชคเซ‡เชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.
เชคเซเชฐเซ€เชœเชพ เชชเช•เซเชทเซ‹ เชธเชพเชฅเซ‡ เช•เซ‹เชˆ เชกเซ‡เชŸเชพ เชถเซ‡เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเซ‹ เชจเชฅเซ€
เชกเซ‡เชตเชฒเชชเชฐ เชกเซ‡เชŸเชพ เชถเซ‡เชฐ เช•เชฐเชตเชพเชจเซ€ เช˜เซ‹เชทเชฃเชพ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชงเซ เชœเชพเชฃเซ‹
เช•เซ‹เชˆ เชกเซ‡เชŸเชพ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเซ‹ เชจเชฅเซ€
เชกเซ‡เชตเชฒเชชเชฐ เชกเซ‡เชŸเชพ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช˜เซ‹เชทเชฃเชพ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชงเซ เชœเชพเชฃเซ‹

เชจเชตเซเช‚ เชถเซเช‚ เช›เซ‡

Initial release