Jump to content

Recommended Posts

Привет,

 

хочу поделиться с вами моим роутером.

 

Роутер позволяет управлять переменными в памяти симулятора и переменными, предоставляемыми модулем FSUIPC.

 

Поддерживаемое железо:

- F3/L3

- ARCC

- Джойстики

- Клавиатуры

 

Поддерживаемый в данный момент самолёт:

- ПТ Ту-154М 2.04 beta 1

 

Минимальные системные требования:

- Windows 7

- .NET Framework 4.5

- Наличие SlimDX (оболочка для DirectX)

 

Скачать FlexRouter v.0.600 можно здесь: FlexRouter 0.600.zip

Инструкция внутри архива

 

Замечания:

Элемент управления "Энкодер" назначается только для ARCC. В остальном железе назначается как 2 кнопки "больше" и "меньше". Именно так видит система энкодеры, подключенные к Mjoy и F2/L2.

 

Известные проблемы:

- неуверенный дамп кнопок ARCC. Рекомендация - закрыть и вновь запустить роутер

- неверное отображение частоты на пультах Баклан после старта роутера. Рекомендация - повернуть энкодер на одну позицию вправо или влево

Edited by Zhabo
  • Upvote 7

Share this post


Link to post
Share on other sites

Коллеги приветствую!

Обращаю Ваше внимание и рекомендую Роутер коллеги Zhabo. В моем комплексе Ту-154М  от команды "ПТ" версия 2.04 (4 монитора). электроника от ARCC Pro (две мат. платы и много других модулей) и Mjoy (2шт.), штатные блоки, панели. Роутер работает отлично, главное автор готов принять пожелания и оказать содействие в настройке. Интерфейс весьма понятен и позволяет самостоятельное добавление элементов управления, привязки к конкретному самолету нет, все в ограничивается Вашими интересами, поиск переменных весьма занимательное занятие.

"Известные проблемы"  подтверждаю, но сие абсолютно не критично и на рабочие характеристики не влияет, так что "вперед и с песней...".

Благодарность Автору, полагаю Роутер внесет свежую струю в строительство тренажерных комплексов!

 

 

С уважением,

Андрей П.

Share this post


Link to post
Share on other sites

Андрей, спасибо за отзыв. Известные проблемы вот-вот исправлю.

Share this post


Link to post
Share on other sites

Трямс.  ..

А что за проблемы с  неуверенным дампом модуля КЕЙ ?    Вроде  по железу все было отлажено. 

Share this post


Link to post
Share on other sites

Полагаю это мой частный случай, при "горячем" старте, физические переключатели на верхнем щитке в рабочем положении, а на мониторе часть из них не включена. Повторный перезапуск Роутера исправляет ситуацию, или просто вручную перевключить. То же и с РС "Баклан". У меня есть давняя проблема с MSFS под WIN7 который запускается не с первого клика, может с этим связано.

 

С уважением,

Андрей П.

Share this post


Link to post
Share on other sites

А что за проблемы с  неуверенным дампом модуля КЕЙ ?    Вроде  по железу все было отлажено. 

 

Не совсем. Есть 2 проблемы. Первую я победил - бага в коде. Вторая пока до конца не не понятна. Не знаю в чём проблема. А пока пара вопросов:

1. Верно я понимаю, что готовность ARCC к работе можно определить по приходящему пакету длиной в 1 байт, содержащему 0?

2. Можно ли сдампить состояние модуля осей командой?

Share this post


Link to post
Share on other sites

Del

Извините, ребята - не сразу въехал.

Edited by McGordon
  • Downvote 1

Share this post


Link to post
Share on other sites

Не совсем. Есть 2 проблемы. Первую я победил - бага в коде. Вторая пока до конца не не понятна. Не знаю в чём проблема. А пока пара вопросов:

1. Верно я понимаю, что готовность ARCC к работе можно определить по приходящему пакету длиной в 1 байт, содержащему 0?

2. Можно ли сдампить состояние модуля осей командой?

 

1. Не совсем понятно. Там по сигналу CTS компорта  инициализируется Callback функция (в программе тк должно быть по идеи) в которой  читается буффер FT232 с дальнейшим раскладом всего пакета. Там не один байт приходит. Но если модули молчат и нет действий ,то может не придти ни одного байта. Узнать что ARCC пришла в готовность можно только или дампом клавиш или воздействовать на модули механичеки.. Чтонить покрутить чтобы теответили в шину.  Но обычно , через 0.5 сек после железного сброса все модули приходят в готовность. Так чтобы один модуль повис а другой работал такого не должно быть .

 

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

Edited by fiyrus

Share this post


Link to post
Share on other sites

Да, с насчёт CtsHolding я догадался некоторое время назад, теперь перед началом приёма-передачи жду, пока он не установится в true.

 

Разобрался с дампом. Проблема была в следующем - если запускать роутер через 5-10 секунд после подключения железа к USB, то самым первым иногда приходит (а иногда не приходит) пакет в 1 байт со значением 0, Зачем он приходит - я не знаю. Никакого маркера, разделяющего пакеты ARCC нет, поэтому я начинал обработку с этого нуля и, соответственно, все пакеты с этого момента были битые (фактически сдвинуты на 1 байт) и событий от железа с точки зрения роутера не было. Теперь я отлавливаю и пропускаю этот ноль в самом первом пакете. Пока дамп стабилен.

Share this post


Link to post
Share on other sites

Я, пока на версии 0.52, полагаю рекомедации по запуску пока прежние: для корректного перечитывания состояния переключателей- перезапустьть Роутер. Ожидать следующей версии с исправлениями.

Кстати настроенный профиль от 0.52 лучше импортировать штатной кнопкой в V0.6 или просто в поменять в папке Profiles сохранив имеющийся?

 

С уважением,

Андрей П.

Share this post


Link to post
Share on other sites

Версию 0.610 с исправлениями обеих проблем (по крайней мере у меня они больше не проявляются) я выложу на этой неделе. Для импорта нового профиля лучше воспользоваться кнопкой "Импортировать и сохранить назначения", чтобы не перенастраивать всё железо заново.

Share this post


Link to post
Share on other sites

Пробовал импортировать профиль из FR 0.52, не получилось, FR 0.600 закрывается по ошибке. При копировании файла профиля (*.aр) в соответсвующую папку FR 0.600, роутер его не видит, ну это нормально скорее всего.

Share this post


Link to post
Share on other sites

Андрей, что именно не получается? Если не получается перейти на новый профиль с сохранением назначенного железа - перешли свой профиль, я попробую помочь. Если добавлял какие-то новый элементы управления в старый профиль - присылай профиль с пояснениями, я склею изменения в один.

Share this post


Link to post
Share on other sites

Привет,

 

хочу поделиться с вами моим роутером.

 

Скачать FlexRouter v.0.600 можно здесь: attachicon.gifFlexRouter 0.600.zip

 

Добрый день!

 

А исходники роутера - военная тайна? Хотелось бы досконально изучить обмен данными.

Share this post


Link to post
Share on other sites

Исходники роутера - не военная тайна. Я уже выкладывал исходники от предыдущей версии 1-1,5 года назад. От текущей версии исходники пока выкладывать не буду. Обмен данными чрезвычайно прост, я его написал за один вечер. За исключением обработки разных ситуаций он выглядит так:

OpenProcess()

ReadProcessMemory/WriteProcessMemory

CloseProcess()

 

Не совсем понятно, обмен данными между чем и чем вы хотите изучать.

Share this post


Link to post
Share on other sites

Андрей, что именно не получается? Если не получается перейти на новый профиль с сохранением назначенного железа - перешли свой профиль, я попробую помочь. Если добавлял какие-то новый элементы управления в старый профиль - присылай профиль с пояснениями, я склею изменения в один.

Доброго времени и места, Zhabo! C прошедшими праздниками!

 

Да то, что не получилось не существенно, дождусь версии FR0.610 и пропишу назначения коммутации и индикации по новой. Пока, закончил с рукояткой ПОШ, "обкатываю/облетываю" на 0.52.

 

С уважением,

Андрей П.

Share this post


Link to post
Share on other sites

Вот версия 0.610 FlexRouter 0.610.zip.

 

Список изменений:

 

[Исправлено] Bug: Неверно работает Range, не выставляются дефолтные значения
[Исправлено] Bug: Неуверенный дамп железа ARCC
[Исправлено] Bug: F3. При наличии нескольких материнских плат клавиши от модулей с одинаковым ID воспринимались как одна. Из-за этого они "моргали" (вкл-выкл-вкл-выкл)
[Добавлено] F3/L3 - поддержка осей
[Добавлено] При назначении оси нужно сдвинуть её на 1/10, чтобы роутер обратил на неё внимание. Сделано для исключения дребезга.
 

Share this post


Link to post
Share on other sites

Не качается SlimDX. Не могли бы Вы выложить его сюда? Ну или на почту выслать aer-dn@yandex.ru

Edited by DNV640

Share this post


Link to post
Share on other sites

Сюда не влазит, выслал на почту. Также проверил скачивается ли оно с официального сайта - у меня всё скачивается.

Share this post


Link to post
Share on other sites

Странно. Я пробовал с рабочего компа, пробовал с домашнего - ни там, ни там загрузка не начиналась. Спасибо огромное. Андрей уже выслал мне просто SlimDX.dll. Все заработало. 

Share this post


Link to post
Share on other sites

Исходники роутера - не военная тайна. 

Не совсем понятно, обмен данными между чем и чем вы хотите изучать.

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

Share this post


Link to post
Share on other sites

В выходные прописал назначения в FR0.61, все управляется и отображается, сделал несколько "кругов" "на руках", все нормально. По бленкаерам проблема осталась, возможно что-то у меня. Пробовал назначить "Скорость для штурмана" на индикаторы курса (МП-70),  нет управлениея (переключения индикации) от кнопки переключения (курс/скорость), возможно в роутре настройка жестко под В-57 (блок ветра). Если так, то мне надо паять индикаторы ;-). Так же отметил, что нет "галки" "повторитель" для кнопок НВУ, видимо то же реализовано на уровне роутера.

 

С уважением,

Андрей П.

Share this post


Link to post
Share on other sites

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

 

Я бы как раз сказал, что нет никакого API. Хотя, мой роутер и использует FSUIPC, но крайне редко. В основном патчит процесс симулятора. Вот исходники, которые я когда-то уже выкладывал. Изучайте. Router.39.zip

Share this post


Link to post
Share on other sites

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

 

Хотелось бы посмотреть, как это выглядит. Бленкеры на реальных пультах?

 

 

Пробовал назначить "Скорость для штурмана" на индикаторы курса (МП-70),  нет управлениея (переключения индикации) от кнопки переключения (курс/скорость), возможно в роутре настройка жестко под В-57 (блок ветра). Если так, то мне надо паять индикаторы ;-)

 

Жёсткой привязки нет. В описателях доступа есть такое понятие как "Формула подачи питания", которая может быть прописана в самом описателе доступа или наследоваться от "панели" при установке соответствующей галочки:

 

post-16158-0-61389200-1421787107.png

 

Принцип работы питания в следующем: если питание подано (результат расчёта формулы "Истина"), то коммутируемое железо передаёт или принимает данные от сима. Если питание выключено ("Ложь"), то коммутируемое железо перестаёт принимать или отправлять данные.

 

Переключатель "Режим B57 (ветер)-Скорость (ККП)" из панели "Скорость для штурмана (ККП)" управляет переменной типа "Коммутатор". Переменные такого типа - внутренние, их значения с симом никак не связаны. Нужен такой тип переменных, как видно из названия, для программной коммутации железа.

 

В нашем случае, если переключатель в состоянии "Выкл", то переменная установлена в 0, иначе в 1.

 

post-16158-0-72722000-1421787293.png

 

В панели "Скорость для штурмана (ККП)" формула питания следующая: 

[В-57 (ветер).Ветер-Скорость]==1&&[Общее.Наличие питания от аккумулятора]==1

То есть, если переменная Ветер-Скорость установлена в 1 и в самолёте включены аккумуляторы - питание подано, иначе отсутствует

 

В панели "В-57 (ветер)" формула питания:

[В-57 (ветер).Ветер-Скорость]==0&&[Общее.Наличие питания от аккумулятора]==1

Здесь наоборот, если переменная Ветер-Скорость установлена в 0 и в самолёте включены аккумуляторы - питание подано, иначе отсутствует

 

Во всех дочерних элементах обеих панелей установлена галка "Использовать формулу питания панели", то есть вышеуказанные формулы распространяются на все дочерние элементы панелей. Таким образом, когда мы переключаем тумблер, назначенный на описатель доступа [В-57 (ветер).Ветер-Скорость], управляющий одноимённой переменной, мы подаём питание на одну панель и снимаем его с другой.

 

Для того, чтобы переназначить индикацию скорости на индикатор Курс-МП (описатель доступа Индикатор частоты в панели Курс-МП 1), нужно:

1. Снять галочку "Использовать формулу питания панели" в описателе доступа "Индикатор частоты" панели "Курс-МП 1"

2. В поле "Формула подачи питания" описателя доступа "Индикатор частоты" панели "Курс-МП 1" написать:

      [Оверхед (нижний ряд).КурсМП1 питание]==1&&[Общее.Наличие питания от аккумулятора]==1&&[В-57 (ветер).Ветер-Скорость]==0

     что значит, отображать данные курс-мп, когда на оверхеде включен тумблер Курс-МП №1 и включено питание как минимум от аккумуляторов и тумблер переключения режима "Ветер-Скорость" в состоянии "Ветер"

3. Назначить индикацию скорости на индикатор железного пульта Курс-МП

 

Так же отметил, что нет "галки" "повторитель" для кнопок НВУ, видимо то же реализовано на уровне роутера.

 

Верно. Повторитель - это не "пользовательская" настройка. То есть, нужен ли повторитель знает тот, кто формирует профиль, поэтому галочку я унёс в "Описатели доступа"

Share this post


Link to post
Share on other sites

Дмитрий, приветствую!

Похоже все мои проблемы с бленкарами и прочие из за периодического "отваливания" одного из двух ББ ARCC.

Причем WIN7 их видит нормально, предупреждений в "диспетчере" нет. FR0.61 в верхнем окне вкладки "информация" их то же видит оба, а в окне "проблема" через произвольное время появляется сообщение что блок не найден, "перечитывание" состояний кнопок ситуацию не меняет. Постараюсь сегодня подключить все доп модули на один ББ и проверить, в частности, работу бленкеров и перекльчателей, скорее всего будет нормально.

Сколько у тебя в комплексе используется ББ ARCC? Если два и более то были ли проблемы. У меня FR0.61 определяет ББ как разные (16-тиричный код),  по логике работы FR, как он опрашивает модули или просто ждет "откуда прилетит", где може возникать конфликт.

Конфигурационные утилиты ARCC "видят" только сигналы от ББ, на котором было первое действие. полагаю это нормально.

 

По части подключения самих ББ к USB и отдельному питанию пробовал: разные гнезда, HUB (с отдельным питпнием), вынес блок питпния всего комплекса за пределы среднего пульта ( от возможных наводок).

 

С уважением,

Андрей П.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×