Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1774 → Rev 1775

/branches/dongfang_FC_rewrite/backup/readme.txt
0,0 → 1,45
Dongfang's FC firmware rewrite
------------------------------
 
The basis was V0.74d Code Redesign Killagreg.
 
Goal:
- To be the preferred hacker-friendly FC firmware.
- To use H&Is design experience but make the code clearer and easier to extend+modify.
 
Non-goal:
- To follow up on all changes and all new features in the H&I firmware.
 
Features:
- Readable, reasonably documented source code makes it easy to implement the features you
want yourself (and to remove those you don't like).
- The code was broken into smaller pieces and modularized (fc.c in particular).
Global variables are (almost) only written to by one module each.
- New or experimental hardware is easy to incorporate. Gyro and acc. meter axes are reversible,
and resetting the sensitivity actually works.
- New or experiemental controls are easy to incorporate. All controls (eg. R/C, external
serial, NC, automatic emergency landing pilot and automatic altitude controller pilot)
are potentially abstractable to one interface.
- Reversal of gyro or accelerometer axes is easy. It is easy to adapt the firmware for
upside down installation of the FC too.
- The firmware is compatible with MK-Tool. This may be changed, if somebody writes a new
MK-Tool which is easy to adapt for addition of / removal of features.
Non-features (currently):
- Navi support temporarily removed (should be added again later).
- Compass support temporarily removed (should be added again later).
- Parts of menu.c are dummy implemented or removed. It is possible that menu.c and all use
of printf will be removed later, and replaced by something else (debud on steroids).
- Control rate limiter removed.
- Altitude control temporarily removed (should be added again later).
- Automatic board detection removed. This firmware is for compiling yourself, possibly
with nonstandard or experimental hardware. That conflicts with automatically switching
between standard hardware versions, so the feature was removed. Instead, is was made
easy to choose gyro types etc. in the makefile.
 
How to build:
- Choose a gyro definition, depending on your hardware, and enable it in the makefile
and (GYRO=.....) and #include its header file in analog.h (how to make that follow the
makefile automatically?). Currently, ENC-03_FC1.3, ADXRS610_FC2.0 and invenSense are
supported (each has a .c and a .h file).
- make all