ПТ Ту-154М V2.04 — Туполев

Доброго времени и места, Сергей!

Благодарю за доработки, давно ждали Вашего возвращения.

По «СП» у меня давеча был вопрос, по «нулевой зоне» РН, ширина не регулируется, прошу по возможности исправить.

 

С уважением,

Андрей П.

По «СП» у меня давеча был вопрос, по «нулевой зоне» РН, ширина не регулируется, прошу по возможности исправить.

Как это можно исправить, если на самом деле всё регулируется?

СП.jpg

Некоторые разъяснения.

 

Давно не обращался к ПТ. Возник импульс, сделал небольшие изменения. Есть желание доработать незаконченное.

 

Все изменения — от имени ПТ.

 

Не выложил на родной сайт по одной простой причине. Наглухо забыл пароль. Для восстановления пароля нужен E-Mail, который у меня на рамблере. Я и от него забыл пароль. Восстанавливать пока в лом.

 

Изменения пока простые, не требующие участия руководителя проекта Дмитрия Колесника (Komthur).

Давно не обращался к ПТ. Возник импульс, сделал небольшие изменения. Есть желание доработать незаконченное.

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

Некоторые доработки ПНК.

 

 

Сергей, отличная новость. Огромное спасибо за исправление проблемы с джойстиками. Хотелось бы продолжения.

 

Про имеющиеся баги/странности:

 

1. Если при стабилизированных крене и тангаже включить ввод ЗК на ПН-5, а затем выключить стабилизацию крена, будут гореть и «Сброс программы» и «ввод ЗК»

2. ВСУ у меня при первом запуске молчит и внутри и снаружи, пока не наберёт 100,6% оборотов. Второй запуск уже со звуком

3. Во время посадки нет отсчёта высоты голосом

4. Прибор «Гроза» совершенно не интересуется наличием питания. Готов работать без аккумуляторов, РАП и прочих источников.

 

И ещё один момент: не понимаю, как переключиться на вид с места второго пилота. Хотел сделать в роутере управление более корректным, сейчас не понимаю, что происходит с приборами второго пилота.

1. Если при стабилизированных крене и тангаже включить ввод ЗК на ПН-5, а затем выключить стабилизацию крена, будут гореть и «Сброс программы» и «ввод ЗК»

 

Посмотрю.

 

2. ВСУ у меня при первом запуске молчит и внутри и снаружи, пока не наберёт 100,6% оборотов. Второй запуск уже со звуком

Посмотрю место где проигрывается звук запуска.

У меня никогда такого не было.

 

А не могли Вы раутером, что-нибудь «сковырнуть».  Используется, куча статических переменных. В том числе и в коде проигрывания звука ВСУ. (ну, по уму бы все данные загнать в

структуры, или вообще в классы и инстанцировать динамически + автоматические переменные (статические — зло, реальное), но тогда бы ваш Раутер не работал  … но уже не переделать)

 

3. Во время посадки нет отсчёта высоты голосом

 

Проверю. Вообще, прибор озвучки нужно еще покопать.

 

И ещё один момент: не понимаю, как переключиться на вид с места второго пилота. Хотел сделать в роутере управление более корректным, сейчас не понимаю, что происходит с приборами второго пилота.

 

Что Вы имеете в виду, 2D приборы второго пилота?
 

 

С грозой — беда. Делалась она не мной и запитана просто. Исходников нет.

 

4. Прибор «Гроза» совершенно не интересуется наличием питания. Готов работать без аккумуляторов, РАП и прочих источников.

4. Исправлены выпуск/уборка закрылков кнопками джойстика, через СП:
55 — FLAPS UP
56 — FLAPS_DOWN

5. Исправлена ошибка проигрывания звука электрики. Теперь, если выключить ВУ1 и ВУ2, звук не прерывается резко, а затухает. Т.е. проигрывается GaugesTu154m_cfgSOUNDElectric_Stop_1.wav.
 

Прикрепленный файл
 es_154m_3_112_20160419.zip   3.98МБ
  177 Количество загрузок:

 

Старый файл, из папки Gauges,  необходимо куда-нибудь сохранить. Новый распаковать в тоже место, т.е. в папку Gauges.

 

1. Если при стабилизированных крене и тангаже включить ввод ЗК на ПН-5, а затем выключить стабилизацию крена, будут гореть и «Сброс программы» и «ввод ЗК»

 

Воспроизводится так: включаем аккумуляторы, ву, рап, заводим ВСУ, включаем все тумблеры на оверхеде, согласовываем авиагоризонт, ТКС, включам бустеры и гидропитание. Включаем стабилизацию крена и тангажа, нажимаем стабилизацию. Выключаем тумблер крена. Видим: горящие ЗК и Сброс программы

 

2. ВСУ у меня при первом запуске молчит и внутри и снаружи, пока не наберёт 100,6% оборотов. Второй запуск уже со звуком

 

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

 

>>Что Вы имеете в виду, 2D приборы второго пилота?

 

Да, 2d приборы. Помню, в старых версиях можно было нажать Ctrl+цифра. Сейчас никак.

Я уже сам плохо помню историю версий ПТ Ту-154М, но почему-то кажется, что на какой-то стадии мы сознательно ушли от моделирования рабочего места второго пилота из-за дефицита сил и времени.

Я уже сам плохо помню историю версий ПТ Ту-154М, но почему-то кажется, что на какой-то стадии мы сознательно ушли от моделирования рабочего места второго пилота из-за дефицита сил и времени.

У ПТ Ту-154М изначально не было панели второго пилота, с самой первой бета-версии. Ты, Дима, путаешь с моделью Ту-154Б-2.

Наверное, под «2D второго пилота» подразумевается это:post-45154-0-19677400-1461209763_thumb.jpgpost-45154-0-03952800-1461209786_thumb.jpg

Но, вроде, это сторонние доработки, хотя, качественные и корректные ( на мой взгляд).


Edited by Олейников

Всем спасибо. Ясно, больше не буду пытаться сесть на место второго пилота.

Я тоже на М-ке не припомню места второго пилота, хотя летал в основном в ВК.

Но есть отдельный ПНП правака, что порой существенно облегчает выполнение схем по VOR.

У ПТ Ту-154М изначально не было панели второго пилота, с самой первой бета-версии. Ты, Дима, путаешь с моделью Ту-154Б-2.

Нет, Олег, не путаю, просто осторожничаю — вдруг сначала была, а потом отказались? Это ж когда было-то…

есть отдельный ПНП правака, что порой существенно облегчает выполнение схем по VOR.

 

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

Значит в широкоформатной панели он не прописан или прописан так, что с помощью клавиш его не вызвать. Попробуйте поискать его в меню сима.

Zhabo

 

Для Вас стоило бы сделать API. Но сомневаюсь, что до этого дойдет дело. Вот Вам map файлы от 2.04 (в том числе и от двух обновленных gau), создаваемые компоновщиком VC++. Я обязательно всегда задаю параметр создания map файлов, что бы потом, в определенных случаях, можно было отыскать ошибку. Вдруг Вам эти файлы помогут.

 

map_files_2_0_4_20160419.zip

Смотреть секции — .data  и .bss.   .bss — это инициализированные статические переменные, .data — просто статические переменные. По столбцам Start и Length отыскиваете указанные секции. Для конкретных переменных берете адреса из столбца Rva+Base. Base по умолчанию 10000000. Конкретно уже в работе, Base может быть другим. Соответственно адрес нужно пересчитать от другой базы. Но, думаю, это Вы знаете.  По назначению переменных — не помогу. Это нужно сидеть, колупать код и описывать. Некогда.  Правда, уже даже вот в таком, достаточно простом, случае, ничего не поможет, Т.к. в Call Back функции события от мыши, уже не просто переключение с 0 на 1 или обратно, а некий алгоритм (и даже с вызовом другой функции).

BOOL FSAPI kurs_mp_zpu1_mouse_m_cb( PPIXPOINT relative_point, FLAGS32 mouse_flags )
{
	if(mouse_flags & MOUSE_LEFTSINGLE)
	{
		kurs_mp_zpu1_zpu = kurs_mp_zpu1_zpu - 1;
		if(kurs_mp_zpu1_zpu < 0)
			kurs_mp_zpu1_zpu = kurs_mp_zpu1_zpu + 360;
	}
	else if(mouse_flags & MOUSE_RIGHTSINGLE)
	{
		kurs_mp_zpu1_zpu = kurs_mp_zpu1_zpu - 10;
		if(kurs_mp_zpu1_zpu < 0)
			kurs_mp_zpu1_zpu = kurs_mp_zpu1_zpu + 360;
	}

	trigger_key_event(KEY_VOR1_SET, kurs_mp_zpu1_zpu);

	return TRUE;
}

А таких случаев — есть.
 


Edited by serg_p

Сергей, большое спасибо. Есть ли map от предыдущей версии, чтобы можно было сопоставить имена переменных? Я бы мог написать конвертер и не искать переменные заново. Это очень облегчило бы переход на новую версию.

К сожалению, нет.

 

2.03 доделывал Владимир. И, если не путаю, когда он мне передал исходники обратно, они уже были с некоторыми изменениями. Да и map он, вроде, никогда не включал.

 

Во всяком случае, ничего стыкующегося с датами gau в 2.0.3, я пока не нашел.

 

Если вдруг что попадется, обязательно напишу.


Edited by serg_p

Я не про 2.03, а про 2.04 до внесения последних изменений. Роутер сейчас работает именно с 2.04 beta 1.


Edited by Zhabo

Гы 😀

 

Так все там, в архиве.

Ох, просмотрел. Действительно, в архиве обе версии. Спасибо!

Правда, уже даже вот в таком, достаточно простом, случае, ничего не поможет, Т.к. в Call Back функции события от мыши, уже не просто переключение с 0 на 1 или обратно, а некий алгоритм (и даже с вызовом другой функции).

BOOL FSAPI kurs_mp_zpu1_mouse_m_cb( PPIXPOINT relative_point, FLAGS32 mouse_flags )

 

Сергей, это не проблема.

 

Специально для таких случаев роутер оборудован программируемой из GUI логикой с калькулятором. Главное, что есть переменная kurs_mp_zpu1 и поведение переменной можно изучть. Далее, накрутить логику на управление переменой в зависимости от её текущего состояния — не проблема. Сейчас роутер вполне справляется с управлением самолётом таким образом, что во время полёта не нужно касаться клавиатуры и мыши с момента загрузки. Пассажиры при этом, к сожалению, мёрзнут (СКВ я ещё не прикрутил), но все необходимые приборы работают.

 

Также корректно обрабатываются ситуации, при которых нужно одновременно управлять несколькими переменными. Например, при работе с АБСУ (режимы навигации и стабилизация).


Edited by Zhabo

Сергей, можно узнать, как работает задатчик курса на ТКС-П2? Я так и не смог понять логику.

 

У меня пока сделано так:

— минимальное значение (-500)

— максимальное (700)

— шаг (0.1)

 

Почему такие цифры и насколько я точно их определил — не понятно до сих пор. Оно работает, так как вряд ли кто-то будет вручную подгонять курс на 1,5-2 оборота, но всё же хочу узнать, как на самом деле работает обработчик этого тумблера.


//Задатчик

BOOL FSAPI tks_pult_zad_p_mouse_cb( PPIXPOINT relative_point, FLAGS32 mouse_flags )

{

if(mouse_flags & MOUSE_LEFTSINGLE)

{

tks_pult_zadatchik = 1;

tks_pult_zadatchik_dig = 12;

if(tks_pult_rezim == 0 && tks_pult_korr_agr == 1)

tks_ga_1_error = tks_ga_1_error + 0.1;

if(tks_pult_rezim == 0 && tks_pult_korr_agr == 0)

tks_ga_2_error = tks_ga_2_error + 0.1;

}

if(mouse_flags & MOUSE_RIGHTSINGLE)

{

tks_pult_zadatchik = 1;

tks_pult_zadatchik_dig = 12;

if(tks_pult_rezim == 0 && tks_pult_korr_agr == 1)

tks_ga_1_error = tks_ga_1_error + 1.5;

if(tks_pult_rezim == 0 && tks_pult_korr_agr == 0)

tks_ga_2_error = tks_ga_2_error + 1.5;

}

return TRUE;

}

/////

BOOL FSAPI tks_pult_zad_m_mouse_cb( PPIXPOINT relative_point, FLAGS32 mouse_flags )

{

if(mouse_flags & MOUSE_LEFTSINGLE)

{

tks_pult_zadatchik = -1;

tks_pult_zadatchik_dig = 12;

if(tks_pult_rezim == 0 && tks_pult_korr_agr == 1)

tks_ga_1_error = tks_ga_1_error — 0.1;

if(tks_pult_rezim == 0 && tks_pult_korr_agr == 0)

tks_ga_2_error = tks_ga_2_error — 0.1;

}

if(mouse_flags & MOUSE_RIGHTSINGLE)

{

tks_pult_zadatchik = -1;

tks_pult_zadatchik_dig = 12;

if(tks_pult_rezim == 0 && tks_pult_korr_agr == 1)

tks_ga_1_error = tks_ga_1_error — 1.5;

if(tks_pult_rezim == 0 && tks_pult_korr_agr == 0)

tks_ga_2_error = tks_ga_2_error — 1.5;

}

return TRUE;

}

 


Edited by serg_p