Откройте главный файл двойным щелчком или через меню Файл | Открыть
. При этом в среде Arduino IDE откроются все файлы проекта. Сейчас нас интересует только файл config.h. В нем подробно расписана конфигурация прошивки. Остальные файлы, если вы не имеете четкого понимания своих действий, лучше не трогать.Механизм конфигурирования прошивки MultiWii, как, впрочем, и многих других программ для микроконтроллеров, основан на так называемых "дефайнах" — служебных директивах компилятора #define (определить). После этой директивы через пробел следуют имя параметра и его значение. В коде программы вместо конкретного значения указывают имя параметра. Во время обработки программного кода компилятор отыскивает имя параметра и автоматически подставляет вместо него соответствующее значение.
Например, если определен некий параметр
#define MY_PARAMETER 10
и он несколько раз используется в разных местах очень длинной программы, то впоследствии нам достаточно лишь один раз заменить его значение в определении, а остальные замены сделает компилятор. Для удобства настройки все необходимые определения вынесены в отдельный файл проекта и снабжены комментариями.
Наличие или отсутствие определений, указанных без значения, используется для того, чтобы иметь возможность скомпилировать разные варианты программы. Например, имеются два определения
#define HELICOPTER
//#define AIRPLANE
при этом второе определение закрыто символом комментария // и невидимо для компилятора. Теперь, если в программе встретятся такие два фрагмента:
#ifdef HELICOPTER
Фрагмент программы 1;
#endif
#ifdef AIRPLANE
Фрагмент программы 2;
#endif
то компилятор обработает первый фрагмент кода и проигнорирует второй, потому что определение airplane закомментировано и не существует. И наоборот, если мы закомментируем определение helicopter и раскомментируем airplane, to будет скомпилирован второй фрагмент кода.
Существуют и более сложные условные конструкции директив компилятора, но нам сейчас достаточно знать два метода, применяемые при пользовательском конфигурировании прошивки: задание численных значений и комментирование/раскомментирование имен параметров.
В группе однотипных параметров должна быть раскомментирована только одна строка. Если вы раскомментировали новую строку, не забудьте закрыть комментарием предыдущую. В противном случае возникнет неоднозначность, которая приведет к ошибке компиляции, либо неправильной работе прошивки.
Итак, щелчком на закладке в окне IDE откройте файл config.h. Сейчас мы сконфигурируем по порядку самые необходимые параметры. После этого нужно загрузить прошивку в контроллер и проверить, как он работает. По мере подключения внешних модулей (GPS, дисплей и т. д.) мы будем вновь обращаться к настройке прошивки.
Тип рамы
В секции 1 — basic setup найдите и раскомментируйте строку, которая обозначает Х-образную раму:
#define QUADX
Минимальный рабочий газ
Внимание!
Помните, что параметры сигналов, поступающих с приемника на контроллер, и сигналов, поступающих с выходов контроллера на моторы или сервомашинки, — это совершенно разные значения. Контроллер перерабатывает входные сигналы согласно своим алгоритмам. При настройке прошивки используются длительности как входных, так и выходных сигналов.
Минимальный рабочий газ означает ^длительность выходных импульсов, поступающих с контроллера на регуляторы в режиме ожидания, при минимальном положении рукоятки газа на пульте. Из соображений безопасности настоятельно рекомендуется задавать это значение таким, чтобы при активированных моторах (режим armed) пропеллеры вращались с минимальной скоростью, предупреждая об опасности.
//#define MINTHROTTLE 1300 // for Turnigy Plush ESCs 10A
//#define MINTHROTTLE 1120 // for Super Simple ESCs 10A
//#define MINTHROTTLE 1064 // special ESC (simonk)
//#define MINTHROTTLE 1050 // for brushed ESCs like ladybird
#define MINTHROTTLE 1150 // (*)