ArduCopter Mega: порт на обычную Arduino (тестим)

Sir_Alex
damian:

попробовал MPNG 3.0.1 R2 залить в плату

Эта плата (и другие на базе ITG3XXX и BMA180) сейчас не поддерживается.

2fast2real
Sir_Alex:

Эта плата (и другие на базе ITG3XXX и BMA180) сейчас не поддерживается.

Опачки, а что теперь black vortex можно выкинуть?

Sir_Alex
2fast2real:

Опачки, а что теперь black vortex можно выкинуть?

отложить в сторонку, пока не будет поддержки.

SovGVD
2fast2real:

теперь black vortex можно выкинуть?

продать multiwii-йщикам, даже при добавлении поддержки, сами датчики (барометр больше всех) уже так себе по точности.
или припаять к i2c новые датчики (все кроме компаса, он вроде уже 100 лет не менялся нигде)

2fast2real

Вообщем то так и сделал, заказал маленькую палату с баро и акселем, хочу напаять по i2c, а вот подскажите с адресами как быть? Кстати плата и щас с прошивкой R300 летает супер, единственное высота не очень держится )))

SovGVD
2fast2real:

заказал маленькую палату с баро и акселем

mpu6050 + ms5611 ?
у них вроде адреса совсем другие, проблем не должно возникнуть

2fast2real

Как понять не возникнет? Вот именно в прошивке надо менять адреса где то, а где не знаю

SovGVD

адреса itg320x+bma180 и bmp085 вроде бы не такие же как у mpu6050 и ms5611, поэтому просто выберите crius aiop в настройках и должно заработать. Если нет - i2c_spy и смотреть уже на каких адресах и кто висит.

Sir_Alex

Все больше возникает вопросов с модификациями прошивки под разные платы и датчики.

У кого есть идеи как сделать прошивальщик плат, в котором можно будет выбрать параметры, например PPM_SUM или PWM, выбрать тип платы, включить/отключить COPTER_LED и т.п., нажать кнопку, получить прошивку с сервера и залить ее в плату.

Как я это вижу:

  1. Человек запускает программу (вероятно на Java)
  2. Выбирает тип платы и другие параметры, сохраняет конфигурацию под каким нибудь именем (что бы потом заново не выбирать)
  3. Отправляется запрос серверу, сервер смотрит есть ли такая прошивка (по набору параметров). Если есть, отдает готовый hex, если нет, запускает компиляцию.
  4. Полученный Hex заливается в плату и сохраняется локально для последующей прошивки.

З.Ы. Если кто то хочет реализовать такую программу, милости просим ))

SergDoc

а я вижу добавление этих функций в cli или как там оно у вас называется - изменяемые параметры через терминал 😃

Sir_Alex
SergDoc:

а я вижу добавление этих функций в cli или как там оно у вас называется - изменяемые параметры через терминал

Не все так просто, тянуть все вариации в коде невозможно - просто тупо нет памяти. Поэтому фичи надо дефайнами включать/отключать, а с этим у людей проблемы возникают. Ну и кроме того, в этом случае можно обойтись без Arduino-IDE.

SovGVD:

Имя Google Chrome/Chromium можно без java кроссплатформенно заливать habrahabr.ru/company/apps4all/blog/193876/

Там даже из Firefox можно. Но это немного не то, тем более, сейчас используется немного модифицированный Arduino IDE…

ООО… У них исходники в открытом доступе, надо поковырятся )))

SergDoc
Sir_Alex:

просто тупо нет памяти.

ну мне есть где размахнуться 😃

SovGVD

Почему не то? На сайте выбирать что надо, собирать на стороне сервера (при необходимости) и тут же через плагин с сайта заливать в ардуинку hex. Это в общих чертах, наверняка будут подводные камни.
Вообще с тех пор как появилась работа с serial в браузере (по ссылке там плагин, хз чего именно он делает и как), можно и mission planner сделать 100% кроссплатформеным (т.е. везде где запускается браузер, там будет работать и прошивальщик и конфигуратор)… где то даже видел такую штуку и имхо в этой же ветке.

Sir_Alex

Меня больше интересует вопрос, как организовать компиляцию на сервере. Например в указанном выше CodeBender.cc, вся работа ведется из PHP, т.е. эмулируется (ну или делается то же самое) MAKE. Так вот, делать так же или тупо менять параметры в конфиге и запускать make…???

SovGVD

в сорцах ардукоптера есть человеческая сборка через make, имхо для каждого запроса просто конфиг создавать и компилить (ну и складировать уже готовые сборки)

Ну и я всетаки предлагаю после релиза сразу собирать все варианты коптерные, а не по запросу.

Sir_Alex
SovGVD:

в сорцах ардукоптера есть человеческая сборка через make, имхо для каждого запроса просто конфиг создавать и компилить (ну и складировать уже готовые сборки) Ну и я всетаки предлагаю после релиза сразу собирать все варианты коптерные, а не по запросу.

Да, конечно, я в курсе что есть make, товарищь Paku его под винду даже запилил, тока оно никому не надо в общем то.

Просто я боюсь что будет очень много вариаций прошивок… лвдно, вечерком подумаю, как лучше сделать.

SovGVD

А в оригинальном ардукоптере как сделано? Там mission planner собирает прошивки? Или уже готовые собранные (вариантов конечно поменьше, только различные рамы и всякие rover/heli).

kren-DEL
Sir_Alex:

Меня больше интересует вопрос, как организовать компиляцию на сервере.

есть вариант по крону(планировщику) запускать сборку из дериктории, например, затем присылать юзверю ссылку на готовую прошивку, хранить её на сервере неделю, а затем удалять, есть наработки, только использовал для управления vlc сервером, кодировал потоки видео с камер наблюдения и был сделан web интерфейс для рестарта процесса перекодировки, если вдруг всё заткнулось, если чего - пишите - могу переделать, есть свой физ. сервер с фряхой, можем поэксперементировать:)

blind_oracle

Всё таки собрать сразу все таргеты будет лучше, чем компилсять на сервере по запросу, это еще и намёк на ДДОС.
Сделать несколько make-таргетов, обернуть в конфиге #ifdef-ами нужные параметры и вроде всё.
Сами таргеты можно генерировать вложенными циклами и именовать соответственно, не так уж и много там вариантов.
По какому-нибудь make all будет собирать все таргеты, как в simonk 😃

По сабжу:
Алексей, спасибо за прошивку, сегодня решил попробовать перейти с 2.8.
Всё вроде откалибровал, смущает только что при калибровке компаса оффсет по X большой получается, в диапазоне 140-160.
По другим осям не более 10.
Это у меня какие-то проблемы с компасом или и так сойдёт? Арду советует отклонения не более 150.

Компассмот при этом выдает 36% при полном газе.