Платы CopterControl, CC3D, LibrePilot, Revolution от OpenPilot

river3

Вот первый мини ролик, как оно летает 😛, пилот из меня пока некудышный но всёж.

Комплект: X коптер
Вес: 1600г
Моторы: RC Timer BL 2830/14 750kv
ESC: RC Timer 30A
Винты: APC 10x3,8
Мозги CC OpenPilot (самоделка)
Приёмник: Avionix 2,4G
Аккум: 3300
Рама алюмин.10x10мм + тексталит основа

Sci_Rosso
river3:

Вот первый мини ролик, как оно летает

Летает оно зашибись, особенна если учесть близость стен и вообще комнату, достаточно маленькую, потому и колбасит от потоков воздуха.
На улице или в большом зале ваще зашибись будет…

river3:

пилот из меня пока некудышный но всёж.

“Никудышный пилот” ващет атлична справляицца, потому бум считать что КМБ (курс мол. бойца) у него ваще на отл. пройден… 😃

newb1e

Dankers продает 100 плат для тех кто очень долго и безуспешно пытается купить CC

I know some people having been trying to get a CC for months, I really feel bad about it and I hope to try and correct it.

If you are one of those people, can you please post here. I have 100 boards set aside for just you guys.

…openpilot.org/…/page__view__findpost__p__42370

devv

Налетался что ли …
Подцепил батарею к коптеру. Арминг. Тишина.
Подключил платку к компу. Смотрю настроек 0.
Скидал все как было. Сохранил. работает. Стоит сделать Ресет или отключить УСБ с батарей и потом при подключении в Aircraft Type - Fixeв Wing
Хотя кривая моя на графике.
Выбираю Мультиротор. Показывает мой Х но миксы 0 0 1
Выбираю +, Миксы перескакивают на 100 100 50
Меняю на Х: 50 50 50
Принять. Сохранить. Всё ок.
Калибрую Аксель. Летает. Стоит обесточить платку как опять в Aircraft глюки.

Очистку всех настроек и новую настройку делал. Так же всё.

Что может быть ?

river3

попробуй перепрашиться с самого бутлоадера, а вообще похоже что Flash глючит. Если что то её поменять 1 мин.

devv
river3:

Если что то её поменять 1 мин.

поменять на что ?

river3
devv:

поменять на что ?

ну если дело в ней то на эту микруху W25X40BVSNIG-ND (Flash 4Mbit)
просто все настройки держутся в ней, так что я и предпалагаю что просто при пайки её могли пережечь и теперь глючит. Тоже самое было у смалтима в АП после пережарки меги.

Piranha

Ну дык спасибо ему за это!!

Вы мне лучше скажите как патчи заливать и куда?
как мне вот это провернуть?

"I modified your code and turned it into a patch. It’s a patch against `next`, so just save it to `camera_stab.diff` (in the trunk directory) and apply it with
patch < camera_stab.diff "
Я типо не программер и пока не въеду где этот патч взять и как его сохранить в `camera_stab.diff`???

Piranha

Да видел я что он допиливает 😃
Но яж хочу всё знать! В частности как и куда патчи впендюривать 😃

Bluebird

Дим, ты же в курсе, для того кто имеет станок - выточить втулку раз плюнуть 😉 У кого станка нет - мучайся дрелью и надфилем, но выйдет хуже 😉
Там джит, компиляция, патчи, ветки, и прочая прочая… Колдовство вообщем

Volver
Piranha:

Да видел я что он допиливает
Но яж хочу всё знать! В частности как и куда патчи впендюривать

Если узнаешь как, дай остальным знать, т.к. вот вот придет подвес (тамжню за ногу!)

Piranha

Ну дык ято тоже станок свой дрелью и напильником делал … 😉
А джит там ненужен по-моиму! Только бубен нужен волшебный

Гы, Алил, долго тебе подвес идет!!! Я за это время уже успел один купить второй сделать 😃

Volver

A его три недели делали, тк ждали ремни и валики дольше обычного, а потот по ошибке почта отправила их во францию. Оттуда переслали в рашу. 😦

HikeR
Piranha:

Я типо не программер и пока не въеду где этот патч взять и как его сохранить в `camera_stab.diff`???

если цитата с git.openpilot.org, то в начале либо в конце обсуждалки должны быть ссылки на патчи, типа как тут (camera_stab.diff там есть, но 4-х месячной давности).

Bluebird:

Там джит, компиляция, патчи, ветки, и прочая прочая… Колдовство вообщем

ну не все так страшно. если искомый camera_stab.diff найдется, то отпостить инструкцию в стиле “скачать, нажать, запустить…” нет проблем (только не для мака 😉

Bluebird
Piranha:

Но вся ссылка заключена вот в этой фразе - It’s a patch against `next`

Будет в следующей прошивке 😉
Насколько я понимаю в движении мизинца на левой руке, трясущей колдовской бубен на расстоянии 233 мм от клавиши Enter на цифровой клавиатуре. 😉

HikeR

дык это, все что в теге code и есть текст патча, который нужно сохранить в файлик с указанным именем.
ну а дальше все зависит от того, что уже имеется установленного из: Git, компилятор для ARM, исходники OP.

Piranha

Дим, даешь ЛикБез! 😃
Вот как раз ничего не установлено из того что ты перечислил 😦

HikeR

предполагается, что все барахло будет лежать в d:\devel

Git for Windows, качать отсюда - code.google.com/p/msysgit/downloads/list?can=3&q=o… (текущая версия - Git-1.7.8-preview20111206.exe)

шаги установщика:

  • запускаем, на первом экране - Next
  • читаем лицензию, соглашаемся - Next
  • путь установки, отвечаем “d:\devel\Git” - Next
  • снимаем все галки с опций, можно оставить “Use a TrueType font…” для красоты - Next
  • если не нужна строчка в меню “Пуск”, ставим галку “Don’t create ля-ля-ля” - Next
  • чтобы не захламлять систему выбираем самую первую опцию “Use Git Bash only” - Next
  • про SSH отвечаем как есть “Use OpenSSH” - Next
  • довольно важная опция “Checkout Windows-style, commit Unix-style line ending” - Next
  • ждем окончания установки, снимаем галку “View release notes” - Finish

Git установлен.

качаем исходники OpenPilot-а.

  • запускаем “d:\devel\Git\Git Bash.lnk

  • в черном-черном окне пишем:
    cd /d/devel
    обратите внимание на отсутсвие двоеточия и обратные слеши, теперь мы почти в никс-окружении.

  • собственно загрузка:
    git clone git://git.openpilot.org/OpenPilot.git OpenPilot
    выглядит это примерно вот так:

    $ git clone git://git.openpilot.org/OpenPilot.git OpenPilot
    Cloning into 'OpenPilot'...
    remote: Counting objects: 62245, done.
    remote: Compressing objects: 100% (17767/17767), done.
    remote: Total 62245 (delta 43669), reused 60840 (delta 42304)
    Receiving objects: 100% (62245/62245), 118.32 MiB | 497 KiB/s, done.
    Resolving deltas: 100% (43669/43669), done.
    

    скачивается ~120 Мб, на диске займет ~270 Мб

Python for Windows

  • идем на офсайт и качаем последнюю версию - www.python.org/download/ (текущая Python 2.7.2 Windows Installer)
  • стартовый экран, “Install for all users” - Next
  • выбор места установки, “d:\devel\Python” - Next
  • выбор дополнительных фишек, убираем все (“Entire feature will be unavailable”), оставляем только самую первую строчку - Next
  • ждем окончания установки - Finish

компилятор для ARM

  • идем на очередной офсайт - sourcery.mentor.com/sgpp/lite/arm/…/release1802, опять берем последнюю версию Sourcery G++ Lite 2011.03-42 (IA32 Windows Installer)
  • запускаем, ждем - Next
  • соглашаемся с лицензией - Next
  • читаем состав пакета - Next
  • тип установки “Custom” - Next
  • выбираем только сам тулчайн (первая галка), галку с документации снимаем - Next
  • каталог установки “d:\devel\CodeSourcery” - Next
  • не меняем системные переменные, “Do not modify PATH” - Next
  • не создаем тучу иконок и ярлыков, “Don’t create icons” - Next
  • смотрим итоги нашего выбора - Next
  • все готово, выходим - Done

проверяемся, в каталоге d:\devel должны быть следующие подкаталоги:

CodeSourcery
Git
Python
OpenPilot

подготовка закончена, для сборки/пересборки прошивок все имеется.

To Be Continued…

Piranha

Дим, огромадное тебе спасибо! Будем ковыряться;)

HikeR

так как прошивка и наземная станция неразлучно связаны узами UAV Objects, то придется пере-/собирать и саму станцию. когда-то ветка next не особо сильно отличалась от базовой master и новые прошивки можно было собирать и закачивать и так. но я давно не следил за развитием, к тому же разработчики крайне не рекомендуют иметь GSC и прошивку из разных веток. не будем с ними спорить, а подготовимся к закачке Qt libraries.

не будем пока что использовать полный Qt SDK (все-в-одном) так как

  1. он здоровенный и в данное время качается как-то не очень
  2. он еще не обновился
  3. для сборки/пересборки хватит и просто библиотек
  4. если захочется поковыряться в коде наземной станции, то в дальнейшем можно скачать отдельно Qt Creator

установка компилятора MinGW
архив в виде обычного zip-файла распаковываем в каталог d:\devel, на выходе должен получиться каталог d:\devel\MinGW

установка Qt libraries

  • проверяем место на системном диске, при распаковке во временный каталог Qt займет ~1.6 Гб
  • запускаем qt-win-opensource-4.8.0-mingw.exe - Next
  • читаем еще одно приветственное сообщение - Next
  • соглашаемся с лицензией - Next
  • выбираем все 2 компонента - Next
  • путь установки “d:\devel\Qt\4.8.0” - Next
  • смотрим на название добавляемого пункта в “Пуске” - Next
  • теперь нужно указать расположение компилятора MinGW, “d:\devel\MinGW” - Next
  • ждем окончания установки - Next
  • снимаем галки с запуска демок и документации - Finish

еще одна нужная штука для обладателей >2 ядерных процессоров, jom (ftp://ftp.qt.nokia.com/jom/jom.zip) здорово распаралеливает процесс компиляции. без нее наземная станция на 4-х ядерном проце собирается реально в 4 раза дольше. скачать, распаковать в d:\devel\Qt\4.8.0\bin\

проверка установки
закрываем все что наоткрывали ранее (в том числе Git шелл)
в каталоге d:\devel создаем файлик firmware.cmd следующего содержания (или качаем готовый - ):

@echo off

set PATH=d:\devel\CodeSourcery\bin
set PATH=%PATH%;d:\devel\Git\bin
set PATH=%PATH%;d:\devel\Python
set PATH=%PATH%;d:\devel\Qt\4.8.0\bin
set PATH=%PATH%;d:\devel\MinGW\bin
set PATH=%PATH%;%SystemRoot%\System32

cd d:\devel\OpenPilot
cmd

:eof

это у нас будет подготовленная среда для сборки прошивки.

запускаем его, наблюдаем консоль с заголовком MINGW32:/d/devel/OpenPilot, далее все команды набираем в ней.

  • проверяем ARM кросс-компилятор
    arm-none-eabi-gcc --version
    вывод команды:

    $ arm-none-eabi-gcc --version
    arm-none-eabi-gcc.exe (Sourcery G++ Lite 2011.03-42) 4.5.2
    Copyright (C) 2010 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
  • проверяем Python
    python --version
    вывод команды:

    $ python --version
    Python 2.7.2
    
  • проверка Qt библиотек
    qmake -query
    вывод:

    $ qmake -query
    QT_INSTALL_PREFIX:d:\devel\Qt\4.8.0
    QT_INSTALL_DATA:d:\devel\Qt\4.8.0
    QT_INSTALL_DOCS:d:\devel\Qt\4.8.0\doc
    QT_INSTALL_HEADERS:d:\devel\Qt\4.8.0\include
    QT_INSTALL_LIBS:d:\devel\Qt\4.8.0\lib
    QT_INSTALL_BINS:d:\devel\Qt\4.8.0\bin
    QT_INSTALL_PLUGINS:d:\devel\Qt\4.8.0\plugins
    QT_INSTALL_IMPORTS:d:\devel\Qt\4.8.0\imports
    QT_INSTALL_TRANSLATIONS:d:\devel\Qt\4.8.0\translations
    QT_INSTALL_CONFIGURATION:d:/devel/Qt/4.8.0
    QT_INSTALL_EXAMPLES:d:\devel\Qt\4.8.0\examples
    QT_INSTALL_DEMOS:d:\devel\Qt\4.8.0\demos
    QMAKE_MKSPECS:d:\devel\Qt\4.8.0\mkspecs
    QMAKE_VERSION:2.01a
    QT_VERSION:4.8.0
    
  • проверка компилятора MinGW
    gcc --version
    вывод:

    $ gcc --version
    gcc (GCC) 4.4.0
    Copyright (C) 2009 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    

если все соответствует, то можно продолжать.

To Be Continued…

HikeR

дальнейшей процесс отличается от рекомендованного разработчиками метода, который подразумевает автоматическую сборку всего и вся одной командой. сколько я не пытался повторить его под виндой все время вылезали какие-то мелкие косяки, описание исправления которых займет еще столько же времени и объема текста. поэтому будем делать все пошагово.

UAV Objects
с начала соберем сакральный центр всей системы — UAV Objects, от которых зависит и прошивка и наземная станция. первую сборку будем делать в ветке master.

  • опять закрываем все что можно

  • запускаем вышесозданный батник d:\devel\firmware.cmd, получаем обычную виндовую консоль

  • проверяем текущий каталог, должен быть d:\devel\OpenPilot

  • вводим команду mingw32-make uavobjects

  • в конце должно быть 5 повторяющихся строк вида

    Done: processed 47 XML files and generated 47 objects with no ID collisions. Total size of the datafields is 1576 bytes.
    

это значит, что все объекты собрались и готовы к использованию

сборка прошивки

  • вводим команду cs-make coptercontrol

  • вывод закончится вот так:

     LD         build/fw_coptercontrol/fw_coptercontrol.elf
     BIN/HEX    build/fw_coptercontrol/fw_coptercontrol.bin
     FWINFO     build/fw_coptercontrol/fw_coptercontrol.bin.firmwareinfo.c
     CC         build/fw_coptercontrol/fw_coptercontrol.bin.firmwareinfo.c
     BIN/HEX    build/fw_coptercontrol/fw_coptercontrol.bin.firmwareinfo.bin
     OPFW       build/fw_coptercontrol/fw_coptercontrol.opfw
    

последняя строка намекает на расположение получившегося бинарного образа готового для загрузки, конкретно он находится по пути d:\devel\OpenPilot\build\fw_coptercontrol\fw_coptercontrol.opfw

этот файл можно скопировать в надежное место (и переименовать его в firmware-master.opfw, например), для отката на стабильную версию или для других целей. если я не ошибаюсь, то он вполне подходит для использования с наземной станцией выложенной в вики проекта.

переход на next
теперь же переключимся на ветку next, чтобы быть на острие прогресса и поиметь кучу новых фишек и багов.

  • если закрыли консоль, то открываем обратно (d:\devel\firmware.cmd)

  • вводим команду git checkout next
    вывод:

    $ git checkout next
    Branch next set up to track remote branch next from origin.
    Switched to a new branch 'next'
    

    переключились, теперь повторяем процесс сборки UAV Objects:

  • вводим команду mingw32-make uavobjects

  • в конце должно быть 5 повторяющихся строк вида

    Done: processed 50 XML files and generated 50 objects with no ID collisions. Total size of the data fields is 1672 bytes.
    

    видите? количество объектов изменилось, поэтому старые наземные станции могут неправильно понять новые прошивки

  • пересобираем прошивку
    вводим команду cs-make coptercontrol
    вывод заканчивается так:

     LD         build/fw_coptercontrol/fw_coptercontrol.elf
     BIN/HEX    build/fw_coptercontrol/fw_coptercontrol.bin
     FWINFO     build/fw_coptercontrol/fw_coptercontrol.bin.firmwareinfo.c
     CC         build/fw_coptercontrol/fw_coptercontrol.bin.firmwareinfo.c
     BIN/HEX    build/fw_coptercontrol/fw_coptercontrol.bin.firmwareinfo.bin
     OPFW       build/fw_coptercontrol/fw_coptercontrol.opfw
    

копируем файл прошивки d:\devel\OpenPilot\build\fw_coptercontrol\fw_coptercontrol.opfw в другое надежное место и переименовать в firmware-next.opfw, чтобы не затереть первый вариант.

самое страшное и ужасное
настала очередь и самой наземной станции. тут нужны очередные подготовительные действия:

  • скачиваем библиотеку SDL с офсайта (SDL-devel-1.2.14-mingw32.tar.gz)
  • распаковываем во временный каталог (winrar или 7-zip понимают архивы .tar.gz)
  • теперь нужно скопировать несколько файлов и каталогов поближе к компилятору:
    файл SDL-1.2.14\bin\SDL.dll в каталог d:\devel\MinGW\bin
    каталог SDL-1.2.14\include\SDL в каталог d:\devel\MinGW\include
    3 файла из SDL-1.2.14\lib в каталог d:\devel\MinGW\lib

теперь осталось только запустить компиляцию, тут я предлагаю 2 варинта: почти официальный, минимум усилий, но очень долгая компиляция; свой вариант, много предварительной рутины, но время сборки меньше в 2-4 раза.

------------------------------------------------
тут я останавливаюсь, так как злосчастный плагин Modelview со своими зависимостями перестал собираться. насколько я помню, ранее его отключили для Mac-ов, теперь значит дошла очередь и до винды.