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

SergDoc

Кто прикол хочет?
в 9250 компас прилеплен через жоп i2c😵 короче получается - 6000+HMC прицепленный к ней как в AIO, ну только в одном корпусе - ну по идее через регистры MPU читать можно, ибо вариант как с 6050 тут не прокатить - мысли…

Sir_Alex:

Я пробовал Kepler

у меня раз тыкнешь - вешает проц и говорит “непонятный id” второй раз подключается, но смысла уже нет 😦

strizhmax
SergDoc:

в 9250 компас прилеплен через жоп i2c

Если я правильно понял Datasheet:
Внутри 9250 есть i2c-мастер, доступный по SPI. Этот мастер может получить доступ к компасу по внутренней шине.

SergDoc

может по этому пути пойти отдельный HAL, эклипс (правда под виндой)…

strizhmax:

Внутри 9250 есть i2c-мастер, доступный по SPI. Этот мастер может получить доступ к компасу по внутренней шине.

ну он как-бы сгружает в свои регистры данные с компаса, вопрос стоит ли игра свеч - частоты другие (у гироакселя) в отличии от 6000, да и если к 6050 подключали компас и байпасом и через регистры MPU, то к 6000 я как-то не встречал такого подключения…

rual
SergDoc:

может по этому пути пойти отдельный HAL

а я предлагал ! 😁
если серьезно, то малопродуктивный путь. Я уже писал, что вероятней всего новые режимы и более устойчивая ИНС будут “врастать” внутрь нутекса, игнорируя родные процедуры АПМ.
А если делать отдельный ХАЛ, то получим тот же АПМ2.5, но на 32-х битной платформе.

strizhmax:

Внутри 9250 есть i2c-мастер, доступный по SPI. Этот мастер может получить доступ к компасу по внутренней шине.

SergDoc:

ну он как-бы сгружает в свои регистры данные с компаса

это логично, ведь разработчики планировали использовать МПУ для полной обработки данных ИНС во внутреннем проце.

strizhmax
SergDoc:

в отличии от 6000

а при чем тут 6000?
MPU-9250 == MPU-6500 + AK8963.

SergDoc
rual:

это логично, ведь разработчики планировали использовать МПУ для полной обработки данных ИНС во внутреннем проце.

так почему не сделать сразу как гироаксель???

strizhmax:

а при чем тут 6000?

в 6500 корпус меньше и увеличена частота акселя с 1 кГц до 4кГц - больше сходу не вижу отличий…
и AK8963 имеет свой SPI - на кой его вешать на i2c?

rual:

новые режимы и более устойчивая ИНС будут “врастать” внутрь нутекса, игнорируя родные процедуры АПМ.

а вот дийдроносы так не считают - они всё хотят запихнуть в библиотеки AP - тот же EKF у них уже в библиотеках и доступен для коптеров, но не доступен верталётам и машинкам - самолёты незнаю…
у них какой-то раздрай - незнают в какую платформу удариться: то-ли пиксхавк то-ли под линукс прыгнуть… наттикс и пикс4 фирмварину запихнуть тоже в библиотеки хотят…а тут ещё маплепилот сбоку, вроде как под натиксом хотят тестить…

Sir_Alex
SergDoc:

может по этому пути пойти отдельный HAL, эклипс (правда под виндой)…

HAL все равно надо делать свой, а вот будет ли он под NuttX или свой полностью - это вопрос.

Из этого всего, меня пугает сборка самого Нутекса и иже с ним. А так же то, что тут смесь трех бегемотов: NuttX, PX4Firmware, ArduCopter - каждый проект по отдельности достаточно сложные, что уж говорить про солянку из трех проектов.
Ну и казалось что вот оно светлое будущее, отладчик и все дела - а вот хрен вам, print_f - наше всё. )))

strizhmax
Sir_Alex:

Ну и казалось что вот оно светлое будущее, отладчик и все дела - а вот хрен вам, print_f - наше всё. )))

Проект в IAR - там отладчик точно работает.
Все мучения с эклипсом на какой платформе происходят (Mac/Win/Linux)?

SergDoc

Пингвиндовс 😃 под виндой я эклипс настраивал но под маплепилот и аероквад…

strizhmax
SergDoc:

и AK8963 имеет свой SPI - на кой его вешать на i2c?

Я про то, что в одном корпусе MPU-9250 живут MPU-6500 + AK8963 (без SPI)

SergDoc

я понимаю что они там живут - вопрос как? не пришлось бы костыли приделывать для работы?
imu то сделать не проблема, да и f4by зацепить для проверки тоже, spi свободный есть…

strizhmax
SergDoc:

я понимаю что они там живут - вопрос как?

Ну как-то так:

Sir_Alex
strizhmax:

Все мучения с эклипсом на какой платформе происходят (Mac/Win/Linux)?

Ubuntu 13.10 64Bit

Как я уже писал, OpenOCD и GDB работают из командной строки. А вот когда запускаешь отладку из под Эклипса, запускается GDB, выполняются какие то команды (инициализируется), потом Эклипс выдает ошибку NullPointerException и все, все чего то ждут. При этом в консоли GDB, можно ввести команду “continue” и плата продолжает работу, стартует NuttX и дальше, но что толку - Эклипс не дает ничего сделать (разве что прибить GDB дает).

SergDoc

не, я эту картинку уже смотрел - ладно надо покупать и баловаться 😃

Sir_Alex:

При этом в консоли GDB, можно ввести команду “continue” и плата продолжает работу, стартует NuttX и дальше, но что толку - Эклипс не дает ничего сделать (разве что прибить GDB дает).

defconfig менял? swd-onli? а то наттиксу подавай полный jtag…

Sir_Alex
SergDoc:

я понимаю что они там живут - вопрос как? не пришлось бы костыли приделывать для работы? imu то сделать не проблема, да и f4by зацепить для проверки тоже, spi свободный есть…

Да накой он тебе сдался этот 9250?

Судя по схеме, компас просто распаян внутри корпуса и подключен к шине I2C - а шина сама выведена на улицу, а ее можно подключить к процу. Да и MPU можно легко настроить на забор данных компаса, а значения забирать уже по SPI через регистры.

SergDoc
Sir_Alex:

Да и MPU можно легко настроить на забор данных компаса, а значения забирать уже по SPI через регистры.

вот этого и хочу 😃
миниатюризация и у меня два 405rgt6 без дела валяюццо…

Sir_Alex
SergDoc:

defconfig менял? swd-onli? а то наттиксу подавай полный jtag…

Ты уже спрашивал, не менял я ничего. Я же говорю, если GDB запустить из консоли, то все работает, остановка, запуск, регистры посмотреть, где по коду остановка произошла (глубже я не копал, потому как не умею пользоваться GDB-)

SergDoc:

вот этого и хочу

Посмотри код MultiWii там так и сделано.

SergDoc

ладно надо завязывать и делать релизную версию - сегодня АЦП проверю, если пойдёт выкину в гит - блин там с этими номерами портов каша начинается как и в маплепилоте ( типа АЦП от 100-го и до забора) и сцуко прописаны в нескольких местах…

strizhmax

2 Sir Alex
Проблема может быть в несовместимости версий GDB и плагина C/C++ GDB Hardware Debugger.
Стек трейс может есть при падении?

Sir_Alex
strizhmax:

Стек трейс может есть при падении?

На экран не выдается, только ошибка NullPointerException.
А логи Eclipse я пока не искал. Вечером посмотрю.

Возможно что и не совместимость, у меня стоит самый свежий toolchain 4.7

oleg70
SergDoc:

в 6500 корпус меньше и увеличена частота акселя с 1 кГц до 4кГц - больше сходу не вижу отличий…

А я не вижу - принципиальной разницы… По ходу моих изысканий пришел к выводу, что все эти “частоты опроса” особо не нужны, так как, даже имея массив из данных (больше или меньше) отфильтровать их не получается … 😦
В последнем варианте своей ИНС, поставил частоту опроса аж 100 Гц (ради эксперимента) - работает не хуже и не лучше чем 1000 Гц… так и оставлю…
Производители похоже клепают эти чипы как “пазлы” , ничего не меняя в принципе, несомненное удобство только в том что тупо меньше корпусов размещать и паять…