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

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

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

SergDoc

день танцев с бубном, а 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
Аварийный останов
Sir_Alex

Подскажите пожалуйста, как загрузить (или запустить) DFU bootloader в проц STM32F103ZET6. Плата у меня вот такая www.ebay.com/itm/150750006515
Что то я не дорубаю, как через USB прошивку заливать. У меня есть ST-LINK, но это не наш метод 😃

SergDoc

Бутлоадер родной неподдерживает USB ,он через UART только работает BOOT 0 в единицу BOOT 1 (если есть) в 0 и STMовской программулиной либо через переходник USB-UART либо RS232-UART…

leprud
Sir_Alex:

Подскажите пожалуйста, как загрузить (или запустить) DFU bootloader в проц STM32F103ZET6

Все просто 😃
STM32F10xUSBLib\USBLib\demos\Device_Firmware_Upgrade\source
Только под свою плату не забудьте ноги поменять там

SergDoc

зы там же на плате написано под вторым usb rs232 - поидее должен определится как com

Sir_Alex
SergDoc:

зы там же на плате написано под вторым usb rs232 - поидее должен определится как com

Не, это обычный RS232 только с разъемом USBишным…

leprud:

Все просто STM32F10xUSBLib\USBLib\demos\Device_Firmware_Upgrade\source Только под свою плату не забудьте ноги поменять там

Спасибо!

Я еще на просторах интернета, видел bootloader который выступает обычной флешкой по USB. Заливаете по USB файлик firmware.bin и он прошивается в проц. Но сейчас не могу найти…

Все таки удобно было сделано в Arduino…