Переделка FY-20A на CC
Бутлоадер прошился нормально, сегодня распаял юсб разьём - фишка уже прикидывается Copter Control 😃 Потом припаял флешку, ну и осталось с исходниками разобраться. Вот тут вопрос - если всё так плохо с эклипсом, то может в чем то другом проект пересобрать основываясь на маке-файле, есть же кейл, иар… Ну может и ещё кто что посоветует?
есть же кейл, иар
- они ни разу не бесплатные
- проект все равно придется делать с нуля
- их компиляторы сгенерируют другой код (изменится время основного цикла, на него завязано абсолютно все)
проблем со сборкой ведь нет, написал “make coptercontrol”, получил через 3 минуты прошивку. лазить по исходникам с тем что есть неудобно, эклипс матерится на не найденные заголовки, отсутствующие дефайны и тд.
хотя если всякие кейлы могут построить проект на основе рабочего набора Makefile-ов, то можете и попробовать. только компилятор менять не стоит.
проблем со сборкой ведь нет, написал “make coptercontrol”, получил через 3 минуты прошивку. лазить по исходникам с тем что есть неудобно, эклипс матерится на не найденные заголовки, отсутствующие дефайны и тд.
Т.е. просто не обращать на это внимания?
пример. в главном makefile написано:
# Set to YES to build a FW version that will erase all flash memory
ERASE_FLASH ?= NO
эклипс ничего не знает про этот дефайн, поэтому даже при его задействовании при просмотре кода:
#ifndef ERASE_FLASH
/* Initialize watchdog as early as possible to catch faults during init */
PIOS_WDG_Init();
#endif
// ... skipped
#ifdef ERASE_FLASH
PIOS_Flash_W25X_EraseChip();
#endif
будет непонятно, выполняется эта часть или нет. а собственно сборка в эклипсе - это просто выполнение все той же команды “make coptercontrol”.
ветка andrey/CC_Guidance
В анонимном режиме запросить не удалось. Вероятно - только для участников проекта.
Придется подождать, пока ктониь из коллег по форуму до этого не дойдет.
в смысле “не удалось”?
hhr@HHR-WIN7 /d/devel_src
$ git clone git://git.openpilot.org/OpenPilot.git OpenPilotReadOnly
Cloning into 'OpenPilotReadOnly'...
remote: Counting objects: 71134, done.
remote: Compressing objects: 100% (23678/23678), done.
remote: Total 71134 (delta 49335), reused 65844 (delta 44919)
Receiving objects: 100% (71134/71134), 134.23 MiB | 591 KiB/s, done.
Resolving deltas: 100% (49335/49335), done.
hhr@HHR-WIN7 /d/devel_src
$ cd OpenPilotReadOnly/
hhr@HHR-WIN7 /d/devel_src/OpenPilotReadOnly (master)
$ git checkout andrey/CC_Guidance
Branch andrey/CC_Guidance set up to track remote branch andrey/CC_Guidance from origin.
Switched to a new branch 'andrey/CC_Guidance'
hhr@HHR-WIN7 /d/devel_src/OpenPilotReadOnly (andrey/CC_Guidance)
$ git remote -v
origin git://git.openpilot.org/OpenPilot.git (fetch)
origin git://git.openpilot.org/OpenPilot.git (push)
git clone git://git.openpilot.org/OpenPilot.git OpenPilotReadOnly
Так - проходит. Спасибо. Но где на офиициальных страничках проекта говорится о шаманском слове “OpenPilotReadOnly”?
Опять “внутренний круг” получается. 😃
“OpenPilotReadOnly” - это название каталога, в который сольется репозиторий. можно вместо него написать “OpenPilotFullWrite”, или “KatalogDlyaVsyakoyFigni”, ничего не измениться.
ничего не измениться.
Ага. Следущая команда:
$ git checkout andrey/CC_Guidance
как не проходила, так и не проходит. Пишет много слов, в частности:
D:\AviaSoft\Git\OpenPilotReadOnly>hed to a new branch ‘andrey/CC_Guidance’
error: pathspec ‘andrey/CC_Guidance’ did not match any file(s) known to git.
error: pathspec ‘Branch’ did not match any file(s) known to git.
…
дайте полный лог или скриншот на худой конец, а также вывод “git --version” и “git remote -v” в каталоге репозитория.
автор переделки ответил кратко, но ёмко 😃
там же ссылки на исходники (250Мб!!!).
I uploaded files for FY20 Servoo board and STM32 grogrammer.
Changes for use CC_SW without change original CPU (FY20 use stm32f103 rbt6).
I also read my FW from FY20 and is on file.
I also read my FW from FY20 and is on file. code.google.c.../downloads/list
Скачал, попробовал подменить файлы, прошивка собираться не хочет, ругается на CameraStab. Делаю вроде всё по инструкции Дмитрия. Житейский вопрос: как скопировать инфу, что выдаётся в окне cmd?
Это сделано, но всё равно в этой куче файлов разбираться и разбираться…😃 Какой компилятор использовать лучше для просмотра и редактирования исходников?
Mojno programirovat processor po port RC232 s pomoshti FlashLoaderDemonstrator (USB i vseh provodov nenujno svyazat…)
SW coptercontrol razpolojen na adrese 8003000.
Zdes postavil Pictures kak eto delaetsa.
Спасибо Stefan!
Вот что у меня получается на выходе
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
D:\devel\OpenPilot>mingw32-make uavobjects
d:/devel/MinGW/bin/mingw32-make -f Makefile.Debug
mingw32-make[2]: Nothing to be done for `first'.
- OpenPilot UAVObject Generator -
Done: processed 52 XML files and generated 52 objects with no ID collisions. Tot
al size of the data fields is 1762 bytes.
generating gcs code
- OpenPilot UAVObject Generator -
Done: processed 52 XML files and generated 52 objects with no ID collisions. Tot
al size of the data fields is 1762 bytes.
generating flight code
- OpenPilot UAVObject Generator -
Done: processed 52 XML files and generated 52 objects with no ID collisions. Tot
al size of the data fields is 1762 bytes.
generating python code
- OpenPilot UAVObject Generator -
Done: processed 52 XML files and generated 52 objects with no ID collisions. Tot
al size of the data fields is 1762 bytes.
generating matlab code
- OpenPilot UAVObject Generator -
Done: processed 52 XML files and generated 52 objects with no ID collisions. Tot
al size of the data fields is 1762 bytes.
generating java code
D:\devel\OpenPilot>cs-make coptercontrol
d:/devel/CodeSourcery/bin/cs-make -f Makefile.Debug
cs-make[2]: Nothing to be done for `first'.
- OpenPilot UAVObject Generator -
Done: processed 52 XML files and generated 52 objects with no ID collisions. Tot
al size of the data fields is 1762 bytes.
generating flight code
CC d:/devel/OpenPilot/flight/Modules/CameraStab/camerastab.c
../Modules/CameraStab/camerastab.c: In function 'attitudeUpdated':
../Modules/CameraStab/camerastab.c:118:15: error: 'CameraStabSettingsData' has n
o member named 'Inputs'
../Modules/CameraStab/camerastab.c:118:23: error: 'CAMERASTABSETTINGS_INPUTS_ROL
L' undeclared (first use in this function)
../Modules/CameraStab/camerastab.c:118:23: note: each undeclared identifier is r
eported only once for each function it appears in
../Modules/CameraStab/camerastab.c:118:58: error: 'CAMERASTABSETTINGS_INPUTS_NON
E' undeclared (first use in this function)
../Modules/CameraStab/camerastab.c:119:6: error: 'CameraStabSettingsData' has no
member named 'Inputs'
../Modules/CameraStab/camerastab.c:119:6: error: 'CAMERASTABSETTINGS_INPUTS_ACCE
SSORY0' undeclared (first use in this function)
../Modules/CameraStab/camerastab.c:122:15: error: 'CameraStabSettingsData' has n
o member named 'Inputs'
../Modules/CameraStab/camerastab.c:122:23: error: 'CAMERASTABSETTINGS_INPUTS_PIT
CH' undeclared (first use in this function)
../Modules/CameraStab/camerastab.c:123:6: error: 'CameraStabSettingsData' has no
member named 'Inputs'
../Modules/CameraStab/camerastab.c:126:15: error: 'CameraStabSettingsData' has n
o member named 'Inputs'
../Modules/CameraStab/camerastab.c:126:23: error: 'CAMERASTABSETTINGS_INPUTS_YAW
' undeclared (first use in this function)
../Modules/CameraStab/camerastab.c:127:6: error: 'CameraStabSettingsData' has no
member named 'Inputs'
cs-make[1]: *** [d:/devel/OpenPilot/build/fw_coptercontrol/camerastab.o] Error 1
cs-make: *** [fw_coptercontrol_opfw] Error 2
D:\devel\OpenPilot>cs-make coptercontrol
USB у меня уже распаян и залит boot правда наверное не тот… Но СС видит плату.
Полетели!
Поздравляю,
сегодня попробовал FY20 с код Андрею на квадрокоптере и работае хорошо,
летает отлично.
code.google.com/p/fy20-openpilot/downloads/list
Квадроцоптер собран на китайское шаси HJ450, no ето шаси нет разводки для моторов,
так что сделал дополнительную платы.
dealextreme.com/…/4-axis-hj450-multi-flame-wheel-f…
Завтра сделаю видео и положу.
Полетели!
Скажите, в чём заключается переделка?
Меняется схема…
Меняется загрузчик…
Меняется прошивка…
Если можно, расскажите поподробнее.
Скажите, в чём заключается переделка?
Допаивается разьём USB с обвязкой, допаивается SPI Flash, заливается бутлоадер и прошивка - это в кратце. Подробнее чуть позже напишу.
Да вот ещё подожду отчет Стефана по испытанию фишки с кодом Андрея. Интересно же как ЖПС работает:)
Подробнее чуть позже напишу.
Спасибо. Буду ждать. Фишка без дела пропадает 😃
Вот и видео.
У фи-30 есть шансы на вторую жизнь?