Syberian

Пользователи
  • Публикации

    717
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    118

Все публикации пользователя Syberian

  1. у самолета обычно одна кнопка: ХТ60, батарейный разъем. Четких критериев посадки нет, кроме удара - банальное "зависание" в метре над землей по ветру - и АП будет думать, что он "сел". Наземку каждый раз цеплять будем, или доп. канал пульта вводить? Вспомнилось из виндовс: "теперь питание аутопилота можно выключить".... хе... хехе... извините, это уже нервное.
  2. Флешка тут не катит, т.к. число записей в нее порядка тысячи и стирается за раз целый сектор - 128кб, так что только еепром - там под 100к ресурс и стирание побайтное. Нули гиры уплывают не только от температуры, но и от механической деформации платы, которая опять же бывает и температурной и чисто физической: перегрузки, сдавление корпуса крепежом и т.д. Данные по дрейфу в даташите приведены для "сферической гиры в вакууме", т.е. прижатой к пружинному тест-стенду. Сам мечтаю избавиться от фиксации аппарата при старте. Попытки были, но пока без особых резльтатов.
  3. Вочдог не поможет: плата "в воздухе" не стартанет, т.к. самолет не в покое - гира не проинициализируется. Вочдог дает "жесткий" ресет, т.е. память обнуляется, и программа не сможет оставить "потомкам" данные нулей гироскопа. Сам софт построен так, чтобы исключить возможность "зависаний" и задержек по вине каких-то событий, т.к. они просто недопустимы - все видели, к чему это приводит. Причина уже найдена. Если ввести в КИ команду: sys_trace(1);delay_ms(1000);sys_trace(0); то получим состояние процессов. В строке OSD 3-й столбец показывает 1 - это значит, свободного стека у процесса OSD осталось на 1 32-разрядную переменную. Изменение графа вызова процедур в бОльшую сторону (в нашей ситуации - это включение карты) - и происходит переполнение стека с аппаратным исключением hardfault, т.е. запрет прерываний и зависание процессора. Выход из этого состояния - только жесткий ресет. После введения голосового кодека я попросту забыл перепроверить свободные ресурсы системы. В общем, не нужно торопиться с выкладыванием новых фишек, хотя очень хочется. В ближайшее время выложу фикс. trace R 2 21 3 IDLE R 0 89 4 Main B 3 24 1 LED B 2 21 7 guard B 3 23 2 OSD B 2 1 6 CLI B 1 8631 10 Sound B 2 44 5
  4. Вот это засада! Судя по всему, сбой софта в режиме карты. Примите извинения за этот суровый баг. Сижу разбираюсь, откуда вылезло, ведь раньше этот участок проблем не вызывал вообще. Кто уцелел, не пытайтесь летать до выяснения и устранения причины! Алексей, Андрей, если плата в хлам, ключ на новую за мной.
  5. так и задумано, только для проверки. Как уже писал, далее будет возможность пользователю самому конструировать набор озвучки. Хоть РИТу втыкай, хоть тещу: вместо PULL UP сделать "куда прешь, криворукий????" :) Файлы озвучки можно будет выкладывать и комбинировать. это еще поправится, локализация еще не доделана до конца.
  6. 2.0.5135 === - изменена работа КСТ: при запуске АП сервы встают в "нейтрали", заданные в наземке. - при запуске самолета без жпс-модуля сервы также в предустановленных нулях, а не посередине - первый шаг по интеграции войс-паков (наборов озвучки): звук переведен на голосовой кодек, один войспак зашит статично. Прошива "похудела" почти на 100 кб при том же наборе звуков. На старте для проверки добавлена "русская девченка" из РИТ. С предыскажениями "типа реализьм", выдрано из какой-то авиа-игрушки, поэтому качество ужасное, в отличие от "американского мужика".
  7. Мне не трудно сделать, чтобы трекер вставал сразу в предустановленные нули, а не посередине - это не настолько принципиальная позиция. Как удобно пользователям - так и будет. Ждите в следующем апдейте. Кто уже смотрел наземку по-русски, выкатывайте замечания. Что некоторые строки не переведены - это сам знаю, код сложнее транслировать, чем названия кнопочек.
  8. Армить пробовал? Я специально не делал, чтобы сразу в нейтрали, т.к. есть любители "просто включить", а если там без настроек что попало - может сломать трекалку. Поэтому сделал посередине при включении.
  9. Здесь надо немного разъяснить. Ползунки пан-тилт односторонние. Т.е. "туда" команды передаются, а обратно положение - нет. Причем, ползунками можно управлять только в дизарме. Нули сохраняются, только что проверил. Чтобы их вызвать, надо выполнить команды goto Pan 0, goto Tilt 0
  10. "Посадить" можно будет кого угодно, хоть тещу со сковородкой :) Только жертву будете искать сами ;) Сейчас тестируем редактор войс-паков.
  11. Наземка №87 https://dl.dropboxusercontent.com/u/63786348/mpx/mpx_gcs_rus.zip === - исправлено глючное поведение реверсов в КСТ - частичный перевод на русский - застукали посреди "процесса" со своими багами :) кому привычнее старый вариант на инглише - просто удалите mpx_gcs.RUS а поворачивал он виражами или "блинчиком"? :) Был ли перепад температур градусов в 20-30?
  12. Алексей, полагаю,вы однозначно не сдюжите ни станцию ЛККС, ни простой АРП, чтобы рассчитывать триангуляцию из наземных маяков - которые тоже стоят денег. Плюсом, эти устройства еще и весят немало. АРП так вообще, азимут показывает с земли, его же еще на борт транслировать надо. Вы же не будете круговую антенную решетку на борту таскать... В нашем хоббийном деле одна надежда - на ЖПС-модуль. Сейчас на сайте появились новые модули, работающие в дифференциальном режиме GPS-ГЛОНАСС, это сильно повышает точность и вообще устойчивость определения положения. Инерциальное вычисление координат тоже не катит, т.к. интеграл второго порядка от ускорения по акселерометру без участия ОЧЕНЬ дорогих датчиков приведет к еще бОльшей погрешности. чем вообще без оного.
  13. Скидывай: dontsov @ megapiratex.com дальше - в личке
  14. Датчик удара на 8G от греха подальше, D поджать и будет летать норм. Ваш стиль авиагоризонта в МРХ есть. Садиться в авто на такую узкую дорожку не советую, тем более на шасси - не попадет. Еще нужно будет учесть наводки от силовых проводов - они влияют на компас.
  15. Все прочитал, проблема ясна. Подождите еще немного, только вернулся с вахты, дома дел столько накопилось за 2.5 месяца, что компьютер некогда включать. Все починим.
  16. Пока нет, но необходимость назрела. Сейчас "за кадром" проводится серьезная работа по переходу на русский всего изделия, в т.ч. озвучки. Мануал явно придется переделывать полностью, потому и не тороплюсь с ним.
  17. Проверка проходила путем выкладывания голой платы на сугроб за окном, выдерживания и вноса обратно в работающем состоянии. Больше всего меня волновала работа датчиков, т.е. как они отреагируют на изменение температуры от +25 до -44 в течение считанных минут. Из изменений отмечено смещение нуля у гироскопа до 80 единиц на ось и изменение показаний барометра на 22 метра. Уход гироскопа система компенсировала, в момент большого градиента температуры горизонт отклонился по тангажу на 4-5 градусов, но после стабилизации температуры платы -40с все пришло в норму. По поводу барометра судить сложно, т.к. помещение довольно герметичное и дул ветер - давление внутри и снаружи могло объективно отличаться. В любом случае, изменение высоты для такого перепада температур довольно небольшое. После вноса в помещение плата продолжала работать, несмотря на появление инея. Это лишнее, сейчас система автоматически выводит дрейф в ноль.
  18. 1) даже в древнем руководстве указано, что аппу надо поставить на 100%, затриммировать и забыть о ней. Если уменьшить расход пульта, уменьшим задаваемые углы в стабе и АХ. 2) микшер действует вообще на всё Поэтому, если в стабе хорошо рулится, а в мануале или акро слишком резко - уменьшаем RC Rate и больше ни на что не влияем.
  19. Поставить галку Invert SYN_IN в OSD&Sound и нажать Write Перетащить прицел карты на свой домик и нажать эту кнопку. Значок "башня" должен переместиться на это место, т.е. под прицел. Закрыть программу и открыть - "башня" будет на установленном месте. Если это не так, что-то не дает менять базу данных. Или перетащите папку на не-системный диск, или запускайте от имени администратора. Задания имеют расширение .mission Чтобы сохранить задание на диск, нужно жать кнопку Save, а в плату АП - Write. При очередном открытии окна планировщика миссию из АП нужно вычитывать вручную: жать кнопку Read. Поиск по карте сломался и не работает.
  20. именно так
  21. Занумеровал для удобства. Итаг... 1,2 - это регулировать скорость линейной уставкой в диапазоне airspeed min - airspeed max. То есть, сразу брать в качестве диапазона уставки по СВС, но держать по ним GPS-ную скорость, т.е. динамически менять cruise speed. В этом случае автомат газа будет работать штатно: не будет давать скорости падать ниже плинтуса с помощью СВС, а при его отсутствии - пользователь сам себе злобный буратино. Фактически, газ в 0 в режиме АХ убрать будет невозможно - это засада. Ну, как "невозможно... На земле он фиг остановится, а в снижении - да пожалуйста. С другой стороны, сюда тоже можно подключить "здравствуй дерево". 3. А вот это лишнее. У многих стики вообще не в нуле и понять, что "не управляет" будет проблематично. Управление стиками оставим как есть: режим чертика в коробочке. Жду пару каментов, и можно внедрять.
  22. 2.0.5068 + наземка #86 ===== Наземка: - заменена иконка наземки и конвертора логов на нормальную ;) - в закладку General добавлена группа настройки ограничителей крена и тангажа Angle Limits: Roll - крен Pitch up - кабрирование Pitch down - пикирование - цифра должна быть положительная! Лимиты работают следующим образом: 1*) в режиме альтхолда и стабилизации максимальные заданные значения крена и тангажа достигаются в крайних положениях стиков, RC Rate не влияет. 2) в авторежимах выбирается соответствующее наименьшее значение: Roll или 30; Pitch up или 15; Pitch down или 20 градусов. Это не позволит АП "распускать руки" при необдуманной установке значений. 3) в ручном и акро расходы поверхностей определяются только RC Rate *- шкала тангажа масштабируется по наибольшему значению ограничителя. Например, если Pitch up = 10 , pitch down = 40, то максимального тангажа вверх в 10 градусов самоль достигнет при ручке вниз на 1/4, на остальное реагировать не будет. Допустимый диапазон каждого показателя - от 5 до 80 градусов. Некорректные значения будут исправлены автоматически. - В микшер добавлена альтернативная функция каналов 5-8 "Script". При назначении этой функции каналу, в него можно писать значения из командного интерпретатора, т.е. управлять RС-выходами. См. описание функции AP_WriteRC - Добавлена возможность чтения каналов радиоуправления из КИ. См. описание функции AP_ReadRC - добавлена переменная - индикатор потери сигнала управления - X_failsafe - в архив накидано немного примеров скриптов и папка plugins АП: - восстановлена работа КСТ - введена поддержка ограничителей крена и тангажа - В КИ добавлены функции чтения RC-каналов и записи в микшер. Руководство КИ обновлено - редакция С Руководство по КИ
  23. Спокойствие, ща починим.... просто наземка при отсутствии входящих данных пытается пинговать: типа эй, одноглазый, чо молчишь? :) Система была перенесена с самопального диспетчера на полноценную "заводскую" RTOS, поэтому некоторые косяки портирования могут остаться незамеченными, учитывая, что у меня в наличии только макетная плата. Все (кроме интерпретатора) должно работать так, как и раньше, поэтому, если что-то не работает - это скорее всего баг, а не фича. Сообщайте.
  24. 2.0.5013 === - устранена утечка памяти при использовании модификатора static в КИ - исправлено сумасшествие вариометра при включении платы (пи-пи-пи-бубубу) Да, залил, запустил - и все. Бук не нужен (до следующего выключения) Запуск, т.е. plugin_run(); можно вставить в конец самого файла - тогда он будет с самозапуском, т.е. залил - и он запустился. Невозможность что-то послать в терминал - это и есть индикатор работы. Просто дернуть питание. Сейчас сохранение программ для КИ в памяти АП не предусмотрено и после перезапуска все будет "как новенькое". в теме "3 калеки", т.е. даже 2, которые с трудом втыкают, как на квадрике стаб включить. Подозреваю, не моя ЦА. А ведь правда.. :D Спасибо! Здесь главное строки и столбцы не путать. Если у вас элевоны, допустим, на выходах М1 и М2, циферки микса на газ нужно вводить в двух местах: М1(строка):THR(столбец) и М2:THR. Если эффект на земле незаметен, поставьте по 100% на проверку (только не летайте так). Будет и чтение радио, и запись выходов. Вот прямо сейчас - нету, интерпретатору день от роду :) Запись планирую сделать в Alternative functions микшера каналов, где сейчас reserved стоит.
  25. Вот реализация такого плагина, в симуляторе уже откатана: // Virtual fence plugin v01// плагин "виртуальный забор"// если самолет удаляется в не-авто режимах от точки дома дальше, чем задано// включается автоматический возврат на 200м, затем восстанавливается предыдущий режим// Плагин должен запускаться периодически не реже раза в секунду#define p_fence_radius 1000 // радиус "забора", не менее 300мvoid plugin_fence(void){static int fence_running=0; // сохраняем срабатывание "забора" между запусками"static int fence_prev_flightmode=0;// хранение полетного режима, из которого возвращаем к домуstatic float fence_dis=0;if((X_Armed)&&(X_gps_home_set)){ // Срабатывание только если двиг разблокирован и есть захват домаfence_dis=XPoint_home.dis;if(!fence_running) // если возврат не в работе{if((X_FlightMode < FM_RTH)&&(fence_dis > p_fence_radius)){// включаем возвратfence_running=1;printf("fence: Удаление >%dм - возврат\n", p_fence_radius);fence_prev_flightmode= X_FlightMode; // сохраняем полетный режимAP_SetFlightMode(FM_RTH);}}else // если возврат в работе{if(( fence_dis < (p_fence_radius-200))&&(X_FlightMode == FM_RTH)){// если вернулись за забор и полетный режим не прерван пользователемfence_running=0;printf("fence: Возврат с предельного удаления завершен\n");AP_SetFlightMode(fence_prev_flightmode); //восстанавливаем предыдущий режим}else{if(X_FlightMode!=FM_RTH){printf("fence: Возврат прерван пользователем\n");fence_running=0;}}}}}void plugin_run(void) // Плагины крутятся в бесконечном цикле{ while(1) {plugin_fence(); // виртуальный забор// сюда можно добавлять другие плагиныdelay_ms(500);}}// для запуска плагинов введите plugin_run();