МS FS2004, железная кабина и два системных блока.

Ситуация следующая.
Имеется железная кабина, симулятор МFS-9, и два системных блока, один из которых более менее современный, второй похуже. Вся проблема в том, что программа управления приборами кабины написана под Win -98 и соответственно не может работать под более старшие версии. А на новый компьютер не ставится Win-ME. Намучившись с различными драйверами и примочками, которые вроде как разрешают приложению работать под Win- XP для возможности прямого доступу к портам ввода вывода (на самом деле работают очень плохо и криво, а частично не работают совсем). Есть мысль попробовать такую конфигурацию:

Первый системный блок (современная машина) система Win-XP, MFS-9 (что то вроде сервера). Отсюда же берем визуалку на (проектор, монитор), звук.
Второй системный блок (старенькая машина) система Win-ME, MFS-9, программа ввода вывода данных (роутер) для железной кабины.
Системные блоки связаны по локальной сети через хаб.
Теперь вопрос:

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

Ответов: 21

ra3dcs, on 03 January 2012 — 15:40, said:

Вся проблема в том, что программа управления приборами кабины написана под Win -98 и соответственно не может работать под более старшие версии.

вся проблема в том, что ИМХО вы не с той стороны подошли к решению проблемы.
Самый быстрый и простой способ: привязать контроллеры к новой программе (написать новую), либо найти уже существующие программы для работы с игровыми устройствами ввода-вывода напрямую..
Одна из таких программ недавно обсуждалась ее разработчиком на страницах этого форума. Если найду ссылку — подкину.

Сообщение отредактировал RAID: 03 January 2012 — 16:21

RAID, on 03 January 2012 — 16:20, said:

Самый быстрый и простой способ: привязать контроллеры к новой программе (написать новую),

Вы к примеру можете это сделать?
Лично Я нет!
И так ясно, что это самый простой и быстрый способ!!! НО!!!!

Сообщение отредактировал ra3dcs: 03 January 2012 — 17:32

я тоже нет, но на этом сайте такие люди думаю есть! Почему бы их не поискать и не попробовать объединить усилия?
Ведь для этого и существует сообщество симмеров ;)
синхронизация двух «кабин» в фс9 — ветвь тупиковая

Сообщение отредактировал RAID: 03 January 2012 — 22:24

ra3dcs (03 January 2012 — 15:40) писал:

программа управления приборами кабины написана под Win -98 и соответственно не может работать под более старшие версии.

Конечно наиболее правильно было бы переписать эту программу под какой-то более современный нежели LPT интерфейс. Под тот же мост USB-параллельная шина FT245. Это ваше дело, переубеждать не буду.

ra3dcs (03 January 2012 — 15:40) писал:

Как все это дело синхронизировать и что для этого еще нужно?

Наиболее распространен для подобных вещей протокол iocp. Протокол ходит по udp, т.е. конечные точки могут находиться на разных компах. Готовые плагины для общения сим <-> iocp есть. Осталось в вашу программу-роутер добавить iocp-клиента. Описание iocp и плагины искать на сайте opencockpits. Зарыто оно там глубоко, но найти можно. Да протокол далеко не иделаен, но другого у нас пока нет.

САБ (05 January 2012 — 13:16) писал:

протокол iocp. Протокол ходит по udp, т.е. конечные точки могут находиться на разных компах.

Уточнение — по TCP. В ближайшем будущем выложу dll-ки с клиентом IOCP, запускаемом как отдельный процесс с парой callback функций, ибо уж очень часто стали возникать вопросы на эту тему ;)

vitabutch (05 January 2012 — 13:22) писал:

Уточнение — по TCP.

Точно? В описании написано про udp.

САБ (05 January 2012 — 13:31) писал:

Точно? В описании написано про udp.

Угу. Изображение
Описание тут: http://www.opencockp…showpage&pid=66

САБ (05 January 2012 — 13:16) писал:

Конечно наиболее правильно было бы переписать эту программу под какой-то более современный нежели LPT интерфейс. Под тот же мост USB-параллельная шина FT245. Это ваше дело, переубеждать не буду.

Да разве ж я против, только кто это сделать может?

vitabutch (05 January 2012 — 23:56) писал:

Описание тут: http://www.opencockp…showpage&pid=66

От этого описания не легче!
Человеческим бы языком кто бы растолковал!

vitabutch (05 January 2012 — 23:56) писал:

Угу.

Хм. Действительно. А где же я встречал упоминание про UDP?

ra3dcs (06 January 2012 — 00:40) писал:

Да разве ж я против, только кто это сделать может?

Вы ведь дописываете свой роутер под новое оборудование? Возможно сможете и с этой микросхемой подружиться. Описание какое-то по общению с ней через dll производителя было где-то на сайте.
Вот есть еще такое устройсво: http://www-user.tu-c…T/index.html.en По описанию эмулирует LPT на нижних адресах, вроде бы как раз для вашего случая. И где-то мне попадалось еще одно похожее, но более свежее. Постараюсь найти.

Добавлено: нашел. «более свежее» — это то, что по этой же ссылке в разделе «версия 1.7»
А вот оно продается готовое: http://ur4qbp.ucoz.u…3/2010-12-09-44

Сообщение отредактировал САБ: 06 January 2012 — 01:46

ra3dcs (06 January 2012 — 00:42) писал:

От этого описания не легче!
Человеческим бы языком кто бы растолковал!

Все очень просто. Обмен происходит по протоколу TCP. Протокол текстовый, т.е. можно общаться с сервером даже через telnet. Зарезервированные последовательности обмена клиент-сервер (без допноворотов):
клиент: Arn.Inicio:15:19:5316: — Здрасте, я ваш новый IOCP клиент, не будете ли Вы так любезны отсылать мне изменения переменных со следующими номерами 15, 19, 5316? :)
Сервер: Arn.Vivo — Привет :)
Сервер: Arn.Resp:15=67:5316=23: — Переменная номер 15 равна 67, а номер 5316 равна 23м, а 19тую я вам не шлю, ибо она нуль
Клиент: Arn.Resp:15=11: — оки, только присвойте-ка переменной номер 15 значение 11.
… ну и дальше в том же духе, друг другу шлют значения переменных.
Клиент: Arn.Fin — спасибо за работу, на этом я отключаюсь.
Сервер: закрывает сокет.

Ну в общем как-то так :)

САБ (06 January 2012 — 01:18) писал:

Хм. Действительно. А где же я встречал упоминание про UDP?

Скорее всего в описании встроенного протокола обмена X-plane — там как раз UDP.

Сообщение отредактировал vitabutch: 06 January 2012 — 02:47

САБ (06 January 2012 — 01:18) писал:

Вы ведь дописываете свой роутер под новое оборудование?

Добавлено: нашел. «более свежее» — это то, что по этой же ссылке в разделе «версия 1.7»
А вот оно продается готовое:

По мере своих возможностей.
Мне кажется, что всякие преобразователи УСБ- ЛПТ не решат задачу. В тренажере использовано нестандартное применение порта принтера. Порт принтера превращен в 12 разрядную шину данных на вывод информации и 4 разрядную на ввод.

ra3dcs (06 January 2012 — 14:58) писал:

В тренажере использовано нестандартное применение порта принтера. Порт принтера превращен в 12 разрядную шину данных на вывод информации и 4 разрядную на ввод.

У буржуев это называется bitbang, в русскоязычной среде сложилось устойчивое название «шевеление ногами». Так работают все простые программаторы на LPT. Да, «обычные» переходники USB-LPT такое делать не позволяют, у этого же отдельно отмечено, что он это умеет. Более того, написано, что его драйвер перехватывает и корректно отрабатывает так любимые вами команды out.
Или, хотите, я напишу вам на меге8 программу, которая будет принимать по ком-порту строки «10100010001» и отображать эти нолики-единички на своих ногах, а по изменению входных ног отсылать аналогичные строки обратно в ком-порт? Вот вам и будет избавление и от LPT, и возможность работать с любой операционкой.

САБ (06 January 2012 — 15:39) писал:

Или, хотите, я напишу вам на меге8 программу,

Сергей спасибо!
Но как говорит наш Босс «Мы не ищем легких путей!»

ra3dcs (07 January 2012 — 10:30) писал:

Сергей спасибо!
Но как говорит наш Босс «Мы не ищем легких путей!»

ваш Босс — дурак :) так ему можете и передать :)

ra3dcs (07 January 2012 — 10:30) писал:

Сергей спасибо!
Но как говорит наш Босс «Мы не ищем легких путей!»

Странно. По вашим веткам казалось, что цель ваших работ — строить кокпиты а не плакать, колоться, но продолжать есть кактус. Складывается какое-то неоднозначное ощущение. Уже не первый раз предлагаю вам помочь, сделать что-то совершенно бескорыстно, а в ответ либо тишина, либо «не ищем легких путей». Мне нравятся ваши проекты, ваша кабина Л-29 была одним из двух проектов (второй — кабина Sly), прочитав о которых мне захотелось строить что-то свое.

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

САБ (10 January 2012 — 16:11) писал:

Складывается какое-то неоднозначное ощущение. Уже не первый раз предлагаю вам помочь, сделать что-то совершенно бескорыстно, а в ответ либо тишина, либо «не ищем легких путей».

Сергей, СПАСИБО Вам большое за заботу, но складывается следующая ситуация.
Чтобы построить хороший проект железный кабины, нужна команда как минимум из трех человек. (программист, электронщик и кто будет заниматься самими железками). В моем случае получается совмещение всех в одном лице. На мне висят два незавершенных проекта в планах еще один (кабина МиГ-21). Мне просто некогда сейчас заниматься еще электроникой, тем более, что элементная база электроники стала до того миниатюрная, что просто паять я их уже не могу. Любые изменения способа ввода вывода неизбежно повлекут за собой изменение в программе роутера, на что уйдет масса времени и сил (не факт, что еще все получится).
Сейчас появилась возможность возродить заброшенный проект Л-410, но он будет переоборудован в вариант Л-410ФГ, а это означает почти полностью перестроить кабину.
Мне для проекта Л-29 проще поставить два системных блока (если бы это помогло), оставить электронику как есть и переключиться на возрождение Л-410, там работы пока хватит и без электроники. А после будет видно, что делать дальше.

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

Александр, у вас же есть как минимум одна плата УАС-Б, можно
попросить кого нибудь из электронщиков напаять вам еще плат
ну или в конце концов на заводе заказать, и будет вам счастье.

работа с основной частью приборов уже отлажена, осталось только
вытянуть данные, в качестве роутера можно использовать iocp+sioc
программировать там почти ничего не потребуется, и вообще у нас
тут уже пол форума эксперты по вытягиванию переменных из сима.

LISА (10 January 2012 — 18:38) писал:

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

Александр, у вас же есть как минимум одна плата УАС-Б,…….

, и вообще у нас
тут уже пол форума эксперты по вытягиванию переменных из сима.

Андрей, у меня так же есть еще плата УАС Зверева, плата Bird, платы EZ-BUS, платы FS-BUS. Но ни одна из этих систем не может обеспечить полностью возросшие потребности в оживлении приборов железной кабины (в данном случае для меня).
А к чему вообще этот разговор, мы же не собираемся тут обсуждать достоинства и недостатки той или иной системы?
Стоит задача для проекта Л-29 использовать два системных блока. Выяснили, что вроде можно через iocp-сервер. Давайте это и обсудим, как установить и настроить iocp-сервер, как добавить и настроить на второй машине iocp-клиента?
А то (как Вы выразились) экспертов уже пол форума, а пользы пока нет!

ra3dcs (11 January 2012 — 14:09) писал:

как добавить и настроить на второй машине iocp-клиента?

Так клиента надо будет дописать в вашу программу.

САБ (11 January 2012 — 15:24) писал:

Так клиента надо будет дописать в вашу программу.

И как это примерно должно выглядеть?