x737 EFIS и MCPСОДЕРЖАНИЕ ВВЕДЕНИЕ
|
Рис.1 |
Компромиссное решение, без добавления новых органов управления и шифтов, было следующее:
Таблица 1 | |||||||||||||||
|
Экспериментальная прошивка для x737 на базе arduino_mcp-0.5.3.
Дополнения к базовой прошивке:
1. При каждом переключении SW1 (BANK LIMIT) по часовой стрелке, дополнительно вырабатывается событие 240,
а против часовой стрелки - событие 241.
2. Кнопка RST на оси энкодера задания высоты принятия решения при коротоком нажатии вырабатывает событие 63,
а при длительном удержании - событие 191.
3. Кнопка STD на оси энкодера задания давления при коротком нажатии вырабатывает событие 62,
а при длительном удержании - событие 190.
4. Кнопка FPV при коротком нажатии вырабатывает событие 64, а при длительном удержании - событие 190.
5. Кнопка MTRS при коротком нажатии вырабатывает событие 61, а при длительном удержании - событие 189.
Особые моменты в файле конфигурации
############################## # B A N K A N G L E # ############################## # начало вращения по часовой стрелке [Key0241] mode: dataref dataref: x737/systems/MCP/BANK_updn type: float 1: 1 # останов вращения [Key0241] mode: dataref dataref: x737/systems/MCP/BANK_updn type: float 1: 0 #начало вращения против часовой стрелки [Key0240] mode: dataref dataref: x737/systems/MCP/BANK_updn type: float 1: -1 # останов вращения [Key0240] mode: dataref dataref: x737/systems/MCP/BANK_updn type: float 1: 0
Согласно описанию датарефа x737/systems/MCP/BANK_updn для начала
вращения нужно подать 1(CW) или -1 (CCW), а для того, чтобы обозначить
завершение операции, нужно в каждом случае подать 0.
Чтобы задать последовательность операций на один код органа управления,
нужно последовательно создать секции с одинаковым именем в порядке выполнения операций.
Остальные настройки, связанные с изменением свойств кнопок RST, STD, FPV, MTRS
##################### # EFIS MTR BUTTON # ##################### [Key0189] mode: dataref dataref: x737/cockpit/EFISCTRL_0/MTR_button type: float 1: 1.0 # после первой операции кнопка вдавлена, вернём её на место [Key0189] mode: dataref dataref: x737/cockpit/EFISCTRL_0/MTR_button type: float 1: 0.0 ##################### # EFIS TFC BUTTON # ##################### [Key0061] mode: dataref dataref: x737/cockpit/EFISCTRL_0/TFC_button type: float 1: 1.0 # после первой операции кнопка вдавлена, вернём её на место [Key0061] mode: dataref dataref: x737/cockpit/EFISCTRL_0/TFC_button type: float 1: 0.0 ####################### # EFIS CTR BUTTON # ####################### [Key0064] mode: dataref dataref: x737/cockpit/EFISCTRL_0/CTR_button type: float 1: 1.0 # после первой операции кнопка вдавлена, вернём её на место [Key0064] mode: dataref dataref: x737/cockpit/EFISCTRL_0/CTR_button type: float 1: 0.0 ####################### # EFIS FPV BUTTON # ####################### [Key0192] mode: dataref dataref: x737/cockpit/EFISCTRL_0/FPV_button type: float 1: 1.0 # после первой операции кнопка вдавлена, вернём её на место [Key0192] mode: dataref dataref: x737/cockpit/EFISCTRL_0/FPV_button type: float 1: 0.0 ####################### # EFIS BAROPRESS # ####################### [Key0062] mode: loop dataref: x737/cockpit/EFISCTRL_0/BAROPRESS_unit type: float min: 0 max: 1 increment: 1 ####################### # BAROPRESS STD # ####################### [Key0190] mode: dataref dataref: x737/cockpit/EFISCTRL_0/STD_button type: float 1: 1 # после первой операции кнопка вдавлена, вернём её на место [Key0190] mode: dataref dataref: x737/cockpit/EFISCTRL_0/STD_button type: float 1: 0 ####################### # DH RST # ####################### [Key0191] mode: dataref dataref: x737/cockpit/EFISCTRL_0/RST_button type: float 1: 1 # после первой операции кнопка вдавлена, вернём её на место [Key0191] mode: dataref dataref: x737/cockpit/EFISCTRL_0/RST_button type: float 1: 0 ####################### # DH SOURCE # ####################### [Key0063] mode: loop dataref: x737/cockpit/EFISCTRL_0/DH_source type: float min: 0 max: 1 increment: 1