Создание собственной системы стабилизации
кстати, бесплатные компиляторы уже умеют задействовать FPU?
Ну вроде CodeSourcery ARM toolchain поддерживает FPU, тока я не в курсе, поддерживает ли F4
3.4.1. Enabling Hardware Floating Point
GCC provides three basic options for compiling floating-point code:
• Software floating point emulation, which is the default. In this case, the compiler implements
floating-point arithmetic by means of library calls.
• VFP hardware floating-point support using the soft-float ABI. This is selected by the
-mfloat-abi=softfp option. When you select this variant, the compiler generates VFP
floating-point instructions, but the resulting code uses the same call and return conventions as
code compiled with software floating point.
• VFP hardware floating-point support using the VFP ABI, which is the VFP variant of the Procedure
Call Standard for the ARM®Architecture (AAPCS). This ABI uses VFP registers to pass function
arguments and return values, resulting in faster floating-point code. To use this variant, compile
with -mfloat-abi=hard.
дык конкурентов-то нет, вот и творят чего хочут. ST когда еще выкатит свой вариант, да когда еще он до прилавков доберется…
Ну если там готовый софт, то да, может оно и стоит 150$ (хотя навряд ли).
LSM330DL@ST можно купить на Терраэлектронике, что для нас немного дальше чем в США😒 но терпимо.
да ладно?) я тут прал f103c8t6, тут же и светодиодные гирлянды и cp2102,кварцы планарные)LSM330DL едет новой почтой 1-3 дня
да ладно?) я тут прал f103c8t6, тут же и светодиодные гирлянды и cp2102,кварцы планарные)LSM330DL едет новой почтой 1-3 дня
Спасибо, это действительно лучше.
Ну вроде CodeSourcery ARM toolchain поддерживает FPU, тока я не в курсе, поддерживает ли F4
как я понял, ни фига не поддерживает, товарищ примерно так разъяснил:
CoeSourcery, к слову, можно считать погибшим, так как он был куплен, и те теперь везде суют свои шароваровые тулзы. Перспективы туманны.
Использовать CS можно, но он не поддерживает аппаратную плавающую точку. Потому вместо него используют самособранный порт тулчейна linaro. Я пару месяцев назад собирал windows MinGW версию с танцами с бубном, но получил нерабочий ld. С тех пор я этим вопросом не занимался до появления острой необходимости. Текущее состояние того порта я не знаю и даже ссылка на source где-то утрачена.
Дмитрий, а как мне правильно сделать слияние моей локальной ветки с другой веткой (это про CC), чтоб ненапортачить, а то смотрю есть такая sambas/mag_baro_testapp, но перейти нормально в неё немогу
serg@Pirat:~/OpenPilot$ git checkout sambas/mag_baro_testapp
error: Your local changes to the following files would be overwritten by checkout:
flight/CopterControl/Makefile
flight/Modules/Attitude/attitude.c
Please, commit your changes or stash them before you can switch branches.
Aborting
или мне просто переместить пока эти два файла?
запустился я на этой ветке, заброшена видать она давно, даже USB нет, так что несмог даже посмотреть что творится теперь…
спрятать свои патчи - git stash
слияние текущего состояния ветки с чем-то еще - git merge имя_ветки
восстановить свои патчи git stash apply
код для компаса можно стырить из Pololu (331 пост)
даже USB нет
GCS пересобирали? станция просто может не работать с несоответсвующими ветками.
да так в том то и дело что пересобрат, не у неё USB коннекта, сейчас попробую…
неполучилось -
serg@Pirat:~/OpenPilot$ git merge sambas/mag_baro_testapp
Auto-merging flight/CopterControl/Makefile
CONFLICT (content): Merge conflict in flight/CopterControl/Makefile
Auto-merging flight/CopterControl/System/coptercontrol.c
CONFLICT (content): Merge conflict in flight/CopterControl/System/coptercontrol.c
Auto-merging flight/CopterControl/System/inc/pios_config.h
CONFLICT (content): Merge conflict in flight/CopterControl/System/inc/pios_config.h
Auto-merging flight/CopterControl/System/pios_board.c
CONFLICT (content): Merge conflict in flight/CopterControl/System/pios_board.c
Auto-merging flight/PiOS/Boards/STM32103CB_CC_Rev1.h
CONFLICT (content): Merge conflict in flight/PiOS/Boards/STM32103CB_CC_Rev1.h
Auto-merging flight/PiOS/Common/pios_bmp085.c
CONFLICT (content): Merge conflict in flight/PiOS/Common/pios_bmp085.c
Auto-merging flight/PiOS/STM32F10x/pios_exti.c
CONFLICT (content): Merge conflict in flight/PiOS/STM32F10x/pios_exti.c
Auto-merging flight/PiOS/STM32F10x/pios_i2c.c
Automatic merge failed; fix conflicts and then commit the result.
может лучше зайти в ветку вытащить всё что нужно, а потом прикручивать к своей?
flight/CopterControl/Makefile - здесь я прописываю что хочу иметь в прошивке, а в станции?
ну вот же руководство к действию:
fix conflicts and then commit the result.
автоматически слияние проходит когда вы добавили/удалили строчку, иначе каждый конфликтный файлик ручками редактировать и оставлять только нужное.
кстати, а что вы собрались делать с этой веткой? она умеет моргать светодиодом по любой активности барометра или компаса. чтения и тем более записи цифр в дерево объектов там нет.
а в станции?
\ground\openpilotgcs\src\libs\libs.pro - библиотеки, можно отключить opmapcontrol, обязательно огромную glc_lib, sdlgamepad по вкусу
\ground\openpilotgcs\src\plugins\plugins.pro - плагины, соответственно комментируем OPMap, ModelView и GCS Control. до кучи можно Notifier, PipXtreme, HITLNEW
Дело в том, что у меня i2c никак неотображается в станции, хоть бы ошибку какую выдало…
Что-то я неправильно делаю в прошивке, шина i2с молчит , даже первичного опроса нет и с датчиками и без оных, на выходе висит питание и всё, может где ещё нужно включить кроме Makefile?
даже первичного опроса нет и с датчиками и без оных
разве это удивительно? в текущей прошивке есть только “драйвер” так сказать, опрос делаете вы сами. само там ничего не опрашивается.
Если включен модуль Altitude, оно же должно с барометром общаться?
А никаких признаков нет…
Если б оно сонара ненаходило, так опрос бы был…
ммм… для Altitude нужны дефайны USE_ALTITUDE, USE_I2C, и в GCS на закладке модулей надо включить этот самый модуль. в прошлом месяце оно вполне успешно работало, давление и температуру показывало (ссылку на видео не найду).
вы на своем барометре адреса на предмет совпадения с прошивкой CC смотрели?
нужны дефайны USE_ALTITUDE, USE_I2C
Я об этом думал, но вот найти их несмог, или я что-то другое искал, и со станцией глюк, может удалить станцию master оставить только свою…
надо для начала всё переустановить…
а чего их искать, можно прям в \flight\CopterControl\Makefile заменить NO на YES
69: USE_I2C ?= NO
70: USE_ALTITUDE ?= NO
можно при компиляции определить:
USE_I2C=YES USE_ALTITUDE=YES cs-make coptercontrol
это я сделал сразу, у меня ещё станция вываливается когда в настройки заходишь, ругается на SQL или mySQL, непомню, надо наверно заново всё поставить, я SDK второй раз (когда ось рухнула) не скачивал, а подсунул так, буду пробовать вечером…
Убил всё, первого переустановлю всё заново, сейчас трафик кончился…
день танцев с бубном, а i2c так и нет
# Optional module and driver defaults
USE_CAMERASTAB ?= NO
USE_COMUSBBRIDGE ?= YES
USE_GPS ?= YES
USE_TXPID ?= YES
USE_I2C ?= YES
USE_ALTITUDE ?= YES
TEST_FAULTS ?= NO
😦
теперь станция стала ругатся подругому
[21:14:20.500] [!!FATAL!!] ASSERT failure in QList<T>::at: "index out of range", file /usr/include/qt4/QtCore/qlist.h, line 456 qfatal
Аварийный останов
Подскажите пожалуйста, как загрузить (или запустить) DFU bootloader в проц STM32F103ZET6. Плата у меня вот такая www.ebay.com/itm/150750006515
Что то я не дорубаю, как через USB прошивку заливать. У меня есть ST-LINK, но это не наш метод 😃
Бутлоадер родной неподдерживает USB ,он через UART только работает BOOT 0 в единицу BOOT 1 (если есть) в 0 и STMовской программулиной либо через переходник USB-UART либо RS232-UART…
Подскажите пожалуйста, как загрузить (или запустить) DFU bootloader в проц STM32F103ZET6
Все просто 😃
STM32F10xUSBLib\USBLib\demos\Device_Firmware_Upgrade\source
Только под свою плату не забудьте ноги поменять там