Спасибо!
Спасибо!
"Как говорит наш дорогой шеф, в нашем деле главное - реализьм!" (c) к/ф "Бриллиантовая рука"
Довольно сильно перековырял внутренности UdpGraph - изменения в основном коснулись ядра обмена сообщениями, синхронизация, оптимизация и тому подобное. Плюс езе добавилась возможность штамповать лог файл временем от начала лога. Так как скорее всего это привело к багам, новую версию выкладывать пока не хочу. Если есть у кого желание потестировать - киньте мне в приват сообщение с вашим e-mail, я альфа версию вышлю.
Вопрос ко всем, кто пользовался DeviceLink, в первую очередь наверное to Hruks, Alezz, Vorobey - а удалось ли кому-нибудь получить параметры для rmp, temp_oilin и тому подобное, для двигателя с индексом отличным от 0? Я как не пробовал - всегда упорно возвращает значение только для первого двигателя. Пробовал я и P38 и ТБ3 .
Нашел сам. Оказывается все работает, но только если запрашивать именно по одному двигателю за запрос. То есть строка "R/64\1" вернет данные по второму двигателю, а на "R/64\0/64\1" DeviceLink внимания не обратит.
Крайний раз редактировалось Avc; 12.09.2004 в 17:15.
Угу, так и есть. Интерфейс просто игнорирует копии команд, а то, что они имеют разные параметры не учитывается.Сообщение от Avc
Кстати до патча 04 тоже можно было получать значения ненулевых движков - надо было дать что-то типа R/64\1\1. То есть парсер где-то глючил и нужно было за \1 ещё что-нить приписать.
Но то, что для двух моторов один и тот же параметр можно получить только в разных запросах - это недоработка. Кому как не бомберам нужны вообще все эти приборы? Конечно, решаемый это вопрос, но как-то непривычно![]()
"О, сколько нам открытий чудных..."![]()
Специально чтобы их открывать написал UdpTest. Кстати, пробовал с ее помощью задавать разные комбинации типа "R/64\1\1", "R/64\\1" и тому подобное, пока не нашел что нужно просто задавать по одному движку за запрос. У меня 2.0.4 так что трюк с "R/64\1\1" уже на срабатывает. Cделал что бы для двигателей создавалсь строка вида "R/64\1R/64\2R/64\3" и при отправке автоматом дробилась на отдельные сообщения. Теперь все работает нормально.
Если кому нужно : http://www.avcsite.ru/bin/UdpTest.zip (88K)
P.S. Опять же чудесные значения rpm возвращаются для Go-229.
Спасибо, скачала, будем разбираться...
Flight Lieutenant RR_Jaguar. DFM, DFC, DSC.
= "В реальности нет кнопки "Новая попытка". (с)RR_Kopf =
"..И были Патчи Ещеболееправильныя и Компари Всеведущия… И было на все Две Недели..."(с) Евангилие от Капи
Мужики,обьясните как сделать акселерометр как на YP-80?
"И быстро, и страшно, и огонь позади. Как черт на метле!"
А что там за прибор такой?Сообщение от <<karlson>>
Вообще в UDPSpeed есть скорость приращения всех параметров - для этого нужно на 550 больше индекс для отображения вытавить. Это имелось в виду?
А вот и сам приборчик
Хотел помониторить подобный параметр на винтовых машинах
Интересно, а зачем эта желтая лампочка нужна?
"И быстро, и страшно, и огонь позади. Как черт на метле!"
Я вот тут накопал несколько замечаний к DeviceLink (в основном с форумов simhq и ubi), может кому пригодится или у кого есть замечания и дополнения.
1. time of day
20 get()
return: float[hours] - current time of the day within the game.
The game clock, which appears to be in hours and digital minutes seems to be running fast by a factor of exactly 1.6666. So for .dt numbers, you might want to multiply them by 0.6 to get correct time units to calculate actual distances with.
То есть текущее время игры, которое можно получить через чтение двадцатого ключа, в игре идет в 1.6666... быстрее чем обычно, поэтому при расчетах пути нужно время между остчетами умножать на 0.6 чтобы получать действительные значения дистанции, пройденной самолетом между отсчетами.
2. angular_speed
38 get()
return: float [deg./s] -inf +inf
The angular velocity is in radians/sec not degrees/sec as stated.
Угловая скорость выдается в радианах/сек, а не градус/сек как написано в DeviceLink.txt
3. pitch
48 get()
return: float [deg.] -90.00 +90.00
True trajectory or angle of attack, may not equal the pitch angle except at the higher speeds. Looks like it is better use a calculation based on altitude.dt instead of pitch.dt to calculate the piecewise plot.
Истинная траектория или угол атаки может отличаться от значения pitch на малых скоростях. Поэтому лучше для расчетов пройденного пути использовать значение скорости и изменения альтитуды между отсчетами. То есть применяем Пифагоровы штаны, квадрат гипотенузы равен сумме квадратов катетов.
4. Devicelink query codes 80-99 do not return the values of the actual flight surfaces. They return the value of the joystick axis controlling the flight surface.
Ключи 80-99 при чтении возвращают не текущее положение рабочих поверхностей (угол отклонения закрылок, триммеров, и так далее), а отклонение ручки управления, так что получить действительное положение рабочих поверхностей не представляется возможным.
5. DeviceLink не будет отвечать на запрос о параметрах нескольких двигателей. Для каждого двигателя нужно посылать отдельные запросы. То есть если постать строку "R/64\1" то все работает, а если
"R/64\0/64\1" - то ответа не придет совсем, эту строку нужно разбивать на два сообщения "R/64\0" и "R/64\1".
Замечания эти (кроме последнего) сам не проверял, так что может и не правда это все.
Крайний раз редактировалось Avc; 12.10.2004 в 17:05.
Для кого то это стало открытием?Сообщение от Avc
![]()
ВВАУЛ им. П.О. Сухого.
Челябинский аэроклуб РОСТО.
_________________________________________________________________________________________________
Intel i7 860 2.8, 12Gb DDR3 1333, ASUS ENGTX465 1Gb, Win7/64bit, 1920x1080 (основной) + 1280x1024
Никто не знает, есть ли какие-нибудь изменения в DeviceLink для PF?
2 Avc:
Каким образом можно подключать внешние dll к il2dl, есть ли какое-либо описание интерфейса?
"Как говорит наш дорогой шеф, в нашем деле главное - реализьм!" (c) к/ф "Бриллиантовая рука"
Нужно посмотреть, забыл я уже чего там было вообщеСообщение от Maximus_G
Давно это было.
Окей, тогда нужно выяснить принципиальный вопрос - можно ли передавать в длл данные из игры, содержать всю логику управления ней, и ею же совершать управляющие воздействия на самолет? (всё это по причине того, что скриптовый язык il2dl всё же слабоват для написания непростой логики управления).
"Как говорит наш дорогой шеф, в нашем деле главное - реализьм!" (c) к/ф "Бриллиантовая рука"
Насколько я помню - да. Именно через DLL там реализованы ПИД регуляторы для поддержания курса и крена на взлете. При регистрации DLL вызывается функция. которая подписывается на ключи DeviceLink, необходимые для этой DLL. Потом в цикле вызывается фукнция обработки - эта функция читает данные, полученные по подписке, обрабатывает их и посылает управляющие воздействия обратно в Ил.
Это хорошо. В таком случае, нужно только выяснить, что проще - использовать в качестве интерфейса связь с il2dl, или же с DeviceLink(цель всего этого мероприятия - выполнять определенные маневры на разных самолетах и писать в лог определенные данные).
Если будет время - посмотри пожалуйста, оцени... что будет проще, удобней.
"Как говорит наш дорогой шеф, в нашем деле главное - реализьм!" (c) к/ф "Бриллиантовая рука"
В некоторых самолетах есть индикаторы температуры за бортом. Как можно получить их показания через devicelink не нашел. Кто-нибудь знает?
Набор всех параметров, доступных для считывания, описан в DeviceLink.txt, который должен лежать в корне установки игры. Что-то я не припомню там такого параметрка, как температура за бортом, наверное никак его получить нельзя.
В том то и дело что в описании его нет, но приборы такие есть на некоторых самолетах - значит должна быть возможность получить его.Сообщение от Avc
Если возможности нет - значит нужно доработать devicelink.
Кстати, давно не следил за этой веткой - стало ли возможно читать приборы в онлайне?
а зачем? ты перед вылетом в виртуальное небо будещь меховые унты надевать или полушубок? :confused:Сообщение от Sexton
вот описание интерфейса
http://my.tele2.ee/kur/DeviceLink.txt
если тут нет такого параметра значит и возможности нет
2. Parameters - instruments readings. (раздел 2 показания приборов)
из температур там температура входящего и выходящего масла воды и цилиндров
кому нужно ? ИМХО это вотчина разработчиковСообщение от Sexton
нет.Сообщение от Sexton
я кстати не помню чтоб была информация о новой версии девайс линка, значит осталась оригинальная.
Крайний раз редактировалось kurk; 26.05.2005 в 14:24.
kurk, я по-твоему свалился с горы и впервые увидел devicelink?Сообщение от kurk
1. Я естественно смотрел в файл devicelink.txt.
2. Как вытащить показания термометра я там не увидел.
3. Если прибор есть, он работает, и с помощью devicelink его нельзя считать - это косяк, который нужно исправлять разработчикам.
Если есть много свободного времени, то можно взять на моем сайте UdpTest - http://www.avcsite.ru/bin/UdpTest.zip и сидеть перебирать все номера, которые не записаны в DeviceLink.txt - може его туда просто добавить забыли?Сообщение от Sexton
![]()
Это конечно идея - так и поступлю если никто не поможет.