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

blind_oracle
blind_oracle:

Попробую сегодня набросать пример.

Так, в первом приближении что-то получилось: artek.novg.net/mpng/
Оно на домашнем сервере, так что не сильно его мучить если что 😃

Что делает:

  1. Данные из формы кладёт в mysql-базу
  2. Скрипт запускается раз в 2 минуты, берёт еще не собранный заказ из базы, запускает make с параметрами соответственно запросу в таблице
  3. Если сборка прошла успешно, то присылает билд лог и .hex в аттаче. Если ошибки, то присылает просто билд лог без файла
  4. Помечает заказ в базе как выполненый ОК или с ошибкой, второй раз к нему не возвращается

Для сборки MPNG под линуксом понадобилось подправить несколько мэйкфайлов чтобы добавить туда таргет mpng с его HALом и передачу дефайнов в сборку.
Ну и сами файлы с настройками тоже конечно (APM_Config.h, RCInput_MPNG.cpp).

Алексей, если так подходит, то я скину все изменённые файлы и скрипты.

ЗЫ:
Саму прошивку я еще не проверял, но собирается вроде без проблем особых.

SovGVD
ReM:

И вот что получилось…

вполне точно получилось =)

ReM

Одной рукой переключателем щёлкал, другой - снимал. 😃

Снимал телефоном…

Sir_Alex
blind_oracle:

Что делает: 1. Данные из формы кладёт в mysql-базу 2. Скрипт запускается раз в 2 минуты, берёт еще не собранный заказ из базы, запускает make с параметрами соответственно запросу в таблице 3. Если сборка прошла успешно, то присылает билд лог и .hex в аттаче. Если ошибки, то присылает просто билд лог без файла 4. Помечает заказ в базе как выполненый ОК или с ошибкой, второй раз к нему не возвращается Для сборки MPNG под линуксом понадобилось подправить несколько мэйкфайлов чтобы добавить туда таргет mpng с его HALом и передачу дефайнов в сборку. Ну и сами файлы с настройками тоже конечно (APM_Config.h, RCInput_MPNG.cpp).

Спасибо! Это почти то что нужно. Если можно, оформите это в виде API(ну там REST например). Т.е. запрос авторизации, Запрос на билд с параметрами указанными, Запрос результата.
А я это офрмлю в виде программы - прошивальщика.

blind_oracle
Sir_Alex:

А я это офрмлю в виде программы - прошивальщика.

А нужна ли программа-то?
Как по мне, так этот сервис лучше встроить в сам сайт мегапирата.
Он на некоем VPS стоит или это вирт. хостинг?

SGur
ReM:

Одной рукой переключателем щёлкал, другой - снимал.

Пытался сделать автофлип. при щелчке переключателем квадрик устремляется резко ввысь (не 1 сек) пытается уйти в космос, отрубается управление по элеронам совсем , по элеватору яву и газу остается примерно 10 % управления.
Что делаю не так , может какие доп настройки надо крутить? Из настроек только назначил переключатель на автофлип. Остальные режимы работают полностью.
ver 2.8 r3

Sir_Alex
blind_oracle:

А нужна ли программа-то? Как по мне, так этот сервис лучше встроить в сам сайт мегапирата. Он на некоем VPS стоит или это вирт. хостинг?

Нужна, потому как основная идея, отказаться от Arduino IDE и других сторонних программ. А если HEX отправлять по e-mail - получается надо avrdude использовать или другую прогу что бы залить прошивку. Хотелось бы все в одном флаконе.

У меня свой dedicated сервер, на нем Proxmox и несколько виртуалок. Под билдсервер выделена отдельная вируталка на Ubuntu 12.04, сайт крутится на другой виртуалке.

SGur:

Что делаю не так , может какие доп настройки надо крутить? Из настроек только назначил переключатель на автофлип. Остальные режимы работают полностью. ver 2.8 r3

Если мне память не изменяет, на 2.8 флип нормально не работал…

blind_oracle
Sir_Alex:

Нужна, потому как основная идея, отказаться от Arduino IDE и других сторонних программ. А если HEX отправлять по e-mail - получается надо avrdude использовать или другую прогу что бы залить прошивку. Хотелось бы все в одном флаконе.

Т.е. собирать ты хочешь всё-таки на сервере? Можно было бы в принципе и к программе приложить сам gcc 😃
Тогда накидай примерный алгоритм общения программы с сервером, по каким параметрам авторизация (некая таблица с емейлами и паролями или еще что) и т.п., а я попробую реализовать.

ReM
Sir_Alex:

Если мне память не изменяет, на 2.8 флип нормально не работал…

3.0.1 R2 работает нормально.

SGur
ReM:

3.0.1 R2 работает нормально.

Накатил 3.0.1 R2- заработало!
Теперь перестала работать стабилизация и управление подвесом камеры. В настройках гимбалов стоят RC5 и RC6 и галка стабилизации. В 2.8 работало. Пробовал все входные каналы. Так же не смог активировать триггер камеры, но он мне не нужен пока . Sw7 в настройках устанавливал.
Есть у кого опыт по стабу в этой версии?

Sir_Alex
SGur:

Теперь перестала работать стабилизация и управление подвесом камеры. В настройках гимбалов стоят RC5 и RC6 и галка стабилизации. В 2.8 работало. Пробовал все входные каналы. Так же не смог активировать триггер камеры, но он мне не нужен пока . Sw7 в настройках устанавливал. Есть у кого опыт по стабу в этой версии?

Используйте выводы D11,D12 и RC10, RC11 соответственно.

SGur
Sir_Alex:

Используйте выводы D11,D12 и RC10, RC11 соответственно.

Проверил- работает.
“Спасибу” нажал.
с чем связано изменение распиновки?

Sir_Alex
SGur:

с чем связано изменение распиновки?

D44,D45 использовали программный PWM генератор, а D11,D12 - аппаратный. Это во первых уменьшает дергатню серв, а во вторых снижает нагрузку на процессор, который и так еле дышит.

Sir_Alex

Похоже, что таки удалось установить причину из за которой останавливаются моторы, при нажатии на газ: ЭТО ВИБРАЦИЯ! Пользователь который помогал тестировать и у него постоянно воспроизводилось, по наводке одного из разработчиков ArduCopter попробовал снять плату с коптера и о чудо, бага не воспроизвелась!!!

Теперь осталось разобраться, как вибрации приводят к зависанию контроллера, но хоть что то сдвинулось с мертвой точки )))

Alex_dndz
Sir_Alex:

Теперь осталось разобраться, как вибрации приводят к зависанию контроллера, но хоть что то сдвинулось с мертвой точки )))

скорее всего непропай, только тщательный визуальный осмотр. имхо.

Sir_Alex
Alex_dndz:

скорее всего неропай, только тщательный визуальный осмотр. имхо.

Почему тогда при установке предыдущей версии MPNG, проблема не воспроизводится? Не, я не исключаю хардварную проблему, но с моей точки зрения, проблема скорее всего в драйвере MPU.

Alex_dndz

Подскажите, как в MPNG 3.0.1 R2 переназначить GPS U-BLOX на порт S3, плата AIO v2?
к S2 нет возможности подключить.

2fast2real
Sir_Alex:

снижает нагрузку на процессор, который и так еле дышит.

А может замутим двух процессорную плату, чтобы разгрузить основной а? я бы не прочь платку накидать )))

Alexey_1811
2fast2real:

А может замутим двух процессорную плату, чтобы разгрузить основной а? я бы не прочь платку накидать )))

Нужно ставить stm32F4XX и забыть на время про нехватку ресурсов МК.

2fast2real

Еще бы уметь под него программить ))) я кроме асмы ни какого другого языка не знаю (