Хочу немного рассказать о своей разработке, это юсб контроллер джойстика, платы L2 и F2.
данные платы уже достаточно активно используются в самодельных устройствах управления (джойстиках), но есть еще одна не до конца раскрытая часть функционала, это модуль подключения плат индикации контроллераF2.
Общая концепция такова, что разработчик может написать программу, которая будет передавать данные в контроллер, который в свою очередь, без какой либо обработки, передает эти данные на платы индикации. Сами же платы индикации получая данные, обрабатывают их по своему усмотрению, т.е. сами платы могут быть различных типов, используя при этом однотипное подключение. За счет этого, как мне видеться, достигается некая универсализация/гибкость общей системы.
На данные момент разработана плата дискретной индикации (светодиоды), и управляющая программа для различных приборов световой индикации ЛА из симуляторов ЛО и ДКС ЧА.
При этом ничто, кроме наличия(вернее отсутствия) времени, не мешает сделать программную часть и для других симуляторов.
Но, данная часть проекта F2 открыта для всех желающих, и каждый может поучаствовать в развитие этого направления. Причем тем, кто уже разработал какие либо блоки подключения индикации, изучив мой проект, будет несложно адаптировать свои устройство для подключения к контроллеру F2.
итак, для общего использования выкладываются :
— исходные тексты программы передачи данных в контроллер (C#)
— исходные тексты прошивки платы OUT16_D, для подключения дискретной индикации, используя данный проект можно самостоятельно создавать модули для индикации других типов — шаговики и проч. (C IAR)
— пояснение к данным исходным текстам.
Все модули могут быть достаточно легко перенесены в любые другие среды программирования.

OutProj.zip 376.83К
251 раз скачан
Сообщение отредактировал WildCat: 12 April 2012 — 11:11
Будут вопросы, задавайте, отчечу, помогу)
kreml (13 October 2011 — 17:59) писал:
Будут вопросы, задавайте, отчечу, помогу)
Приветствую, Станислав. Долгожданный материал. Спс)
наконец-то можно вернуться к F2+out…
над ток голову включить и переварить все это)
А вообще, лучше всего будет разобраться на конкретном примере. Если чтото уже есть, выкладывай-спрашивай, можно вместе, в этой теме, со схемами и программами сделать разбор, думаю будет и другим полезно.
Vladmode (17 October 2011 — 18:23) писал:
Ок, посмотрю, или может кто из присутствующих что порекомендует. Я просто в свое время отказался от идеи использования цапов, т.к. посчитал что на них можно реализовать только однооборотные прибры, или я неправ? Это просто к вопросу высотометра. Ну а что касается нелинейной шкалы, думаю да, это все решаемо программно, на уровне роутера.
Сам роутер для ЛО2 плностью готов в части светосигнальной индикации. Для стрелочных нужен доделать сам прибор (мы пошли по пути использования ШД), у нас он еще недоделан.
схема зависит от выбранного цапа. Напиши что за цап планируется использовать. схемку недолго набросать, да и прошивку поменять тоже
Немного повторюсь . Уже выкладывал (да простят меня жители форума
сдесь фотки
http://forums.eagle….84&postcount=57
ну и немного для ДКС ЧА
http://rutube.ru/tra…c299fcfc6ca9cf6
Сообщение отредактировал Vladmode: 17 October 2011 — 21:34
На мод надо глянуть, какая там сигнализация изменена.
Вижу, что «ястребам» сей девайс, особенно его «аут» — часть, оказался по-зубам). Рад за вас, ребята.
Имхо,с системой ввода данных в MSFS ни у кого особых проблем не возникло…
а вот с Аутом — засада вышла(, нужно обладать опытом программера, т.к. роутера для L2F2 под FS пока НЕТ(
Мож, кто имеет опыт вывода данных из MSFS на сей девайс? Поделитесь, плз)
Сам успехов пока не достиг,
единственное что смог — путем добавления своего кода в проект Станислава «OutTest», получилость индицировать одну из NAV-частот дефолтной Цессны. Делал так: адрес переменной нашел с помощью ЧитЭнжина, прочитал значение переменной , и отправил ауту. тыц
Знаю, что это не есть гуд.
Я не смог програмно узнать Базовый адрес процесса сима, где хранятся переменные, чтоб затем ,прибавлением известного мне смещения к нему, получить адрес, для извлечения значения переменной и его последующей индикации.
Слышал, и даже пытался читать, про SIOC и IOCP — пока не сформировалось четкого представления об их практическом применении.
Мое представление о работе роутера:
— проверить готовность железной и софтовой частей
— прочитать конфиг файл с заданными пользователем смещениями, установить реальные адреса хранения переменных
— отслеживать изменение значений переменных и отправлять их железу
Буду признателен, если кто-нибудь толкнет меня в нужном направлении…
зы: из’яснился как мог, так что если кого моя терминология резанула — пардон))
ззы: Благодарю Станислава за качественное исполнение своих обязательств.
Сообщение отредактировал DGD: 03 January 2012 — 17:56
DGD (03 January 2012 — 16:51) писал:
Слышал, и даже пытался читать, про SIOC и IOCP — пока не сформировалось четкого представления об их практическом применении.
Вопрос получения данных из разных симов (FS9, FSX, Xplane, LO, FC2, DCS) в SIOC уже давно решен. Shaman сейчас работает над увязыванием протокола IOCP с API блока вывода F2. Спишитесь с ним, думаю, это ускорит работу!
vitabutch (04 January 2012 — 23:41) писал:
Cпасибо, Виталий.. Подождем пока Евгений «вернется»)
Разработаны платы аут для работы с шаговыми двигателями (ШГ). (Совместно с контроллером F2)
Теперь, в дополнение к дискретной индикации, появилась возможность вывода «аналоговых» (стрелочных и т.д.) приборов.
1й реализованный прибор — топливометр СУ-27:
Индикация ламп несовпадает с игрой, т.к. логика нашего прибора делалась по данным реального алгоритма. В игре судя по всему упрощенный.
Несколько слов по плате ШГ.
Плата основана на МК атмега8, управляет работой 2х ШД в режиме микрошага, либо полушага (по выбору для каждого мотора). Также одновременно поддерживается работа как Уни, так и Би-полярных моторов.
Всего к контроллеру F2 можно подключить до 64 таких плат…
Документация на платы еще требует косметической доработки, будет доступна в общем доступе по готовности.
Сам прибор спроектирован и изготовлен Владимиром (моделиствв), использованы 2 ШД от дисководов, работают в режиме микрошага. Я только сделал электронику/софт. Вся отладка шла дистанционно, по аське, но результатами довольны оба
PS. Огромное спасибо Сергею САБ за консультации, + ткнул носом в нестандартный способ формирования ШИМ (для микрошага), благодаря чему у электроники и появились дополнительные фишки)
Kreml, я Ваш фанат!!!!!!
Я начинающий программист по железу на ядре ARM7. Имею так же небольшой опыт программирования софта в среде C++.
Может где-то обсуждалось, но я не нашел, так что прошу не бить ногами.
Вопрос! Как вы достаете данные из симуляторов? Задача: достать переменные, дальше буду пихать их в контроллер для осуществления индикации.
Например, хочу написать прогу, которая будет мониторить скорость самолета и посылать значение скорости по RS232 на контроллер. В дальнейшем — по USB.
Используются какие-то компоненты? Или сам симулятор имеет такую возможность?
Спасибо!
З.Ы. Вроде нашел способ в соседней ветке. Не там искал. SimConnect называется. Но не могу найти как его скачать. На сайте майкрософта одно только описание. =(
Вернее, не могу понять каким образом его поставить — это компонент или просто хидер и тд…
Тогда вопрос такой: SimConnect посылает данные по Ethernet (не пойму нахера), а есть ли способ ТУПО выдернуть данные и послать по USB?
У каждого сима по своему сделано, я пока могу только по линейке ЛО/ДКС помочь.
По Ethernet посылает не только SimConnect. И это хорошо. Потому что это позволяет вам при желании разнести задачи на два/три/сколько угодно компов. А это удобно и с точки зрения распределения нагрузки и с конструктивной точки зрения — не все кокпиты умещаются в углу спальни, порой удобнее кинуть один Ethernet-кабель, чем тащить пучки проводов. Посмотрите, как легко при помощи Ethernet собирается многопроекторная система на базе x-plane.
А способ послать на USB или любой другой интерфейс — написать писишную прогу, которая слушает нужный порт TCP|UDP (или посылет запрос), принимает данные и посылает их куда угодно. Причем плугин остается один и тот же, а прог вы можете написать великое множество под любой интерфейс.
Если эта прога запущена на том же компе, что и плугин — то указать плугину адрес получателя localhost (127.0.0.1) или, если плугин является сервером, указать проге адрес сервера ‘localhost’.
Есть и еще один плюс — отдельной проге гораздо сложнее ненароком что-то поломать в симуляторе, ибо, в отличие от плугина, она не имеет непосредственного доступа к его внутренностям. Грязные хаки не рассматриваем, естественно.
А уточнить название симулятора не помешает, да.