Проект Мегапират на самик!

ssh1

Всем привет.
Соединил сегодня на столе, пока без GPS и SWID.
1.Заармить получилось, а дисармить с пульта как ? Пока дисармить получается только с наземки.
2.Видел где то на форуме совет, полетал, оттриммировал, а потом нажал Neutral в наземке.Но ведь после нажатия Neutral управление оптяь уедет и придется триммировать в 2 раза больше. Или я не так понял ?
3.Без GPS и SWID в режиме Manual при пропаданиии сигнала с пульта так и остается в режиме Manual, выставляет все сервы в середину, это нормально ? Вроде написано что должен уходить в Stable.

dundel1
  1. В самолётном режиме дизарм с пульта заблокирован. Сделано специально, обсуждалось здесь, в теме, с полгода назад. 2. При нажатии “нейтрал” запоминаются текущие положения стиков как нейтральные. Так что ничего никуда не уедет, а запомнятся центральные положения ручек вашего передатчика с учётом триммеров.😃
alex-ber

Игорь - на заметку:
выход аудио слишком плотно стоит к М1 - в спешке (хоцца побыстрей…) - можно спутать… - предложение - или немного загнуть (чтоб обозначить) штыри или красочкой пометить…
Я сегодня чуть не спутал… Вовремя заметил.
А так - по качеству пайки - СУПЕР!!!

alex-ber

Ну что…
Фикс споймал… При фиксе подключился к наземке и поймал глюк - описывали тут: куча выпадающих окон с ошибкой…
Че не так?
Без фикса - все нормально конектится…

Syberian
ssh1:

аармить получилось, а дисармить с пульта как ?

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

ssh1:

Видел где то на форуме совет, полетал, оттриммировал,

Полетать в ручном, оттриммировать. Потом нажать Neutral. Нажимать надо, чтобы автопилот знал, что это у вас стики в нейтрали для ровного полета, а не просто так враскоряку стоят.
Еще можно запомнить положения плоскостей модели (в ручном режиме), вернуть триммера пульта в 0 и установить плоскости в то же положение триммерами микшера. Нажать Neutral.
Модель помимо записи в СУ еще хорошо бы сохранять в файл, чтобы при смене формата моделей ничего не потерялось.

ssh1:

Без GPS и SWID в режиме Manual при пропаданиии сигнала с пульта так и остается в режиме Manual

Это неправильно, поправил в 2.0.2417

alex-ber:

При фиксе подключился к наземке и поймал глюк - описывали тут: куча выпадающих окон с ошибкой

Андрей нашел временный костыль для этого:
Запустив наземку, перед коннектом запусти миссии, дождись, пока прогрузится карта, потом закрой окно миссий и можешь коннектиться.
И, конечно, разделитель целой и дробной части должна быть точка.
Мда, нужно срочно покончить с этим…

ssh1
Syberian:

Полетать в ручном, оттриммировать. Потом нажать Neutral. Нажимать надо, чтобы автопилот знал, что это у вас стики в нейтрали для ровного полета, а не просто так враскоряку стоят.

Но тогда в мануал он опять полетит как не оттриммированный?
Пример:
Режим Manual
В ручном полете я установил триммер руля высоты на пульте в +5 чтоб модель летела ровно. Прилетел, подключил наземку, нажал Neutrtal, столбик в ServoIN - встал в середину, соответственно и серва в ServoOUT встала в середину(помоему вставала, щас не могу проверить). Получается состояние модели как до триммирования и чтоб она полетела ровно теперь надо ставить триммер уже в +10.
Где я не прав в этой цепочке ?

И еще вопрос: где можно почитать поподробней про Read Write в разных местах софта. Как работает Read Write и выбор Frame type на главном экране? Есть еще выбор из справочника и Read Write в окне микшеров, а там что загружается ? Как сохранять что-то в файл ?

dundel1

Где я не прав в этой цепочке ?

Вот здесь:

серва в ServoOUT встала в середину

Серва остаётся в положении, в которое Вы её оттриммировали для ровного полёта.
Read/Write считывает/сохраняет все настройки из/в память СУ.

выбор Frame type на главном экране?

rcopen.com/forum/f90/topic243418/2196

Syberian
ssh1:

В ручном полете я установил

Встречаю эту фразу уже не раз. Ничего понять не могу. Вы уже летаете на Иксе, или как?

ssh1

Нет , пока тестирую на столе, жду GPS.

Syberian:

тьфу ты, черт, забыл совсем… аварийный возврат домой не включится, если высота над стартом ниже 30м. Во избежание, так сказать.

Это сделано чтоб не попер домой на земле? Но ведь то что он не летит можно определить по скорости относительно земли? А что будет при потере управления на 20 метрах в Manual режиме ?

LaPart
Syberian:

данные от СУ на ногу Rx жпс-модуля проходят при включении питания?

Да, пакет проходит через несколько секунд после подключения батареи, как раз мотор пищать песенку начинает.
Но со стороны GPS-датчика ничего не изменяется, частота остается 10Гц. Я не против)

Syberian:

разделитель целой и дробной части должна быть точка. Мда, нужно срочно покончить с этим…

Разве для одной запущенной отдельно взятой программы нельзя объявить точку? Когда-то я использовал вроде переменную DecimalSeparator. Что-то аналогичное должно быть.

Syberian
LaPart:

DecimalSeparator

Андрей, если бы дело заключалось только в самой программе, эта проблема даже не стояла бы. Проблема в том, что используется вызов javascript GoogleAPI методами OLE, лежащий на веб-странице в контейнере IE5. Параметры передаются через тип TVariant текстовой строкой, иначе вообще не работает. И оно плевать хотело, какой разделитель в системе - подавай точку, и все.
Если бы знал более вменяемый вариант лицензируемой для бесплатного пользования ГИС - обязательно применил бы. Все эти красивые 3D-глобусы, отображаемые в ардупилоте и других прогах, происходят из нелегального использования карт Google и легко могут быть подвергнуты судебному иску. Хотя бы за кеширование карт.

LaPart

не буду тут лить, варианты какие-то должны быть. Еще бывают вылеты, когда отлеживается наземка с подключенным СУ, а тут в другом окне я чего-нибудь плотное загружать начинаю, особенно после постоя машины. Вот тут “бумс, бумс, бумс…” начинается размножение сообщений… Ну зато вспоминаю, что не отключил…

Syberian:

вызов javascript GoogleAPI

а обработки исключений там нет? Я с этой штукой не знаком, пардон, но вроде такие уважаемые авторы (google таки), совсем что ли сырец предлагают, хоть и бесплатно?
Ладно, не буду отвлекать… Сегодня вожусь с ОСД, на разные телики результаты разные, только на одном старом ЭЛТ удовлетворительно показывает, но и на нем синхронизация срывается когда шевелятся машинки. Накинул блокировочных кондеров на сервовыходах, ощутимо не помогло.

Syberian
LaPart:

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

Попробую проанализировать.
Гугл тут как бы и ни при чем. Вылетают не ошибки Exception, которые являются осознанным ответом драйвера на некорректное действие, а ошибки доступа к памяти, которые выбрасывает менеджер памяти виндовс на уровне ядра. Т.е. происходит запись в сегмент памяти, который был выделен для функции, но потом кем-то стал занят или освободился.
Как их перехватывать, я не знаю.
Периодический вылет этих окошек совпадает с поступлением очередного пакета с координатами от СУ. При этом инициируется длинная цепочка процедур по вызову JavaScript через OLE, дабы отобразить текущие координаты на карте гугла.
Функция вызова скрипта внутри контейнера OLE, т.е. внутри IE5, сперва проверяет наличие в нем непустого хандлера HTTP-документа, потом составляет список джава-скриптов, содержащихся в нем, потом ищет наличие требуемого скрипта, пытается передать в него параметры и получить ответ.
При отсутствии чего-либо в цепочке, возвращается пустой ответ и ничего не должно рухнуть. По теории.
На практике, судя по всему, при задержке выполнения из-за загрузки компа или еще как-нибудь, иногда получается два одновременных вызова javascript через один хандлер. И при этом все разрушается так хитро, что вроде и все элементы в цепочке есть, и скрипт есть, но адрес его хандлера неправильный, и в результате прога пишет данные куда не надо, и виндовс начинает ее посылать. Как это отловить - большая проблема.
Череда окошек может возникнуть даже при таскании мышкой карты в окне.

По поводу выбора ГИС я имел в виду уже готовые библиотеки под С++, а не браузерную страницу, как сделано сейчас. Бесплатных и при этом без нарушения лицензии использования - нет.

ssh1:

то сделано чтоб не попер домой на земле? Но ведь то что он не летит можно определить по скорости относительно земли? А что будет при потере управления на 20 метрах в Manual режиме ?

Ничего не будет, кроме надписи на ОСД.
Мера временная, далее будет сделано более четкое определение, что модель побывала в воздухе и все еще в нем находится, т.е. можно ли наваливать газ и тащиться домой. Даже с отрицательных высот.

alex-ber
LaPart:

Ладно, не буду отвлекать… Сегодня вожусь с ОСД, на разные телики результаты разные, только на одном старом ЭЛТ удовлетворительно показывает, но и на нем синхронизация срывается когда шевелятся машинки. Накинул блокировочных кондеров на сервовыходах, ощутимо не помогло.

У меня сегодня была такая же проблема - думал проблема в плате (уже хотел писать Игорю…) - при шевелении платы или с пульта сервой срывалась синхра на ОСД с уходом в черточки (проверил на четырех сервах - две аналог одна цифра, одна аналог Футаба…) - думал пипец…
Потом догодался сменить внешний импульсный ВЕС на регуль (испытывал на столе - вместо движка включил серву и питал все от ВЕСка…) - при подключении регуля со своим ВЕСом - симптомы пропали полностью! Возможно ВЕС какал в канал или его нехватало (заметил уже раньше на нем - с цифрами он явно не дружит…).
Попробуй…

Ustas69

У меня тоже сервы влияли на сигнал, стал использовать отдельный бек, стало все нормально. На квадрике эта проблема отсутствует, т.к. серв нет.

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

Syberian
LaPart:

Сегодня вожусь с ОСД, на разные телики результаты разные, только на одном старом ЭЛТ удовлетворительно показывает, но и на нем синхронизация срывается когда шевелятся машинки.

alex-ber:

при шевелении платы или с пульта сервой срывалась синхра на ОСД с

Ustas69:

У меня тоже сервы влияли на сигнал,

Есть простое решение, вернее, схема подключения.
Камера и видеопередатчик должны подключаться землей непосредственно к СУ, и никуда больше. От СУ уже землю к батарее и проч. разводить с разъема Batt и сервоколодки. Т.е. плата СУ - это “центр вселенной” по земле.
Если вам кто-то портит питание: регуль или внешний ВЕС - уберите (поднимите) VD5, который рядом с Audio, и питайте СУ через ВАТТ1.

Ustas69:

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

Придумывать особо не надо: у меня еще со времен bvHUD в коде ОСД есть отдельный параметр viewport scale - “угол обзора” - который сейчас фиксирован под мою камерку. Остается вывести его на наземку - и все.
Добавил в баглист

===
Посмотрел сейчас, проект Х на СТМ32 завтра разменяет 4-й месяц своей жизни, если судить по баглисту. Папка весит 124 МБ со всеми субпроектами, тестбенчами и утилитками. 1170 файлов, из них даташитов штук 20 на 30 мб. Удивляюсь, когда успел столько набыдлокодить 😃 Большая часть, наверно, штатные библиотеки stdperiph.

Syberian

===

НАЗЕМКА, обновление 9

Сделана предзагрузка карты при запуске программы.
Предотвращение одновременного вызова javascript несколькими процедурами.
Смена разделителя параметров на @. Должно победить вылеты с региональной “запятой”. Также теперь можно в строке поиска использовать пунктуацию.

LaPart
Syberian:

Сделана предзагрузка карты при запуске программы.

Ага, прогруз при запуске программы чувствуется, лучше не торопиться с нажатиями кнопок… Но сообщения пока летят. Появилось новое сообщение (‘?-W’ is not a valid integer value.) Если ничего не делать, после долбежки по ушам программа сама вылетает совсем.

Syberian:

Значит, так и сделаем: Alt GPS будет показывать высоту по GPS абсолютную, баро - высоту над точкой старта.

А AltASL и AltGPS пока не трогал в наземке? Я не гоню, ни в коем случае… Интересуюсь)

ssh1
dundel1:

Серва остаётся в положении, в которое Вы её оттриммировали для ровного полёта.
Read/Write считывает/сохраняет все настройки из/в память СУ.

Игорь, большое спасибо за помощь.
Только что провел эксперимент на столе.
Режим - Manual.
Отклоняю стик элеронов вправо до конца, 1 канал ушел в максимум(по RadioIN), серва 1 ушла в максимум(по servoOUT)
Нажимаю Neutral продолжая держать стик - 1 канал ушел в середину, серва тоже вернулась в середину.
Куда копать.

Никак не могу понять про запрет включения автопилота на маленькой высоте. Почему не будет работать следующая схема:
Высота > 30 - включаем автопилот
Высота < 30 и скорость по GPS > N - включаем автопилот
Высота < 30 и скорость по GPS < N - НЕ включаем автопилот
Наверное тут не все так просто…
Олег, может вы поможете разобраться.

P.S. Про переключение в Stable из Manual при пропадании управления.

Syberian:

Это неправильно, поправил в 2.0.2417

Проверил только что, после пропадания сигнала остается так же в Manual, сервы встают в середину. А вот после появлени сигнала - переключается в Stable, хотя канал управления (5) дает сигнал для Manual.

Syberian

тьфу ты, опять появились окошки 😦 Откатил версию наземки назад. Разбираюсь.

ssh1:

Отклоняю стик элеронов вправо до конца, 1 канал ушел в максимум(по RadioIN), серва 1 ушла в максимум(по servoOUT)
Нажимаю Neutral продолжая держать стик - 1 канал ушел в середину, серва тоже вернулась в середину.

так… если это в мануале, то что-то неправильно у меня. В мануале должно оставаться, как было. Реакция на кнопку должна быть только в стабе. Сейчас исправлю.

Разрешать включение автопилота внизу при определенной скорости - значит не включать, если, скажем, самолет почти висит против ветра у земли, скрытый за препятствием и связь пропала.

ssh1
Syberian:

Разрешать включение автопилота внизу при определенной скорости - значит не включать, если, скажем, самолет почти висит против ветра у земли, скрытый за препятствием и связь пропала.

Да, я понимаю что в этом случае автопилот не включится, но сейчас то автопилот не включится вне зависимости от скорости. Мое предложение расширить область действия автопилота. То есть если самолет летит низко и не против ветра - его спасет автопилот, сейчас как я понимаю автопилот просто не запустится.