???
Математика на уровне МГУ

Страница 8 из 15 ПерваяПервая ... 456789101112 ... КрайняяКрайняя
Показано с 176 по 200 из 372

Тема: DeviceLink

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    RR_Patrick Аватар для Avc
    Регистрация
    07.06.2004
    Адрес
    Ireland, Limerick
    Возраст
    57
    Сообщений
    188

    Ответ: DeveceLink

    По совету Hruks проверил работу prop pitch еще раз, но уже с включенным полным управлением двигателем - в этом случае prop pitch работает и на запись и на чтение. Если полное управление выключено, но работает только на чтение. С триммерами элеронов вроде тоже самое - не на всех самолетах они просто есть. Это проверю завтра и тогда напишу.

  2. #2
    RR_Patrick Аватар для Avc
    Регистрация
    07.06.2004
    Адрес
    Ireland, Limerick
    Возраст
    57
    Сообщений
    188

    Ответ: DeveceLink

    Вроде летает шарманка. Пробовал на одномоторных самолетах. Взлетают нормально (без моего вмешательства) Як-9УТ и Ла-7. Из немецких одномоторных тоже какой-то попробовал - взлетел. Если сегодня успею доделать чтение скрипта взлета из файла, тогда выложу на общее поигрательство.

  3. #3
    RR_Patrick Аватар для Avc
    Регистрация
    07.06.2004
    Адрес
    Ireland, Limerick
    Возраст
    57
    Сообщений
    188

    Ответ: DeveceLink

    Выложил программу. Описание к ней вот в этой ветке:
    http://www.sukhoi.ru/forum/showthrea...422#post392422

  4. #4
    Энергитический вампир Аватар для Death_pilot
    Регистрация
    05.09.2003
    Адрес
    тьма
    Возраст
    48
    Сообщений
    328

    Ответ: DeveceLink

    Народ а для чего автопилот то делать включил встроенный и взлетай
    Люблю запах напалма по утрам.....(Апокалипсис Сегодня Х.ф.)

  5. #5
    Пилот
    Регистрация
    08.07.2002
    Адрес
    Челябинск
    Возраст
    53
    Сообщений
    612

    Ответ: DeveceLink

    Цитата Сообщение от Death_pilot
    Народ а для чего автопилот то делать включил встроенный и взлетай
    ИМХО, трезвая мысль в этой ветке. Действительно зачем это все, кроме тестов. Искусство для искусства получается.

  6. #6
    RR_Patrick Аватар для Avc
    Регистрация
    07.06.2004
    Адрес
    Ireland, Limerick
    Возраст
    57
    Сообщений
    188

    Ответ: DeveceLink

    Цитата Сообщение от FAE
    ИМХО, трезвая мысль в этой ветке. Действительно зачем это все, кроме тестов. Искусство для искусства получается.
    В какой то мере это так. Из любви к искусству я убил два праздничных дня проверяя и тестируя как работает DeviceLink (и ничуть не жалею об этом, ну вот такой я маньяк ), но зато теперь есть прога, которая позволит тестировать его гораздо быстрее и удобнее, а значит перейти от искусства к вещам более приземленным (или наоборот, более полетным ) Ведь этот DeviceLink можно использовать не только для автопилота, но и для управления камерой, а значит можно написать кучу скриптов для управления обзором - справа-налево, слева-направо, восьмеркой или по синусоиде. То есть в NewView можно будет добавить много чего нового, да и вообще много чего внешнего подключить.

  7. #7
    Забанен Аватар для aeropunk
    Регистрация
    13.06.2001
    Адрес
    Питер
    Возраст
    55
    Сообщений
    3,856

    Ответ: DeveceLink

    На случай войны! Если DeviceLink в онлайне включат.

  8. #8
    Пилот
    Регистрация
    08.07.2002
    Адрес
    Челябинск
    Возраст
    53
    Сообщений
    612

    Ответ: DeveceLink

    Нет ну все понятно, конечно, можно и из .... пулю слепить, однако (я в этом не спец), но первое ощущение от devicelink'а - ощущение кривизны. Странно в памятном флэйме, когда появился еще первый "читовский" udpspeed Олег сказал, что все это очень криво, мы мол сейчас помудрим и предложим вам круть. Я тогда, грешным делом, подумал, ну вот сейчас появится альтернативные виды приборной доски изменение угла зрения полупрозрачная РУС и т.п.
    Однако, ИМХО, то что мы имеем сейчас - это какой-то зародыш или даже еще менее чем зародыш.

  9. #9
    ШВЛИ №25 Аватар для SLI=SHURIK_25=
    Регистрация
    22.05.2002
    Адрес
    Москва
    Возраст
    58
    Сообщений
    756

    Ответ: DeveceLink

    Нда, читаю я тут это все и фигею потихоньку... автопилоты, жэ-пи-эсы ...
    А самую дельную мысль то и пропустили. Это я про энергометр (эм-жэ-аш плюс эм-вэ -квадрат).
    И как раз таки для офф-лайна, для новичков было бы полезно. Лучше б это написали, имхо более пользы бы было.
    Виртуальное Конструкторское Бюро
    http://vkb.sukhoi.ru/

  10. #10
    RR_Patrick Аватар для Avc
    Регистрация
    07.06.2004
    Адрес
    Ireland, Limerick
    Возраст
    57
    Сообщений
    188

    Ответ: DeveceLink

    Цитата Сообщение от SLI=SHURIK_25=
    Нда, читаю я тут это все и фигею потихоньку... автопилоты, жэ-пи-эсы ...
    А самую дельную мысль то и пропустили. Это я про энергометр (эм-жэ-аш плюс эм-вэ -квадрат).
    И как раз таки для офф-лайна, для новичков было бы полезно. Лучше б это написали, имхо более пользы бы было.
    Сделать можно все угодно, я уже подумываю добавить объявление переменных и калькулятор в il2dl чтобы в скриптах можно было делать вычисления.

  11. #11
    Забанен Аватар для aeropunk
    Регистрация
    13.06.2001
    Адрес
    Питер
    Возраст
    55
    Сообщений
    3,856

    Ответ: DeveceLink

    Цитата Сообщение от Avc
    Сделать можно все угодно, я уже подумываю добавить объявление переменных и калькулятор в il2dl чтобы в скриптах можно было делать вычисления.
    Думаю, многие работают в скриптовом направлении. Кроме непосредственно управления по DeviceLink, скрипт должен также позволять управлять расположением информации на экране, на прозрачном экране...

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

    Самое трудоемкое здесь разработать скрипт. К нему предъявляются следующие требования:
    - гибкость использования,
    - минимальное и эффективное использование машинных ресурсов, т.к. в большинстве случаев подобные программы будут запускаться на том же самом компьютере, что и игра.
    Крайний раз редактировалось aeropunk; 09.06.2004 в 17:53.

  12. #12
    RR_Patrick Аватар для Avc
    Регистрация
    07.06.2004
    Адрес
    Ireland, Limerick
    Возраст
    57
    Сообщений
    188

    Ответ: DeveceLink

    Цитата Сообщение от Vorobey
    Самое трудоемкое здесь разработать скрипт. К нему предъявляются следующие требования:
    - гибкость использования,
    - минимальное и эффективное использование машинных ресурсов, т.к. в большинстве случаев подобные программы будут запускаться на том же самом компьютере, что и игра.
    Что есть "гибкость"? Сейчас в il2dl у меня пока сделаны из "гибких" только if и goto - этого мне пока достаточно чтобы "огибать" те углы, которые возникают при описании скрипта. Еще можно добавить объявление процедур и переменных. Ну, а где переменные, там нужны и вычисления.
    Из циклов хотя бы while нужен. Пока думаю остановиться на простых вещах - основные операции с двумя переменными, потом можно будет добавить и калькулятор посложнее.

    То есть где-то примерно так:

    dim alt ; переменная alt - double, целые вроде ни к чему
    read altimeter alt ; прочитать и запомнить значение альтиметра

    ну, а потом по ходу дела можно ждать вот так

    wait altimeter alt + 25 ; ждать пока поднимемся на 25 метров

  13. #13
    Забанен Аватар для aeropunk
    Регистрация
    13.06.2001
    Адрес
    Питер
    Возраст
    55
    Сообщений
    3,856

    Ответ: DeveceLink

    2 Avc:
    Я не критикую, а делюсь своими соображениями, рассказываю путь по которому сам собираюсь идти. Вот уже общий формат скрипта придумал. Это будет программирование в глобальных переменных.
    Ключи DeviceLink будут представлять из себя что-то вроде регистров, регистрами же представляются и отображаемые на экране индикаторы, можно заводить свои переменные.
    Скрипт будет состоять из последовательности инструкций.
    Каждая инструкция должна завершаться символом точка с запятой. Инструкция начинается с объявления необязательных меток, не более одного условия и не более одной команды.
    Метка - это идентификатор завершающийся символом двоеточия
    Условие - это предикат, который принимает параметром выражение, заканчивается знаком вопроса. Если предикат дает истину, выполняется команда инструкции, если нет - только инкрементируется счетчик инструкций (исполняется пустая команда). Условие не изменяет состояние переменных и регисторов.
    Команда - это некоторое действие, которое изменяет значение счетчика инструкций и может изменять состояние регистров и переменных. Команда может принимать параметром несколько выражений.
    Выражение - это... Вот над выражениями я сейчас и ломаю голову...
    Не силен я в интерпретаторах, надо будет литературу какую-нибудь почитать.

    Хочется сделать этот интерпретатор:
    - достоточно простым в иcпользовании;
    - достаточно гибким для решения различных задач автоматического управления самолетом и индикацией;
    - достаточно эфферкивным и не требовательным к ресурсам, чтобы пользователь мог запускать его одновременно с игрой и не ощущал при этом дискомфорта.
    Крайний раз редактировалось aeropunk; 09.06.2004 в 21:34.

  14. #14
    RR_Patrick Аватар для Avc
    Регистрация
    07.06.2004
    Адрес
    Ireland, Limerick
    Возраст
    57
    Сообщений
    188

    Ответ: DeveceLink

    Цитата Сообщение от Vorobey
    2 Avc:
    Я не критикую, а делюсь своими соображениями, рассказываю путь по которому сам собираюсь идти.
    Критика тоже вещь полезная, только пока вроде критиковать нечего

    Цитата Сообщение от Vorobey
    Вот уже общий формат скрипта придумал. Это будет программирование в глобальных переменных.
    Ключи DeviceLink будут представлять из себя что-то вроде регистров, регистрами же представляются и отображаемые на экране индикаторы, можно заводить свои переменные.
    Да, у меня так и сделано. Только ключи DL прописываются в отдельном файле, а переменные определяем по ходу скрипта.

    Цитата Сообщение от Vorobey
    Скрипт будет состоять из последовательности инструкций.
    Каждая инструкция должна завершаться символом точка с запятой. Инструкция начинается с объявления необязательных меток, не более одного условия и не более одной команды.
    ....
    Вы смотрели первую версию моей il2dl? Я ее выложил вчера у себя на сайте. Описание как запускать вот тут:
    http://sukhoi.ru/forum/showpost.php?...2&postcount=36
    Описание на скрип - в комментариях самого скрипта. Сегодня возможно добавлю объявления переменных в скрипт. Если не смотрели, посмотрите, пожалуйста, и дайте тогда уже конкретные замечания по реализации. Только графики пока никакой обещать не могу - пока все будет только в текстовой консоли - до тех пор пока все не отработаю что хотелось бы.

    Цитата Сообщение от Vorobey
    Целые очень даже к чему, многие ключи DeviceLink используют целые. Всего я там насчитал три типа: строка, целое, действительное.
    Строки тоже очень нужны. Представь себе такой сценарий. При загрузке миссии определяется тип самолета (строка), в зависимости от значения вызывается соответствующая подпрограмма с заточенными под этот самолет индикацией и автоматами.
    Целые без всякого ущерба для скрипта можно представить как действительное. Сейчас у меня для ключа его тип хранится, и обрабатывается при получении ответа тоже вроде правильно. Строковые не реализованы, но место под них застолблено - тип такой есть, так что их обработку тоже можно будет добавить. Вот, хочу изменить поведение оператора connect в скрипте - чтобы он возвращал как раз имя самолета. То есть запускаем скрипт и во первых строка говорим - connect xxx.xxx.xxx.xxx - этот connect ждет запуска мисии и первым делом получает имя самолета, как только имя получено скрипт начинает выполнение.

  15. #15
    Забанен Аватар для aeropunk
    Регистрация
    13.06.2001
    Адрес
    Питер
    Возраст
    55
    Сообщений
    3,856

    Ответ: DeveceLink

    Целые очень даже к чему, многие ключи DeviceLink используют целые. Всего я там насчитал три типа: строка, целое, действительное.
    Строки тоже очень нужны. Представь себе такой сценарий. При загрузке миссии определяется тип самолета (строка), в зависимости от значения вызывается соответствующая подпрограмма с заточенными под этот самолет индикацией и автоматами.

  16. #16
    RR_Patrick Аватар для Avc
    Регистрация
    07.06.2004
    Адрес
    Ireland, Limerick
    Возраст
    57
    Сообщений
    188

    Ответ: DeveceLink

    Выложил исправленную версию http://www.avcsite.ru/bin/il2dl.zip. Теперь может работать и на одной машине. Спасибо Hruks за то, что нашел эту досадную ошибку.

  17. #17
    Забанен Аватар для aeropunk
    Регистрация
    13.06.2001
    Адрес
    Питер
    Возраст
    55
    Сообщений
    3,856

    Ответ: DeveceLink

    не делаю я никаких замечаний по конкретно твоей реализации.
    Это размышления на тему "Какой я хочу скрипт". Этот скрипт я хочу не от кого-то, а от себя самого. А ты делай, как тебе самому нравится.

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

  18. #18
    RR_Patrick Аватар для Avc
    Регистрация
    07.06.2004
    Адрес
    Ireland, Limerick
    Возраст
    57
    Сообщений
    188

    Ответ: DeveceLink

    Цитата Сообщение от Vorobey
    Твою программу я не запускал, только посмотрел файлы скриптов. Глянул и тут же закрыл. Для разработчика там мало интересного, оттуда можно получить только обрывочное представление о синтаксисе и семантике. Меня же больше интересует описание синтаксиса в BNF, подробная семантика, описание модели среды исполнения.
    Да, вот чего там не найти, так это BNF. Впрочем, ни BNF ни NBNF как таковых и в исходниках то нет. Строки в файле читаются последовательно, выделяется первый токен, ищется в списке, если найден, то запускается процедура разбора остатка строки. Если не найден, то строка просто игнорируется. Вот как буду писать калькулятор тогда может и BNF появится
    Еще замечание. Уж очень не удобно опрашивать параметры чтобы получить текущее значение, явно не хватает возможности подписаться-отписаться от мониторинга изменений. Может сделать промежуточный сервер, который будет цепляться к IL2, а клиенты будут уже цепляться к этому промежуточному серверу? Причем формат запросов должен быть точно таким же как и у IL2, только добавить еще парочку префиксов: S (subscribe)- подписаться, U (unsubscribe) - отписаться. Тогда можно в начале скрипта подписаться на все необходимые ключи и начать получать по ним изменения. Хотя это все легко реализуется и внутри самого клиента.

  19. #19
    Забанен Аватар для aeropunk
    Регистрация
    13.06.2001
    Адрес
    Питер
    Возраст
    55
    Сообщений
    3,856

    Ответ: DeveceLink

    Ну, у меня в конфигурационных файлах тоже никакого BNF нет. Читаю их по-рабоче-крестьянски Однако встраивание калькулятора, интерпретатора и т.п. несомненно потребует организации грамотной трансляции.

    У меня проблем с нотификацией нет, т.к. я уже сделал (почти ) гуевый интерфейс. Там при парсинге ответа от DeviceLink можно будет посылать виндовые команды (WM_COMMAND) c параметром, указывающим, что поменялось.

  20. #20

    Ответ: DeveceLink

    вчера тоже побаловался с UDP клиентом - работает, только мне кажется не нужно мешать всё в кучу. ИМХО должно быть три отдельных части - сам DeviceLConnect.dll (чистый UDP клиент с внешней настройкой DeviceLConnect.ini) реализующий общие функции Open,Send,Receive,Close а также возможно функции формирования пакетов (я имею в виду длинные строки запросов R\...\...) и их парсинга (хотя мож они и не нужны) 2я часть - модуль "отображения" состояния "переменных" в какой-то вид - в приборы со стрелочками, в траспарент окно цифрами и т.д. (кому что нравится) 3я часть - модуль "управления" - здесь думаю надо взять готовую реализацию скрипта(VB,java,pas,C) а также на основе файлов *.ai содержащих набор входных параметров и конрольных значений, пробовать управлять нелинейной системой как собственно и делает Avc - только в скрипте (не аi) должна быть реализована сама логика регулятора
    =vsi.org.ua=

  21. #21
    RR_Patrick Аватар для Avc
    Регистрация
    07.06.2004
    Адрес
    Ireland, Limerick
    Возраст
    57
    Сообщений
    188

    Ответ: DeveceLink

    Да, как я посмотрю, работы двужутся полным ходом! Теперь только не хватает чтобы DeviceLink в on-line работал и скоро можно будет устраивать бои скрипт-пилот vs скрипт-пилот

  22. #22
    Забанен Аватар для aeropunk
    Регистрация
    13.06.2001
    Адрес
    Питер
    Возраст
    55
    Сообщений
    3,856

    Ответ: DeveceLink

    Не вижу особого смысла в разделении на части. Части не такие уж и большие, ну м.б. за исключением script-engine. Для чего их разделять? Чтобы можно было подменять отдельные части. Правильно? Значит нужен некий универсальный интерфейс между ними. Кто его будет делать? Кто его будет придерживаться?

    Что такое GUI для DeviceLink? Одно из трех:
    1) c изображениями приборов на другом мониторе (UDPSpeed)
    2) с текстом поверх игры
    3) экзотика, вроде железного кокпита.

    Я пошел по 2му пути.
    Там нужно не очень-то и много:
    - окно с возможностями отключить/не отключать заголовок, меню, рамку (готово)
    - переключение прозрачный/непрозрачный фон (готово)
    - переключение на always on top и обратно (готово)
    - м.б. перетаскивание за надписи окна мышкой (на случай отключенного заголовка) (готово)
    - возможность конфигурировать используемые шрифты (готово)
    - возможность конфигурировать используемые цвета/кисти (готово)
    - контекстное меню (готово)
    - сканирование контейнера индикаторов для отрисовки на экране; для отрисовки от индикатора требуется получить: позицию в окне, размер, тескт, цвет(кисть) текста, цвет фона, шрифт. (готово)
    - строка ввода команд (с возможностью ее скрыть) (не готово),
    - консоль (только вывод) журнала обмена с сервером (с возможностью ее скрыть) (не готово),
    - использование стандартного контрола для выбора имени файла скрипта.

    Поскольку виндовое GUI, логично использовать WSA. Тут проблем вообще нет, но я за это пока еще не брался. Там нужно:
    - сканирование контейнера ячеек DeviceLink для формирования и разбора сообщений от DeviceLink,
    - отправка сообщений,
    - прием сообщений,

    Вот с хорошим транслятором скриптов придется попотеть, т.к. я не специалист в этой области. А область эта требует специальных знаний. Тут силовым методом ничего не добьешься. Зато интересно.

    Но для первой версии у меня будет только индикация и прописанное в конфигурационном файле соответствие ячеек DeviceLink ячейкам контейнера индикаторов, а также форматирование.

    Вот такие у меня творческие планы.
    Крайний раз редактировалось aeropunk; 10.06.2004 в 19:57.

  23. #23

    Ответ: DeveceLink

    to Vorobey: всё таки согласись что частей 3
    1 UDP + наборы доп функций типа авт-й проверки существования set-параметра может, парсинга и т.д.
    2 GUI "одно из трёх" - или три из трёх
    3 непосредственно регулирование

    разделение надо затем , чтобы человек который хочет написать скрипт "полёта по маршруту" не начинал с удп клиента или программирования вывода окошек а взял готовые части 1,2,3 и начинал писать скрипт, или например тот кто работает с конроллерами - взял готовые части 1и2 и сделал "железяку" показания которой можно сравнить с данными 2, но в общем это дело хозяйское и в 1м приближении части 1и2 делаются за вечер
    =vsi.org.ua=

  24. #24
    Забанен Аватар для aeropunk
    Регистрация
    13.06.2001
    Адрес
    Питер
    Возраст
    55
    Сообщений
    3,856

    Ответ: DeveceLink

    Цитата Сообщение от Avc
    Да, как я посмотрю, работы двужутся полным ходом! Теперь только не хватает чтобы DeviceLink в on-line работал и скоро можно будет устраивать бои скрипт-пилот vs скрипт-пилот
    Я против DeviceLink в online! Ну нафига в сетевой игре автоматы, о которых во времена WW2 только мечтали?
    В ВЕФ будут летать не скрипт-пилоты, а виртуальные пилоты до зубов вооруженные различными автоматическими системами управления.
    Это убьет сетевую игру. И убьет ее не автор наиболее успешной программы, а собственно сетевая возможность протокола DeviceLink.

    Сейчас я делаю фактически заготовку, framework, на случай чего.
    И если DeviceLink будет в онлайне, нафига я буду заморачиваться с тяжеловесным, трудоемким скриптом? Я уж как-нибудь сумею прохардкодить туда какой-нибудь фильтр Калмана, вот только вспомню, что это такое...

    Правда, если будет кнопочка "Отключить DeviceLink" в установках сложности сетевой игры... Да по нажатию этой кнопочки на сервере всех клиентов будет запрещен этот интерфейс... тады можно и о скрипт-пилотах подумать...
    Крайний раз редактировалось aeropunk; 10.06.2004 в 14:05.

  25. #25
    RR_Patrick Аватар для Avc
    Регистрация
    07.06.2004
    Адрес
    Ireland, Limerick
    Возраст
    57
    Сообщений
    188

    Ответ: DeveceLink

    Цитата Сообщение от Vorobey
    Правда, если будет кнопочка "Отключить DeviceLink" в установках сложности сетевой игры... Да по нажатию этой кнопочки на сервере всех клиентов будет запрещен этот интерфейс... тады можно и о скрипт-пилотах подумать...
    Да, такой вариант был бы предпочтительней всего А полностью пускать DeviceLink в online нельзя, с этим я полностью согласен.

    Цитата Сообщение от Vorobey
    Вот такие у меня творческие планы.
    У вас просто замечательный план! :p
    У меня все гораздо скромнее, простой парсер скриптов для управления полетом или лога полета. Вчера вечером добавил переменные в скрипт и условия для wait. Сегодня вечером буду отлаживаться. Отсутствие циклов в скрипте уже начинает мешать.
    Скажем так, не GUIёвый я программист В качестве GUI мне будет легче приспособить готовую SCADA систему, только вот драйвер написать чтобы значения получать от DeviceLink, а потом рисуй какие хочешь экранные формы - и с графиками и с цифирьками и со стрелочками в навороченном редакторе. Можно будет полностью полет записать в историю, а потом проигрывать его обратно для анализа.

Страница 8 из 15 ПерваяПервая ... 456789101112 ... КрайняяКрайняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •