SOS: вопросы по приборам на XML — Панели и приборы

1. Что-то я намудрил с АГК-47Б (переделываю в учебных целях авиагоризонт от МиГ-17 «медвежьей студии» — он там реально смешной, терпеть просто невозможно). А разобраться не могу — знаний и умений пока маловато, да и программировал последний раз лет 10 назад, отвык.

В общем, хочу чтобы разарретированный после отключения электропитания прибор постепенно «уходил» , заваливался. Не получается. Получается чтобы заваливался заарретированный прибор (т.е. арретирую прибор и он заваливается…). Ещё проблемы с электропитанием. По идее у «медведей» там два АЗС — собственно АГК и авионики. Так вот, прибор реагирует только на АГК — независимо оттого включена ли авионика, включены ли аккумуляторы есть ли питание вообще.

Посмотрите, пожалуйста что там не так, буду благодарен. Хотя бы понять что там такое написано:D Интересует только сама «шкала», которая должна «заваливаться» (скажем, просто «опускаться»), для «самолётика» сделаю сам по аналогии, если разберусь со шкалой.

Во всём остальном прибор работает отлично — когда питание включено, арретируется правильно. Не сравнить с тем что было изначально.

Файл с текстом приложен, только учтите что на самом деле это не zip архив — я переименовал прибор AGK.XML AGK.ZIP чтобы загрузить сюда, ибо в том интернет-кафе откуда я это делаю архивирует только в rar, а rar сюда не цепляется. Если решите посмотреть, то скачав просто переименуйте AGK.ZIP в AGK.XML.

2. ДГМК. Кто точно знает, что там крутится, а что нет — шкала, стрелка-самолётик или индекс? Я думаю, что индекс неподвижен, шкала крутится как у гирокомпаса, а смолётик крутится от кремальеры подобно широкой стрелке на УГР. Я прав?

4. Как сделать так, чтобы при отключении питания стрелка прибора (топливомера КИС, скажем,) устанавливалась не на ноль. а у треугольного индекса?

Пока всё, заранее спасибо всем кто ответит. Даже тем, кто обругает:)

Прикрепленные файлы

  • Прикрепленный файл
     AGK.zip   5.29К
      134 Количество загрузок:

Ответов: 19

1. В общем, на данный момент почти всё в авиагоризонте работает. Вот только арретируется он только при включённом питании:sarcastic: Если питание убрать, то шкала заваливается не обращая внимание на состояние арретира. А если питание включено, то арретир нормально арретирует из любого положения самолёта…:) Что-то я не то делаю, а что не пойму.

Исходники-то где ?
Как можно давать советы не видя всего остального.
Это же смотреть надо не только в ХМЛ, но и в аиркрафт.кфг
Какого типа АГ там прописан? Если воздушный, то и вести себя он будет как воздушный, и тумблер ему не поможет

Несколько картинок.

1. Разарретирован, АЗС АГК выключен
2. Заарретирован, АЗС АГК выключен
3. Зарраетирован, АЗС АГК включён.

АЗС АГК на скрине справа, на доппанели второй ряд сверху, третий (крайний справа)

Прикрепленные изображения

  • agkoffarretoff.jpg
  • agkoffarreton.jpg
  • agkonarreton.jpg

Сообщение отредактировано Tory: 06 October 2009 — 10:48

4. Разарретирован, АЗС АГК включён, набор высоты, вираж вправо.
5. Заарретирован, АЗС АГК включён, набор высоты, вираж вправо.

Прикрепленные изображения

  • agkallon.jpg
  • agkallonfarreon.jpg

Сообщение отредактировано Tory: 06 October 2009 — 10:49

Какого типа АГ там прописан? Если воздушный, то и вести себя он будет как воздушный, и тумблер ему не поможет

У них стоял пневмо, я поменял на электрический. Видимого эффекта нет. Может его надо в секции электрики прописать?

Прикрепленные файлы

  • Прикрепленный файл
     iskhodniki.zip   74.68К
      102 Количество загрузок:

Несколько картинок.

1. Разарретирован, АЗС АГК выключен
2. Заарретирован, АЗС АГК выключен
3. Зарраетирован, АЗС АГК включён.
4. Разарретирован, АЗС АГК включён, набор высоты, вираж вправо.
5. Заарретирован, АЗС АГК включён, набор высоты, вираж вправо.

АЗС АГК на скрине справа, на доппанели второй ряд сверху, третий (крайний справа)

Ну тут в исходниках забиты конкретные углы АГ на тот случай, если он не включен, если хочется, чтоб прибор заваливался плавно, это надо отдельный алгоритм писать, в котором переменная крена и тангажа будет медленно изменяться. Для примера можно взять АГ от Як-12 и дописать туда нехватающее.

Спасибо, я в принципе, на Як-12 и смотрю, хотя многое ещё не понимаю:cheer1:(дальше следует поток сознания:crazy: )

Главная проблема на сегодня — невозможность заарретировать прибор при выключеном электропитании (при включённом — всё хорошо). Плавность, Бог с ней пока что. Я, честно говоря и не знаю как именно должен приходить к горизонту АГК-47 — скачком при включении питания (электрический всё-же) или медленно. Давно Ан-2 не видел живьём, не помню. Да и в жизни его всегда перед пуском арретируют, и при выключении тоже, в общем. Так что шанса засечь время просто нет:crazy:

Он у меня арретируется почему-то только при включённом АЗС АГК(т.е. я понимаю, что как его написали так он и арретируется, но почему же не удаётся написать и то что нужно?) Там на втором скрине видно, что арретир включён (флажок есть) а шкала и самолётик как были внизу так и есть. Самое смешное, что это я и добавил ему возможность арретировать шкалу и «самолётик» в целом, в оригинальном приборе эта фича работает только для «самолётика» и только по крену:)

Т.е. вопрос стоит так — как сделать так, чтобы при выключенном АЗС АГК и «включённом» арретире шкала и самолётик выставлялись по центру? Все сделанные на XML такие авиагоризнты (АГК, АГИ для Як-12, Ту-124 и т.д.) в этом смысле пока что не идеальны. Если, скажем, у Ту-124 при выключеном питании и выключеном арретире АГИ «завален».

Есть другой вариант — забить на этот завал (сделать углы завала ноль) и сделать так, чтобы при загрузке панели арретир был включён. Получится иллюзия, что всё в порядке, прибор заарретирован. Но тоже не получается так сделать… я не понимаю, как они этот Cage сделали. Такое ощущение, что в МСФС он в принципе работает только при поданом питании — будь то элетрический или пневматический. Сколько моделей не смотрю — у всех кнопка Cage срабатывает только когда подано питание, т.е. он работает не как механический арретир, а как кнопка быстрого согласования для гирокомпаса. Но это же неправильно…

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

Да, уже понятно:).
Вчера интересную вещь обнаружил. Загрузил самолёт, щёлкаю тублерами электрики — и никакого эффекта. Потом зачем-то поставил ускорение времени. Потом вернулся у «нормальному времени». И чудо — как только ускорение стало меньше 4-х и сцена переподгрузилась — электрика заработала… включаешь аккумулятор — стрелочки элктропотребителей оживают. Выключаешь — замирают… А вот если просто загрузить полёт — электрика не работает…

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

Спасибо, я в принципе, на Як-12 и смотрю, хотя многое ещё не понимаю:clapping:(дальше следует поток сознания:) )

Главная проблема на сегодня — невозможность заарретировать прибор при выключеном электропитании (при включённом — всё хорошо). Плавность, Бог с ней пока что. Я, честно говоря и не знаю как именно должен приходить к горизонту АГК-47 — скачком при включении питания (электрический всё-же) или медленно. Давно Ан-2 не видел живьём, не помню. Да и в жизни его всегда перед пуском арретируют, и при выключении тоже, в общем. Так что шанса засечь время просто нет:)

Он у меня арретируется почему-то только при включённом АЗС АГК(т.е. я понимаю, что как его написали так он и арретируется, но почему же не удаётся написать и то что нужно?) Там на втором скрине видно, что арретир включён (флажок есть) а шкала и самолётик как были внизу так и есть. Самое смешное, что это я и добавил ему возможность арретировать шкалу и «самолётик» в целом, в оригинальном приборе эта фича работает только для «самолётика» и только по крену:)

Т.е. вопрос стоит так — как сделать так, чтобы при выключенном АЗС АГК и «включённом» арретире шкала и самолётик выставлялись по центру? Все сделанные на XML такие авиагоризнты (АГК, АГИ для Як-12, Ту-124 и т.д.) в этом смысле пока что не идеальны. Если, скажем, у Ту-124 при выключеном питании и выключеном арретире АГИ «завален».

Есть другой вариант — забить на этот завал (сделать углы завала ноль) и сделать так, чтобы при загрузке панели арретир был включён. Получится иллюзия, что всё в порядке, прибор заарретирован. Но тоже не получается так сделать… я не понимаю, как они этот Cage сделали. Такое ощущение, что в МСФС он в принципе работает только при поданом питании — будь то элетрический или пневматический. Сколько моделей не смотрю — у всех кнопка Cage срабатывает только когда подано питание, т.е. он работает не как механический арретир, а как кнопка быстрого согласования для гирокомпаса. Но это же неправильно…

Довелось решать подобную проблему. Выкрутился, сделав отдельный элемент со статичной картинкой, который отрисовывался только при отключенном питании, маскируя все. При включении питания отрисовывались элементы «нормального» прибора.

Во как… как статику всё-таки… попробую.

Спасибо всем откликнувшимся, вы меня утешили. Я уж думал, что это просто я такой тупой и что есть какое-то простое решение.

А стрелки электроприборов в «отключённое» положение (например, в указателе уровня топлива скинуть стрелку при откл. питания на «треугольнок») тоже так?

Сообщение отредактировано Tory: 08 October 2009 — 17:16

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

Даже созданный с нуля иногда барахлит. Но столкнулся я с этим явлением когда менял самолёт в рамках одного полёта — лень было каждый раз из-за мелкого изменения в панели создавать новый полёт:) Причём просто перезагрузка самолёта не помогает (траффик отключён).

Во как… как статику всё-таки… попробую.

Спасибо всем откликнувшимся, вы меня утешили. Я уж думал, что это просто я такой тупой и что есть какое-то простое решение.

А стрелки электроприборов в «отключённое» положение (например, в указателе уровня топлива скинуть стрелку при откл. питания на «треугольнок») тоже так?

А почему бы и нет? Чем городить сложные условия и присваивать «специальное» значение, просто закрыть прибор статичной кртинкой, спрятав по условию отрисовки остальные элементы. Но на универсальность решения не претендую, случаи бывают разные. Надо пробовать.

Не, чота бред какой-то. Так мы дойдем до того, что все положения стрелок статическими картинками будут. Не серьезно это. Если делать прибор, то все его показания математикой описывать

Ну, кто уже владеет этой математикой, тот будет делать математикой. Я же пока только учусь, пока что элементарно не понимаю что написано в исходнике, не укладывается в голове цепочка «вычислений»:rolleyes: Но стараюсь пока что «математикой». Лопнет терпение — сделаю статикой. В моём случае со статикой будет слишком много битмапов — я ведь ещё и УФ подсветку битмапами хочу сделать, поэтому математика пока что первая на очереди. Но и статика неплохой выход.

КППМ в модели Як-40 от Шейбака, Митина, Оканя имеет неприятную особенность: шкала курса поворачивается с шагом 10 градусов, что не есть гуд. Я захотел пофиксить это самостоятельно, но обломался и прошу помощи. :)
Сама поворотная шкала реализована так:

  <Element>
      <Position X="61" Y="61"/>
      <Image Name="kppm_shkala.bmp" Luminous="Yes" ImageSizes="122,122,0,0">
         <Axis X="61" Y="61"/>
      </Image>
      <Rotate>
         <Value>(A:NAV1 OBS,radians) /-/</Value>
      </Rotate>
   </Element>  

Кремальера реализована так:

   <Element>
      <Position X="111" Y="111"/>
      <Image Name="kppm_knob.bmp" ImageSizes="21,21,0,0">
         <Axis X="10" Y="10"/>
      </Image>
      <Rotate>
         <Value>(A:NAV1 OBS,radians) 5 *</Value>
      </Rotate>
   </Element>

Мышиная зона:

   <Mouse>
      <Area Left="90" Right="111" Top="95" Bottom="130">
      <Tooltip>Course  %( (G:Var9) )%!d!</Tooltip>
            <Cursor Type="DownArrow"/>
            <Click Repeat="Yes">0 (>K:VOR1_OBI_DEC)</Click>
         </Area>
      <Area Left="111" Right="130" Top="95" Bottom="130">
      <Tooltip>Course  %( (G:Var9) )%!d!</Tooltip>
            <Cursor Type="UpArrow"/>
            <Click Repeat="Yes">0 (>K:VOR1_OBI_INC)</Click>
         </Area>
    </Mouse>

Что делал:
1. Менял значение коэффициента «5» для кремальеры, но это изменяло лишь степень поворота самой кремальеры.
2. Для поворотной шкалы менял тег «Value» на

<Value>(A:NAV1 OBS,radians) 10 /</Value>

В результате получил желаемую степень поворота шкалы на 1 градус, но лишь в пределах от 0 до 36 градусов, что, в общем, логично. :)
3. По эвентам VOR1_OBI_INC и VOR1_OBI_DEC нашел ссылку на файл описания изменений FSUIPC, где написано, что они и меняют положение шкалы с шагом 10. Но это кажется мне очень сомнительным, т.к. в xml-коде других приборов, использующих VOR1_OBI_INC и VOR1_OBI_DEC, такого не наблюдается.
На этом мои скромные знания по xml-приборостроению, к сожалению, исчерпаны. Буду благодарен за любую помощь.

Кстати, а как расшифровывается «/-/» в <Value>(A:NAV1 OBS,radians) /-/</Value>?

Полный код прибора — во вложении.

Прикрепленные файлы

  • Прикрепленный файл
     kppm.zip   976байт
      79 Количество загрузок:

Сообщение отредактировано Max999: 26 March 2010 — 16:06

Извините, если не в ту тему, но вроде прибор на XML.
Просьбу я озвучил в другой теме, но после более 50 просмотров ни одного ответа.
Это первая моя попытка создать чего-либо из приборов.

Radar_test.jpg

Делал квадратный битмап обрамления экрана радиолокатора. 400х400 пикселей.

Rad_Ka27.jpg

Так же он прописан и в приборе и в панели.
В результате на экране он сплюснутый по вертикали. Как вообще избавиться от таких искажений?

Второе сам экран перекрывает рамку, хотя для надёжности прописал битмап и как фоновый рисунок и как маску. Центральный круг по цвету 0,0,0.

    	<Image id="Rad_Ka27.bmp" Name="Rad_Ka27.bmp">
        	<Transparent>True</Transparent>
    	</Image>

    	<MaskImage id="Rad_Ka27.bmp" Name="Rad_Ka27.bmp">
        	<Transparent>True</Transparent>
    	</MaskImage>

Что нужно исправить чтобы экран радиолокатора спрятался под рамкой и был виден только круглый центр?

Ну и контрольный выстрел в голову. На Session Info дисплее можно видеть как самолёты так и наземный трафик. Как последний отобразить на экране радиолокатора?
Сама отрисовка идёт при помощи «fs9gps:1:map».