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

рмЖрмк рм╕рмкрнЛрм░рнНрмЯ