Jump to content
Komthur

ПТ Ту-154М V2.04

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Edited by Олейников

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

Edited by serg_p

Share this post


Link to post
Share on other sites

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

Edited by Zhabo

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Правда, уже даже вот в таком, достаточно простом, случае, ничего не поможет, Т.к. в 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

Share this post


Link to post
Share on other sites

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

 

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

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

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

- шаг (0.1)

 

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

Share this post


Link to post
Share on other sites


//Задатчик

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

Share this post


Link to post
Share on other sites

tks_pult_zadatchik_dig  - задержка, в 12 тиков, возврата тумблера в центр после отпускания

 

Это код Степана Грицевского.

 

 

Если есть еще непонятные места - спрашивайте, не стесняйтесь.

 

Вам помочь - святое дело.

Edited by serg_p

Share this post


Link to post
Share on other sites

Большое спасибо! То есть, курс корректируется до переполнения в любую сторону...

 

У меня при значениях больше 700 и меньше -500 начиналось непонятное. По-моему, прибор переставал реагировать на изменение курса.

 

Есть вопрос по .map-файлу. Не смог разобраться, что такое f, i, f i после адреса. Вопрос не принципиальный, просто интересно:

 

0001:0001e0e0       [email protected]@[email protected]@[email protected] 1001f0e0 f   Tks_p.obj
0001:0004bc60       [email protected]@@[email protected]     1004cc60 f i Tks_p.obj

Share this post


Link to post
Share on other sites

Поискал по инету. Нигде объяснений не нашел. В том числе в MSDN. Везде, где рассматривается Rva+Base, эти атрибуты не рассматриваются. Думаю - не нужны они.

Share this post


Link to post
Share on other sites

Сергей, не хватает второго (старого?) мапа в архиве. Не с чем сравнивать. Можно его добавить?

Edited by Zhabo

Share this post


Link to post
Share on other sites

Сергей, добрый вечер.

 

Я только что сконвертировал профиль роутера в новую версию. На первый взгляд, всё работает (нужно будет сделать 2-3 тестовых полёта). Map-файлы очень помогли, конвертация прошла автоматически. Спасибо.

 

Попробовал кнопки ViewMode/Rev ViewMode. Работают.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×