Создание собственной системы стабилизации

Sir_Alex
HikeR:

опенсорсный и опенхардварный (с натяжкой) CHR-UM6-LT Orientation Sensor давно ждет своих владельцев

За 150$ - позолоченный наверное…

igor_v_t
HikeR:

опенсорсный и опенхардварный (с натяжкой) CHR-UM6-LT Orientation Sensor давно ждет своих владельцев

Да вопрос даже не в цене, а в том что датчики получше появились, а у меня такое впечатление, что с хорошими датчиками можно меньше с механикой возится. Вибрации меньше влияют.

Sir_Alex

Тот же MultiPilot32 переходит сейчас на STM32F4, там и частота побольше и FPU имеется. Так что в новых разработках лучше сразу его использовать.

HikeR
Sir_Alex:

За 150$ - позолоченный наверное…

дык конкурентов-то нет, вот и творят чего хочут. ST когда еще выкатит свой вариант, да когда еще он до прилавков доберется…

igor_v_t:

с хорошими датчиками можно меньше с механикой возится. Вибрации меньше влияют.

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

Sir_Alex:

MultiPilot32 переходит сейчас на STM32F4, там и частота побольше и FPU имеется.

кстати, бесплатные компиляторы уже умеют задействовать FPU?

Sir_Alex
HikeR:

кстати, бесплатные компиляторы уже умеют задействовать 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.

HikeR:

дык конкурентов-то нет, вот и творят чего хочут. ST когда еще выкатит свой вариант, да когда еще он до прилавков доберется…

Ну если там готовый софт, то да, может оно и стоит 150$ (хотя навряд ли).

Dimm168pin
igor_v_t:

LSM330DL@ST можно купить на Терраэлектронике, что для нас немного дальше чем в США😒 но терпимо.

да ладно?) я тут прал f103c8t6, тут же и светодиодные гирлянды и cp2102,кварцы планарные)LSM330DL едет новой почтой 1-3 дня

igor_v_t
Dimm168pin:

да ладно?) я тут прал f103c8t6, тут же и светодиодные гирлянды и cp2102,кварцы планарные)LSM330DL едет новой почтой 1-3 дня

Спасибо, это действительно лучше.

HikeR
Sir_Alex:

Ну вроде CodeSourcery ARM toolchain поддерживает FPU, тока я не в курсе, поддерживает ли F4

как я понял, ни фига не поддерживает, товарищ примерно так разъяснил:

CoeSourcery, к слову, можно считать погибшим, так как он был куплен, и те теперь везде суют свои шароваровые тулзы. Перспективы туманны.

Использовать CS можно, но он не поддерживает аппаратную плавающую точку. Потому вместо него используют самособранный порт тулчейна linaro. Я пару месяцев назад собирал windows MinGW версию с танцами с бубном, но получил нерабочий ld. С тех пор я этим вопросом не занимался до появления острой необходимости. Текущее состояние того порта я не знаю и даже ссылка на source где-то утрачена.

SergDoc

Дмитрий, а как мне правильно сделать слияние моей локальной ветки с другой веткой (это про 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 нет, так что несмог даже посмотреть что творится теперь…

HikeR

спрятать свои патчи - git stash
слияние текущего состояния ветки с чем-то еще - git merge имя_ветки
восстановить свои патчи git stash apply
код для компаса можно стырить из Pololu (331 пост)

SergDoc:

даже USB нет

GCS пересобирали? станция просто может не работать с несоответсвующими ветками.

SergDoc

да так в том то и дело что пересобрат, не у неё 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 - здесь я прописываю что хочу иметь в прошивке, а в станции?

HikeR

ну вот же руководство к действию:

fix conflicts and then commit the result.

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

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

SergDoc:

а в станции?

\ground\openpilotgcs\src\libs\libs.pro - библиотеки, можно отключить opmapcontrol, обязательно огромную glc_lib, sdlgamepad по вкусу
\ground\openpilotgcs\src\plugins\plugins.pro - плагины, соответственно комментируем OPMap, ModelView и GCS Control. до кучи можно Notifier, PipXtreme, HITLNEW

SergDoc

Дело в том, что у меня i2c никак неотображается в станции, хоть бы ошибку какую выдало…

SergDoc

Что-то я неправильно делаю в прошивке, шина i2с молчит , даже первичного опроса нет и с датчиками и без оных, на выходе висит питание и всё, может где ещё нужно включить кроме Makefile?

HikeR
SergDoc:

даже первичного опроса нет и с датчиками и без оных

разве это удивительно? в текущей прошивке есть только “драйвер” так сказать, опрос делаете вы сами. само там ничего не опрашивается.

SergDoc

Если включен модуль Altitude, оно же должно с барометром общаться?
А никаких признаков нет…

Если б оно сонара ненаходило, так опрос бы был…

HikeR

ммм… для Altitude нужны дефайны USE_ALTITUDE, USE_I2C, и в GCS на закладке модулей надо включить этот самый модуль. в прошлом месяце оно вполне успешно работало, давление и температуру показывало (ссылку на видео не найду).

вы на своем барометре адреса на предмет совпадения с прошивкой CC смотрели?

SergDoc
HikeR:

нужны дефайны USE_ALTITUDE, USE_I2C

Я об этом думал, но вот найти их несмог, или я что-то другое искал, и со станцией глюк, может удалить станцию master оставить только свою…

надо для начала всё переустановить…

HikeR

а чего их искать, можно прям в \flight\CopterControl\Makefile заменить NO на YES

69: USE_I2C ?= NO
70: USE_ALTITUDE ?= NO

можно при компиляции определить:

USE_I2C=YES USE_ALTITUDE=YES cs-make coptercontrol
SergDoc

это я сделал сразу, у меня ещё станция вываливается когда в настройки заходишь, ругается на SQL или mySQL, непомню, надо наверно заново всё поставить, я SDK второй раз (когда ось рухнула) не скачивал, а подсунул так, буду пробовать вечером…

SergDoc

Убил всё, первого переустановлю всё заново, сейчас трафик кончился…