diff --git a/Scripts/DCS-BIOS/BIOS.lua b/Scripts/DCS-BIOS/BIOS.lua index 9fd4bb0c8..ee9c19eb7 100644 --- a/Scripts/DCS-BIOS/BIOS.lua +++ b/Scripts/DCS-BIOS/BIOS.lua @@ -120,6 +120,9 @@ dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/M-2000C.lua]]) -- ID = 27, ProperN -- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/MB-339.lua]]) -- ID = 28, ProperName = MB-339A/PAN local MB_339 = require "MB-339" BIOS.protocol.writeNewModule(MB_339) +-- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/archive/old_format_planes/MH-60R.lua]]) -- ID = 50, ProperName = MH-60R SeaHawk +local MH_60R = require "MH-60R" +BIOS.protocol.writeNewModule(MH_60R) -- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/archive/old_format_planes/Mi-24P.lua]]) -- ID = 42, ProperName = Mi-24P HIND local Mi_24P = require "Mi-24P" BIOS.protocol.writeNewModule(Mi_24P) diff --git a/Scripts/DCS-BIOS/doc/Addresses.h b/Scripts/DCS-BIOS/doc/Addresses.h index acd0db1d4..46b467bf2 100644 --- a/Scripts/DCS-BIOS/doc/Addresses.h +++ b/Scripts/DCS-BIOS/doc/Addresses.h @@ -18583,6 +18583,278 @@ #define MB_339_WP_STAT6_G_A 0x8366 #define MB_339_WP_STAT6_L 0x836C, 0x0002, 1 #define MB_339_WP_STAT6_L_AM 0x836C, 0x0002 +#define MH_60R_128B_0 0xA410, 0x0040, 6 +#define MH_60R_128B_0_AM 0xA410, 0x0040 +#define MH_60R_128B_1 0xA40E, 0x0200, 9 +#define MH_60R_128B_1_AM 0xA40E, 0x0200 +#define MH_60R_128B_2 0xA40E, 0x0400, 10 +#define MH_60R_128B_2_AM 0xA40E, 0x0400 +#define MH_60R_128B_3 0xA40E, 0x0800, 11 +#define MH_60R_128B_3_AM 0xA40E, 0x0800 +#define MH_60R_128B_4 0xA40E, 0x2000, 13 +#define MH_60R_128B_4_AM 0xA40E, 0x2000 +#define MH_60R_128B_5 0xA40E, 0x4000, 14 +#define MH_60R_128B_5_AM 0xA40E, 0x4000 +#define MH_60R_128B_6 0xA40E, 0x8000, 15 +#define MH_60R_128B_6_AM 0xA40E, 0x8000 +#define MH_60R_128B_7 0xA410, 0x0002, 1 +#define MH_60R_128B_7_AM 0xA410, 0x0002 +#define MH_60R_128B_8 0xA410, 0x0004, 2 +#define MH_60R_128B_8_AM 0xA410, 0x0004 +#define MH_60R_128B_9 0xA410, 0x0008, 3 +#define MH_60R_128B_9_AM 0xA410, 0x0008 +#define MH_60R_128B_CLR 0xA410, 0x0020, 5 +#define MH_60R_128B_CLR_AM 0xA410, 0x0020 +#define MH_60R_128B_DEC 0xA410, 0x0010, 4 +#define MH_60R_128B_DEC_AM 0xA410, 0x0010 +#define MH_60R_128B_DISPLAY 0xA40E, 0x0007, 0 +#define MH_60R_128B_ENT 0xA410, 0x0080, 7 +#define MH_60R_128B_ENT_AM 0xA410, 0x0080 +#define MH_60R_128B_F1 0xA40E, 0x0100, 8 +#define MH_60R_128B_F1_AM 0xA40E, 0x0100 +#define MH_60R_128B_INC 0xA410, 0x0001, 0 +#define MH_60R_128B_INC_AM 0xA410, 0x0001 +#define MH_60R_128B_KYBD 0xA40C, 0x4000, 14 +#define MH_60R_128B_KYBD_AM 0xA40C, 0x4000 +#define MH_60R_128B_LTR_LFT 0xA40C, 0x8000, 15 +#define MH_60R_128B_LTR_LFT_AM 0xA40C, 0x8000 +#define MH_60R_128B_LTR_MID 0xA40E, 0x0040, 6 +#define MH_60R_128B_LTR_MID_AM 0xA40E, 0x0040 +#define MH_60R_128B_LTR_RGHT 0xA40E, 0x0080, 7 +#define MH_60R_128B_LTR_RGHT_AM 0xA40E, 0x0080 +#define MH_60R_128B_MODE 0xA40E, 0x0038, 3 +#define MH_60R_128B_TGT_STR 0xA40E, 0x1000, 12 +#define MH_60R_128B_TGT_STR_AM 0xA40E, 0x1000 +#define MH_60R_AFC_BST_LGHT 0xA404, 0x0001, 0 +#define MH_60R_AFC_BST_LGHT_AM 0xA404, 0x0001 +#define MH_60R_AFC_FPS_LGHT 0xA404, 0x0010, 4 +#define MH_60R_AFC_FPS_LGHT_AM 0xA404, 0x0010 +#define MH_60R_AFC_SS1_LGHT 0xA404, 0x0002, 1 +#define MH_60R_AFC_SS1_LGHT_AM 0xA404, 0x0002 +#define MH_60R_AFC_SS2_LGHT 0xA404, 0x0004, 2 +#define MH_60R_AFC_SS2_LGHT_AM 0xA404, 0x0004 +#define MH_60R_AFC_STB_LGHT 0xA404, 0x0020, 5 +#define MH_60R_AFC_STB_LGHT_AM 0xA404, 0x0020 +#define MH_60R_AFC_TRM_LGHT 0xA404, 0x0008, 3 +#define MH_60R_AFC_TRM_LGHT_AM 0xA404, 0x0008 +#define MH_60R_AIR_SRC_SW 0xA406, 0x0030, 4 +#define MH_60R_ANTI_LGHT_DAY 0xA412, 0x3000, 12 +#define MH_60R_ANTI_LGHT_UP 0xA412, 0x0C00, 10 +#define MH_60R_APU_CTRL_SW 0xA404, 0x8000, 15 +#define MH_60R_APU_CTRL_SW_AM 0xA404, 0x8000 +#define MH_60R_APU_GEN_SW 0xA404, 0x1800, 11 +#define MH_60R_AVS_DIM 0xA412, 0x0060, 5 +#define MH_60R_AVS_ON 0xA412, 0x0018, 3 +#define MH_60R_BATT_SW 0xA404, 0x0100, 8 +#define MH_60R_BATT_SW_AM 0xA404, 0x0100 +#define MH_60R_BRG2 0xA412, 0x0004, 2 +#define MH_60R_BRG2_AM 0xA412, 0x0004 +#define MH_60R_CAP_BRGT 0xA40C, 0x1000, 12 +#define MH_60R_CAP_BRGT_AM 0xA40C, 0x1000 +#define MH_60R_CAP_TST 0xA40C, 0x0800, 11 +#define MH_60R_CAP_TST_AM 0xA40C, 0x0800 +#define MH_60R_CAT_SELC 0xA430, 0x0020, 5 +#define MH_60R_CAT_SELC_AM 0xA430, 0x0020 +#define MH_60R_CDU_TST 0xA40C, 0x0200, 9 +#define MH_60R_CDU_TST_AM 0xA40C, 0x0200 +#define MH_60R_CHAFF_MOD_SEL 0xA426, 0x0003, 0 +#define MH_60R_CHAF_DISP 0xA426, 0x0004, 2 +#define MH_60R_CHAF_DISP_AM 0xA426, 0x0004 +#define MH_60R_CIS_ALT 0xA410, 0x0400, 10 +#define MH_60R_CIS_ALT_AM 0xA410, 0x0400 +#define MH_60R_CIS_HDG 0xA410, 0x0100, 8 +#define MH_60R_CIS_HDG_AM 0xA410, 0x0100 +#define MH_60R_CIS_NAV 0xA410, 0x0200, 9 +#define MH_60R_CIS_NAV_AM 0xA410, 0x0200 +#define MH_60R_CIS_PLT_ALT 0xA402, 0x0004, 2 +#define MH_60R_CIS_PLT_ALT_AM 0xA402, 0x0004 +#define MH_60R_CIS_PLT_BCKCRS 0xA402, 0x0040, 6 +#define MH_60R_CIS_PLT_BCKCRS_AM 0xA402, 0x0040 +#define MH_60R_CIS_PLT_BRG2ADF 0xA402, 0x4000, 14 +#define MH_60R_CIS_PLT_BRG2ADF_AM 0xA402, 0x4000 +#define MH_60R_CIS_PLT_BRG2VOR 0xA402, 0x8000, 15 +#define MH_60R_CIS_PLT_BRG2VOR_AM 0xA402, 0x8000 +#define MH_60R_CIS_PLT_CRSHDGCPLT 0xA402, 0x0800, 11 +#define MH_60R_CIS_PLT_CRSHDGCPLT_AM 0xA402, 0x0800 +#define MH_60R_CIS_PLT_CRSHDGPLT 0xA402, 0x0400, 10 +#define MH_60R_CIS_PLT_CRSHDGPLT_AM 0xA402, 0x0400 +#define MH_60R_CIS_PLT_DPLR 0xA402, 0x0008, 3 +#define MH_60R_CIS_PLT_DPLR_AM 0xA402, 0x0008 +#define MH_60R_CIS_PLT_FMHME 0xA402, 0x0080, 7 +#define MH_60R_CIS_PLT_FMHME_AM 0xA402, 0x0080 +#define MH_60R_CIS_PLT_GYRNRM 0xA402, 0x1000, 12 +#define MH_60R_CIS_PLT_GYRNRM_AM 0xA402, 0x1000 +#define MH_60R_CIS_PLT_GYROALT 0xA402, 0x2000, 13 +#define MH_60R_CIS_PLT_GYROALT_AM 0xA402, 0x2000 +#define MH_60R_CIS_PLT_HDG 0xA402, 0x0001, 0 +#define MH_60R_CIS_PLT_HDG_AM 0xA402, 0x0001 +#define MH_60R_CIS_PLT_ILS 0xA402, 0x0020, 5 +#define MH_60R_CIS_PLT_ILS_AM 0xA402, 0x0020 +#define MH_60R_CIS_PLT_NAV 0xA402, 0x0002, 1 +#define MH_60R_CIS_PLT_NAV_AM 0xA402, 0x0002 +#define MH_60R_CIS_PLT_TRALT 0xA402, 0x0200, 9 +#define MH_60R_CIS_PLT_TRALT_AM 0xA402, 0x0200 +#define MH_60R_CIS_PLT_TRNRM 0xA402, 0x0100, 8 +#define MH_60R_CIS_PLT_TRNRM_AM 0xA402, 0x0100 +#define MH_60R_CIS_PLT_VOR 0xA402, 0x0010, 4 +#define MH_60R_CIS_PLT_VOR_AM 0xA402, 0x0010 +#define MH_60R_CKPT_LGHT_DAY 0xA416, 0x0060, 5 +#define MH_60R_CMP_LGTH_MOD 0xA412, 0x8000, 15 +#define MH_60R_CMP_LGTH_MOD_AM 0xA412, 0x8000 +#define MH_60R_CM_ARM_SW 0xA416, 0x8000, 15 +#define MH_60R_CM_ARM_SW_AM 0xA416, 0x8000 +#define MH_60R_COAL_SELC 0xA430, 0x000C, 2 +#define MH_60R_CPLT_DOOR 0xA416, 0x0080, 7 +#define MH_60R_CPLT_DOOR_AM 0xA416, 0x0080 +#define MH_60R_CPLT_INST_BRT 0xA420, 0xFFFF, 0 +#define MH_60R_CPLT_INST_BRT_A 0xA420 +#define MH_60R_CRS_HDG 0xA412, 0x0001, 0 +#define MH_60R_CRS_HDG_AM 0xA412, 0x0001 +#define MH_60R_ENG1_CTRL 0xA408, 0xFFFF, 0 +#define MH_60R_ENG1_CTRL_A 0xA408 +#define MH_60R_ENG1_CTR_LVL 0xA406, 0x2000, 13 +#define MH_60R_ENG1_CTR_LVL_AM 0xA406, 0x2000 +#define MH_60R_ENG1_FSS 0xA406, 0x0180, 7 +#define MH_60R_ENG1_START 0xA406, 0x0800, 11 +#define MH_60R_ENG1_START_AM 0xA406, 0x0800 +#define MH_60R_ENG2_CTRL 0xA40A, 0xFFFF, 0 +#define MH_60R_ENG2_CTRL_A 0xA40A +#define MH_60R_ENG2_CTR_LVL 0xA406, 0x4000, 14 +#define MH_60R_ENG2_CTR_LVL_AM 0xA406, 0x4000 +#define MH_60R_ENG2_FSS 0xA406, 0x0600, 9 +#define MH_60R_ENG2_START 0xA406, 0x1000, 12 +#define MH_60R_ENG2_START_AM 0xA406, 0x1000 +#define MH_60R_EXT_PWR_SW 0xA404, 0x0600, 9 +#define MH_60R_FAC_RANGE 0xA430, 0x0010, 4 +#define MH_60R_FAC_RANGE_AM 0xA430, 0x0010 +#define MH_60R_FLR_DSP_CVR 0xA416, 0x2000, 13 +#define MH_60R_FLR_DSP_CVR_AM 0xA416, 0x2000 +#define MH_60R_FLR_DSP_SW 0xA416, 0x4000, 14 +#define MH_60R_FLR_DSP_SW_AM 0xA416, 0x4000 +#define MH_60R_FORM_LGHT 0xA416, 0x001C, 2 +#define MH_60R_FPS 0xA40C, 0x0020, 5 +#define MH_60R_FPS_AM 0xA40C, 0x0020 +#define MH_60R_FUEL1_BST_PMP 0xA406, 0x0040, 6 +#define MH_60R_FUEL1_BST_PMP_AM 0xA406, 0x0040 +#define MH_60R_FUEL_PMP_SW 0xA406, 0x000C, 2 +#define MH_60R_GEN1_SW 0xA404, 0x6000, 13 +#define MH_60R_GEN2_SW 0xA406, 0x0003, 0 +#define MH_60R_GLR_SHLD 0xA414, 0xFFFF, 0 +#define MH_60R_GLR_SHLD_A 0xA414 +#define MH_60R_GUN_COLR 0xA428, 0x3000, 12 +#define MH_60R_GUN_MOVE 0xA42A, 0xFFFF, 0 +#define MH_60R_GUN_MOVE_A 0xA42A +#define MH_60R_JET_ALL 0xA428, 0x0100, 8 +#define MH_60R_JET_ALL_AM 0xA428, 0x0100 +#define MH_60R_JET_ALL_CVR 0xA428, 0x0080, 7 +#define MH_60R_JET_ALL_CVR_AM 0xA428, 0x0080 +#define MH_60R_JET_SELC 0xA428, 0x0E00, 9 +#define MH_60R_JET_SLC_CVR 0xA428, 0x0040, 6 +#define MH_60R_JET_SLC_CVR_AM 0xA428, 0x0040 +#define MH_60R_JET_SLC_SW 0xA428, 0x0020, 5 +#define MH_60R_JET_SLC_SW_AM 0xA428, 0x0020 +#define MH_60R_LCK_TGT 0xA430, 0x0040, 6 +#define MH_60R_LCK_TGT_AM 0xA430, 0x0040 +#define MH_60R_LFT_CRG_DOOR 0xA416, 0x0800, 11 +#define MH_60R_LFT_CRG_DOOR_AM 0xA416, 0x0800 +#define MH_60R_LFT_GUN_WIN 0xA416, 0x0200, 9 +#define MH_60R_LFT_GUN_WIN_AM 0xA416, 0x0200 +#define MH_60R_LGHT_BRT 0xA422, 0xFFFF, 0 +#define MH_60R_LGHT_BRT_A 0xA422 +#define MH_60R_LGHT_SW 0xA400, 0xFFFF, 0 +#define MH_60R_LGHT_SWTCH 0xA418, 0xFFFF, 0 +#define MH_60R_LGHT_SWTCH_A 0xA418 +#define MH_60R_LGHT_SW_A 0xA400 +#define MH_60R_LWR_BRT 0xA41C, 0xFFFF, 0 +#define MH_60R_LWR_BRT_A 0xA41C +#define MH_60R_MODE_RDR 0xA428, 0xC000, 14 +#define MH_60R_MST_ARM_CVR 0xA428, 0x0001, 0 +#define MH_60R_MST_ARM_CVR_AM 0xA428, 0x0001 +#define MH_60R_MST_ARM_SNR 0xA426, 0x0040, 6 +#define MH_60R_MST_ARM_SNR_AM 0xA426, 0x0040 +#define MH_60R_MST_ARM_SON 0xA426, 0x0080, 7 +#define MH_60R_MST_ARM_SON_AM 0xA426, 0x0080 +#define MH_60R_MST_ARM_WPN 0xA426, 0x1000, 12 +#define MH_60R_MST_ARM_WPN_AM 0xA426, 0x1000 +#define MH_60R_MST_CAUTION 0xA404, 0x0040, 6 +#define MH_60R_MST_CAUTION_AM 0xA404, 0x0040 +#define MH_60R_MST_CAUT_RST 0xA40C, 0x2000, 13 +#define MH_60R_MST_CAUT_RST_AM 0xA40C, 0x2000 +#define MH_60R_MST_SNR_CVR 0xA426, 0x0020, 5 +#define MH_60R_MST_SNR_CVR_AM 0xA426, 0x0020 +#define MH_60R_MST_SON_CVR 0xA426, 0x0800, 11 +#define MH_60R_MST_SON_CVR_AM 0xA426, 0x0800 +#define MH_60R_NAV_BACK 0xA410, 0x2000, 13 +#define MH_60R_NAV_BACK_AM 0xA410, 0x2000 +#define MH_60R_NAV_DPLR 0xA410, 0x0800, 11 +#define MH_60R_NAV_DPLR_AM 0xA410, 0x0800 +#define MH_60R_NAV_FM 0xA410, 0x4000, 14 +#define MH_60R_NAV_FM_AM 0xA410, 0x4000 +#define MH_60R_NAV_LGTH_MOD 0xA412, 0x4000, 14 +#define MH_60R_NAV_LGTH_MOD_AM 0xA412, 0x4000 +#define MH_60R_NAV_VOR 0xA410, 0x1000, 12 +#define MH_60R_NAV_VOR_AM 0xA410, 0x1000 +#define MH_60R_OFFSET_RDR 0xA432, 0xFFFF, 0 +#define MH_60R_OFFSET_RDR_A 0xA432 +#define MH_60R_PDU1_TST 0xA40C, 0x0400, 10 +#define MH_60R_PDU1_TST_AM 0xA40C, 0x0400 +#define MH_60R_PLT_DOOR 0xA416, 0x0100, 8 +#define MH_60R_PLT_DOOR_AM 0xA416, 0x0100 +#define MH_60R_PLT_INST_BRT 0xA41E, 0xFFFF, 0 +#define MH_60R_PLT_INST_BRT_A 0xA41E +#define MH_60R_POS_LGHT 0xA416, 0x0003, 0 +#define MH_60R_POS_LGHT_DIM 0xA412, 0x0180, 7 +#define MH_60R_POS_LGTH_MOD 0xA412, 0x0200, 9 +#define MH_60R_POS_LGTH_MOD_AM 0xA412, 0x0200 +#define MH_60R_PRK_BRK 0xA40C, 0x0080, 7 +#define MH_60R_PRK_BRK_AM 0xA40C, 0x0080 +#define MH_60R_RANGE_RDR 0xA42C, 0xFFFF, 0 +#define MH_60R_RANGE_RDR_A 0xA42C +#define MH_60R_RDR_DIM 0xA424, 0xFFFF, 0 +#define MH_60R_RDR_DIM_A 0xA424 +#define MH_60R_RGT_CRG_DOOR 0xA416, 0x1000, 12 +#define MH_60R_RGT_CRG_DOOR_AM 0xA416, 0x1000 +#define MH_60R_RGT_GUN_WIN 0xA416, 0x0400, 10 +#define MH_60R_RGT_GUN_WIN_AM 0xA416, 0x0400 +#define MH_60R_RST_ROT 0xA430, 0x0080, 7 +#define MH_60R_RST_ROT_AM 0xA430, 0x0080 +#define MH_60R_SAS1 0xA40C, 0x0004, 2 +#define MH_60R_SAS1_AM 0xA40C, 0x0004 +#define MH_60R_SAS2 0xA40C, 0x0008, 3 +#define MH_60R_SAS2_AM 0xA40C, 0x0008 +#define MH_60R_SAS_BST 0xA40C, 0x0040, 6 +#define MH_60R_SAS_BST_AM 0xA40C, 0x0040 +#define MH_60R_SECT_RDR 0xA42E, 0xFFFF, 0 +#define MH_60R_SECT_RDR_A 0xA42E +#define MH_60R_SLV_SELC 0xA426, 0xE000, 13 +#define MH_60R_SNR_WNCH 0xA426, 0x0600, 9 +#define MH_60R_SONO_DISP 0xA426, 0x0100, 8 +#define MH_60R_SONO_DISP_AM 0xA426, 0x0100 +#define MH_60R_SON_SELC 0xA430, 0x0003, 0 +#define MH_60R_STAB_AUTO 0xA406, 0x8000, 15 +#define MH_60R_STAB_AUTO_AM 0xA406, 0x8000 +#define MH_60R_STAB_MAN_SLW 0xA40C, 0x0003, 0 +#define MH_60R_STA_LFT_PYL 0xA428, 0x0002, 1 +#define MH_60R_STA_LFT_PYL_AM 0xA428, 0x0002 +#define MH_60R_STA_LFT_SID 0xA428, 0x0004, 2 +#define MH_60R_STA_LFT_SID_AM 0xA428, 0x0004 +#define MH_60R_STA_RGT_PYL 0xA428, 0x0010, 4 +#define MH_60R_STA_RGT_PYL_AM 0xA428, 0x0010 +#define MH_60R_STA_RGT_SID 0xA428, 0x0008, 3 +#define MH_60R_STA_RGT_SID_AM 0xA428, 0x0008 +#define MH_60R_TAIL_WHL_LCK 0xA40C, 0x0100, 8 +#define MH_60R_TAIL_WHL_LCK_AM 0xA40C, 0x0100 +#define MH_60R_TRIM 0xA40C, 0x0010, 4 +#define MH_60R_TRIM_AM 0xA40C, 0x0010 +#define MH_60R_TRN_RATE 0xA410, 0x8000, 15 +#define MH_60R_TRN_RATE_AM 0xA410, 0x8000 +#define MH_60R_UPP_BRT 0xA41A, 0xFFFF, 0 +#define MH_60R_UPP_BRT_A 0xA41A +#define MH_60R_VRT_GYRO 0xA412, 0x0002, 1 +#define MH_60R_VRT_GYRO_AM 0xA412, 0x0002 +#define MH_60R_WHL_LCK_LGT 0xA404, 0x0080, 7 +#define MH_60R_WHL_LCK_LGT_AM 0xA404, 0x0080 +#define MH_60R_WPRS 0xA426, 0x0018, 3 #define M_2000C_AAR_SW 0x725A, 0x0300, 8 #define M_2000C_AB_EMER_CUTOFF_SW 0x7294, 0x0080, 7 #define M_2000C_AB_EMER_CUTOFF_SW_AM 0x7294, 0x0080 diff --git a/Scripts/DCS-BIOS/doc/addresses.txt b/Scripts/DCS-BIOS/doc/addresses.txt index 9d5fcdc06..95e857c8d 100644 --- a/Scripts/DCS-BIOS/doc/addresses.txt +++ b/Scripts/DCS-BIOS/doc/addresses.txt @@ -1,83 +1,84 @@ MetadataStart 0x0000 CommonData 0x0400 VNAO Ready Room 0x0500 #XXX -NS430 0x0600 #33 +NS430 0x0600 SuperCarrier 0x0700 #XXX -A-10C 0x1000 #5 (A-10C & A-10C II Tank Killer) -F-14 0x1200 #16 (all Versions) -UH1H 0x1400 #38 -Mig19 0x1600 #31 -Ka-50 0x1800 #25 +A-10C 0x1000 (A-10C & A-10C II Tank Killer) +F-14 0x1200 (all Versions) +UH1H 0x1400 +Mig19 0x1600 +Ka-50 0x1800 0x1a00 0x1c00 0x1e00 -Yak-52 0x2000 #39 -Mig21 0x2200 #32 -Mig15 0x2400 #30 -Mi-8MT 0x2600 #29 -Christen Eagle 0x2800 #14 +Yak-52 0x2000 +Mig21 0x2200 +Mig15 0x2400 +Mi-8MT 0x2600 +Christen Eagle 0x2800 0x2a00 0x2c00 0x2e00 -F-86 0x3000 #19 -L-39 0x3200 #26 (all Versions) -FW190D9 0x3400 #22 -C-101 0x3600 #12 (all Versions) -FW190A8 0x3800 #21 +F-86 0x3000 +L-39 0x3200 (all Versions) +FW190D9 0x3400 +C-101 0x3600 (all Versions) +FW190A8 0x3800 0x3a00 0x3c00 0x3e00 -I-16 0x4000 #23 -Bf109k4 0x4200 #11 -F-16 0x4400 #17 -AJS37 0x4600 #8 -JF-17 0x4800 #24 +I-16 0x4000 +Bf109k4 0x4200 +F-16 0x4400 +AJS37 0x4600 +JF-17 0x4800 0x4a00 0x4c00 0x4e00 -P-51D 0x5000 #35 (all Versions) -P-47D 0x5200 #34 (all Versions) -Spitfire LFMkIX 0x5400 #37 -Edge540 0x5600 #15 (Mod) -SA342M 0x5800 #36 (all Versions) +P-51D 0x5000 (all Versions) +P-47D 0x5200 (all Versions) +Spitfire LFMkIX 0x5400 +Edge540 0x5600 (Mod) +SA342M 0x5800 (all Versions) 0x5a00 0x5c00 0x5e00 -FC3 0x6000 #4 -AH-6J 0x6200 #7 (Mod) -Alphajet 0x6400 #9 (Mod) -F-22A 0x6600 #40 (Mod) -Mi-24P 0x6800 #42 +FC3 0x6000 +AH-6J 0x6200 (Mod) +Alphajet 0x6400 (Mod) +F-22A 0x6600 (Mod) +Mi-24P 0x6800 0x6a00 0x6c00 0x6e00 -MosquitoFBMkVI 0x7000 #45 -M-2000C 0x7200 #27 -F/A-18C_hornet 0x7400 #20 -F-5E-3 0x7600 #18 -AV8BNA 0x7800 #10 +MosquitoFBMkVI 0x7000 +M-2000C 0x7200 +F/A-18C_hornet 0x7400 +F-5E-3 0x7600 +AV8BNA 0x7800 0x7a00 0x7c00 0x7e00 -AH-64D 0x8000 #46 -MB-339A/PAN 0x8200 #28 (all Versions) -A-4E-C 0x8400 #6 (Mod) -Mirage F1 0x8600 #13 (all Versions) -A-29B 0x8800 #41 (Mod) +AH-64D 0x8000 +MB-339A/PAN 0x8200 (all Versions) +A-4E-C 0x8400 (Mod) +Mirage F1 0x8600 (all Versions) +A-29B 0x8800 (Mod) 0x8a00 0x8c00 0x8e00 -T-45 0x9000 #43 (Mod) -F-15E 0x9200 #44 +T-45 0x9000 (Mod) +F-15E 0x9200 0x9400 0x9600 -C-130J 0x9800 #47 +C-130J 0x9800 + 0x9a00 0x9c00 0x9e00 0xa000 0xa200 - 0xa400 +MH-60R 0xA400 (Mod) 0xa600 0xa800 0xaa00 diff --git a/Scripts/DCS-BIOS/doc/json/AircraftAliases.json b/Scripts/DCS-BIOS/doc/json/AircraftAliases.json index 69b482f08..763a6dc81 100644 --- a/Scripts/DCS-BIOS/doc/json/AircraftAliases.json +++ b/Scripts/DCS-BIOS/doc/json/AircraftAliases.json @@ -64,6 +64,7 @@ "MB-339A": [ "CommonData", "MB-339" ], "MB-339APAN": [ "CommonData", "MB-339" ], "MB-339PAN": [ "CommonData", "FC3" ], + "MH-60R": [ "CommonData", "MH-60R" ], "MQ9_PREDATOR": [ "CommonData", "FC3" ], "Mi-24P": [ "CommonData", "Mi-24P", "NS430" ], "Mi-8MT": [ "CommonData", "Mi-8MT", "NS430" ], @@ -119,6 +120,7 @@ "T-45": [ "CommonData", "VNAO_T-45" ], "TF-51D": [ "CommonData", "NS430", "P-51D" ], "UH-1H": [ "CommonData", "NS430", "UH-1H" ], + "UH-60L": [ "CommonData", "MH-60R" ], "VNAO_Ready_Room": [ "CommonData", "VNAO_Room" ], "VSN_AJS37Viggen": [ "CommonData", "FC3" ], "VSN_C17A": [ "CommonData", "FC3" ], diff --git a/Scripts/DCS-BIOS/doc/json/MH-60R.json b/Scripts/DCS-BIOS/doc/json/MH-60R.json new file mode 100644 index 000000000..2b3040c6e --- /dev/null +++ b/Scripts/DCS-BIOS/doc/json/MH-60R.json @@ -0,0 +1,4318 @@ +{ + "AFCS": { + "AFC_BST_LGHT": { + "category": "AFCS", + "control_type": "led", + "description": "LIGHT_AFCS_BOOST", + "identifier": "AFC_BST_LGHT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_AFC_BST_LGHT_A", + "address_mask_identifier": "MH_60R_AFC_BST_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_AFC_BST_LGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 1, + "max_value": 1, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "AFC_FPS_LGHT": { + "category": "AFCS", + "control_type": "led", + "description": "LIGHT_AFCS_FPS", + "identifier": "AFC_FPS_LGHT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_AFC_FPS_LGHT_A", + "address_mask_identifier": "MH_60R_AFC_FPS_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_AFC_FPS_LGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 16, + "max_value": 1, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ] + }, + "AFC_SS1_LGHT": { + "category": "AFCS", + "control_type": "led", + "description": "LIGHT_AFCS_SAS1", + "identifier": "AFC_SS1_LGHT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_AFC_SS1_LGHT_A", + "address_mask_identifier": "MH_60R_AFC_SS1_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_AFC_SS1_LGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 2, + "max_value": 1, + "shift_by": 1, + "suffix": "", + "type": "integer" + } ] + }, + "AFC_SS2_LGHT": { + "category": "AFCS", + "control_type": "led", + "description": "LIGHT_AFCS_SAS2", + "identifier": "AFC_SS2_LGHT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_AFC_SS2_LGHT_A", + "address_mask_identifier": "MH_60R_AFC_SS2_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_AFC_SS2_LGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ] + }, + "AFC_STB_LGHT": { + "category": "AFCS", + "control_type": "led", + "description": "LIGHT_AFCS_STABAUTO", + "identifier": "AFC_STB_LGHT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_AFC_STB_LGHT_A", + "address_mask_identifier": "MH_60R_AFC_STB_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_AFC_STB_LGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ] + }, + "AFC_TRM_LGHT": { + "category": "AFCS", + "control_type": "led", + "description": "LIGHT_AFCS_TRIM", + "identifier": "AFC_TRM_LGHT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_AFC_TRM_LGHT_A", + "address_mask_identifier": "MH_60R_AFC_TRM_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_AFC_TRM_LGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 8, + "max_value": 1, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ] + } + }, + "AN/ASN-128B": { + "128B_0": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 0", + "identifier": "128B_0", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_0_A", + "address_mask_identifier": "MH_60R_128B_0_AM", + "address_mask_shift_identifier": "MH_60R_128B_0", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_1": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 1", + "identifier": "128B_1", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_1_A", + "address_mask_identifier": "MH_60R_128B_1_AM", + "address_mask_shift_identifier": "MH_60R_128B_1", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_2": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 2", + "identifier": "128B_2", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_2_A", + "address_mask_identifier": "MH_60R_128B_2_AM", + "address_mask_shift_identifier": "MH_60R_128B_2", + "description": "selector position", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_3": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 3", + "identifier": "128B_3", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_3_A", + "address_mask_identifier": "MH_60R_128B_3_AM", + "address_mask_shift_identifier": "MH_60R_128B_3", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_4": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 4", + "identifier": "128B_4", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_4_A", + "address_mask_identifier": "MH_60R_128B_4_AM", + "address_mask_shift_identifier": "MH_60R_128B_4", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_5": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 5", + "identifier": "128B_5", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_5_A", + "address_mask_identifier": "MH_60R_128B_5_AM", + "address_mask_shift_identifier": "MH_60R_128B_5", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_6": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 6", + "identifier": "128B_6", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_6_A", + "address_mask_identifier": "MH_60R_128B_6_AM", + "address_mask_shift_identifier": "MH_60R_128B_6", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_7": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 7", + "identifier": "128B_7", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_7_A", + "address_mask_identifier": "MH_60R_128B_7_AM", + "address_mask_shift_identifier": "MH_60R_128B_7", + "description": "selector position", + "mask": 2, + "max_value": 1, + "shift_by": 1, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_8": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 8", + "identifier": "128B_8", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_8_A", + "address_mask_identifier": "MH_60R_128B_8_AM", + "address_mask_shift_identifier": "MH_60R_128B_8", + "description": "selector position", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_9": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 9", + "identifier": "128B_9", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_9_A", + "address_mask_identifier": "MH_60R_128B_9_AM", + "address_mask_shift_identifier": "MH_60R_128B_9", + "description": "selector position", + "mask": 8, + "max_value": 1, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_CLR": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button CLR", + "identifier": "128B_CLR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_CLR_A", + "address_mask_identifier": "MH_60R_128B_CLR_AM", + "address_mask_shift_identifier": "MH_60R_128B_CLR", + "description": "selector position", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_DEC": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button DEC", + "identifier": "128B_DEC", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_DEC_A", + "address_mask_identifier": "MH_60R_128B_DEC_AM", + "address_mask_shift_identifier": "MH_60R_128B_DEC", + "description": "selector position", + "mask": 16, + "max_value": 1, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_DISPLAY": { + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Display", + "identifier": "128B_DISPLAY", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 6 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_DISPLAY_A", + "address_mask_identifier": "MH_60R_128B_DISPLAY_AM", + "address_mask_shift_identifier": "MH_60R_128B_DISPLAY", + "description": "selector position", + "mask": 7, + "max_value": 6, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "128B_ENT": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button ENT", + "identifier": "128B_ENT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_ENT_A", + "address_mask_identifier": "MH_60R_128B_ENT_AM", + "address_mask_shift_identifier": "MH_60R_128B_ENT", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_F1": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button F1", + "identifier": "128B_F1", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_F1_A", + "address_mask_identifier": "MH_60R_128B_F1_AM", + "address_mask_shift_identifier": "MH_60R_128B_F1", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_INC": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button INC", + "identifier": "128B_INC", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_INC_A", + "address_mask_identifier": "MH_60R_128B_INC_AM", + "address_mask_shift_identifier": "MH_60R_128B_INC", + "description": "selector position", + "mask": 1, + "max_value": 1, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_KYBD": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button KYBD", + "identifier": "128B_KYBD", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_128B_KYBD_A", + "address_mask_identifier": "MH_60R_128B_KYBD_AM", + "address_mask_shift_identifier": "MH_60R_128B_KYBD", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_LTR_LFT": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button LTR Left", + "identifier": "128B_LTR_LFT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_128B_LTR_LFT_A", + "address_mask_identifier": "MH_60R_128B_LTR_LFT_AM", + "address_mask_shift_identifier": "MH_60R_128B_LTR_LFT", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_LTR_MID": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button LTR Mid", + "identifier": "128B_LTR_MID", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_LTR_MID_A", + "address_mask_identifier": "MH_60R_128B_LTR_MID_AM", + "address_mask_shift_identifier": "MH_60R_128B_LTR_MID", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_LTR_RGHT": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button LTR Right", + "identifier": "128B_LTR_RGHT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_LTR_RGHT_A", + "address_mask_identifier": "MH_60R_128B_LTR_RGHT_AM", + "address_mask_shift_identifier": "MH_60R_128B_LTR_RGHT", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_MODE": { + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Mode", + "identifier": "128B_MODE", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 5 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_MODE_A", + "address_mask_identifier": "MH_60R_128B_MODE_AM", + "address_mask_shift_identifier": "MH_60R_128B_MODE", + "description": "selector position", + "mask": 56, + "max_value": 5, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "128B_TGT_STR": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button TGT STR", + "identifier": "128B_TGT_STR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_TGT_STR_A", + "address_mask_identifier": "MH_60R_128B_TGT_STR_AM", + "address_mask_shift_identifier": "MH_60R_128B_TGT_STR", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + } + }, + "AN/AVS-7 HUD": { + "AVS_DIM": { + "category": "AN/AVS-7 HUD", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "AN/AVS-7 DIM/BRIGHT", + "identifier": "AVS_DIM", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_AVS_DIM_A", + "address_mask_identifier": "MH_60R_AVS_DIM_AM", + "address_mask_shift_identifier": "MH_60R_AVS_DIM", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 96, + "max_value": 2, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ] + }, + "AVS_ON": { + "category": "AN/AVS-7 HUD", + "control_type": "selector", + "description": "AN/AVS-7 OFF/ON/ADJ", + "identifier": "AVS_ON", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 2 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_AVS_ON_A", + "address_mask_identifier": "MH_60R_AVS_ON_AM", + "address_mask_shift_identifier": "MH_60R_AVS_ON", + "description": "selector position", + "mask": 24, + "max_value": 2, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + } + }, + "APU Extinguish": { + "ENG1_CTRL": { + "category": "APU Extinguish", + "control_type": "limited_dial", + "description": "Engine 1 Control", + "identifier": "ENG1_CTRL", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 41992, + "address_identifier": "MH_60R_ENG1_CTRL_A", + "address_mask_identifier": "MH_60R_ENG1_CTRL_AM", + "address_mask_shift_identifier": "MH_60R_ENG1_CTRL", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "ENG1_FSS": { + "category": "APU Extinguish", + "control_type": "selector", + "description": "Engine 1 FSS OFF/DIR/XFD", + "identifier": "ENG1_FSS", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 2 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_ENG1_FSS_A", + "address_mask_identifier": "MH_60R_ENG1_FSS_AM", + "address_mask_shift_identifier": "MH_60R_ENG1_FSS", + "description": "selector position", + "mask": 384, + "max_value": 2, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "ENG1_START": { + "category": "APU Extinguish", + "control_type": "selector", + "description": "Engine 1 Starter", + "identifier": "ENG1_START", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_ENG1_START_A", + "address_mask_identifier": "MH_60R_ENG1_START_AM", + "address_mask_shift_identifier": "MH_60R_ENG1_START", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "ENG2_CTRL": { + "category": "APU Extinguish", + "control_type": "limited_dial", + "description": "Engine 2 Control", + "identifier": "ENG2_CTRL", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 41994, + "address_identifier": "MH_60R_ENG2_CTRL_A", + "address_mask_identifier": "MH_60R_ENG2_CTRL_AM", + "address_mask_shift_identifier": "MH_60R_ENG2_CTRL", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "ENG2_FSS": { + "category": "APU Extinguish", + "control_type": "selector", + "description": "Engine 2 FSS OFF/DIR/XFD", + "identifier": "ENG2_FSS", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 2 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_ENG2_FSS_A", + "address_mask_identifier": "MH_60R_ENG2_FSS_AM", + "address_mask_shift_identifier": "MH_60R_ENG2_FSS", + "description": "selector position", + "mask": 1536, + "max_value": 2, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "ENG2_START": { + "category": "APU Extinguish", + "control_type": "selector", + "description": "Engine 2 Starter", + "identifier": "ENG2_START", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_ENG2_START_A", + "address_mask_identifier": "MH_60R_ENG2_START_AM", + "address_mask_shift_identifier": "MH_60R_ENG2_START", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + } + }, + "Aux System Panel": { + "MST_ARM_SNR": { + "category": "Aux System Panel", + "control_type": "selector", + "description": "Master Arm Sonar OFF/ON", + "identifier": "MST_ARM_SNR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_MST_ARM_SNR_A", + "address_mask_identifier": "MH_60R_MST_ARM_SNR_AM", + "address_mask_shift_identifier": "MH_60R_MST_ARM_SNR", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "MST_ARM_SON": { + "category": "Aux System Panel", + "control_type": "selector", + "description": "Master Arm Sonobuoys OFF/ON", + "identifier": "MST_ARM_SON", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_MST_ARM_SON_A", + "address_mask_identifier": "MH_60R_MST_ARM_SON_AM", + "address_mask_shift_identifier": "MH_60R_MST_ARM_SON", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "MST_SNR_CVR": { + "category": "Aux System Panel", + "control_type": "selector", + "description": "Master Sonar Cover OPEN/CLOSE", + "identifier": "MST_SNR_CVR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_MST_SNR_CVR_A", + "address_mask_identifier": "MH_60R_MST_SNR_CVR_AM", + "address_mask_shift_identifier": "MH_60R_MST_SNR_CVR", + "description": "selector position", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "MST_SON_CVR": { + "category": "Aux System Panel", + "control_type": "selector", + "description": "Master Sonobuoys Cover OPEN/CLOSE", + "identifier": "MST_SON_CVR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_MST_SON_CVR_A", + "address_mask_identifier": "MH_60R_MST_SON_CVR_AM", + "address_mask_shift_identifier": "MH_60R_MST_SON_CVR", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "SNR_WNCH": { + "category": "Aux System Panel", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Winch Sonar DOWN/STOP/UP", + "identifier": "SNR_WNCH", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_SNR_WNCH_A", + "address_mask_identifier": "MH_60R_SNR_WNCH_AM", + "address_mask_shift_identifier": "MH_60R_SNR_WNCH", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 1536, + "max_value": 2, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ] + }, + "SONO_DISP": { + "category": "Aux System Panel", + "control_type": "selector", + "description": "Sonobuoy Dispense OFF/ON", + "identifier": "SONO_DISP", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_SONO_DISP_A", + "address_mask_identifier": "MH_60R_SONO_DISP_AM", + "address_mask_shift_identifier": "MH_60R_SONO_DISP", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + } + }, + "CISP": { + "BRG2": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot BRG2 ADF/VOR", + "identifier": "BRG2", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_BRG2_A", + "address_mask_identifier": "MH_60R_BRG2_AM", + "address_mask_shift_identifier": "MH_60R_BRG2", + "description": "selector position", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "CIS_ALT": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot ALT OFF/ON", + "identifier": "CIS_ALT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_CIS_ALT_A", + "address_mask_identifier": "MH_60R_CIS_ALT_AM", + "address_mask_shift_identifier": "MH_60R_CIS_ALT", + "description": "selector position", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "CIS_HDG": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot HDG OFF/ON", + "identifier": "CIS_HDG", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_CIS_HDG_A", + "address_mask_identifier": "MH_60R_CIS_HDG_AM", + "address_mask_shift_identifier": "MH_60R_CIS_HDG", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "CIS_NAV": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot NAV OFF/ON", + "identifier": "CIS_NAV", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_CIS_NAV_A", + "address_mask_identifier": "MH_60R_CIS_NAV_AM", + "address_mask_shift_identifier": "MH_60R_CIS_NAV", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "CIS_PLT_ALT": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_ALT_ON", + "identifier": "CIS_PLT_ALT", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_ALT_A", + "address_mask_identifier": "MH_60R_CIS_PLT_ALT_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_ALT", + "description": "0 if light is off, 1 if light is on", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_BCKCRS": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_BACKCRS", + "identifier": "CIS_PLT_BCKCRS", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_BCKCRS_A", + "address_mask_identifier": "MH_60R_CIS_PLT_BCKCRS_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_BCKCRS", + "description": "0 if light is off, 1 if light is on", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_BRG2ADF": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_BRG2ADF", + "identifier": "CIS_PLT_BRG2ADF", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_BRG2ADF_A", + "address_mask_identifier": "MH_60R_CIS_PLT_BRG2ADF_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_BRG2ADF", + "description": "0 if light is off, 1 if light is on", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_BRG2VOR": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_BRG2VOR", + "identifier": "CIS_PLT_BRG2VOR", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_BRG2VOR_A", + "address_mask_identifier": "MH_60R_CIS_PLT_BRG2VOR_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_BRG2VOR", + "description": "0 if light is off, 1 if light is on", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_CRSHDGCPLT": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_HDGCPLT", + "identifier": "CIS_PLT_CRSHDGCPLT", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_CRSHDGCPLT_A", + "address_mask_identifier": "MH_60R_CIS_PLT_CRSHDGCPLT_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_CRSHDGCPLT", + "description": "0 if light is off, 1 if light is on", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_CRSHDGPLT": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_HDGPLT", + "identifier": "CIS_PLT_CRSHDGPLT", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_CRSHDGPLT_A", + "address_mask_identifier": "MH_60R_CIS_PLT_CRSHDGPLT_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_CRSHDGPLT", + "description": "0 if light is off, 1 if light is on", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_DPLR": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_DPLRGPS", + "identifier": "CIS_PLT_DPLR", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_DPLR_A", + "address_mask_identifier": "MH_60R_CIS_PLT_DPLR_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_DPLR", + "description": "0 if light is off, 1 if light is on", + "mask": 8, + "max_value": 1, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_FMHME": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_FMHOME", + "identifier": "CIS_PLT_FMHME", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_FMHME_A", + "address_mask_identifier": "MH_60R_CIS_PLT_FMHME_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_FMHME", + "description": "0 if light is off, 1 if light is on", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_GYRNRM": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_GYRONORM", + "identifier": "CIS_PLT_GYRNRM", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_GYRNRM_A", + "address_mask_identifier": "MH_60R_CIS_PLT_GYRNRM_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_GYRNRM", + "description": "0 if light is off, 1 if light is on", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_GYROALT": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_GYROALT", + "identifier": "CIS_PLT_GYROALT", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_GYROALT_A", + "address_mask_identifier": "MH_60R_CIS_PLT_GYROALT_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_GYROALT", + "description": "0 if light is off, 1 if light is on", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_HDG": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_HDG_ON", + "identifier": "CIS_PLT_HDG", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_HDG_A", + "address_mask_identifier": "MH_60R_CIS_PLT_HDG_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_HDG", + "description": "0 if light is off, 1 if light is on", + "mask": 1, + "max_value": 1, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_ILS": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_ILS_LGT", + "identifier": "CIS_PLT_ILS", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_ILS_A", + "address_mask_identifier": "MH_60R_CIS_PLT_ILS_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_ILS", + "description": "0 if light is off, 1 if light is on", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_NAV": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_NAV_ON", + "identifier": "CIS_PLT_NAV", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_NAV_A", + "address_mask_identifier": "MH_60R_CIS_PLT_NAV_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_NAV", + "description": "0 if light is off, 1 if light is on", + "mask": 2, + "max_value": 1, + "shift_by": 1, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_TRALT": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_TRALT", + "identifier": "CIS_PLT_TRALT", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_TRALT_A", + "address_mask_identifier": "MH_60R_CIS_PLT_TRALT_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_TRALT", + "description": "0 if light is off, 1 if light is on", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_TRNRM": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_TRNORM", + "identifier": "CIS_PLT_TRNRM", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_TRNRM_A", + "address_mask_identifier": "MH_60R_CIS_PLT_TRNRM_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_TRNRM", + "description": "0 if light is off, 1 if light is on", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_VOR": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_VOR_LGT", + "identifier": "CIS_PLT_VOR", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_VOR_A", + "address_mask_identifier": "MH_60R_CIS_PLT_VOR_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_VOR", + "description": "0 if light is off, 1 if light is on", + "mask": 16, + "max_value": 1, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ] + }, + "CRS_HDG": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot CRS HDG - PLT/CPLT", + "identifier": "CRS_HDG", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_CRS_HDG_A", + "address_mask_identifier": "MH_60R_CRS_HDG_AM", + "address_mask_shift_identifier": "MH_60R_CRS_HDG", + "description": "selector position", + "mask": 1, + "max_value": 1, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "NAV_BACK": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot BACK CRS OFF/ON", + "identifier": "NAV_BACK", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_NAV_BACK_A", + "address_mask_identifier": "MH_60R_NAV_BACK_AM", + "address_mask_shift_identifier": "MH_60R_NAV_BACK", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "NAV_DPLR": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot DLPR GPS OFF/ON", + "identifier": "NAV_DPLR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_NAV_DPLR_A", + "address_mask_identifier": "MH_60R_NAV_DPLR_AM", + "address_mask_shift_identifier": "MH_60R_NAV_DPLR", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "NAV_FM": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot FM HOME OFF/ON", + "identifier": "NAV_FM", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_NAV_FM_A", + "address_mask_identifier": "MH_60R_NAV_FM_AM", + "address_mask_shift_identifier": "MH_60R_NAV_FM", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "NAV_VOR": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot VOR ILS OFF/ON", + "identifier": "NAV_VOR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_NAV_VOR_A", + "address_mask_identifier": "MH_60R_NAV_VOR_AM", + "address_mask_shift_identifier": "MH_60R_NAV_VOR", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "TRN_RATE": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot TURN RATE NORM/ALTR", + "identifier": "TRN_RATE", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_TRN_RATE_A", + "address_mask_identifier": "MH_60R_TRN_RATE_AM", + "address_mask_shift_identifier": "MH_60R_TRN_RATE", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "VRT_GYRO": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot VERT GYRO NORM/ALTR", + "identifier": "VRT_GYRO", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_VRT_GYRO_A", + "address_mask_identifier": "MH_60R_VRT_GYRO_AM", + "address_mask_shift_identifier": "MH_60R_VRT_GYRO", + "description": "selector position", + "mask": 2, + "max_value": 1, + "shift_by": 1, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + } + }, + "Caution Display Panel": { + "CAP_BRGT": { + "category": "Caution Display Panel", + "control_type": "selector", + "description": "CAP Lamp BRIGHTNESS", + "identifier": "CAP_BRGT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_CAP_BRGT_A", + "address_mask_identifier": "MH_60R_CAP_BRGT_AM", + "address_mask_shift_identifier": "MH_60R_CAP_BRGT", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "CAP_TST": { + "category": "Caution Display Panel", + "control_type": "selector", + "description": "CAP Lamp TEST", + "identifier": "CAP_TST", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_CAP_TST_A", + "address_mask_identifier": "MH_60R_CAP_TST_AM", + "address_mask_shift_identifier": "MH_60R_CAP_TST", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + }, + "MST_CAUT_RST": { + "api_variant": "momentary_last_position", + "category": "Caution Display Panel", + "control_type": "selector", + "description": "Master Caution Reset", + "identifier": "MST_CAUT_RST", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_MST_CAUT_RST_A", + "address_mask_identifier": "MH_60R_MST_CAUT_RST_AM", + "address_mask_shift_identifier": "MH_60R_MST_CAUT_RST", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + } + }, + "ECQ": { + "ENG1_CTR_LVL": { + "category": "ECQ", + "control_type": "selector", + "description": "Engine 1 Control Level OFF/IDLE", + "identifier": "ENG1_CTR_LVL", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_ENG1_CTR_LVL_A", + "address_mask_identifier": "MH_60R_ENG1_CTR_LVL_AM", + "address_mask_shift_identifier": "MH_60R_ENG1_CTR_LVL", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + }, + "ENG2_CTR_LVL": { + "category": "ECQ", + "control_type": "selector", + "description": "Engine 2 Control Level OFF/IDLE", + "identifier": "ENG2_CTR_LVL", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_ENG2_CTR_LVL_A", + "address_mask_identifier": "MH_60R_ENG2_CTR_LVL_AM", + "address_mask_shift_identifier": "MH_60R_ENG2_CTR_LVL", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + } + }, + "Electric System": { + "APU_GEN_SW": { + "category": "Electric System", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "APU GEN Switch TEST/OFF/ON", + "identifier": "APU_GEN_SW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_APU_GEN_SW_A", + "address_mask_identifier": "MH_60R_APU_GEN_SW_AM", + "address_mask_shift_identifier": "MH_60R_APU_GEN_SW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 6144, + "max_value": 2, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ] + }, + "BATT_SW": { + "category": "Electric System", + "control_type": "selector", + "description": "Battery Switch OFF/ON", + "identifier": "BATT_SW", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_BATT_SW_A", + "address_mask_identifier": "MH_60R_BATT_SW_AM", + "address_mask_shift_identifier": "MH_60R_BATT_SW", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "EXT_PWR_SW": { + "category": "Electric System", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "External Power Switch RESET/OFF/ON", + "identifier": "EXT_PWR_SW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_EXT_PWR_SW_A", + "address_mask_identifier": "MH_60R_EXT_PWR_SW_AM", + "address_mask_shift_identifier": "MH_60R_EXT_PWR_SW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 1536, + "max_value": 2, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ] + }, + "GEN1_SW": { + "category": "Electric System", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "GEN 1 Switch TEST/OFF/ON", + "identifier": "GEN1_SW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_GEN1_SW_A", + "address_mask_identifier": "MH_60R_GEN1_SW_AM", + "address_mask_shift_identifier": "MH_60R_GEN1_SW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 24576, + "max_value": 2, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ] + }, + "GEN2_SW": { + "category": "Electric System", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "GEN 2 Switch TEST/OFF/ON", + "identifier": "GEN2_SW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_GEN2_SW_A", + "address_mask_identifier": "MH_60R_GEN2_SW_AM", + "address_mask_shift_identifier": "MH_60R_GEN2_SW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 3, + "max_value": 2, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + } + }, + "Fuel and Engines": { + "AIR_SRC_SW": { + "category": "Fuel and Engines", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Air Source APU/OFF/ENG", + "identifier": "AIR_SRC_SW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_AIR_SRC_SW_A", + "address_mask_identifier": "MH_60R_AIR_SRC_SW_AM", + "address_mask_shift_identifier": "MH_60R_AIR_SRC_SW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 48, + "max_value": 2, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ] + }, + "APU_CTRL_SW": { + "category": "Fuel and Engines", + "control_type": "selector", + "description": "APU CONTROL OFF/ON", + "identifier": "APU_CTRL_SW", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_APU_CTRL_SW_A", + "address_mask_identifier": "MH_60R_APU_CTRL_SW_AM", + "address_mask_shift_identifier": "MH_60R_APU_CTRL_SW", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "FUEL1_BST_PMP": { + "category": "Fuel and Engines", + "control_type": "selector", + "description": "Boost Pump 1 OFF/ON", + "identifier": "FUEL1_BST_PMP", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_FUEL1_BST_PMP_A", + "address_mask_identifier": "MH_60R_FUEL1_BST_PMP_AM", + "address_mask_shift_identifier": "MH_60R_FUEL1_BST_PMP", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "FUEL_PMP_SW": { + "category": "Fuel and Engines", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "FUEL PRIME/OFF/APU BOOST", + "identifier": "FUEL_PMP_SW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_FUEL_PMP_SW_A", + "address_mask_identifier": "MH_60R_FUEL_PMP_SW_AM", + "address_mask_shift_identifier": "MH_60R_FUEL_PMP_SW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 12, + "max_value": 2, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ] + } + }, + "General": { + "PRK_BRK": { + "category": "General", + "control_type": "selector", + "description": "Parking Brake", + "identifier": "PRK_BRK", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_PRK_BRK_A", + "address_mask_identifier": "MH_60R_PRK_BRK_AM", + "address_mask_shift_identifier": "MH_60R_PRK_BRK", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + } + }, + "GunSight": { + "GUN_COLR": { + "category": "GunSight", + "control_type": "selector", + "description": "GunSight COLOR", + "identifier": "GUN_COLR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 2 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_GUN_COLR_A", + "address_mask_identifier": "MH_60R_GUN_COLR_AM", + "address_mask_shift_identifier": "MH_60R_GUN_COLR", + "description": "selector position", + "mask": 12288, + "max_value": 2, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "GUN_MOVE": { + "category": "GunSight", + "control_type": "limited_dial", + "description": "GunSight Move UP/DOWN", + "identifier": "GUN_MOVE", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42026, + "address_identifier": "MH_60R_GUN_MOVE_A", + "address_mask_identifier": "MH_60R_GUN_MOVE_AM", + "address_mask_shift_identifier": "MH_60R_GUN_MOVE", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + } + }, + "Jettison Panel": { + "JET_ALL": { + "category": "Jettison Panel", + "control_type": "selector", + "description": "All Jett. Switch OFF/ON", + "identifier": "JET_ALL", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_JET_ALL_A", + "address_mask_identifier": "MH_60R_JET_ALL_AM", + "address_mask_shift_identifier": "MH_60R_JET_ALL", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "JET_ALL_CVR": { + "category": "Jettison Panel", + "control_type": "selector", + "description": "All Jett. Cover OPEN/CLOSE", + "identifier": "JET_ALL_CVR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_JET_ALL_CVR_A", + "address_mask_identifier": "MH_60R_JET_ALL_CVR_AM", + "address_mask_shift_identifier": "MH_60R_JET_ALL_CVR", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "JET_SELC": { + "category": "Jettison Panel", + "control_type": "selector", + "description": "Select STATIONS", + "identifier": "JET_SELC", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 7 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_JET_SELC_A", + "address_mask_identifier": "MH_60R_JET_SELC_AM", + "address_mask_shift_identifier": "MH_60R_JET_SELC", + "description": "selector position", + "mask": 3584, + "max_value": 7, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "JET_SLC_CVR": { + "category": "Jettison Panel", + "control_type": "selector", + "description": "Select Jett. Cover OPEN/CLOSE", + "identifier": "JET_SLC_CVR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_JET_SLC_CVR_A", + "address_mask_identifier": "MH_60R_JET_SLC_CVR_AM", + "address_mask_shift_identifier": "MH_60R_JET_SLC_CVR", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "JET_SLC_SW": { + "category": "Jettison Panel", + "control_type": "selector", + "description": "Select Jett. Switch OFF/ON", + "identifier": "JET_SLC_SW", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_JET_SLC_SW_A", + "address_mask_identifier": "MH_60R_JET_SLC_SW_AM", + "address_mask_shift_identifier": "MH_60R_JET_SLC_SW", + "description": "selector position", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + } + }, + "Lights": { + "ANTI_LGHT_DAY": { + "category": "Lights", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Anticollision Lights DAY/OFF/NIGHT", + "identifier": "ANTI_LGHT_DAY", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_ANTI_LGHT_DAY_A", + "address_mask_identifier": "MH_60R_ANTI_LGHT_DAY_AM", + "address_mask_shift_identifier": "MH_60R_ANTI_LGHT_DAY", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 12288, + "max_value": 2, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ] + }, + "ANTI_LGHT_UP": { + "category": "Lights", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Anticollision Lights UPPER/BOTH/LOWER", + "identifier": "ANTI_LGHT_UP", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_ANTI_LGHT_UP_A", + "address_mask_identifier": "MH_60R_ANTI_LGHT_UP_AM", + "address_mask_shift_identifier": "MH_60R_ANTI_LGHT_UP", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 3072, + "max_value": 2, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ] + }, + "CKPT_LGHT_DAY": { + "category": "Lights", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Cockpit Lights BLUE/OFF/WHITE", + "identifier": "CKPT_LGHT_DAY", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_CKPT_LGHT_DAY_A", + "address_mask_identifier": "MH_60R_CKPT_LGHT_DAY_AM", + "address_mask_shift_identifier": "MH_60R_CKPT_LGHT_DAY", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 96, + "max_value": 2, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ] + }, + "CMP_LGTH_MOD": { + "category": "Lights", + "control_type": "selector", + "description": "Magnetic Compass Light OFF/ON", + "identifier": "CMP_LGTH_MOD", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_CMP_LGTH_MOD_A", + "address_mask_identifier": "MH_60R_CMP_LGTH_MOD_AM", + "address_mask_shift_identifier": "MH_60R_CMP_LGTH_MOD", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + }, + "CPLT_INST_BRT": { + "category": "Lights", + "control_type": "limited_dial", + "description": "CoPilot Flight Instrument Lights OFF/BRT", + "identifier": "CPLT_INST_BRT", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42016, + "address_identifier": "MH_60R_CPLT_INST_BRT_A", + "address_mask_identifier": "MH_60R_CPLT_INST_BRT_AM", + "address_mask_shift_identifier": "MH_60R_CPLT_INST_BRT", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "FORM_LGHT": { + "category": "Lights", + "control_type": "selector", + "description": "Formation Lights OFF/1/2/3/4/5", + "identifier": "FORM_LGHT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 5 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_FORM_LGHT_A", + "address_mask_identifier": "MH_60R_FORM_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_FORM_LGHT", + "description": "selector position", + "mask": 28, + "max_value": 5, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "GLR_SHLD": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Glareshield Lights OFF/BRT", + "identifier": "GLR_SHLD", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42004, + "address_identifier": "MH_60R_GLR_SHLD_A", + "address_mask_identifier": "MH_60R_GLR_SHLD_AM", + "address_mask_shift_identifier": "MH_60R_GLR_SHLD", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "LGHT_BRT": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Non Flight Instrument Lights OFF/BRT", + "identifier": "LGHT_BRT", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42018, + "address_identifier": "MH_60R_LGHT_BRT_A", + "address_mask_identifier": "MH_60R_LGHT_BRT_AM", + "address_mask_shift_identifier": "MH_60R_LGHT_BRT", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "LGHT_SW": { + "category": "Lights", + "control_type": "analog_gauge", + "description": "Lighting_Switches", + "identifier": "LGHT_SW", + "inputs": [ ], + "outputs": [ { + "address": 41984, + "address_identifier": "MH_60R_LGHT_SW_A", + "address_mask_identifier": "MH_60R_LGHT_SW_AM", + "address_mask_shift_identifier": "MH_60R_LGHT_SW", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "LGHT_SWTCH": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Lighted Switches OFF/BRT", + "identifier": "LGHT_SWTCH", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42008, + "address_identifier": "MH_60R_LGHT_SWTCH_A", + "address_mask_identifier": "MH_60R_LGHT_SWTCH_AM", + "address_mask_shift_identifier": "MH_60R_LGHT_SWTCH", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "LWR_BRT": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Lower Console Lights OFF/BRT", + "identifier": "LWR_BRT", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42012, + "address_identifier": "MH_60R_LWR_BRT_A", + "address_mask_identifier": "MH_60R_LWR_BRT_AM", + "address_mask_shift_identifier": "MH_60R_LWR_BRT", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "NAV_LGTH_MOD": { + "category": "Lights", + "control_type": "selector", + "description": "Nav Lights NORM/IR", + "identifier": "NAV_LGTH_MOD", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_NAV_LGTH_MOD_A", + "address_mask_identifier": "MH_60R_NAV_LGTH_MOD_AM", + "address_mask_shift_identifier": "MH_60R_NAV_LGTH_MOD", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + }, + "PLT_INST_BRT": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Pilot Flight Instrument Lights OFF/BRT", + "identifier": "PLT_INST_BRT", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42014, + "address_identifier": "MH_60R_PLT_INST_BRT_A", + "address_mask_identifier": "MH_60R_PLT_INST_BRT_AM", + "address_mask_shift_identifier": "MH_60R_PLT_INST_BRT", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "POS_LGHT": { + "category": "Lights", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Cabin Lights BLUE/OFF/WHITE", + "identifier": "POS_LGHT", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_POS_LGHT_A", + "address_mask_identifier": "MH_60R_POS_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_POS_LGHT", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 3, + "max_value": 2, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "POS_LGHT_DIM": { + "category": "Lights", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Position Lights DIM/OFF/BRT", + "identifier": "POS_LGHT_DIM", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_POS_LGHT_DIM_A", + "address_mask_identifier": "MH_60R_POS_LGHT_DIM_AM", + "address_mask_shift_identifier": "MH_60R_POS_LGHT_DIM", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 384, + "max_value": 2, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ] + }, + "POS_LGTH_MOD": { + "category": "Lights", + "control_type": "selector", + "description": "Position Lights STEADY/FLASH", + "identifier": "POS_LGTH_MOD", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_POS_LGTH_MOD_A", + "address_mask_identifier": "MH_60R_POS_LGTH_MOD_AM", + "address_mask_shift_identifier": "MH_60R_POS_LGTH_MOD", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + }, + "RDR_DIM": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Radar Altimeter DIM", + "identifier": "RDR_DIM", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42020, + "address_identifier": "MH_60R_RDR_DIM_A", + "address_mask_identifier": "MH_60R_RDR_DIM_AM", + "address_mask_shift_identifier": "MH_60R_RDR_DIM", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "UPP_BRT": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Upper Console Lights OFF/BRT", + "identifier": "UPP_BRT", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42010, + "address_identifier": "MH_60R_UPP_BRT_A", + "address_mask_identifier": "MH_60R_UPP_BRT_AM", + "address_mask_shift_identifier": "MH_60R_UPP_BRT", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + } + }, + "M130 CM": { + "CHAFF_MOD_SEL": { + "category": "M130 CM", + "control_type": "selector", + "description": "Chaff Mode Selector", + "identifier": "CHAFF_MOD_SEL", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 2 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_CHAFF_MOD_SEL_A", + "address_mask_identifier": "MH_60R_CHAFF_MOD_SEL_AM", + "address_mask_shift_identifier": "MH_60R_CHAFF_MOD_SEL", + "description": "selector position", + "mask": 3, + "max_value": 2, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "CHAF_DISP": { + "api_variant": "momentary_last_position", + "category": "M130 CM", + "control_type": "selector", + "description": "Chaff Dispense", + "identifier": "CHAF_DISP", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_CHAF_DISP_A", + "address_mask_identifier": "MH_60R_CHAF_DISP_AM", + "address_mask_shift_identifier": "MH_60R_CHAF_DISP", + "description": "selector position", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "CM_ARM_SW": { + "category": "M130 CM", + "control_type": "selector", + "description": "Countermeasures Arming Switch OFF/ON", + "identifier": "CM_ARM_SW", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_CM_ARM_SW_A", + "address_mask_identifier": "MH_60R_CM_ARM_SW_AM", + "address_mask_shift_identifier": "MH_60R_CM_ARM_SW", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "FLR_DSP_CVR": { + "category": "M130 CM", + "control_type": "selector", + "description": "Flare Dispenser Mode Cover OPEN/CLOSE", + "identifier": "FLR_DSP_CVR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_FLR_DSP_CVR_A", + "address_mask_identifier": "MH_60R_FLR_DSP_CVR_AM", + "address_mask_shift_identifier": "MH_60R_FLR_DSP_CVR", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "FLR_DSP_SW": { + "category": "M130 CM", + "control_type": "selector", + "description": "Flare Dispenser Switch OFF/ON", + "identifier": "FLR_DSP_SW", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_FLR_DSP_SW_A", + "address_mask_identifier": "MH_60R_FLR_DSP_SW_AM", + "address_mask_shift_identifier": "MH_60R_FLR_DSP_SW", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + } + }, + "MCP": { + "MST_CAUTION": { + "category": "MCP", + "control_type": "led", + "description": "LIGHT_MCP_MC", + "identifier": "MST_CAUTION", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_MST_CAUTION_A", + "address_mask_identifier": "MH_60R_MST_CAUTION_AM", + "address_mask_shift_identifier": "MH_60R_MST_CAUTION", + "description": "0 if light is off, 1 if light is on", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ] + } + }, + "Misc": { + "CPLT_DOOR": { + "category": "Misc", + "control_type": "selector", + "description": "Copilot Door OPEN/CLOSE", + "identifier": "CPLT_DOOR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_CPLT_DOOR_A", + "address_mask_identifier": "MH_60R_CPLT_DOOR_AM", + "address_mask_shift_identifier": "MH_60R_CPLT_DOOR", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "LFT_CRG_DOOR": { + "category": "Misc", + "control_type": "selector", + "description": "Left Cargo Door OPEN/CLOSE", + "identifier": "LFT_CRG_DOOR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_LFT_CRG_DOOR_A", + "address_mask_identifier": "MH_60R_LFT_CRG_DOOR_AM", + "address_mask_shift_identifier": "MH_60R_LFT_CRG_DOOR", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "LFT_GUN_WIN": { + "category": "Misc", + "control_type": "selector", + "description": "Left Gunner Door OPEN/CLOSE", + "identifier": "LFT_GUN_WIN", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_LFT_GUN_WIN_A", + "address_mask_identifier": "MH_60R_LFT_GUN_WIN_AM", + "address_mask_shift_identifier": "MH_60R_LFT_GUN_WIN", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "PLT_DOOR": { + "category": "Misc", + "control_type": "selector", + "description": "Pilot Door OPEN/CLOSE", + "identifier": "PLT_DOOR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_PLT_DOOR_A", + "address_mask_identifier": "MH_60R_PLT_DOOR_AM", + "address_mask_shift_identifier": "MH_60R_PLT_DOOR", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "RGT_CRG_DOOR": { + "category": "Misc", + "control_type": "selector", + "description": "Right Cargo Door OPEN/CLOSE", + "identifier": "RGT_CRG_DOOR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_RGT_CRG_DOOR_A", + "address_mask_identifier": "MH_60R_RGT_CRG_DOOR_AM", + "address_mask_shift_identifier": "MH_60R_RGT_CRG_DOOR", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "RGT_GUN_WIN": { + "category": "Misc", + "control_type": "selector", + "description": "Right Gunner Door OPEN/CLOSE", + "identifier": "RGT_GUN_WIN", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_RGT_GUN_WIN_A", + "address_mask_identifier": "MH_60R_RGT_GUN_WIN_AM", + "address_mask_shift_identifier": "MH_60R_RGT_GUN_WIN", + "description": "selector position", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "TAIL_WHL_LCK": { + "category": "Misc", + "control_type": "selector", + "description": "Tail Wheel LOCK/UNLOCK", + "identifier": "TAIL_WHL_LCK", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_TAIL_WHL_LCK_A", + "address_mask_identifier": "MH_60R_TAIL_WHL_LCK_AM", + "address_mask_shift_identifier": "MH_60R_TAIL_WHL_LCK", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "WHL_LCK_LGT": { + "category": "Misc", + "control_type": "led", + "description": "TAIL_WHEEL_LOCK", + "identifier": "WHL_LCK_LGT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_WHL_LCK_LGT_A", + "address_mask_identifier": "MH_60R_WHL_LCK_LGT_AM", + "address_mask_shift_identifier": "MH_60R_WHL_LCK_LGT", + "description": "0 if light is off, 1 if light is on", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ] + }, + "WPRS": { + "category": "Misc", + "control_type": "selector", + "description": "Wipers PARK/OFF/LOW/HI", + "identifier": "WPRS", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 3 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_WPRS_A", + "address_mask_identifier": "MH_60R_WPRS_AM", + "address_mask_shift_identifier": "MH_60R_WPRS", + "description": "selector position", + "mask": 24, + "max_value": 3, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + } + }, + "Radar": { + "CAT_SELC": { + "category": "Radar", + "control_type": "selector", + "description": "Category Select SEA/GROUND", + "identifier": "CAT_SELC", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42032, + "address_identifier": "MH_60R_CAT_SELC_A", + "address_mask_identifier": "MH_60R_CAT_SELC_AM", + "address_mask_shift_identifier": "MH_60R_CAT_SELC", + "description": "selector position", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "COAL_SELC": { + "category": "Radar", + "control_type": "selector", + "description": "Coalition Select ALL/NEUTRAL/FRIENDLY/ENEMY", + "identifier": "COAL_SELC", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 3 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42032, + "address_identifier": "MH_60R_COAL_SELC_A", + "address_mask_identifier": "MH_60R_COAL_SELC_AM", + "address_mask_shift_identifier": "MH_60R_COAL_SELC", + "description": "selector position", + "mask": 12, + "max_value": 3, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "FAC_RANGE": { + "category": "Radar", + "control_type": "selector", + "description": "Range FACTOR", + "identifier": "FAC_RANGE", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42032, + "address_identifier": "MH_60R_FAC_RANGE_A", + "address_mask_identifier": "MH_60R_FAC_RANGE_AM", + "address_mask_shift_identifier": "MH_60R_FAC_RANGE", + "description": "selector position", + "mask": 16, + "max_value": 1, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "LCK_TGT": { + "category": "Radar", + "control_type": "selector", + "description": "Lock Target OFF/ON", + "identifier": "LCK_TGT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42032, + "address_identifier": "MH_60R_LCK_TGT_A", + "address_mask_identifier": "MH_60R_LCK_TGT_AM", + "address_mask_shift_identifier": "MH_60R_LCK_TGT", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "MODE_RDR": { + "category": "Radar", + "control_type": "selector", + "description": "Mode OFF/ON/INT./SOL.", + "identifier": "MODE_RDR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 3 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_MODE_RDR_A", + "address_mask_identifier": "MH_60R_MODE_RDR_AM", + "address_mask_shift_identifier": "MH_60R_MODE_RDR", + "description": "selector position", + "mask": 49152, + "max_value": 3, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "OFFSET_RDR": { + "category": "Radar", + "control_type": "limited_dial", + "description": "Rotation Sector <-/->", + "identifier": "OFFSET_RDR", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42034, + "address_identifier": "MH_60R_OFFSET_RDR_A", + "address_mask_identifier": "MH_60R_OFFSET_RDR_AM", + "address_mask_shift_identifier": "MH_60R_OFFSET_RDR", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "RANGE_RDR": { + "category": "Radar", + "control_type": "limited_dial", + "description": "Range -/+", + "identifier": "RANGE_RDR", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42028, + "address_identifier": "MH_60R_RANGE_RDR_A", + "address_mask_identifier": "MH_60R_RANGE_RDR_AM", + "address_mask_shift_identifier": "MH_60R_RANGE_RDR", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "RST_ROT": { + "api_variant": "momentary_last_position", + "category": "Radar", + "control_type": "selector", + "description": "Rotation Radar RESET", + "identifier": "RST_ROT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42032, + "address_identifier": "MH_60R_RST_ROT_A", + "address_mask_identifier": "MH_60R_RST_ROT_AM", + "address_mask_shift_identifier": "MH_60R_RST_ROT", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "SECT_RDR": { + "category": "Radar", + "control_type": "limited_dial", + "description": "Sector -/+", + "identifier": "SECT_RDR", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42030, + "address_identifier": "MH_60R_SECT_RDR_A", + "address_mask_identifier": "MH_60R_SECT_RDR_AM", + "address_mask_shift_identifier": "MH_60R_SECT_RDR", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "SON_SELC": { + "category": "Radar", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Sonobuoys SURFACE/OFF/IMMERSION", + "identifier": "SON_SELC", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42032, + "address_identifier": "MH_60R_SON_SELC_A", + "address_mask_identifier": "MH_60R_SON_SELC_AM", + "address_mask_shift_identifier": "MH_60R_SON_SELC", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 3, + "max_value": 2, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + } + }, + "STAB Panel": { + "FPS": { + "api_variant": "momentary_last_position", + "category": "STAB Panel", + "control_type": "selector", + "description": "FPS OFF/ON", + "identifier": "FPS", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_FPS_A", + "address_mask_identifier": "MH_60R_FPS_AM", + "address_mask_shift_identifier": "MH_60R_FPS", + "description": "selector position", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "SAS1": { + "api_variant": "momentary_last_position", + "category": "STAB Panel", + "control_type": "selector", + "description": "SAS 1 OFF/ON", + "identifier": "SAS1", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_SAS1_A", + "address_mask_identifier": "MH_60R_SAS1_AM", + "address_mask_shift_identifier": "MH_60R_SAS1", + "description": "selector position", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "SAS2": { + "api_variant": "momentary_last_position", + "category": "STAB Panel", + "control_type": "selector", + "description": "SAS 2 OFF/ON", + "identifier": "SAS2", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_SAS2_A", + "address_mask_identifier": "MH_60R_SAS2_AM", + "address_mask_shift_identifier": "MH_60R_SAS2", + "description": "selector position", + "mask": 8, + "max_value": 1, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "SAS_BST": { + "api_variant": "momentary_last_position", + "category": "STAB Panel", + "control_type": "selector", + "description": "SAS Boost OFF/ON", + "identifier": "SAS_BST", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_SAS_BST_A", + "address_mask_identifier": "MH_60R_SAS_BST_AM", + "address_mask_shift_identifier": "MH_60R_SAS_BST", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "STAB_AUTO": { + "api_variant": "momentary_last_position", + "category": "STAB Panel", + "control_type": "selector", + "description": "STAB OFF/ON", + "identifier": "STAB_AUTO", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_STAB_AUTO_A", + "address_mask_identifier": "MH_60R_STAB_AUTO_AM", + "address_mask_shift_identifier": "MH_60R_STAB_AUTO", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "STAB_MAN_SLW": { + "category": "STAB Panel", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Manual Slew UP", + "identifier": "STAB_MAN_SLW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_STAB_MAN_SLW_A", + "address_mask_identifier": "MH_60R_STAB_MAN_SLW_AM", + "address_mask_shift_identifier": "MH_60R_STAB_MAN_SLW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 3, + "max_value": 2, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "TRIM": { + "api_variant": "momentary_last_position", + "category": "STAB Panel", + "control_type": "selector", + "description": "Trim OFF/ON", + "identifier": "TRIM", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_TRIM_A", + "address_mask_identifier": "MH_60R_TRIM_AM", + "address_mask_shift_identifier": "MH_60R_TRIM", + "description": "selector position", + "mask": 16, + "max_value": 1, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + } + }, + "Vids": { + "CDU_TST": { + "api_variant": "momentary_last_position", + "category": "Vids", + "control_type": "selector", + "description": "CDU Lamp Test", + "identifier": "CDU_TST", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_CDU_TST_A", + "address_mask_identifier": "MH_60R_CDU_TST_AM", + "address_mask_shift_identifier": "MH_60R_CDU_TST", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "PDU1_TST": { + "api_variant": "momentary_last_position", + "category": "Vids", + "control_type": "selector", + "description": "PDU Test Pilot", + "identifier": "PDU1_TST", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_PDU1_TST_A", + "address_mask_identifier": "MH_60R_PDU1_TST_AM", + "address_mask_shift_identifier": "MH_60R_PDU1_TST", + "description": "selector position", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + } + }, + "Weapons System Panel": { + "MST_ARM_CVR": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Master Arm Cover OPEN/CLOSE", + "identifier": "MST_ARM_CVR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_MST_ARM_CVR_A", + "address_mask_identifier": "MH_60R_MST_ARM_CVR_AM", + "address_mask_shift_identifier": "MH_60R_MST_ARM_CVR", + "description": "selector position", + "mask": 1, + "max_value": 1, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "MST_ARM_WPN": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Master Arm Weapons OFF/ON", + "identifier": "MST_ARM_WPN", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_MST_ARM_WPN_A", + "address_mask_identifier": "MH_60R_MST_ARM_WPN_AM", + "address_mask_shift_identifier": "MH_60R_MST_ARM_WPN", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "SLV_SELC": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Select SALVE", + "identifier": "SLV_SELC", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 6 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_SLV_SELC_A", + "address_mask_identifier": "MH_60R_SLV_SELC_AM", + "address_mask_shift_identifier": "MH_60R_SLV_SELC", + "description": "selector position", + "mask": 57344, + "max_value": 6, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "STA_LFT_PYL": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Stat. Left Pyl. OFF/ON", + "identifier": "STA_LFT_PYL", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_STA_LFT_PYL_A", + "address_mask_identifier": "MH_60R_STA_LFT_PYL_AM", + "address_mask_shift_identifier": "MH_60R_STA_LFT_PYL", + "description": "selector position", + "mask": 2, + "max_value": 1, + "shift_by": 1, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "STA_LFT_SID": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Stat. Left Side OFF/ON", + "identifier": "STA_LFT_SID", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_STA_LFT_SID_A", + "address_mask_identifier": "MH_60R_STA_LFT_SID_AM", + "address_mask_shift_identifier": "MH_60R_STA_LFT_SID", + "description": "selector position", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "STA_RGT_PYL": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Stat. Right Pyl. OFF/ON", + "identifier": "STA_RGT_PYL", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_STA_RGT_PYL_A", + "address_mask_identifier": "MH_60R_STA_RGT_PYL_AM", + "address_mask_shift_identifier": "MH_60R_STA_RGT_PYL", + "description": "selector position", + "mask": 16, + "max_value": 1, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "STA_RGT_SID": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Stat. Right Side OFF/ON", + "identifier": "STA_RGT_SID", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_STA_RGT_SID_A", + "address_mask_identifier": "MH_60R_STA_RGT_SID_AM", + "address_mask_shift_identifier": "MH_60R_STA_RGT_SID", + "description": "selector position", + "mask": 8, + "max_value": 1, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + } + } +} \ No newline at end of file diff --git a/Scripts/DCS-BIOS/doc/json/MH-60R.jsonp b/Scripts/DCS-BIOS/doc/json/MH-60R.jsonp new file mode 100644 index 000000000..4e0a5bf96 --- /dev/null +++ b/Scripts/DCS-BIOS/doc/json/MH-60R.jsonp @@ -0,0 +1,4319 @@ +docdata["MH-60R"] = +{ + "AFCS": { + "AFC_BST_LGHT": { + "category": "AFCS", + "control_type": "led", + "description": "LIGHT_AFCS_BOOST", + "identifier": "AFC_BST_LGHT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_AFC_BST_LGHT_A", + "address_mask_identifier": "MH_60R_AFC_BST_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_AFC_BST_LGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 1, + "max_value": 1, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "AFC_FPS_LGHT": { + "category": "AFCS", + "control_type": "led", + "description": "LIGHT_AFCS_FPS", + "identifier": "AFC_FPS_LGHT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_AFC_FPS_LGHT_A", + "address_mask_identifier": "MH_60R_AFC_FPS_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_AFC_FPS_LGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 16, + "max_value": 1, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ] + }, + "AFC_SS1_LGHT": { + "category": "AFCS", + "control_type": "led", + "description": "LIGHT_AFCS_SAS1", + "identifier": "AFC_SS1_LGHT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_AFC_SS1_LGHT_A", + "address_mask_identifier": "MH_60R_AFC_SS1_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_AFC_SS1_LGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 2, + "max_value": 1, + "shift_by": 1, + "suffix": "", + "type": "integer" + } ] + }, + "AFC_SS2_LGHT": { + "category": "AFCS", + "control_type": "led", + "description": "LIGHT_AFCS_SAS2", + "identifier": "AFC_SS2_LGHT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_AFC_SS2_LGHT_A", + "address_mask_identifier": "MH_60R_AFC_SS2_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_AFC_SS2_LGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ] + }, + "AFC_STB_LGHT": { + "category": "AFCS", + "control_type": "led", + "description": "LIGHT_AFCS_STABAUTO", + "identifier": "AFC_STB_LGHT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_AFC_STB_LGHT_A", + "address_mask_identifier": "MH_60R_AFC_STB_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_AFC_STB_LGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ] + }, + "AFC_TRM_LGHT": { + "category": "AFCS", + "control_type": "led", + "description": "LIGHT_AFCS_TRIM", + "identifier": "AFC_TRM_LGHT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_AFC_TRM_LGHT_A", + "address_mask_identifier": "MH_60R_AFC_TRM_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_AFC_TRM_LGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 8, + "max_value": 1, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ] + } + }, + "AN/ASN-128B": { + "128B_0": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 0", + "identifier": "128B_0", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_0_A", + "address_mask_identifier": "MH_60R_128B_0_AM", + "address_mask_shift_identifier": "MH_60R_128B_0", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_1": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 1", + "identifier": "128B_1", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_1_A", + "address_mask_identifier": "MH_60R_128B_1_AM", + "address_mask_shift_identifier": "MH_60R_128B_1", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_2": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 2", + "identifier": "128B_2", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_2_A", + "address_mask_identifier": "MH_60R_128B_2_AM", + "address_mask_shift_identifier": "MH_60R_128B_2", + "description": "selector position", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_3": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 3", + "identifier": "128B_3", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_3_A", + "address_mask_identifier": "MH_60R_128B_3_AM", + "address_mask_shift_identifier": "MH_60R_128B_3", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_4": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 4", + "identifier": "128B_4", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_4_A", + "address_mask_identifier": "MH_60R_128B_4_AM", + "address_mask_shift_identifier": "MH_60R_128B_4", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_5": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 5", + "identifier": "128B_5", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_5_A", + "address_mask_identifier": "MH_60R_128B_5_AM", + "address_mask_shift_identifier": "MH_60R_128B_5", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_6": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 6", + "identifier": "128B_6", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_6_A", + "address_mask_identifier": "MH_60R_128B_6_AM", + "address_mask_shift_identifier": "MH_60R_128B_6", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_7": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 7", + "identifier": "128B_7", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_7_A", + "address_mask_identifier": "MH_60R_128B_7_AM", + "address_mask_shift_identifier": "MH_60R_128B_7", + "description": "selector position", + "mask": 2, + "max_value": 1, + "shift_by": 1, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_8": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 8", + "identifier": "128B_8", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_8_A", + "address_mask_identifier": "MH_60R_128B_8_AM", + "address_mask_shift_identifier": "MH_60R_128B_8", + "description": "selector position", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_9": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button 9", + "identifier": "128B_9", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_9_A", + "address_mask_identifier": "MH_60R_128B_9_AM", + "address_mask_shift_identifier": "MH_60R_128B_9", + "description": "selector position", + "mask": 8, + "max_value": 1, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_CLR": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button CLR", + "identifier": "128B_CLR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_CLR_A", + "address_mask_identifier": "MH_60R_128B_CLR_AM", + "address_mask_shift_identifier": "MH_60R_128B_CLR", + "description": "selector position", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_DEC": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button DEC", + "identifier": "128B_DEC", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_DEC_A", + "address_mask_identifier": "MH_60R_128B_DEC_AM", + "address_mask_shift_identifier": "MH_60R_128B_DEC", + "description": "selector position", + "mask": 16, + "max_value": 1, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_DISPLAY": { + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Display", + "identifier": "128B_DISPLAY", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 6 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_DISPLAY_A", + "address_mask_identifier": "MH_60R_128B_DISPLAY_AM", + "address_mask_shift_identifier": "MH_60R_128B_DISPLAY", + "description": "selector position", + "mask": 7, + "max_value": 6, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "128B_ENT": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button ENT", + "identifier": "128B_ENT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_ENT_A", + "address_mask_identifier": "MH_60R_128B_ENT_AM", + "address_mask_shift_identifier": "MH_60R_128B_ENT", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_F1": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button F1", + "identifier": "128B_F1", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_F1_A", + "address_mask_identifier": "MH_60R_128B_F1_AM", + "address_mask_shift_identifier": "MH_60R_128B_F1", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_INC": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button INC", + "identifier": "128B_INC", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_128B_INC_A", + "address_mask_identifier": "MH_60R_128B_INC_AM", + "address_mask_shift_identifier": "MH_60R_128B_INC", + "description": "selector position", + "mask": 1, + "max_value": 1, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_KYBD": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button KYBD", + "identifier": "128B_KYBD", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_128B_KYBD_A", + "address_mask_identifier": "MH_60R_128B_KYBD_AM", + "address_mask_shift_identifier": "MH_60R_128B_KYBD", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_LTR_LFT": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button LTR Left", + "identifier": "128B_LTR_LFT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_128B_LTR_LFT_A", + "address_mask_identifier": "MH_60R_128B_LTR_LFT_AM", + "address_mask_shift_identifier": "MH_60R_128B_LTR_LFT", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_LTR_MID": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button LTR Mid", + "identifier": "128B_LTR_MID", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_LTR_MID_A", + "address_mask_identifier": "MH_60R_128B_LTR_MID_AM", + "address_mask_shift_identifier": "MH_60R_128B_LTR_MID", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_LTR_RGHT": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button LTR Right", + "identifier": "128B_LTR_RGHT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_LTR_RGHT_A", + "address_mask_identifier": "MH_60R_128B_LTR_RGHT_AM", + "address_mask_shift_identifier": "MH_60R_128B_LTR_RGHT", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "128B_MODE": { + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Mode", + "identifier": "128B_MODE", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 5 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_MODE_A", + "address_mask_identifier": "MH_60R_128B_MODE_AM", + "address_mask_shift_identifier": "MH_60R_128B_MODE", + "description": "selector position", + "mask": 56, + "max_value": 5, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "128B_TGT_STR": { + "api_variant": "momentary_last_position", + "category": "AN/ASN-128B", + "control_type": "selector", + "description": "AN/ASN-128B Select Button TGT STR", + "identifier": "128B_TGT_STR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41998, + "address_identifier": "MH_60R_128B_TGT_STR_A", + "address_mask_identifier": "MH_60R_128B_TGT_STR_AM", + "address_mask_shift_identifier": "MH_60R_128B_TGT_STR", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + } + }, + "AN/AVS-7 HUD": { + "AVS_DIM": { + "category": "AN/AVS-7 HUD", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "AN/AVS-7 DIM/BRIGHT", + "identifier": "AVS_DIM", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_AVS_DIM_A", + "address_mask_identifier": "MH_60R_AVS_DIM_AM", + "address_mask_shift_identifier": "MH_60R_AVS_DIM", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 96, + "max_value": 2, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ] + }, + "AVS_ON": { + "category": "AN/AVS-7 HUD", + "control_type": "selector", + "description": "AN/AVS-7 OFF/ON/ADJ", + "identifier": "AVS_ON", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 2 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_AVS_ON_A", + "address_mask_identifier": "MH_60R_AVS_ON_AM", + "address_mask_shift_identifier": "MH_60R_AVS_ON", + "description": "selector position", + "mask": 24, + "max_value": 2, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + } + }, + "APU Extinguish": { + "ENG1_CTRL": { + "category": "APU Extinguish", + "control_type": "limited_dial", + "description": "Engine 1 Control", + "identifier": "ENG1_CTRL", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 41992, + "address_identifier": "MH_60R_ENG1_CTRL_A", + "address_mask_identifier": "MH_60R_ENG1_CTRL_AM", + "address_mask_shift_identifier": "MH_60R_ENG1_CTRL", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "ENG1_FSS": { + "category": "APU Extinguish", + "control_type": "selector", + "description": "Engine 1 FSS OFF/DIR/XFD", + "identifier": "ENG1_FSS", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 2 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_ENG1_FSS_A", + "address_mask_identifier": "MH_60R_ENG1_FSS_AM", + "address_mask_shift_identifier": "MH_60R_ENG1_FSS", + "description": "selector position", + "mask": 384, + "max_value": 2, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "ENG1_START": { + "category": "APU Extinguish", + "control_type": "selector", + "description": "Engine 1 Starter", + "identifier": "ENG1_START", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_ENG1_START_A", + "address_mask_identifier": "MH_60R_ENG1_START_AM", + "address_mask_shift_identifier": "MH_60R_ENG1_START", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "ENG2_CTRL": { + "category": "APU Extinguish", + "control_type": "limited_dial", + "description": "Engine 2 Control", + "identifier": "ENG2_CTRL", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 41994, + "address_identifier": "MH_60R_ENG2_CTRL_A", + "address_mask_identifier": "MH_60R_ENG2_CTRL_AM", + "address_mask_shift_identifier": "MH_60R_ENG2_CTRL", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "ENG2_FSS": { + "category": "APU Extinguish", + "control_type": "selector", + "description": "Engine 2 FSS OFF/DIR/XFD", + "identifier": "ENG2_FSS", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 2 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_ENG2_FSS_A", + "address_mask_identifier": "MH_60R_ENG2_FSS_AM", + "address_mask_shift_identifier": "MH_60R_ENG2_FSS", + "description": "selector position", + "mask": 1536, + "max_value": 2, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "ENG2_START": { + "category": "APU Extinguish", + "control_type": "selector", + "description": "Engine 2 Starter", + "identifier": "ENG2_START", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_ENG2_START_A", + "address_mask_identifier": "MH_60R_ENG2_START_AM", + "address_mask_shift_identifier": "MH_60R_ENG2_START", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + } + }, + "Aux System Panel": { + "MST_ARM_SNR": { + "category": "Aux System Panel", + "control_type": "selector", + "description": "Master Arm Sonar OFF/ON", + "identifier": "MST_ARM_SNR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_MST_ARM_SNR_A", + "address_mask_identifier": "MH_60R_MST_ARM_SNR_AM", + "address_mask_shift_identifier": "MH_60R_MST_ARM_SNR", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "MST_ARM_SON": { + "category": "Aux System Panel", + "control_type": "selector", + "description": "Master Arm Sonobuoys OFF/ON", + "identifier": "MST_ARM_SON", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_MST_ARM_SON_A", + "address_mask_identifier": "MH_60R_MST_ARM_SON_AM", + "address_mask_shift_identifier": "MH_60R_MST_ARM_SON", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "MST_SNR_CVR": { + "category": "Aux System Panel", + "control_type": "selector", + "description": "Master Sonar Cover OPEN/CLOSE", + "identifier": "MST_SNR_CVR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_MST_SNR_CVR_A", + "address_mask_identifier": "MH_60R_MST_SNR_CVR_AM", + "address_mask_shift_identifier": "MH_60R_MST_SNR_CVR", + "description": "selector position", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "MST_SON_CVR": { + "category": "Aux System Panel", + "control_type": "selector", + "description": "Master Sonobuoys Cover OPEN/CLOSE", + "identifier": "MST_SON_CVR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_MST_SON_CVR_A", + "address_mask_identifier": "MH_60R_MST_SON_CVR_AM", + "address_mask_shift_identifier": "MH_60R_MST_SON_CVR", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "SNR_WNCH": { + "category": "Aux System Panel", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Winch Sonar DOWN/STOP/UP", + "identifier": "SNR_WNCH", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_SNR_WNCH_A", + "address_mask_identifier": "MH_60R_SNR_WNCH_AM", + "address_mask_shift_identifier": "MH_60R_SNR_WNCH", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 1536, + "max_value": 2, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ] + }, + "SONO_DISP": { + "category": "Aux System Panel", + "control_type": "selector", + "description": "Sonobuoy Dispense OFF/ON", + "identifier": "SONO_DISP", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_SONO_DISP_A", + "address_mask_identifier": "MH_60R_SONO_DISP_AM", + "address_mask_shift_identifier": "MH_60R_SONO_DISP", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + } + }, + "CISP": { + "BRG2": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot BRG2 ADF/VOR", + "identifier": "BRG2", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_BRG2_A", + "address_mask_identifier": "MH_60R_BRG2_AM", + "address_mask_shift_identifier": "MH_60R_BRG2", + "description": "selector position", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "CIS_ALT": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot ALT OFF/ON", + "identifier": "CIS_ALT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_CIS_ALT_A", + "address_mask_identifier": "MH_60R_CIS_ALT_AM", + "address_mask_shift_identifier": "MH_60R_CIS_ALT", + "description": "selector position", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "CIS_HDG": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot HDG OFF/ON", + "identifier": "CIS_HDG", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_CIS_HDG_A", + "address_mask_identifier": "MH_60R_CIS_HDG_AM", + "address_mask_shift_identifier": "MH_60R_CIS_HDG", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "CIS_NAV": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot NAV OFF/ON", + "identifier": "CIS_NAV", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_CIS_NAV_A", + "address_mask_identifier": "MH_60R_CIS_NAV_AM", + "address_mask_shift_identifier": "MH_60R_CIS_NAV", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "CIS_PLT_ALT": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_ALT_ON", + "identifier": "CIS_PLT_ALT", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_ALT_A", + "address_mask_identifier": "MH_60R_CIS_PLT_ALT_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_ALT", + "description": "0 if light is off, 1 if light is on", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_BCKCRS": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_BACKCRS", + "identifier": "CIS_PLT_BCKCRS", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_BCKCRS_A", + "address_mask_identifier": "MH_60R_CIS_PLT_BCKCRS_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_BCKCRS", + "description": "0 if light is off, 1 if light is on", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_BRG2ADF": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_BRG2ADF", + "identifier": "CIS_PLT_BRG2ADF", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_BRG2ADF_A", + "address_mask_identifier": "MH_60R_CIS_PLT_BRG2ADF_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_BRG2ADF", + "description": "0 if light is off, 1 if light is on", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_BRG2VOR": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_BRG2VOR", + "identifier": "CIS_PLT_BRG2VOR", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_BRG2VOR_A", + "address_mask_identifier": "MH_60R_CIS_PLT_BRG2VOR_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_BRG2VOR", + "description": "0 if light is off, 1 if light is on", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_CRSHDGCPLT": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_HDGCPLT", + "identifier": "CIS_PLT_CRSHDGCPLT", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_CRSHDGCPLT_A", + "address_mask_identifier": "MH_60R_CIS_PLT_CRSHDGCPLT_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_CRSHDGCPLT", + "description": "0 if light is off, 1 if light is on", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_CRSHDGPLT": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_HDGPLT", + "identifier": "CIS_PLT_CRSHDGPLT", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_CRSHDGPLT_A", + "address_mask_identifier": "MH_60R_CIS_PLT_CRSHDGPLT_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_CRSHDGPLT", + "description": "0 if light is off, 1 if light is on", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_DPLR": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_DPLRGPS", + "identifier": "CIS_PLT_DPLR", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_DPLR_A", + "address_mask_identifier": "MH_60R_CIS_PLT_DPLR_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_DPLR", + "description": "0 if light is off, 1 if light is on", + "mask": 8, + "max_value": 1, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_FMHME": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_FMHOME", + "identifier": "CIS_PLT_FMHME", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_FMHME_A", + "address_mask_identifier": "MH_60R_CIS_PLT_FMHME_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_FMHME", + "description": "0 if light is off, 1 if light is on", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_GYRNRM": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_GYRONORM", + "identifier": "CIS_PLT_GYRNRM", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_GYRNRM_A", + "address_mask_identifier": "MH_60R_CIS_PLT_GYRNRM_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_GYRNRM", + "description": "0 if light is off, 1 if light is on", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_GYROALT": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_GYROALT", + "identifier": "CIS_PLT_GYROALT", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_GYROALT_A", + "address_mask_identifier": "MH_60R_CIS_PLT_GYROALT_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_GYROALT", + "description": "0 if light is off, 1 if light is on", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_HDG": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_HDG_ON", + "identifier": "CIS_PLT_HDG", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_HDG_A", + "address_mask_identifier": "MH_60R_CIS_PLT_HDG_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_HDG", + "description": "0 if light is off, 1 if light is on", + "mask": 1, + "max_value": 1, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_ILS": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_ILS_LGT", + "identifier": "CIS_PLT_ILS", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_ILS_A", + "address_mask_identifier": "MH_60R_CIS_PLT_ILS_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_ILS", + "description": "0 if light is off, 1 if light is on", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_NAV": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_NAV_ON", + "identifier": "CIS_PLT_NAV", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_NAV_A", + "address_mask_identifier": "MH_60R_CIS_PLT_NAV_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_NAV", + "description": "0 if light is off, 1 if light is on", + "mask": 2, + "max_value": 1, + "shift_by": 1, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_TRALT": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_TRALT", + "identifier": "CIS_PLT_TRALT", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_TRALT_A", + "address_mask_identifier": "MH_60R_CIS_PLT_TRALT_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_TRALT", + "description": "0 if light is off, 1 if light is on", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_TRNRM": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_TRNORM", + "identifier": "CIS_PLT_TRNRM", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_TRNRM_A", + "address_mask_identifier": "MH_60R_CIS_PLT_TRNRM_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_TRNRM", + "description": "0 if light is off, 1 if light is on", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ] + }, + "CIS_PLT_VOR": { + "category": "CISP", + "control_type": "led", + "description": "LIGHT_VOR_LGT", + "identifier": "CIS_PLT_VOR", + "inputs": [ ], + "outputs": [ { + "address": 41986, + "address_identifier": "MH_60R_CIS_PLT_VOR_A", + "address_mask_identifier": "MH_60R_CIS_PLT_VOR_AM", + "address_mask_shift_identifier": "MH_60R_CIS_PLT_VOR", + "description": "0 if light is off, 1 if light is on", + "mask": 16, + "max_value": 1, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ] + }, + "CRS_HDG": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot CRS HDG - PLT/CPLT", + "identifier": "CRS_HDG", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_CRS_HDG_A", + "address_mask_identifier": "MH_60R_CRS_HDG_AM", + "address_mask_shift_identifier": "MH_60R_CRS_HDG", + "description": "selector position", + "mask": 1, + "max_value": 1, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "NAV_BACK": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot BACK CRS OFF/ON", + "identifier": "NAV_BACK", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_NAV_BACK_A", + "address_mask_identifier": "MH_60R_NAV_BACK_AM", + "address_mask_shift_identifier": "MH_60R_NAV_BACK", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "NAV_DPLR": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot DLPR GPS OFF/ON", + "identifier": "NAV_DPLR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_NAV_DPLR_A", + "address_mask_identifier": "MH_60R_NAV_DPLR_AM", + "address_mask_shift_identifier": "MH_60R_NAV_DPLR", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "NAV_FM": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot FM HOME OFF/ON", + "identifier": "NAV_FM", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_NAV_FM_A", + "address_mask_identifier": "MH_60R_NAV_FM_AM", + "address_mask_shift_identifier": "MH_60R_NAV_FM", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "NAV_VOR": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot VOR ILS OFF/ON", + "identifier": "NAV_VOR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_NAV_VOR_A", + "address_mask_identifier": "MH_60R_NAV_VOR_AM", + "address_mask_shift_identifier": "MH_60R_NAV_VOR", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "TRN_RATE": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot TURN RATE NORM/ALTR", + "identifier": "TRN_RATE", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42000, + "address_identifier": "MH_60R_TRN_RATE_A", + "address_mask_identifier": "MH_60R_TRN_RATE_AM", + "address_mask_shift_identifier": "MH_60R_TRN_RATE", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "VRT_GYRO": { + "api_variant": "momentary_last_position", + "category": "CISP", + "control_type": "selector", + "description": "CISP Pilot VERT GYRO NORM/ALTR", + "identifier": "VRT_GYRO", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_VRT_GYRO_A", + "address_mask_identifier": "MH_60R_VRT_GYRO_AM", + "address_mask_shift_identifier": "MH_60R_VRT_GYRO", + "description": "selector position", + "mask": 2, + "max_value": 1, + "shift_by": 1, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + } + }, + "Caution Display Panel": { + "CAP_BRGT": { + "category": "Caution Display Panel", + "control_type": "selector", + "description": "CAP Lamp BRIGHTNESS", + "identifier": "CAP_BRGT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_CAP_BRGT_A", + "address_mask_identifier": "MH_60R_CAP_BRGT_AM", + "address_mask_shift_identifier": "MH_60R_CAP_BRGT", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "CAP_TST": { + "category": "Caution Display Panel", + "control_type": "selector", + "description": "CAP Lamp TEST", + "identifier": "CAP_TST", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_CAP_TST_A", + "address_mask_identifier": "MH_60R_CAP_TST_AM", + "address_mask_shift_identifier": "MH_60R_CAP_TST", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + }, + "MST_CAUT_RST": { + "api_variant": "momentary_last_position", + "category": "Caution Display Panel", + "control_type": "selector", + "description": "Master Caution Reset", + "identifier": "MST_CAUT_RST", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_MST_CAUT_RST_A", + "address_mask_identifier": "MH_60R_MST_CAUT_RST_AM", + "address_mask_shift_identifier": "MH_60R_MST_CAUT_RST", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + } + }, + "ECQ": { + "ENG1_CTR_LVL": { + "category": "ECQ", + "control_type": "selector", + "description": "Engine 1 Control Level OFF/IDLE", + "identifier": "ENG1_CTR_LVL", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_ENG1_CTR_LVL_A", + "address_mask_identifier": "MH_60R_ENG1_CTR_LVL_AM", + "address_mask_shift_identifier": "MH_60R_ENG1_CTR_LVL", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + }, + "ENG2_CTR_LVL": { + "category": "ECQ", + "control_type": "selector", + "description": "Engine 2 Control Level OFF/IDLE", + "identifier": "ENG2_CTR_LVL", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_ENG2_CTR_LVL_A", + "address_mask_identifier": "MH_60R_ENG2_CTR_LVL_AM", + "address_mask_shift_identifier": "MH_60R_ENG2_CTR_LVL", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + } + }, + "Electric System": { + "APU_GEN_SW": { + "category": "Electric System", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "APU GEN Switch TEST/OFF/ON", + "identifier": "APU_GEN_SW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_APU_GEN_SW_A", + "address_mask_identifier": "MH_60R_APU_GEN_SW_AM", + "address_mask_shift_identifier": "MH_60R_APU_GEN_SW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 6144, + "max_value": 2, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ] + }, + "BATT_SW": { + "category": "Electric System", + "control_type": "selector", + "description": "Battery Switch OFF/ON", + "identifier": "BATT_SW", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_BATT_SW_A", + "address_mask_identifier": "MH_60R_BATT_SW_AM", + "address_mask_shift_identifier": "MH_60R_BATT_SW", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "EXT_PWR_SW": { + "category": "Electric System", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "External Power Switch RESET/OFF/ON", + "identifier": "EXT_PWR_SW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_EXT_PWR_SW_A", + "address_mask_identifier": "MH_60R_EXT_PWR_SW_AM", + "address_mask_shift_identifier": "MH_60R_EXT_PWR_SW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 1536, + "max_value": 2, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ] + }, + "GEN1_SW": { + "category": "Electric System", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "GEN 1 Switch TEST/OFF/ON", + "identifier": "GEN1_SW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_GEN1_SW_A", + "address_mask_identifier": "MH_60R_GEN1_SW_AM", + "address_mask_shift_identifier": "MH_60R_GEN1_SW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 24576, + "max_value": 2, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ] + }, + "GEN2_SW": { + "category": "Electric System", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "GEN 2 Switch TEST/OFF/ON", + "identifier": "GEN2_SW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_GEN2_SW_A", + "address_mask_identifier": "MH_60R_GEN2_SW_AM", + "address_mask_shift_identifier": "MH_60R_GEN2_SW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 3, + "max_value": 2, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + } + }, + "Fuel and Engines": { + "AIR_SRC_SW": { + "category": "Fuel and Engines", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Air Source APU/OFF/ENG", + "identifier": "AIR_SRC_SW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_AIR_SRC_SW_A", + "address_mask_identifier": "MH_60R_AIR_SRC_SW_AM", + "address_mask_shift_identifier": "MH_60R_AIR_SRC_SW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 48, + "max_value": 2, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ] + }, + "APU_CTRL_SW": { + "category": "Fuel and Engines", + "control_type": "selector", + "description": "APU CONTROL OFF/ON", + "identifier": "APU_CTRL_SW", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_APU_CTRL_SW_A", + "address_mask_identifier": "MH_60R_APU_CTRL_SW_AM", + "address_mask_shift_identifier": "MH_60R_APU_CTRL_SW", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "FUEL1_BST_PMP": { + "category": "Fuel and Engines", + "control_type": "selector", + "description": "Boost Pump 1 OFF/ON", + "identifier": "FUEL1_BST_PMP", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_FUEL1_BST_PMP_A", + "address_mask_identifier": "MH_60R_FUEL1_BST_PMP_AM", + "address_mask_shift_identifier": "MH_60R_FUEL1_BST_PMP", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "FUEL_PMP_SW": { + "category": "Fuel and Engines", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "FUEL PRIME/OFF/APU BOOST", + "identifier": "FUEL_PMP_SW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_FUEL_PMP_SW_A", + "address_mask_identifier": "MH_60R_FUEL_PMP_SW_AM", + "address_mask_shift_identifier": "MH_60R_FUEL_PMP_SW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 12, + "max_value": 2, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ] + } + }, + "General": { + "PRK_BRK": { + "category": "General", + "control_type": "selector", + "description": "Parking Brake", + "identifier": "PRK_BRK", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_PRK_BRK_A", + "address_mask_identifier": "MH_60R_PRK_BRK_AM", + "address_mask_shift_identifier": "MH_60R_PRK_BRK", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + } + }, + "GunSight": { + "GUN_COLR": { + "category": "GunSight", + "control_type": "selector", + "description": "GunSight COLOR", + "identifier": "GUN_COLR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 2 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_GUN_COLR_A", + "address_mask_identifier": "MH_60R_GUN_COLR_AM", + "address_mask_shift_identifier": "MH_60R_GUN_COLR", + "description": "selector position", + "mask": 12288, + "max_value": 2, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "GUN_MOVE": { + "category": "GunSight", + "control_type": "limited_dial", + "description": "GunSight Move UP/DOWN", + "identifier": "GUN_MOVE", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42026, + "address_identifier": "MH_60R_GUN_MOVE_A", + "address_mask_identifier": "MH_60R_GUN_MOVE_AM", + "address_mask_shift_identifier": "MH_60R_GUN_MOVE", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + } + }, + "Jettison Panel": { + "JET_ALL": { + "category": "Jettison Panel", + "control_type": "selector", + "description": "All Jett. Switch OFF/ON", + "identifier": "JET_ALL", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_JET_ALL_A", + "address_mask_identifier": "MH_60R_JET_ALL_AM", + "address_mask_shift_identifier": "MH_60R_JET_ALL", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "JET_ALL_CVR": { + "category": "Jettison Panel", + "control_type": "selector", + "description": "All Jett. Cover OPEN/CLOSE", + "identifier": "JET_ALL_CVR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_JET_ALL_CVR_A", + "address_mask_identifier": "MH_60R_JET_ALL_CVR_AM", + "address_mask_shift_identifier": "MH_60R_JET_ALL_CVR", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "JET_SELC": { + "category": "Jettison Panel", + "control_type": "selector", + "description": "Select STATIONS", + "identifier": "JET_SELC", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 7 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_JET_SELC_A", + "address_mask_identifier": "MH_60R_JET_SELC_AM", + "address_mask_shift_identifier": "MH_60R_JET_SELC", + "description": "selector position", + "mask": 3584, + "max_value": 7, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "JET_SLC_CVR": { + "category": "Jettison Panel", + "control_type": "selector", + "description": "Select Jett. Cover OPEN/CLOSE", + "identifier": "JET_SLC_CVR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_JET_SLC_CVR_A", + "address_mask_identifier": "MH_60R_JET_SLC_CVR_AM", + "address_mask_shift_identifier": "MH_60R_JET_SLC_CVR", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "JET_SLC_SW": { + "category": "Jettison Panel", + "control_type": "selector", + "description": "Select Jett. Switch OFF/ON", + "identifier": "JET_SLC_SW", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_JET_SLC_SW_A", + "address_mask_identifier": "MH_60R_JET_SLC_SW_AM", + "address_mask_shift_identifier": "MH_60R_JET_SLC_SW", + "description": "selector position", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + } + }, + "Lights": { + "ANTI_LGHT_DAY": { + "category": "Lights", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Anticollision Lights DAY/OFF/NIGHT", + "identifier": "ANTI_LGHT_DAY", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_ANTI_LGHT_DAY_A", + "address_mask_identifier": "MH_60R_ANTI_LGHT_DAY_AM", + "address_mask_shift_identifier": "MH_60R_ANTI_LGHT_DAY", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 12288, + "max_value": 2, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ] + }, + "ANTI_LGHT_UP": { + "category": "Lights", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Anticollision Lights UPPER/BOTH/LOWER", + "identifier": "ANTI_LGHT_UP", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_ANTI_LGHT_UP_A", + "address_mask_identifier": "MH_60R_ANTI_LGHT_UP_AM", + "address_mask_shift_identifier": "MH_60R_ANTI_LGHT_UP", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 3072, + "max_value": 2, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ] + }, + "CKPT_LGHT_DAY": { + "category": "Lights", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Cockpit Lights BLUE/OFF/WHITE", + "identifier": "CKPT_LGHT_DAY", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_CKPT_LGHT_DAY_A", + "address_mask_identifier": "MH_60R_CKPT_LGHT_DAY_AM", + "address_mask_shift_identifier": "MH_60R_CKPT_LGHT_DAY", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 96, + "max_value": 2, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ] + }, + "CMP_LGTH_MOD": { + "category": "Lights", + "control_type": "selector", + "description": "Magnetic Compass Light OFF/ON", + "identifier": "CMP_LGTH_MOD", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_CMP_LGTH_MOD_A", + "address_mask_identifier": "MH_60R_CMP_LGTH_MOD_AM", + "address_mask_shift_identifier": "MH_60R_CMP_LGTH_MOD", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + }, + "CPLT_INST_BRT": { + "category": "Lights", + "control_type": "limited_dial", + "description": "CoPilot Flight Instrument Lights OFF/BRT", + "identifier": "CPLT_INST_BRT", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42016, + "address_identifier": "MH_60R_CPLT_INST_BRT_A", + "address_mask_identifier": "MH_60R_CPLT_INST_BRT_AM", + "address_mask_shift_identifier": "MH_60R_CPLT_INST_BRT", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "FORM_LGHT": { + "category": "Lights", + "control_type": "selector", + "description": "Formation Lights OFF/1/2/3/4/5", + "identifier": "FORM_LGHT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 5 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_FORM_LGHT_A", + "address_mask_identifier": "MH_60R_FORM_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_FORM_LGHT", + "description": "selector position", + "mask": 28, + "max_value": 5, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "GLR_SHLD": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Glareshield Lights OFF/BRT", + "identifier": "GLR_SHLD", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42004, + "address_identifier": "MH_60R_GLR_SHLD_A", + "address_mask_identifier": "MH_60R_GLR_SHLD_AM", + "address_mask_shift_identifier": "MH_60R_GLR_SHLD", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "LGHT_BRT": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Non Flight Instrument Lights OFF/BRT", + "identifier": "LGHT_BRT", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42018, + "address_identifier": "MH_60R_LGHT_BRT_A", + "address_mask_identifier": "MH_60R_LGHT_BRT_AM", + "address_mask_shift_identifier": "MH_60R_LGHT_BRT", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "LGHT_SW": { + "category": "Lights", + "control_type": "analog_gauge", + "description": "Lighting_Switches", + "identifier": "LGHT_SW", + "inputs": [ ], + "outputs": [ { + "address": 41984, + "address_identifier": "MH_60R_LGHT_SW_A", + "address_mask_identifier": "MH_60R_LGHT_SW_AM", + "address_mask_shift_identifier": "MH_60R_LGHT_SW", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "LGHT_SWTCH": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Lighted Switches OFF/BRT", + "identifier": "LGHT_SWTCH", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42008, + "address_identifier": "MH_60R_LGHT_SWTCH_A", + "address_mask_identifier": "MH_60R_LGHT_SWTCH_AM", + "address_mask_shift_identifier": "MH_60R_LGHT_SWTCH", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "LWR_BRT": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Lower Console Lights OFF/BRT", + "identifier": "LWR_BRT", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42012, + "address_identifier": "MH_60R_LWR_BRT_A", + "address_mask_identifier": "MH_60R_LWR_BRT_AM", + "address_mask_shift_identifier": "MH_60R_LWR_BRT", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "NAV_LGTH_MOD": { + "category": "Lights", + "control_type": "selector", + "description": "Nav Lights NORM/IR", + "identifier": "NAV_LGTH_MOD", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_NAV_LGTH_MOD_A", + "address_mask_identifier": "MH_60R_NAV_LGTH_MOD_AM", + "address_mask_shift_identifier": "MH_60R_NAV_LGTH_MOD", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + }, + "PLT_INST_BRT": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Pilot Flight Instrument Lights OFF/BRT", + "identifier": "PLT_INST_BRT", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42014, + "address_identifier": "MH_60R_PLT_INST_BRT_A", + "address_mask_identifier": "MH_60R_PLT_INST_BRT_AM", + "address_mask_shift_identifier": "MH_60R_PLT_INST_BRT", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "POS_LGHT": { + "category": "Lights", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Cabin Lights BLUE/OFF/WHITE", + "identifier": "POS_LGHT", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_POS_LGHT_A", + "address_mask_identifier": "MH_60R_POS_LGHT_AM", + "address_mask_shift_identifier": "MH_60R_POS_LGHT", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 3, + "max_value": 2, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "POS_LGHT_DIM": { + "category": "Lights", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Position Lights DIM/OFF/BRT", + "identifier": "POS_LGHT_DIM", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_POS_LGHT_DIM_A", + "address_mask_identifier": "MH_60R_POS_LGHT_DIM_AM", + "address_mask_shift_identifier": "MH_60R_POS_LGHT_DIM", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 384, + "max_value": 2, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ] + }, + "POS_LGTH_MOD": { + "category": "Lights", + "control_type": "selector", + "description": "Position Lights STEADY/FLASH", + "identifier": "POS_LGTH_MOD", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42002, + "address_identifier": "MH_60R_POS_LGTH_MOD_A", + "address_mask_identifier": "MH_60R_POS_LGTH_MOD_AM", + "address_mask_shift_identifier": "MH_60R_POS_LGTH_MOD", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + }, + "RDR_DIM": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Radar Altimeter DIM", + "identifier": "RDR_DIM", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42020, + "address_identifier": "MH_60R_RDR_DIM_A", + "address_mask_identifier": "MH_60R_RDR_DIM_AM", + "address_mask_shift_identifier": "MH_60R_RDR_DIM", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "UPP_BRT": { + "category": "Lights", + "control_type": "limited_dial", + "description": "Upper Console Lights OFF/BRT", + "identifier": "UPP_BRT", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42010, + "address_identifier": "MH_60R_UPP_BRT_A", + "address_mask_identifier": "MH_60R_UPP_BRT_AM", + "address_mask_shift_identifier": "MH_60R_UPP_BRT", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + } + }, + "M130 CM": { + "CHAFF_MOD_SEL": { + "category": "M130 CM", + "control_type": "selector", + "description": "Chaff Mode Selector", + "identifier": "CHAFF_MOD_SEL", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 2 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_CHAFF_MOD_SEL_A", + "address_mask_identifier": "MH_60R_CHAFF_MOD_SEL_AM", + "address_mask_shift_identifier": "MH_60R_CHAFF_MOD_SEL", + "description": "selector position", + "mask": 3, + "max_value": 2, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "CHAF_DISP": { + "api_variant": "momentary_last_position", + "category": "M130 CM", + "control_type": "selector", + "description": "Chaff Dispense", + "identifier": "CHAF_DISP", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_CHAF_DISP_A", + "address_mask_identifier": "MH_60R_CHAF_DISP_AM", + "address_mask_shift_identifier": "MH_60R_CHAF_DISP", + "description": "selector position", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "CM_ARM_SW": { + "category": "M130 CM", + "control_type": "selector", + "description": "Countermeasures Arming Switch OFF/ON", + "identifier": "CM_ARM_SW", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_CM_ARM_SW_A", + "address_mask_identifier": "MH_60R_CM_ARM_SW_AM", + "address_mask_shift_identifier": "MH_60R_CM_ARM_SW", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "FLR_DSP_CVR": { + "category": "M130 CM", + "control_type": "selector", + "description": "Flare Dispenser Mode Cover OPEN/CLOSE", + "identifier": "FLR_DSP_CVR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_FLR_DSP_CVR_A", + "address_mask_identifier": "MH_60R_FLR_DSP_CVR_AM", + "address_mask_shift_identifier": "MH_60R_FLR_DSP_CVR", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "FLR_DSP_SW": { + "category": "M130 CM", + "control_type": "selector", + "description": "Flare Dispenser Switch OFF/ON", + "identifier": "FLR_DSP_SW", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_FLR_DSP_SW_A", + "address_mask_identifier": "MH_60R_FLR_DSP_SW_AM", + "address_mask_shift_identifier": "MH_60R_FLR_DSP_SW", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + } + }, + "MCP": { + "MST_CAUTION": { + "category": "MCP", + "control_type": "led", + "description": "LIGHT_MCP_MC", + "identifier": "MST_CAUTION", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_MST_CAUTION_A", + "address_mask_identifier": "MH_60R_MST_CAUTION_AM", + "address_mask_shift_identifier": "MH_60R_MST_CAUTION", + "description": "0 if light is off, 1 if light is on", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ] + } + }, + "Misc": { + "CPLT_DOOR": { + "category": "Misc", + "control_type": "selector", + "description": "Copilot Door OPEN/CLOSE", + "identifier": "CPLT_DOOR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_CPLT_DOOR_A", + "address_mask_identifier": "MH_60R_CPLT_DOOR_AM", + "address_mask_shift_identifier": "MH_60R_CPLT_DOOR", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "LFT_CRG_DOOR": { + "category": "Misc", + "control_type": "selector", + "description": "Left Cargo Door OPEN/CLOSE", + "identifier": "LFT_CRG_DOOR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_LFT_CRG_DOOR_A", + "address_mask_identifier": "MH_60R_LFT_CRG_DOOR_AM", + "address_mask_shift_identifier": "MH_60R_LFT_CRG_DOOR", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "LFT_GUN_WIN": { + "category": "Misc", + "control_type": "selector", + "description": "Left Gunner Door OPEN/CLOSE", + "identifier": "LFT_GUN_WIN", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_LFT_GUN_WIN_A", + "address_mask_identifier": "MH_60R_LFT_GUN_WIN_AM", + "address_mask_shift_identifier": "MH_60R_LFT_GUN_WIN", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "PLT_DOOR": { + "category": "Misc", + "control_type": "selector", + "description": "Pilot Door OPEN/CLOSE", + "identifier": "PLT_DOOR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_PLT_DOOR_A", + "address_mask_identifier": "MH_60R_PLT_DOOR_AM", + "address_mask_shift_identifier": "MH_60R_PLT_DOOR", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "RGT_CRG_DOOR": { + "category": "Misc", + "control_type": "selector", + "description": "Right Cargo Door OPEN/CLOSE", + "identifier": "RGT_CRG_DOOR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_RGT_CRG_DOOR_A", + "address_mask_identifier": "MH_60R_RGT_CRG_DOOR_AM", + "address_mask_shift_identifier": "MH_60R_RGT_CRG_DOOR", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "RGT_GUN_WIN": { + "category": "Misc", + "control_type": "selector", + "description": "Right Gunner Door OPEN/CLOSE", + "identifier": "RGT_GUN_WIN", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42006, + "address_identifier": "MH_60R_RGT_GUN_WIN_A", + "address_mask_identifier": "MH_60R_RGT_GUN_WIN_AM", + "address_mask_shift_identifier": "MH_60R_RGT_GUN_WIN", + "description": "selector position", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "TAIL_WHL_LCK": { + "category": "Misc", + "control_type": "selector", + "description": "Tail Wheel LOCK/UNLOCK", + "identifier": "TAIL_WHL_LCK", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_TAIL_WHL_LCK_A", + "address_mask_identifier": "MH_60R_TAIL_WHL_LCK_AM", + "address_mask_shift_identifier": "MH_60R_TAIL_WHL_LCK", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "WHL_LCK_LGT": { + "category": "Misc", + "control_type": "led", + "description": "TAIL_WHEEL_LOCK", + "identifier": "WHL_LCK_LGT", + "inputs": [ ], + "outputs": [ { + "address": 41988, + "address_identifier": "MH_60R_WHL_LCK_LGT_A", + "address_mask_identifier": "MH_60R_WHL_LCK_LGT_AM", + "address_mask_shift_identifier": "MH_60R_WHL_LCK_LGT", + "description": "0 if light is off, 1 if light is on", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ] + }, + "WPRS": { + "category": "Misc", + "control_type": "selector", + "description": "Wipers PARK/OFF/LOW/HI", + "identifier": "WPRS", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 3 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_WPRS_A", + "address_mask_identifier": "MH_60R_WPRS_AM", + "address_mask_shift_identifier": "MH_60R_WPRS", + "description": "selector position", + "mask": 24, + "max_value": 3, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "limited_rotary" + } + }, + "Radar": { + "CAT_SELC": { + "category": "Radar", + "control_type": "selector", + "description": "Category Select SEA/GROUND", + "identifier": "CAT_SELC", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42032, + "address_identifier": "MH_60R_CAT_SELC_A", + "address_mask_identifier": "MH_60R_CAT_SELC_AM", + "address_mask_shift_identifier": "MH_60R_CAT_SELC", + "description": "selector position", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "COAL_SELC": { + "category": "Radar", + "control_type": "selector", + "description": "Coalition Select ALL/NEUTRAL/FRIENDLY/ENEMY", + "identifier": "COAL_SELC", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 3 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42032, + "address_identifier": "MH_60R_COAL_SELC_A", + "address_mask_identifier": "MH_60R_COAL_SELC_AM", + "address_mask_shift_identifier": "MH_60R_COAL_SELC", + "description": "selector position", + "mask": 12, + "max_value": 3, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "FAC_RANGE": { + "category": "Radar", + "control_type": "selector", + "description": "Range FACTOR", + "identifier": "FAC_RANGE", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42032, + "address_identifier": "MH_60R_FAC_RANGE_A", + "address_mask_identifier": "MH_60R_FAC_RANGE_AM", + "address_mask_shift_identifier": "MH_60R_FAC_RANGE", + "description": "selector position", + "mask": 16, + "max_value": 1, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "LCK_TGT": { + "category": "Radar", + "control_type": "selector", + "description": "Lock Target OFF/ON", + "identifier": "LCK_TGT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42032, + "address_identifier": "MH_60R_LCK_TGT_A", + "address_mask_identifier": "MH_60R_LCK_TGT_AM", + "address_mask_shift_identifier": "MH_60R_LCK_TGT", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "MODE_RDR": { + "category": "Radar", + "control_type": "selector", + "description": "Mode OFF/ON/INT./SOL.", + "identifier": "MODE_RDR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 3 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_MODE_RDR_A", + "address_mask_identifier": "MH_60R_MODE_RDR_AM", + "address_mask_shift_identifier": "MH_60R_MODE_RDR", + "description": "selector position", + "mask": 49152, + "max_value": 3, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "OFFSET_RDR": { + "category": "Radar", + "control_type": "limited_dial", + "description": "Rotation Sector <-/->", + "identifier": "OFFSET_RDR", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42034, + "address_identifier": "MH_60R_OFFSET_RDR_A", + "address_mask_identifier": "MH_60R_OFFSET_RDR_AM", + "address_mask_shift_identifier": "MH_60R_OFFSET_RDR", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "RANGE_RDR": { + "category": "Radar", + "control_type": "limited_dial", + "description": "Range -/+", + "identifier": "RANGE_RDR", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42028, + "address_identifier": "MH_60R_RANGE_RDR_A", + "address_mask_identifier": "MH_60R_RANGE_RDR_AM", + "address_mask_shift_identifier": "MH_60R_RANGE_RDR", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "RST_ROT": { + "api_variant": "momentary_last_position", + "category": "Radar", + "control_type": "selector", + "description": "Rotation Radar RESET", + "identifier": "RST_ROT", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42032, + "address_identifier": "MH_60R_RST_ROT_A", + "address_mask_identifier": "MH_60R_RST_ROT_AM", + "address_mask_shift_identifier": "MH_60R_RST_ROT", + "description": "selector position", + "mask": 128, + "max_value": 1, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "SECT_RDR": { + "category": "Radar", + "control_type": "limited_dial", + "description": "Sector -/+", + "identifier": "SECT_RDR", + "inputs": [ { + "description": "set the position of the dial", + "interface": "set_state", + "max_value": 65535 + }, { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 42030, + "address_identifier": "MH_60R_SECT_RDR_A", + "address_mask_identifier": "MH_60R_SECT_RDR_AM", + "address_mask_shift_identifier": "MH_60R_SECT_RDR", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "SON_SELC": { + "category": "Radar", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Sonobuoys SURFACE/OFF/IMMERSION", + "identifier": "SON_SELC", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 42032, + "address_identifier": "MH_60R_SON_SELC_A", + "address_mask_identifier": "MH_60R_SON_SELC_AM", + "address_mask_shift_identifier": "MH_60R_SON_SELC", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 3, + "max_value": 2, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + } + }, + "STAB Panel": { + "FPS": { + "api_variant": "momentary_last_position", + "category": "STAB Panel", + "control_type": "selector", + "description": "FPS OFF/ON", + "identifier": "FPS", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_FPS_A", + "address_mask_identifier": "MH_60R_FPS_AM", + "address_mask_shift_identifier": "MH_60R_FPS", + "description": "selector position", + "mask": 32, + "max_value": 1, + "shift_by": 5, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "SAS1": { + "api_variant": "momentary_last_position", + "category": "STAB Panel", + "control_type": "selector", + "description": "SAS 1 OFF/ON", + "identifier": "SAS1", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_SAS1_A", + "address_mask_identifier": "MH_60R_SAS1_AM", + "address_mask_shift_identifier": "MH_60R_SAS1", + "description": "selector position", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "SAS2": { + "api_variant": "momentary_last_position", + "category": "STAB Panel", + "control_type": "selector", + "description": "SAS 2 OFF/ON", + "identifier": "SAS2", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_SAS2_A", + "address_mask_identifier": "MH_60R_SAS2_AM", + "address_mask_shift_identifier": "MH_60R_SAS2", + "description": "selector position", + "mask": 8, + "max_value": 1, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "SAS_BST": { + "api_variant": "momentary_last_position", + "category": "STAB Panel", + "control_type": "selector", + "description": "SAS Boost OFF/ON", + "identifier": "SAS_BST", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_SAS_BST_A", + "address_mask_identifier": "MH_60R_SAS_BST_AM", + "address_mask_shift_identifier": "MH_60R_SAS_BST", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "STAB_AUTO": { + "api_variant": "momentary_last_position", + "category": "STAB Panel", + "control_type": "selector", + "description": "STAB OFF/ON", + "identifier": "STAB_AUTO", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41990, + "address_identifier": "MH_60R_STAB_AUTO_A", + "address_mask_identifier": "MH_60R_STAB_AUTO_AM", + "address_mask_shift_identifier": "MH_60R_STAB_AUTO", + "description": "selector position", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "STAB_MAN_SLW": { + "category": "STAB Panel", + "control_type": "3Pos_2Command_Switch_OpenClose", + "description": "Manual Slew UP", + "identifier": "STAB_MAN_SLW", + "inputs": [ { + "description": "set the switch position", + "interface": "set_state", + "max_value": 2 + } ], + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_STAB_MAN_SLW_A", + "address_mask_identifier": "MH_60R_STAB_MAN_SLW_AM", + "address_mask_shift_identifier": "MH_60R_STAB_MAN_SLW", + "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", + "mask": 3, + "max_value": 2, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "TRIM": { + "api_variant": "momentary_last_position", + "category": "STAB Panel", + "control_type": "selector", + "description": "Trim OFF/ON", + "identifier": "TRIM", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_TRIM_A", + "address_mask_identifier": "MH_60R_TRIM_AM", + "address_mask_shift_identifier": "MH_60R_TRIM", + "description": "selector position", + "mask": 16, + "max_value": 1, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + } + }, + "Vids": { + "CDU_TST": { + "api_variant": "momentary_last_position", + "category": "Vids", + "control_type": "selector", + "description": "CDU Lamp Test", + "identifier": "CDU_TST", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_CDU_TST_A", + "address_mask_identifier": "MH_60R_CDU_TST_AM", + "address_mask_shift_identifier": "MH_60R_CDU_TST", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + }, + "PDU1_TST": { + "api_variant": "momentary_last_position", + "category": "Vids", + "control_type": "selector", + "description": "PDU Test Pilot", + "identifier": "PDU1_TST", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 41996, + "address_identifier": "MH_60R_PDU1_TST_A", + "address_mask_identifier": "MH_60R_PDU1_TST_AM", + "address_mask_shift_identifier": "MH_60R_PDU1_TST", + "description": "selector position", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "push_button" + } + }, + "Weapons System Panel": { + "MST_ARM_CVR": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Master Arm Cover OPEN/CLOSE", + "identifier": "MST_ARM_CVR", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_MST_ARM_CVR_A", + "address_mask_identifier": "MH_60R_MST_ARM_CVR_AM", + "address_mask_shift_identifier": "MH_60R_MST_ARM_CVR", + "description": "selector position", + "mask": 1, + "max_value": 1, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "MST_ARM_WPN": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Master Arm Weapons OFF/ON", + "identifier": "MST_ARM_WPN", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_MST_ARM_WPN_A", + "address_mask_identifier": "MH_60R_MST_ARM_WPN_AM", + "address_mask_shift_identifier": "MH_60R_MST_ARM_WPN", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "SLV_SELC": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Select SALVE", + "identifier": "SLV_SELC", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 6 + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42022, + "address_identifier": "MH_60R_SLV_SELC_A", + "address_mask_identifier": "MH_60R_SLV_SELC_AM", + "address_mask_shift_identifier": "MH_60R_SLV_SELC", + "description": "selector position", + "mask": 57344, + "max_value": 6, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "STA_LFT_PYL": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Stat. Left Pyl. OFF/ON", + "identifier": "STA_LFT_PYL", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_STA_LFT_PYL_A", + "address_mask_identifier": "MH_60R_STA_LFT_PYL_AM", + "address_mask_shift_identifier": "MH_60R_STA_LFT_PYL", + "description": "selector position", + "mask": 2, + "max_value": 1, + "shift_by": 1, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "STA_LFT_SID": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Stat. Left Side OFF/ON", + "identifier": "STA_LFT_SID", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_STA_LFT_SID_A", + "address_mask_identifier": "MH_60R_STA_LFT_SID_AM", + "address_mask_shift_identifier": "MH_60R_STA_LFT_SID", + "description": "selector position", + "mask": 4, + "max_value": 1, + "shift_by": 2, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "STA_RGT_PYL": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Stat. Right Pyl. OFF/ON", + "identifier": "STA_RGT_PYL", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_STA_RGT_PYL_A", + "address_mask_identifier": "MH_60R_STA_RGT_PYL_AM", + "address_mask_shift_identifier": "MH_60R_STA_RGT_PYL", + "description": "selector position", + "mask": 16, + "max_value": 1, + "shift_by": 4, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + }, + "STA_RGT_SID": { + "category": "Weapons System Panel", + "control_type": "selector", + "description": "Stat. Right Side OFF/ON", + "identifier": "STA_RGT_SID", + "inputs": [ { + "description": "switch to previous or next state", + "interface": "fixed_step" + }, { + "description": "set position", + "interface": "set_state", + "max_value": 1 + }, { + "argument": "TOGGLE", + "description": "Toggle switch state", + "interface": "action" + } ], + "momentary_positions": "none", + "outputs": [ { + "address": 42024, + "address_identifier": "MH_60R_STA_RGT_SID_A", + "address_mask_identifier": "MH_60R_STA_RGT_SID_AM", + "address_mask_shift_identifier": "MH_60R_STA_RGT_SID", + "description": "selector position", + "mask": 8, + "max_value": 1, + "shift_by": 3, + "suffix": "", + "type": "integer" + } ], + "physical_variant": "toggle_switch" + } + } +}; diff --git a/Scripts/DCS-BIOS/lib/AircraftList.lua b/Scripts/DCS-BIOS/lib/AircraftList.lua index 142f768ba..c8a71d35d 100644 --- a/Scripts/DCS-BIOS/lib/AircraftList.lua +++ b/Scripts/DCS-BIOS/lib/AircraftList.lua @@ -13,7 +13,7 @@ local AircraftList = { --- Adds an aircraft to the list of all aircraft --- @param name string the name of the aircraft as exported from DCS --- @param has_clickable_cockpit boolean whether the aircraft has a clickable cockpit (if false, it will be exported with FC3 aircraft) -local function a(name, has_clickable_cockpit) +local function add(name, has_clickable_cockpit) table.insert(AircraftList.ALL_PLAYABLE_AIRCRAFT, name) if has_clickable_cockpit then table.insert(AircraftList.CLICKABLE_COCKPIT_AIRCRAFT, name) @@ -22,172 +22,174 @@ local function a(name, has_clickable_cockpit) end end -a("A-10C", true) -a("A-10C_2", true) -a("AH-64D_BLK_II", true) -a("AJS37", true) -a("AV8BNA", true) -a("Bf-109K-4", true) -a("C-101CC", true) -a("C-101EB", true) -a("Christen Eagle II", true) -a("F-14A-135-GR", true) -a("F-14B", true) -a("F-15ESE", true) -a("F-16C_50", true) -a("F-5E-3", true) -a("F-86F Sabre", true) -a("FA-18C_hornet", true) -a("FW-190A8", true) -a("FW-190D9", true) -a("Hawk", true) -a("I-16", true) -a("JF-17", true) -a("Ka-50", true) -a("Ka-50_3", true) -a("L-39C", true) -a("L-39ZA", true) -a("M-2000C", true) -a("MB-339A", true) -a("MB-339APAN", true) -a("Mi-8MT", true) -a("Mi-8MTV2", true) -a("Mi-24P", true) -a("MiG-15bis", true) -a("MiG-19P", true) -a("MiG-21Bis", true) -a("Mirage-F1CE", true) -a("Mirage-F1EE", true) -a("MosquitoFBMkVI", true) -a("P-47D-30", true) -a("P-47D-30bl1", true) -a("P-47D-40", true) -a("P-51D", true) -a("P-51D-30-NA", true) -a("SA342L", true) -a("SA342M", true) -a("SA342Minigun", true) -a("SA342Mistral", true) -a("SpitfireLFMkIX", true) -a("SpitfireLFMkIXCW", true) -a("TF-51D", true) -a("UH-1H", true) -a("Yak-52", true) +add("A-10C", true) +add("A-10C_2", true) +add("AH-64D_BLK_II", true) +add("AJS37", true) +add("AV8BNA", true) +add("Bf-109K-4", true) +add("C-101CC", true) +add("C-101EB", true) +add("Christen Eagle II", true) +add("F-14A-135-GR", true) +add("F-14B", true) +add("F-15ESE", true) +add("F-16C_50", true) +add("F-5E-3", true) +add("F-86F Sabre", true) +add("FA-18C_hornet", true) +add("FW-190A8", true) +add("FW-190D9", true) +add("Hawk", true) +add("I-16", true) +add("JF-17", true) +add("Ka-50", true) +add("Ka-50_3", true) +add("L-39C", true) +add("L-39ZA", true) +add("M-2000C", true) +add("MB-339A", true) +add("MB-339APAN", true) +add("Mi-8MT", true) +add("Mi-8MTV2", true) +add("Mi-24P", true) +add("MiG-15bis", true) +add("MiG-19P", true) +add("MiG-21Bis", true) +add("Mirage-F1CE", true) +add("Mirage-F1EE", true) +add("MosquitoFBMkVI", true) +add("P-47D-30", true) +add("P-47D-30bl1", true) +add("P-47D-40", true) +add("P-51D", true) +add("P-51D-30-NA", true) +add("SA342L", true) +add("SA342M", true) +add("SA342Minigun", true) +add("SA342Mistral", true) +add("SpitfireLFMkIX", true) +add("SpitfireLFMkIXCW", true) +add("TF-51D", true) +add("UH-1H", true) +add("Yak-52", true) --Extras -a("NONE", false) -a("", false) -a("NS430", true) -a("NS430_C-101CC", true) -a("NS430_C-101EB", true) -a("NS430_L-39C", true) -a("NS430_MI-8MTV2", true) -a("NS430_SA342", true) -a("Supercarrier", true) +add("NONE", false) +add("", false) +add("NS430", true) +add("NS430_C-101CC", true) +add("NS430_C-101EB", true) +add("NS430_L-39C", true) +add("NS430_MI-8MTV2", true) +add("NS430_SA342", true) +add("Supercarrier", true) --FC3 -a("A-10A", false) -a("F-15C", false) -a("F-16A", false) -a("J-11A", false) -a("MiG-29A", false) -a("MiG-29G", false) -a("MiG-29S", false) -a("Su-25", false) -a("Su-25T", false) -a("Su-27", false) -a("Su-33", false) +add("A-10A", false) +add("F-15C", false) +add("F-16A", false) +add("J-11A", false) +add("MiG-29A", false) +add("MiG-29G", false) +add("MiG-29S", false) +add("Su-25", false) +add("Su-25T", false) +add("Su-27", false) +add("Su-33", false) --MODs -a("A-4E-C", true) -a("A-29B", true) -a("AC_130", false) -a("AH-6", true) -a("Alphajet", true) -a("Bell47_2", true) -a("BlackHawk", true) -a("Bronco-OV-10A", false) -a("Cessna_210N", false) -a("DC3", false) -a("EA-18G", true) -a("Edge540", true) -a("Extra330SR", true) -a("F-117A", false) -a("F-2A", false) -a("F-2B", false) -a("F-16D_50_NS", true) -a("F-16D_50", true) -a("F-16D_52_NS", true) -a("F-16D_52", true) -a("F-16D_Barak_30", true) -a("F-16D_Barak_40", true) -a("F-16I", true) -a("F-22A", true) -a("F4e", false) -a("FA_18D", false) -a("FA-18E", true) -a("FA-18F", true) -a("FlankerEx", false) -a("Flyer1", false)--1903 Wright Flyer -a("J-20A", false) -a("MB-339PAN", false) -a("Mig-23UB", false) -a("MirageF1", false) -a("MirageF1CT", false) -a("MQ9_PREDATOR", false) -a("Rafale_A_S", false) -a("Rafale_B", false) -a("Rafale_C", false) -a("Rafale_M", false) -a("REISEN52", false) -a("RST_Eurofighter", false) -a("RST_Eurofighter_AG", false) -a("Su-30M", false) -a("Su-30MK", false) -a("Su-30SM", false) -a("Su-57", false) -a("Super_Etendard", false) -a("T-4", false) -a("T-45", true) -a("VNAO_Ready_Room", true) -a("VSN_AJS37Viggen", false) -a("VSN_C17A", false) -a("VSN_C5_Galaxy", false) -a("VSN_E2D", false) -a("VSN_Eurofighter", false) -a("VSN_Eurofighter_AG", false) -a("VSN_F104G", false) -a("VSN_F104G_AG", false) -a("VSN_F104S", false) -a("VSN_F104S_AG", false) -a("VSN_F105D", false) -a("VSN_F105G", false) -a("VSN_F14A", false) -a("VSN_F14B", false) -a("VSN_F15E", false) -a("VSN_F15E_AA", false) -a("VSN_F16A", false) -a("VSN_F16AMLU", false) -a("VSN_F16CBL50", false) -a("VSN_F16CBL52D", false) -a("VSN_F16CMBL50", false) -a("VSN_F22", false) -a("VSN_F35A", false) -a("VSN_F35A_AG", false) -a("VSN_F35B", false) -a("VSN_F35B_AG", false) -a("VSN_F4E", false) -a("VSN_F4E_AG", false) -a("VSN_F5E", false) -a("VSN_F5N", false) -a("VSN_FA18C", false) -a("VSN_FA18C_AG", false) -a("VSN_FA18C_Lot20", false) -a("VSN_FA18F", false) -a("VSN_FA18F_AG", false) -a("VSN_Harrier", false) -a("VSN_M2000", false) -a("VSN_P3C", false) -a("VSN_TornadoGR4", false) -a("VSN_TornadoIDS", false) -a("VSN_Su47", false) -a("VSN_UFO", false) +add("A-4E-C", true) +add("A-29B", true) +add("AC_130", false) +add("AH-6", true) +add("Alphajet", true) +add("Bell47_2", true) +add("BlackHawk", true) +add("Bronco-OV-10A", false) +add("Cessna_210N", false) +add("DC3", false) +add("EA-18G", true) +add("Edge540", true) +add("Extra330SR", true) +add("F-117A", false) +add("F-2A", false) +add("F-2B", false) +add("F-16D_50_NS", true) +add("F-16D_50", true) +add("F-16D_52_NS", true) +add("F-16D_52", true) +add("F-16D_Barak_30", true) +add("F-16D_Barak_40", true) +add("F-16I", true) +add("F-22A", true) +add("F4e", false) +add("FA_18D", false) +add("FA-18E", true) +add("FA-18F", true) +add("FlankerEx", false) +add("Flyer1", false)--1903 Wright Flyer +add("J-20A", false) +add("MH-60R", true) +add("MB-339PAN", false) +add("Mig-23UB", false) +add("MirageF1", false) +add("MirageF1CT", false) +add("MQ9_PREDATOR", false) +add("Rafale_A_S", false) +add("Rafale_B", false) +add("Rafale_C", false) +add("Rafale_M", false) +add("REISEN52", false) +add("RST_Eurofighter", false) +add("RST_Eurofighter_AG", false) +add("Su-30M", false) +add("Su-30MK", false) +add("Su-30SM", false) +add("Su-57", false) +add("Super_Etendard", false) +add("T-4", false) +add("T-45", true) +add("UH-60L", true) +add("VNAO_Ready_Room", true) +add("VSN_AJS37Viggen", false) +add("VSN_C17A", false) +add("VSN_C5_Galaxy", false) +add("VSN_E2D", false) +add("VSN_Eurofighter", false) +add("VSN_Eurofighter_AG", false) +add("VSN_F104G", false) +add("VSN_F104G_AG", false) +add("VSN_F104S", false) +add("VSN_F104S_AG", false) +add("VSN_F105D", false) +add("VSN_F105G", false) +add("VSN_F14A", false) +add("VSN_F14B", false) +add("VSN_F15E", false) +add("VSN_F15E_AA", false) +add("VSN_F16A", false) +add("VSN_F16AMLU", false) +add("VSN_F16CBL50", false) +add("VSN_F16CBL52D", false) +add("VSN_F16CMBL50", false) +add("VSN_F22", false) +add("VSN_F35A", false) +add("VSN_F35A_AG", false) +add("VSN_F35B", false) +add("VSN_F35B_AG", false) +add("VSN_F4E", false) +add("VSN_F4E_AG", false) +add("VSN_F5E", false) +add("VSN_F5N", false) +add("VSN_FA18C", false) +add("VSN_FA18C_AG", false) +add("VSN_FA18C_Lot20", false) +add("VSN_FA18F", false) +add("VSN_FA18F_AG", false) +add("VSN_Harrier", false) +add("VSN_M2000", false) +add("VSN_P3C", false) +add("VSN_TornadoGR4", false) +add("VSN_TornadoIDS", false) +add("VSN_Su47", false) +add("VSN_UFO", false) return AircraftList diff --git a/Scripts/DCS-BIOS/lib/archive/old_format_planes/MH-60R.lua b/Scripts/DCS-BIOS/lib/archive/old_format_planes/MH-60R.lua new file mode 100644 index 000000000..6e46c494b --- /dev/null +++ b/Scripts/DCS-BIOS/lib/archive/old_format_planes/MH-60R.lua @@ -0,0 +1,380 @@ +BIOS.protocol.beginModule("MH-60R", 0xA400) +BIOS.protocol.setExportModuleAircrafts({"MH-60R", "UH-60L"}) +--by Tanuki44 +local documentation = moduleBeingDefined.documentation + +local document = BIOS.util.document + +local defineFloat = BIOS.util.defineFloat --Instrument Value +local defineIndicatorLight = BIOS.util.defineIndicatorLight --Indicator State +local definePushButton = BIOS.util.definePushButton --default_button +local definePotentiometer = BIOS.util.definePotentiometer --default_axis_limited +local defineTumb = BIOS.util.defineTumb --default_2_position_tumb +local defineToggleSwitch = BIOS.util.defineToggleSwitch --default_toggle_tumb +local defineSpringloaded_3_pos_tumb = BIOS.util.defineSpringloaded_3_pos_tumb +local defineMultipositionSwitch = BIOS.util.defineMultipositionSwitch --multiposition_switch_limited +local defineRotary = BIOS.util.defineRotary --default_axis +local defineIntegerFromGetter = BIOS.util.defineIntegerFromGetter + +--Lighting Switches +defineFloat("LGHT_SW", 206, {0.0, 1.0}, "Lights", "Lighting_Switches") + +--Caution Lights +defineIndicatorLight("CIS_PLT_HDG", 212, "CISP", "LIGHT_HDG_ON") +defineIndicatorLight("CIS_PLT_NAV", 213, "CISP", "LIGHT_NAV_ON") +defineIndicatorLight("CIS_PLT_ALT", 214, "CISP", "LIGHT_ALT_ON") +defineIndicatorLight("CIS_PLT_DPLR", 215, "CISP", "LIGHT_DPLRGPS") +defineIndicatorLight("CIS_PLT_VOR", 216, "CISP", "LIGHT_VOR_LGT") +defineIndicatorLight("CIS_PLT_ILS", 217, "CISP", "LIGHT_ILS_LGT") +defineIndicatorLight("CIS_PLT_BCKCRS", 218, "CISP", "LIGHT_BACKCRS") +defineIndicatorLight("CIS_PLT_FMHME", 219, "CISP", "LIGHT_FMHOME") +defineIndicatorLight("CIS_PLT_TRNRM", 220, "CISP", "LIGHT_TRNORM") +defineIndicatorLight("CIS_PLT_TRALT", 221, "CISP", "LIGHT_TRALT") +defineIndicatorLight("CIS_PLT_CRSHDGPLT", 222, "CISP", "LIGHT_HDGPLT") +defineIndicatorLight("CIS_PLT_CRSHDGCPLT", 223, "CISP", "LIGHT_HDGCPLT") +defineIndicatorLight("CIS_PLT_GYRNRM", 224, "CISP", "LIGHT_GYRONORM") +defineIndicatorLight("CIS_PLT_GYROALT", 225, "CISP", "LIGHT_GYROALT") +defineIndicatorLight("CIS_PLT_BRG2ADF", 226, "CISP", "LIGHT_BRG2ADF") +defineIndicatorLight("CIS_PLT_BRG2VOR", 227, "CISP", "LIGHT_BRG2VOR") + +-- AFCS LIGHTS +defineIndicatorLight("AFC_BST_LGHT", 241, "AFCS", "LIGHT_AFCS_BOOST") +defineIndicatorLight("AFC_SS1_LGHT", 242, "AFCS", "LIGHT_AFCS_SAS1") +defineIndicatorLight("AFC_SS2_LGHT", 243, "AFCS", "LIGHT_AFCS_SAS2") +defineIndicatorLight("AFC_TRM_LGHT", 244, "AFCS", "LIGHT_AFCS_TRIM") +defineIndicatorLight("AFC_FPS_LGHT", 245, "AFCS", "LIGHT_AFCS_FPS") +defineIndicatorLight("AFC_STB_LGHT", 246, "AFCS", "LIGHT_AFCS_STABAUTO") + +--MCP LAMPS +defineIndicatorLight("MST_CAUTION", 313, "MCP", "LIGHT_MCP_MC") + +--MISC PANEL LIGHTS +defineIndicatorLight("WHL_LCK_LGT", 294, "Misc", "TAIL_WHEEL_LOCK") + +--Electric System +defineToggleSwitch( "BATT_SW", 27, 3013, 17, "Electric System", "Battery Switch OFF/ON") +defineSpringloaded_3_pos_tumb( "EXT_PWR_SW", 27, 3014, 3021, 18, "Electric System", "External Power Switch RESET/OFF/ON") +defineSpringloaded_3_pos_tumb( "APU_GEN_SW", 27, 3015, 3018, 19, "Electric System", "APU GEN Switch TEST/OFF/ON") +defineSpringloaded_3_pos_tumb( "GEN1_SW", 27, 3016, 3019, 20, "Electric System", "GEN 1 Switch TEST/OFF/ON") +defineSpringloaded_3_pos_tumb( "GEN2_SW", 27, 3017, 3020, 21, "Electric System", "GEN 2 Switch TEST/OFF/ON") + +--Fuel and Engines +defineSpringloaded_3_pos_tumb("FUEL_PMP_SW", 27, 3022, 3022, 22, "Fuel and Engines", "FUEL PRIME/OFF/APU BOOST") +defineSpringloaded_3_pos_tumb("AIR_SRC_SW", 27, 3023, 3023, 23, "Fuel and Engines", "Air Source APU/OFF/ENG" ) +defineToggleSwitch("APU_CTRL_SW", 27, 3024, 24, "Fuel and Engines", "APU CONTROL OFF/ON") +defineToggleSwitch("FUEL1_BST_PMP", 27, 3044, 40, "Fuel and Engines", "Boost Pump 1 OFF/ON") + +-- APU EXTINGUISH +definePotentiometer("ENG1_CTRL", 16, 3206, 26, {0,1}, "APU Extinguish", "Engine 1 Control") +definePotentiometer("ENG2_CTRL", 16, 3207, 27, {0,1}, "APU Extinguish", "Engine 2 Control") + +defineMultipositionSwitch("ENG1_FSS", 16, 3208, 28, 3, 0.5, "APU Extinguish", "Engine 1 FSS OFF/DIR/XFD") --3, 1/2, false, 0, 1, false) +defineMultipositionSwitch("ENG2_FSS", 16, 3209, 29, 3, 0.5, "APU Extinguish", "Engine 2 FSS OFF/DIR/XFD") --3, 1/2, false, 0, 1, false) +defineToggleSwitch("ENG1_START", 16, 3210, 30, "APU Extinguish", "Engine 1 Starter") +defineToggleSwitch("ENG2_START", 16, 3211, 31, "APU Extinguish", "Engine 2 Starter") +defineTumb("ENG1_CTR_LVL", 16, 3204, 42, 1, {-1, 0}, nil, false, "ECQ", "Engine 1 Control Level OFF/IDLE") +defineTumb("ENG2_CTR_LVL", 16, 3205, 43, 1, {-1, 0}, nil, false, "ECQ", "Engine 2 Control Level OFF/IDLE") + + +-- STAB PANEL +defineSpringloaded_3_pos_tumb( "STAB_MAN_SLW", 17, 3228, 3229, 32, "STAB Panel", "Manual Slew UP") +definePushButton( "STAB_AUTO", 17, 3222, 33, "STAB Panel", "STAB OFF/ON") +definePushButton( "SAS1", 17, 3223, 34, "STAB Panel", "SAS 1 OFF/ON") +definePushButton( "SAS2", 17, 3224, 35, "STAB Panel", "SAS 2 OFF/ON") +definePushButton( "TRIM", 17, 3225, 36, "STAB Panel", "Trim OFF/ON") +definePushButton( "FPS", 17, 3226, 37, "STAB Panel", "FPS OFF/ON") +definePushButton( "SAS_BST", 17, 3227, 38, "STAB Panel", "SAS Boost OFF/ON") +--definePushButton("AUTO_TRIM1",52, 3452, 39, "STAB Panel", "Auto Trim ON/OFF") + +-- -- PARKING BRAKE +defineToggleSwitch("PRK_BRK", 27, 3402, 80, "General", "Parking Brake") + +-- -- PILOT BARO ALTIMETER +-- elements["PNT-063"] = default_axis(_("Barometric Scale Set"), devices.PLTAAU32A, device_commands.pilotBarometricScaleSet, 63, 0, 0.1, false, true) + +-- -- COPILOT BARO ALTIMETER +-- elements["PNT-073"] = default_axis(_("Barometric Scale Set"), devices.CPLTAAU32A, device_commands.copilotBarometricScaleSet, 73, 0, 0.1, false, true) + +-- -- PILOT HSI +-- --default_axis(hint_,device_,command_,arg_, default_, gain_,updatable_,relative_,cycled_,attach_left_,attach_right_) +-- elements["PNT-130"] = default_axis(_("Heading Set"), devices.PLTCISP, device_commands.pilotHSIHdgSet, 130, 0, 0.1, false, true) +-- elements["PNT-131"] = default_axis(_("Course Set"), devices.PLTCISP, device_commands.pilotHSICrsSet, 131, 0, 0.1, false, true) + +-- -- COPILOT HSI +-- --default_axis(hint_,device_,command_,arg_, default_, gain_,updatable_,relative_,cycled_,attach_left_,attach_right_) +-- elements["PNT-150"] = default_axis(_("Heading Set"), devices.CPLTCISP, device_commands.copilotHSIHdgSet, 150, 0, 0.1, false, true) +-- elements["PNT-151"] = default_axis(_("Course Set"), devices.CPLTCISP, device_commands.copilotHSICrsSet, 151, 0, 0.1, false, true) + +-- -- MISC +defineToggleSwitch("TAIL_WHL_LCK", 46, 3410, 291, "Misc", "Tail Wheel LOCK/UNLOCK") + +-- -- CAUTION/DISPLAY PANELS +definePushButton("CDU_TST", 25, 3230, 301, "Vids", "CDU Lamp Test") +definePushButton("PDU1_TST", 25, 3231, 302, "Vids", "PDU Test Pilot") +--definePushButton("PDU2_TST", 25, 3232, "Vids", "PDU Test CoPilot") + +defineTumb("CAP_TST", 24, 3219, 304, 1, {-1, 0}, nil, false, "Caution Display Panel", "CAP Lamp TEST") +defineToggleSwitch("CAP_BRGT", 24, 3220, 304, "Caution Display Panel", "CAP Lamp BRIGHTNESS") +definePushButton("MST_CAUT_RST", 24, 3221, 305, "Caution Display Panel", "Master Caution Reset") + +-- -- AN/ASN-128B +defineMultipositionSwitch("128B_DISPLAY", 23, 3236, 500, 7, 0.01, "AN/ASN-128B", "AN/ASN-128B Select Display") +defineMultipositionSwitch("128B_MODE", 23, 3235, 501, 6, 0.01, "AN/ASN-128B", "AN/ASN-128B Select Mode") +definePushButton("128B_KYBD", 23, 3237, 502, "AN/ASN-128B", "AN/ASN-128B Select Button KYBD") +definePushButton("128B_LTR_LFT", 23, 3238, 503, "AN/ASN-128B", "AN/ASN-128B Select Button LTR Left") +definePushButton("128B_LTR_MID", 23, 3239, 504, "AN/ASN-128B", "AN/ASN-128B Select Button LTR Mid") +definePushButton("128B_LTR_RGHT", 23, 3240, 505, "AN/ASN-128B", "AN/ASN-128B Select Button LTR Right") +definePushButton("128B_F1", 23, 3241, 506, "AN/ASN-128B", "AN/ASN-128B Select Button F1") +definePushButton("128B_1", 23, 3242, 507, "AN/ASN-128B", "AN/ASN-128B Select Button 1") +definePushButton("128B_2", 23, 3243, 508, "AN/ASN-128B", "AN/ASN-128B Select Button 2") +definePushButton("128B_3", 23, 3244, 509, "AN/ASN-128B", "AN/ASN-128B Select Button 3") +definePushButton("128B_TGT_STR", 23, 3245, 510, "AN/ASN-128B", "AN/ASN-128B Select Button TGT STR") +definePushButton("128B_4", 23, 3246, 511, "AN/ASN-128B", "AN/ASN-128B Select Button 4") +definePushButton("128B_5", 23, 3247, 512, "AN/ASN-128B", "AN/ASN-128B Select Button 5") +definePushButton("128B_6", 23, 3248, 513, "AN/ASN-128B", "AN/ASN-128B Select Button 6") +definePushButton("128B_INC", 23, 3249, 514, "AN/ASN-128B", "AN/ASN-128B Select Button INC") +definePushButton("128B_7", 23, 3250, 515, "AN/ASN-128B", "AN/ASN-128B Select Button 7") +definePushButton("128B_8", 23, 3251, 516, "AN/ASN-128B", "AN/ASN-128B Select Button 8") +definePushButton("128B_9", 23, 3252, 517, "AN/ASN-128B", "AN/ASN-128B Select Button 9") +definePushButton("128B_DEC", 23, 3253, 518, "AN/ASN-128B", "AN/ASN-128B Select Button DEC") +definePushButton("128B_CLR", 23, 3254, 519, "AN/ASN-128B", "AN/ASN-128B Select Button CLR") +definePushButton("128B_0", 23, 3255, 520, "AN/ASN-128B", "AN/ASN-128B Select Button 0") +definePushButton("128B_ENT", 23, 3256, 521, "AN/ASN-128B", "AN/ASN-128B Select Button ENT") + +-- -- CISP +definePushButton("CIS_HDG", 39, 3369, 930, "CISP", "CISP Pilot HDG OFF/ON") +definePushButton("CIS_NAV", 39, 3370, 931, "CISP", "CISP Pilot NAV OFF/ON") +definePushButton("CIS_ALT", 39, 3371, 932, "CISP", "CISP Pilot ALT OFF/ON") + +definePushButton("NAV_DPLR", 37, 3372, 933, "CISP", "CISP Pilot DLPR GPS OFF/ON") +definePushButton("NAV_VOR", 37, 3373, 934, "CISP", "CISP Pilot VOR ILS OFF/ON") +definePushButton("NAV_BACK", 37, 3374, 935, "CISP", "CISP Pilot BACK CRS OFF/ON") +definePushButton("NAV_FM", 37, 3375, 936, "CISP", "CISP Pilot FM HOME OFF/ON") +definePushButton("TRN_RATE", 37, 3376, 937, "CISP", "CISP Pilot TURN RATE NORM/ALTR") +definePushButton("CRS_HDG", 37, 3377, 938, "CISP", "CISP Pilot CRS HDG - PLT/CPLT") +definePushButton("VRT_GYRO", 37, 3378, 939, "CISP", "CISP Pilot VERT GYRO NORM/ALTR") +definePushButton("BRG2", 37, 3379, 940, "CISP", "CISP Pilot BRG2 ADF/VOR") + +-- -- AN/AVS-7 PANEL +defineTumb( "AVS_ON", 30, 3257, 1100, 1, {-1, 1}, nil, false, "AN/AVS-7 HUD", "AN/AVS-7 OFF/ON/ADJ") +defineSpringloaded_3_pos_tumb("AVS_DIM", 30, 3259, 3258, 1106, "AN/AVS-7 HUD", "AN/AVS-7 DIM/BRIGHT") + +-- -- AN/ARC-164 +-- elements["PNT-050"] = multiposition_switch(_("AN/ARC-164 Mode"), devices.ARC164, device_commands.arc164_mode, 50, 4, 0.01, false, 0, 100, false) +-- elements["PNT-051"] = default_axis(_("AN/ARC-164 Volume"), devices.ARC164, device_commands.arc164_volume, 51) +-- elements["PNT-052"] = multiposition_switch(_("AN/ARC-164 Manual/Preset/Guard"), devices.ARC164, device_commands.arc164_xmitmode, 52, 4, 0.01, false, 0, 100, false) +-- elements["PNT-053"] = multiposition_switch(_("AN/ARC-164 100s"), devices.ARC164, device_commands.arc164_freq_Xooooo, 53, 2, 0.1, false, 0, 100, false) +-- elements["PNT-054"] = multiposition_switch(_("AN/ARC-164 10s"), devices.ARC164, device_commands.arc164_freq_oXoooo, 54, 10, 0.1, false, 0, 100, false) +-- elements["PNT-055"] = multiposition_switch(_("AN/ARC-164 1s"), devices.ARC164, device_commands.arc164_freq_ooXooo, 55, 10, 0.1, false, 0, 100, false) +-- elements["PNT-056"] = multiposition_switch(_("AN/ARC-164 .1s"), devices.ARC164, device_commands.arc164_freq_oooXoo, 56, 10, 0.1, false, 0, 100, false) +-- elements["PNT-057"] = multiposition_switch(_("AN/ARC-164 .010s"), devices.ARC164, device_commands.arc164_freq_ooooXX, 57, 4, 0.1, false, 0, 100, false) +-- elements["PNT-058"] = multiposition_switch(_("AN/ARC-164 Preset"), devices.ARC164, device_commands.arc164_preset, 58, 20, 0.05, false, 0, 100, false) + +-- -- Pilot APN-209 Radar Altimeter +-- --default_axis(hint_,device_,command_,arg_, default_, gain_,updatable_,relative_,cycled_,attach_left_,attach_right_) +-- elements["PNT-170"] = default_axis(_("Low Altitude Set"), devices.PLTAPN209, device_commands.apn209PilotLoSet, 170, 0, 20, true, true, true) +-- elements["PNT-171"] = default_axis(_("High Altitude Set"), devices.PLTAPN209, device_commands.apn209PilotHiSet, 171, 0, 20, true, true, true) + +-- elements["PNT-183"] = default_axis(_("Low Altitude Set"), devices.CPLTAPN209, device_commands.apn209CopilotLoSet, 183, 0, 20, true, true, true) +-- elements["PNT-184"] = default_axis(_("High Altitude Set"), devices.CPLTAPN209, device_commands.apn209CopilotHiSet, 184, 0, 20, true, true, true) + +-- -- Lighting +definePotentiometer( "GLR_SHLD", 20, 3272, 251, {0,1}, "Lights", "Glareshield Lights OFF/BRT") +defineSpringloaded_3_pos_tumb( "POS_LGHT_DIM", 20, 3281, 3281, 252, "Lights", "Position Lights DIM/OFF/BRT") +defineTumb( "POS_LGTH_MOD", 20, 3282, 253, 1, {0, 1}, nil, false, "Lights", "Position Lights STEADY/FLASH") +defineSpringloaded_3_pos_tumb( "ANTI_LGHT_UP", 20, 3283, 3283, 254, "Lights", "Anticollision Lights UPPER/BOTH/LOWER") +defineSpringloaded_3_pos_tumb( "ANTI_LGHT_DAY", 20, 3284, 3284, 255, "Lights", "Anticollision Lights DAY/OFF/NIGHT") +defineTumb( "NAV_LGTH_MOD", 20, 3285, 256, 1, {0, 1}, nil, false, "Lights", "Nav Lights NORM/IR") +defineSpringloaded_3_pos_tumb( "POS_LGHT", 20, 3286, 3286, 257, "Lights", "Cabin Lights BLUE/OFF/WHITE") +definePotentiometer( "LGHT_SWTCH", 20, 3274, 260, {0,1}, "Lights", "Lighted Switches OFF/BRT") +defineMultipositionSwitch( "FORM_LGHT", 20, 3275, 261, 6, 0.2, "Lights", "Formation Lights OFF/1/2/3/4/5") + +definePotentiometer("UPP_BRT", 20, 3276, 262, {0,1}, "Lights", "Upper Console Lights OFF/BRT") +definePotentiometer("LWR_BRT", 20, 3277, 263, {0,1}, "Lights", "Lower Console Lights OFF/BRT") +definePotentiometer("PLT_INST_BRT", 20, 3278, 264, {0,1}, "Lights", "Pilot Flight Instrument Lights OFF/BRT") +definePotentiometer("CPLT_INST_BRT", 20, 3273, 259, {0,1}, "Lights", "CoPilot Flight Instrument Lights OFF/BRT") +definePotentiometer("LGHT_BRT", 20, 3279, 265, {0,1}, "Lights", "Non Flight Instrument Lights OFF/BRT") +definePotentiometer("RDR_DIM", 20, 3289, 266, {0,1}, "Lights", "Radar Altimeter DIM") + +defineTumb( "CMP_LGTH_MOD", 20, 3280, 268, 1, {0, 1}, nil, false, "Lights", "Magnetic Compass Light OFF/ON") +defineSpringloaded_3_pos_tumb("CKPT_LGHT_DAY", 20, 3287, 3287, 269, "Lights", "Cockpit Lights BLUE/OFF/WHITE") + +-- -- AN/APR-39 +-- elements["PNT-270"] = default_2_position_tumb(_("AN/APR-39 Power ON/OFF"), devices.APR39, device_commands.apr39Power, 270, 8) +-- elements["PNT-271"] = short_way_button(_("AN/APR-39 Self Test (Inop.)"), devices.APR39, device_commands.apr39SelfTest, 271) +-- elements["PNT-272"] = default_2_position_tumb(_("AN/APR-39 Altitude HIGH/LOW (Inop.)"), devices.APR39, device_commands.apr39Altitude, 272, 8) +-- elements["PNT-273"] = default_axis(_("AN/APR-39 Volume"), devices.APR39, device_commands.apr39Volume, 273) +-- elements["PNT-274"] = default_axis(_("AN/APR-39 Brilliance"), devices.APR39, device_commands.apr39Brightness, 274) + +-- -- PILOT LC6 CHRONOMETER +-- elements["PNT-280"] = default_button(_("Pilot's Chronometer RESET/SET Button"), devices.PLTLC6, device_commands.resetSetBtn, 280) +-- elements["PNT-281"] = default_button(_("Pilot's Chronometer MODE Button"), devices.PLTLC6, device_commands.modeBtn, 281) +-- elements["PNT-282"] = default_button(_("Pilot's Chronometer START/STOP/ADVANCE Button"), devices.PLTLC6, device_commands.startStopAdvBtn, 282) + +-- -- COPILOT LC6 CHRONOMETER +-- elements["PNT-283"] = default_button(_("Copilot's Chronometer RESET/SET Button"), devices.CPLTLC6, device_commands.resetSetBtn, 283) +-- elements["PNT-284"] = default_button(_("Copilot's Chronometer MODE Button"), devices.CPLTLC6, device_commands.modeBtn, 284) +-- elements["PNT-285"] = default_button(_("Copilot's Chronometer START/STOP/ADVANCE Button"), devices.CPLTLC6, device_commands.startStopAdvBtn, 285) + +-- -- PILOT ICS PANEL +-- --multiposition_switch_relative(hint_,device_,command_,arg_,count_,delta_,inversed_,min_,animation_speed_,cycled_) +-- elements["PNT-400"] = multiposition_switch(_("Pilot ICP XMIT Selector"), devices.BASERADIO, device_commands.pilotICPXmitSelector, 400, 6, 1/5, false, 0, 16, false) +-- elements["PNT-401"] = default_axis_limited(_("Pilot ICP RCV Volume"), devices.PLT_ICP, device_commands.pilotICPSetVolume, 401, 0, 0.1, true, false, {0,1}) +-- elements["PNT-402"] = default_2_position_tumb(_("Pilot ICP Hot Mike (Inop.)"), devices.PLT_ICP, device_commands.foo, 402, 8) +-- elements["PNT-403"] = default_2_position_tumb(_("Pilot ICP RCV FM1"), devices.PLT_ICP, device_commands.pilotICPToggleFM1, 403, 8) +-- elements["PNT-404"] = default_2_position_tumb(_("Pilot ICP RCV UHF"), devices.PLT_ICP, device_commands.pilotICPToggleUHF, 404, 8) +-- elements["PNT-405"] = default_2_position_tumb(_("Pilot ICP RCV VHF"), devices.PLT_ICP, device_commands.pilotICPToggleVHF, 405, 8) +-- elements["PNT-406"] = default_2_position_tumb(_("Pilot ICP RCV FM2"), devices.PLT_ICP, device_commands.pilotICPToggleFM2, 406, 8) +-- elements["PNT-407"] = default_2_position_tumb(_("Pilot ICP RCV HF"), devices.PLT_ICP, device_commands.pilotICPToggleHF, 407, 8) +-- elements["PNT-408"] = default_2_position_tumb(_("Pilot ICP RCV VOR/LOC"), devices.PLT_ICP, device_commands.pilotICPToggleVOR, 408, 8) +-- elements["PNT-409"] = default_2_position_tumb(_("Pilot ICP RCV ADF"), devices.PLT_ICP, device_commands.pilotICPToggleADF, 409, 8) + +-- -- TODO OTHER ICS PANELS? + +-- -- ARC-186 VHF +-- elements["PNT-410"] = default_axis_limited(_("AN/ARC-186 Volume"), devices.ARC186, device_commands.arc186Volume, 410, 0, 0.1, true, false, {0,1}) +-- elements["PNT-411"] = default_button_tumb_v2_inverted(_("AN/ARC-186 Tone (Inop.)"), devices.ARC186, device_commands.arc186Tone, device_commands.arc186Tone, 411) +-- elements["PNT-412"] = multiposition_switch(_("AN/ARC-186 10MHz Selector"), devices.ARC186, device_commands.arc186Selector10MHz, 412, 13, 1/12, false, 0, 16, true) +-- elements["PNT-413"] = multiposition_switch(_("AN/ARC-186 1MHz Selector"), devices.ARC186, device_commands.arc186Selector1MHz, 413, 10, 0.1, false, 0, 16, true) +-- elements["PNT-414"] = multiposition_switch(_("AN/ARC-186 100KHz Selector"), devices.ARC186, device_commands.arc186Selector100KHz, 414, 10, 0.1, false, 0, 16, true) +-- elements["PNT-415"] = multiposition_switch(_("AN/ARC-186 25KHz Selector"), devices.ARC186, device_commands.arc186Selector25KHz, 415, 4, 0.25, false, 0, 16, true) +-- elements["PNT-416"] = multiposition_switch(_("AN/ARC-186 Frequency Control Selector"), devices.ARC186, device_commands.arc186FreqSelector, 416, 4, 1/3, false, 0, 16, false) +-- elements["PNT-417"] = default_button(_("AN/ARC-186 Load Pushbutton"), devices.ARC186, device_commands.arc186Load, 417) +-- elements["PNT-418"] = multiposition_switch(_("AN/ARC-186 Preset Channel Selector"), devices.ARC186, device_commands.arc186PresetSelector, 418, 20, 0.05, false, 0, 16, true) +-- elements["PNT-419"] = multiposition_switch(_("AN/ARC-186 Mode Selector"), devices.ARC186, device_commands.arc186ModeSelector, 419, 3, 0.5, false, 0, 16, false) + +-- -- AFMS +-- elements["PNT-460"] = default_3_position_tumb(_("Aux Fuel Transfer Mode MAN/OFF/AUTO"), devices.AFMS, device_commands.afmcpXferMode, 460) +-- elements["PNT-461"] = default_3_position_tumb(_("Aux Fuel Manual Transfer RIGHT/BOTH/LEFT"), devices.AFMS, device_commands.afmcpManXfer,461) +-- elements["PNT-462"] = default_2_position_tumb(_("Aux Fuel Transfer From RIGHT/LEFT"), devices.AFMS, device_commands.afmcpXferFrom, 462, 8) +-- elements["PNT-463"] = multiposition_switch(_("Aux Fuel Pressurization Selector"), devices.AFMS, device_commands.afmcpPress, 463, 4, 1/3, false, 0, 16, false) + +--DOORS +defineToggleSwitch("CPLT_DOOR", 46, 3403, 470, "Misc", "Copilot Door OPEN/CLOSE") +defineToggleSwitch("PLT_DOOR", 46, 3404, 471, "Misc", "Pilot Door OPEN/CLOSE") +defineToggleSwitch("LFT_GUN_WIN", 46, 3405, 472, "Misc", "Left Gunner Door OPEN/CLOSE") +defineToggleSwitch("RGT_GUN_WIN", 46, 3406, 473, "Misc", "Right Gunner Door OPEN/CLOSE") +defineToggleSwitch("LFT CRG DOOR", 46, 3407, 474, "Misc", "Left Cargo Door OPEN/CLOSE") +defineToggleSwitch("RGT_CRG_DOOR", 46, 3408, 475, "Misc", "Right Cargo Door OPEN/CLOSE") + +-- M130 CM System +defineToggleSwitch("FLR_DSP_CVR", 32, 3308, 550, "M130 CM", "Flare Dispenser Mode Cover OPEN/CLOSE") +defineToggleSwitch("FLR_DSP_SW", 32, 3421, 551, "M130 CM", "Flare Dispenser Switch OFF/ON") + +--FlareDispenseMode +--elements["PNT-552"] = multiposition_switch_relative(_("Flare Counter"), devices.M130, device_commands.cmFlareCounterDial, 552, 10, 1/9, false, 0, 16, true) +--elements["PNT-553"] = multiposition_switch_relative(_("Chaff Counter"), devices.M130, device_commands.cmChaffCounterDial, 553, 10, 1/9, false, 0, 16, true) +defineToggleSwitch( "CM_ARM_SW", 32, 3311, 559, "M130 CM", "Countermeasures Arming Switch OFF/ON") +defineMultipositionSwitch( "CHAFF_MOD_SEL", 32, 3313, 560, 3, 0.5, "M130 CM", "Chaff Mode Selector") --3, 1/2, false, 0, 16, false) +definePushButton( "CHAF_DISP", 32, 3314, 561, "M130 CM", "Chaff Dispense") + +-- -- ARC-201 FM1 +-- elements["PNT-600"] = multiposition_switch(_("AN/ARC-201 (FM1) PRESET Selector"), devices.ARC201_FM1, device_commands.fm1PresetSelector, 600, 8, 0.01, false, 0, 16, false) +-- elements["PNT-601"] = multiposition_switch(_("AN/ARC-201 (FM1) FUNCTION Selector"), devices.ARC201_FM1, device_commands.fm1FunctionSelector, 601, 9, 0.01, false, 0, 16, false) +-- elements["PNT-602"] = multiposition_switch(_("AN/ARC-201 (FM1) PWR Selector"), devices.ARC201_FM1, device_commands.fm1PwrSelector, 602, 4, 0.01, false, 0, 16, false) +-- elements["PNT-603"] = multiposition_switch(_("AN/ARC-201 (FM1) MODE Selector"), devices.ARC201_FM1, device_commands.fm1ModeSelector, 603, 4, 0.01, false, 0, 16, false) +-- elements["PNT-604"] = default_axis_limited(_("AN/ARC-201 (FM1) Volume"), devices.ARC201_FM1, device_commands.fm1Volume, 604, 0, 0.1, true, false, {0,1}) + +-- elements["PNT-605"] = default_button(_("AN/ARC-201 (FM1) Btn 1"), devices.ARC201_FM1, device_commands.fm1Btn1, 605) +-- elements["PNT-606"] = default_button(_("AN/ARC-201 (FM1) Btn 2"), devices.ARC201_FM1, device_commands.fm1Btn2, 606) +-- elements["PNT-607"] = default_button(_("AN/ARC-201 (FM1) Btn 3"), devices.ARC201_FM1, device_commands.fm1Btn3, 607) +-- elements["PNT-608"] = default_button(_("AN/ARC-201 (FM1) Btn 4"), devices.ARC201_FM1, device_commands.fm1Btn4, 608) +-- elements["PNT-609"] = default_button(_("AN/ARC-201 (FM1) Btn 5"), devices.ARC201_FM1, device_commands.fm1Btn5, 609) +-- elements["PNT-610"] = default_button(_("AN/ARC-201 (FM1) Btn 6"), devices.ARC201_FM1, device_commands.fm1Btn6, 610) +-- elements["PNT-611"] = default_button(_("AN/ARC-201 (FM1) Btn 7"), devices.ARC201_FM1, device_commands.fm1Btn7, 611) +-- elements["PNT-612"] = default_button(_("AN/ARC-201 (FM1) Btn 8"), devices.ARC201_FM1, device_commands.fm1Btn8, 612) +-- elements["PNT-613"] = default_button(_("AN/ARC-201 (FM1) Btn 9"), devices.ARC201_FM1, device_commands.fm1Btn9, 613) +-- elements["PNT-614"] = default_button(_("AN/ARC-201 (FM1) Btn 0"), devices.ARC201_FM1, device_commands.fm1Btn0, 614) +-- elements["PNT-615"] = default_button(_("AN/ARC-201 (FM1) Btn CLR"), devices.ARC201_FM1, device_commands.fm1BtnClr, 615) +-- elements["PNT-616"] = default_button(_("AN/ARC-201 (FM1) Btn ENT"), devices.ARC201_FM1, device_commands.fm1BtnEnt, 616) +-- elements["PNT-617"] = default_button(_("AN/ARC-201 (FM1) Btn FREQ"), devices.ARC201_FM1, device_commands.fm1BtnFreq, 617) +-- elements["PNT-618"] = default_button(_("AN/ARC-201 (FM1) Btn ERF/OFST"), devices.ARC201_FM1, device_commands.fm1BtnErfOfst, 618) +-- elements["PNT-619"] = default_button(_("AN/ARC-201 (FM1) Btn TIME"), devices.ARC201_FM1, device_commands.fm1BtnTime, 619) + +-- -- AN/ARN-149 +-- elements["PNT-620"] = multiposition_switch(_("AN/ARN-149 PRESET Selector"), devices.ARN149, device_commands.arn149Preset, 620, 3, 0.5, false, 0, 100, false) +-- elements["PNT-621"] = default_3_position_tumb(_("AN/ARN-149 TONE/OFF/TEST"), devices.ARN149, device_commands.arn149ToneTest, 621, 8) +-- elements["PNT-622"] = default_axis_limited(_("AN/ARN-149 Volume"), devices.ARN149, device_commands.arn149Volume, 622, 0, 0.1, true, false, {0,1}) +-- elements["PNT-623"] = default_2_position_tumb(_("AN/ARN-149 TAKE CMD (Inop.)"), devices.ARN149, device_commands.foo, 623, 8) +-- elements["PNT-624"] = multiposition_switch(_("AN/ARN-149 POWER Selector"), devices.ARN149, device_commands.arn149Power, 624, 3, 0.5, false, 0, 100, false) +-- elements["PNT-625"] = multiposition_switch(_("AN/ARN-149 1000s Khz Selector"), devices.ARN149, device_commands.arn149thousands, 625, 3, 0.5, false, 0, 100, false) +-- elements["PNT-626"] = multiposition_switch(_("AN/ARN-149 100s Khz Selector"), devices.ARN149, device_commands.arn149hundreds, 626, 10, 0.1, false, 0, 100, true) +-- elements["PNT-627"] = multiposition_switch(_("AN/ARN-149 10s Khz Selector"), devices.ARN149, device_commands.arn149tens, 627, 10, 0.1, false, 0, 100, true) +-- elements["PNT-628"] = multiposition_switch(_("AN/ARN-149 1s Khz Selector"), devices.ARN149, device_commands.arn149ones, 628, 10, 0.1, false, 0, 100, true) +-- elements["PNT-629"] = multiposition_switch(_("AN/ARN-149 .1s Khz Selector"), devices.ARN149, device_commands.arn149tenths, 629, 10, 0.1, false, 0, 100, true) + +-- -- AN/ARN-147 +-- elements["PNT-650"] = multiposition_switch_relative(_("AN/ARN-147 MHz Selector"), devices.ARN147, device_commands.arn147MHz, 650, 10, 0.1, false, 0, 100, true) +-- elements["PNT-651"] = multiposition_switch_relative(_("AN/ARN-147 KHz Selector"), devices.ARN147, device_commands.arn147KHz, 651, 10, 0.1, false, 0, 100, true) +-- elements["PNT-652"] = default_2_position_tumb(_("AN/ARN-147 Marker Beacon HI/LO (Inop.)"), devices.ARN147, device_commands.foo, 652, 8) +-- elements["PNT-653"] = default_3_position_tumb(_("AN/ARN-147 Power Selector OFF/ON/TEST"), devices.ARN147, device_commands.arn147Power, 653, 8) + +-- -- WIPERS +defineTumb("WPRS", 46, 3288, 631, 0.5, {-0.5, 1}, nil, false, "Misc", "Wipers PARK/OFF/LOW/HI") + +-- -- ARC-201 FM2 +-- elements["PNT-700"] = multiposition_switch(_("AN/ARC-201 (FM2) PRESET Selector"), devices.ARC201_FM2, device_commands.fm2PresetSelector, 700, 8, 0.01, false, 0, 16, false) +-- elements["PNT-701"] = multiposition_switch(_("AN/ARC-201 (FM2) FUNCTION Selector"), devices.ARC201_FM2, device_commands.fm2FunctionSelector, 701, 9, 0.01, false, 0, 16, false) +-- elements["PNT-702"] = multiposition_switch(_("AN/ARC-201 (FM2) PWR Selector"), devices.ARC201_FM2, device_commands.fm2PwrSelector, 702, 4, 0.01, false, 0, 16, false) +-- elements["PNT-703"] = multiposition_switch(_("AN/ARC-201 (FM2) MODE Selector"), devices.ARC201_FM2, device_commands.fm2ModeSelector, 703, 4, 0.01, false, 0, 16, false) +-- elements["PNT-704"] = default_axis_limited(_("AN/ARC-201 (FM2) Volume"), devices.ARC201_FM2, device_commands.fm2Volume, 704, 0, 0.1, true, false, {0,1}) + +-- elements["PNT-705"] = default_button(_("AN/ARC-201 (FM2) Btn 1"), devices.ARC201_FM2, device_commands.fm2Btn1, 705) +-- elements["PNT-706"] = default_button(_("AN/ARC-201 (FM2) Btn 2"), devices.ARC201_FM2, device_commands.fm2Btn2, 706) +-- elements["PNT-707"] = default_button(_("AN/ARC-201 (FM2) Btn 3"), devices.ARC201_FM2, device_commands.fm2Btn3, 707) +-- elements["PNT-708"] = default_button(_("AN/ARC-201 (FM2) Btn 4"), devices.ARC201_FM2, device_commands.fm2Btn4, 708) +-- elements["PNT-709"] = default_button(_("AN/ARC-201 (FM2) Btn 5"), devices.ARC201_FM2, device_commands.fm2Btn5, 709) +-- elements["PNT-710"] = default_button(_("AN/ARC-201 (FM2) Btn 6"), devices.ARC201_FM2, device_commands.fm2Btn6, 710) +-- elements["PNT-711"] = default_button(_("AN/ARC-201 (FM2) Btn 7"), devices.ARC201_FM2, device_commands.fm2Btn7, 711) +-- elements["PNT-712"] = default_button(_("AN/ARC-201 (FM2) Btn 8"), devices.ARC201_FM2, device_commands.fm2Btn8, 712) +-- elements["PNT-713"] = default_button(_("AN/ARC-201 (FM2) Btn 9"), devices.ARC201_FM2, device_commands.fm2Btn9, 713) +-- elements["PNT-714"] = default_button(_("AN/ARC-201 (FM2) Btn 0"), devices.ARC201_FM2, device_commands.fm2Btn0, 714) +-- elements["PNT-715"] = default_button(_("AN/ARC-201 (FM2) Btn CLR"), devices.ARC201_FM2, device_commands.fm2BtnClr, 715) +-- elements["PNT-716"] = default_button(_("AN/ARC-201 (FM2) Btn ENT"), devices.ARC201_FM2, device_commands.fm2BtnEnt, 716) +-- elements["PNT-717"] = default_button(_("AN/ARC-201 (FM2) Btn FREQ"), devices.ARC201_FM2, device_commands.fm2BtnFreq, 717) +-- elements["PNT-718"] = default_button(_("AN/ARC-201 (FM2) Btn ERF/OFST"), devices.ARC201_FM2, device_commands.fm2BtnErfOfst, 718) +-- elements["PNT-719"] = default_button(_("AN/ARC-201 (FM2) Btn TIME"), devices.ARC201_FM2, device_commands.fm2BtnTime, 719) + +-- AUX SYSTEM CONTROL PANEL +defineToggleSwitch("MST_SNR_CVR", 49, 3534, 1998, "Aux System Panel", "Master Sonar Cover OPEN/CLOSE") +defineToggleSwitch("MST_ARM_SNR", 49, 3535, 1999, "Aux System Panel", "Master Arm Sonar OFF/ON") +defineToggleSwitch("MST_ARM_SON", 49, 3532, 2000, "Aux System Panel", "Master Arm Sonobuoys OFF/ON") +defineToggleSwitch("SONO_DISP", 49, 3533, 2001, "Aux System Panel", "Sonobuoy Dispense OFF/ON") +defineSpringloaded_3_pos_tumb("SNR_WNCH", 49, 3536, 3536, 2002, "Aux System Panel", "Winch Sonar DOWN/STOP/UP") +defineToggleSwitch("MST_SON_CVR", 49, 3531, 2003, "Aux System Panel", "Master Sonobuoys Cover OPEN/CLOSE") + +-- WEAPONS SYSTEM CONTROL PANEL +defineToggleSwitch("MST_ARM_WPN", 49, 3423, 2004, "Weapons System Panel", "Master Arm Weapons OFF/ON") +defineMultipositionSwitch("SLV_SELC", 49, 3424, 2005, 7, 0.1, "Weapons System Panel", "Select SALVE") +defineToggleSwitch("MST_ARM_CVR", 49, 3425, 2006, "Weapons System Panel", "Master Arm Cover OPEN/CLOSE") + +defineToggleSwitch("STA_LFT_PYL", 49, 3426, 2007, "Weapons System Panel", "Stat. Left Pyl. OFF/ON") +defineToggleSwitch("STA_LFT_SID", 49, 3427, 2008, "Weapons System Panel", "Stat. Left Side OFF/ON") +defineToggleSwitch("STA_RGT_SID", 49, 3428, 2009, "Weapons System Panel", "Stat. Right Side OFF/ON") +defineToggleSwitch("STA_RGT_PYL", 49, 3429, 2010, "Weapons System Panel", "Stat. Right Pyl. OFF/ON") + +-- JETTISON +defineToggleSwitch("JET_SLC_SW", 49, 3437, 2011, "Jettison Panel", "Select Jett. Switch OFF/ON") +defineToggleSwitch("JET_SLC_CVR", 49, 3435, 2012, "Jettison Panel", "Select Jett. Cover OPEN/CLOSE") +defineToggleSwitch("JET_ALL_CVR", 49, 3434, 2013, "Jettison Panel", "All Jett. Cover OPEN/CLOSE") +defineToggleSwitch("JET_ALL", 49, 3436, 2014, "Jettison Panel", "All Jett. Switch OFF/ON") +defineMultipositionSwitch("JET_SELC", 49, 3433, 2016, 8, 0.1, "Jettison Panel", "Select STATIONS") + +-- GUNSIGHT +defineMultipositionSwitch( "GUN_COLR", 50, 3550, 2025, 3, 0.5, "GunSight", "GunSight COLOR") +definePotentiometer("GUN_MOVE", 50, 3551, 2026, {-1,1}, "GunSight", "GunSight Move UP/DOWN") + +-- RADAR +definePotentiometer("RANGE_RDR", 49, 3539, 2023, {-1,1}, "Radar", "Range -/+") +definePotentiometer("SECT_RDR", 49, 3540, 2020, {-0.8,0.9}, "Radar", "Sector -/+") +defineMultipositionSwitch("MODE_RDR", 49, 3541, 2027, 4, 0.33, "Radar", "Mode OFF/ON/INT./SOL.") +defineSpringloaded_3_pos_tumb("SON_SELC", 49, 3542, 3542, 2028, "Radar", "Sonobuoys SURFACE/OFF/IMMERSION") +defineMultipositionSwitch("COAL_SELC", 49, 3543, 2029, 4, 0.33, "Radar", "Coalition Select ALL/NEUTRAL/FRIENDLY/ENEMY") +defineMultipositionSwitch("FAC_RANGE", 49, 3545, 2030, 2, 0.66, "Radar", "Range FACTOR") +defineMultipositionSwitch("CAT_SELC", 49, 3544, 2031, 2, 0.66, "Radar", "Category Select SEA/GROUND") +definePotentiometer("OFFSET_RDR", 49, 3546, 2032, {-0.9,0.9}, "Radar", "Rotation Sector <-/->") +defineToggleSwitch("LCK_TGT", 49, 3548, 2037, "Radar", "Lock Target OFF/ON") +definePushButton("RST_ROT", 49, 3547, 2039, "Radar", "Rotation Radar RESET") + + +BIOS.protocol.endModule() \ No newline at end of file diff --git a/Scripts/DCS-BIOS/lib/modules/aircraft_modules/MH-60R.lua b/Scripts/DCS-BIOS/lib/modules/aircraft_modules/MH-60R.lua new file mode 100644 index 000000000..487b9405b --- /dev/null +++ b/Scripts/DCS-BIOS/lib/modules/aircraft_modules/MH-60R.lua @@ -0,0 +1,367 @@ +module("MH-60R", package.seeall) + +local Module = require("Module") + +--- @class MH_60R: Module +local MH_60R = Module:new("MH-60R", 0xA400, { "MH-60R", "UH-60L" }) + +--Lighting Switches +MH_60R:defineFloat("LGHT_SW", 206, { 0.0, 1.0 }, "Lights", "Lighting_Switches") + +--Caution Lights +MH_60R:defineIndicatorLight("CIS_PLT_HDG", 212, "CISP", "LIGHT_HDG_ON") +MH_60R:defineIndicatorLight("CIS_PLT_NAV", 213, "CISP", "LIGHT_NAV_ON") +MH_60R:defineIndicatorLight("CIS_PLT_ALT", 214, "CISP", "LIGHT_ALT_ON") +MH_60R:defineIndicatorLight("CIS_PLT_DPLR", 215, "CISP", "LIGHT_DPLRGPS") +MH_60R:defineIndicatorLight("CIS_PLT_VOR", 216, "CISP", "LIGHT_VOR_LGT") +MH_60R:defineIndicatorLight("CIS_PLT_ILS", 217, "CISP", "LIGHT_ILS_LGT") +MH_60R:defineIndicatorLight("CIS_PLT_BCKCRS", 218, "CISP", "LIGHT_BACKCRS") +MH_60R:defineIndicatorLight("CIS_PLT_FMHME", 219, "CISP", "LIGHT_FMHOME") +MH_60R:defineIndicatorLight("CIS_PLT_TRNRM", 220, "CISP", "LIGHT_TRNORM") +MH_60R:defineIndicatorLight("CIS_PLT_TRALT", 221, "CISP", "LIGHT_TRALT") +MH_60R:defineIndicatorLight("CIS_PLT_CRSHDGPLT", 222, "CISP", "LIGHT_HDGPLT") +MH_60R:defineIndicatorLight("CIS_PLT_CRSHDGCPLT", 223, "CISP", "LIGHT_HDGCPLT") +MH_60R:defineIndicatorLight("CIS_PLT_GYRNRM", 224, "CISP", "LIGHT_GYRONORM") +MH_60R:defineIndicatorLight("CIS_PLT_GYROALT", 225, "CISP", "LIGHT_GYROALT") +MH_60R:defineIndicatorLight("CIS_PLT_BRG2ADF", 226, "CISP", "LIGHT_BRG2ADF") +MH_60R:defineIndicatorLight("CIS_PLT_BRG2VOR", 227, "CISP", "LIGHT_BRG2VOR") + +-- AFCS LIGHTS +MH_60R:defineIndicatorLight("AFC_BST_LGHT", 241, "AFCS", "LIGHT_AFCS_BOOST") +MH_60R:defineIndicatorLight("AFC_SS1_LGHT", 242, "AFCS", "LIGHT_AFCS_SAS1") +MH_60R:defineIndicatorLight("AFC_SS2_LGHT", 243, "AFCS", "LIGHT_AFCS_SAS2") +MH_60R:defineIndicatorLight("AFC_TRM_LGHT", 244, "AFCS", "LIGHT_AFCS_TRIM") +MH_60R:defineIndicatorLight("AFC_FPS_LGHT", 245, "AFCS", "LIGHT_AFCS_FPS") +MH_60R:defineIndicatorLight("AFC_STB_LGHT", 246, "AFCS", "LIGHT_AFCS_STABAUTO") + +--MCP LAMPS +MH_60R:defineIndicatorLight("MST_CAUTION", 313, "MCP", "LIGHT_MCP_MC") + +--MISC PANEL LIGHTS +MH_60R:defineIndicatorLight("WHL_LCK_LGT", 294, "Misc", "TAIL_WHEEL_LOCK") + +--Electric System +MH_60R:defineToggleSwitch("BATT_SW", 27, 3013, 17, "Electric System", "Battery Switch OFF/ON") +MH_60R:defineSpringloaded_3PosTumb("EXT_PWR_SW", 27, 3014, 3021, 18, "Electric System", "External Power Switch RESET/OFF/ON") +MH_60R:defineSpringloaded_3PosTumb("APU_GEN_SW", 27, 3015, 3018, 19, "Electric System", "APU GEN Switch TEST/OFF/ON") +MH_60R:defineSpringloaded_3PosTumb("GEN1_SW", 27, 3016, 3019, 20, "Electric System", "GEN 1 Switch TEST/OFF/ON") +MH_60R:defineSpringloaded_3PosTumb("GEN2_SW", 27, 3017, 3020, 21, "Electric System", "GEN 2 Switch TEST/OFF/ON") + +--Fuel and Engines +MH_60R:defineSpringloaded_3PosTumb("FUEL_PMP_SW", 27, 3022, 3022, 22, "Fuel and Engines", "FUEL PRIME/OFF/APU BOOST") +MH_60R:defineSpringloaded_3PosTumb("AIR_SRC_SW", 27, 3023, 3023, 23, "Fuel and Engines", "Air Source APU/OFF/ENG") +MH_60R:defineToggleSwitch("APU_CTRL_SW", 27, 3024, 24, "Fuel and Engines", "APU CONTROL OFF/ON") +MH_60R:defineToggleSwitch("FUEL1_BST_PMP", 27, 3044, 40, "Fuel and Engines", "Boost Pump 1 OFF/ON") + +-- APU EXTINGUISH +MH_60R:definePotentiometer("ENG1_CTRL", 16, 3206, 26, { 0, 1 }, "APU Extinguish", "Engine 1 Control") +MH_60R:definePotentiometer("ENG2_CTRL", 16, 3207, 27, { 0, 1 }, "APU Extinguish", "Engine 2 Control") + +MH_60R:defineMultipositionSwitch("ENG1_FSS", 16, 3208, 28, 3, 0.5, "APU Extinguish", "Engine 1 FSS OFF/DIR/XFD") --3, 1/2, false, 0, 1, false) +MH_60R:defineMultipositionSwitch("ENG2_FSS", 16, 3209, 29, 3, 0.5, "APU Extinguish", "Engine 2 FSS OFF/DIR/XFD") --3, 1/2, false, 0, 1, false) +MH_60R:defineToggleSwitch("ENG1_START", 16, 3210, 30, "APU Extinguish", "Engine 1 Starter") +MH_60R:defineToggleSwitch("ENG2_START", 16, 3211, 31, "APU Extinguish", "Engine 2 Starter") +MH_60R:defineTumb("ENG1_CTR_LVL", 16, 3204, 42, 1, { -1, 0 }, nil, false, "ECQ", "Engine 1 Control Level OFF/IDLE") +MH_60R:defineTumb("ENG2_CTR_LVL", 16, 3205, 43, 1, { -1, 0 }, nil, false, "ECQ", "Engine 2 Control Level OFF/IDLE") + +-- STAB PANEL +MH_60R:defineSpringloaded_3PosTumb("STAB_MAN_SLW", 17, 3228, 3229, 32, "STAB Panel", "Manual Slew UP") +MH_60R:definePushButton("STAB_AUTO", 17, 3222, 33, "STAB Panel", "STAB OFF/ON") +MH_60R:definePushButton("SAS1", 17, 3223, 34, "STAB Panel", "SAS 1 OFF/ON") +MH_60R:definePushButton("SAS2", 17, 3224, 35, "STAB Panel", "SAS 2 OFF/ON") +MH_60R:definePushButton("TRIM", 17, 3225, 36, "STAB Panel", "Trim OFF/ON") +MH_60R:definePushButton("FPS", 17, 3226, 37, "STAB Panel", "FPS OFF/ON") +MH_60R:definePushButton("SAS_BST", 17, 3227, 38, "STAB Panel", "SAS Boost OFF/ON") +--MH_60R:definePushButton("AUTO_TRIM1",52, 3452, 39, "STAB Panel", "Auto Trim ON/OFF") + +-- -- PARKING BRAKE +MH_60R:defineToggleSwitch("PRK_BRK", 27, 3402, 80, "General", "Parking Brake") + +-- -- PILOT BARO ALTIMETER +-- elements["PNT-063"] = default_axis(_("Barometric Scale Set"), devices.PLTAAU32A, device_commands.pilotBarometricScaleSet, 63, 0, 0.1, false, true) + +-- -- COPILOT BARO ALTIMETER +-- elements["PNT-073"] = default_axis(_("Barometric Scale Set"), devices.CPLTAAU32A, device_commands.copilotBarometricScaleSet, 73, 0, 0.1, false, true) + +-- -- PILOT HSI +-- --default_axis(hint_,device_,command_,arg_, default_, gain_,updatable_,relative_,cycled_,attach_left_,attach_right_) +-- elements["PNT-130"] = default_axis(_("Heading Set"), devices.PLTCISP, device_commands.pilotHSIHdgSet, 130, 0, 0.1, false, true) +-- elements["PNT-131"] = default_axis(_("Course Set"), devices.PLTCISP, device_commands.pilotHSICrsSet, 131, 0, 0.1, false, true) + +-- -- COPILOT HSI +-- --default_axis(hint_,device_,command_,arg_, default_, gain_,updatable_,relative_,cycled_,attach_left_,attach_right_) +-- elements["PNT-150"] = default_axis(_("Heading Set"), devices.CPLTCISP, device_commands.copilotHSIHdgSet, 150, 0, 0.1, false, true) +-- elements["PNT-151"] = default_axis(_("Course Set"), devices.CPLTCISP, device_commands.copilotHSICrsSet, 151, 0, 0.1, false, true) + +-- -- MISC +MH_60R:defineToggleSwitch("TAIL_WHL_LCK", 46, 3410, 291, "Misc", "Tail Wheel LOCK/UNLOCK") + +-- -- CAUTION/DISPLAY PANELS +MH_60R:definePushButton("CDU_TST", 25, 3230, 301, "Vids", "CDU Lamp Test") +MH_60R:definePushButton("PDU1_TST", 25, 3231, 302, "Vids", "PDU Test Pilot") +--MH_60R:definePushButton("PDU2_TST", 25, 3232, "Vids", "PDU Test CoPilot") + +MH_60R:defineTumb("CAP_TST", 24, 3219, 304, 1, { -1, 0 }, nil, false, "Caution Display Panel", "CAP Lamp TEST") +MH_60R:defineToggleSwitch("CAP_BRGT", 24, 3220, 304, "Caution Display Panel", "CAP Lamp BRIGHTNESS") +MH_60R:definePushButton("MST_CAUT_RST", 24, 3221, 305, "Caution Display Panel", "Master Caution Reset") + +-- -- AN/ASN-128B +MH_60R:defineMultipositionSwitch("128B_DISPLAY", 23, 3236, 500, 7, 0.01, "AN/ASN-128B", "AN/ASN-128B Select Display") +MH_60R:defineMultipositionSwitch("128B_MODE", 23, 3235, 501, 6, 0.01, "AN/ASN-128B", "AN/ASN-128B Select Mode") +MH_60R:definePushButton("128B_KYBD", 23, 3237, 502, "AN/ASN-128B", "AN/ASN-128B Select Button KYBD") +MH_60R:definePushButton("128B_LTR_LFT", 23, 3238, 503, "AN/ASN-128B", "AN/ASN-128B Select Button LTR Left") +MH_60R:definePushButton("128B_LTR_MID", 23, 3239, 504, "AN/ASN-128B", "AN/ASN-128B Select Button LTR Mid") +MH_60R:definePushButton("128B_LTR_RGHT", 23, 3240, 505, "AN/ASN-128B", "AN/ASN-128B Select Button LTR Right") +MH_60R:definePushButton("128B_F1", 23, 3241, 506, "AN/ASN-128B", "AN/ASN-128B Select Button F1") +MH_60R:definePushButton("128B_1", 23, 3242, 507, "AN/ASN-128B", "AN/ASN-128B Select Button 1") +MH_60R:definePushButton("128B_2", 23, 3243, 508, "AN/ASN-128B", "AN/ASN-128B Select Button 2") +MH_60R:definePushButton("128B_3", 23, 3244, 509, "AN/ASN-128B", "AN/ASN-128B Select Button 3") +MH_60R:definePushButton("128B_TGT_STR", 23, 3245, 510, "AN/ASN-128B", "AN/ASN-128B Select Button TGT STR") +MH_60R:definePushButton("128B_4", 23, 3246, 511, "AN/ASN-128B", "AN/ASN-128B Select Button 4") +MH_60R:definePushButton("128B_5", 23, 3247, 512, "AN/ASN-128B", "AN/ASN-128B Select Button 5") +MH_60R:definePushButton("128B_6", 23, 3248, 513, "AN/ASN-128B", "AN/ASN-128B Select Button 6") +MH_60R:definePushButton("128B_INC", 23, 3249, 514, "AN/ASN-128B", "AN/ASN-128B Select Button INC") +MH_60R:definePushButton("128B_7", 23, 3250, 515, "AN/ASN-128B", "AN/ASN-128B Select Button 7") +MH_60R:definePushButton("128B_8", 23, 3251, 516, "AN/ASN-128B", "AN/ASN-128B Select Button 8") +MH_60R:definePushButton("128B_9", 23, 3252, 517, "AN/ASN-128B", "AN/ASN-128B Select Button 9") +MH_60R:definePushButton("128B_DEC", 23, 3253, 518, "AN/ASN-128B", "AN/ASN-128B Select Button DEC") +MH_60R:definePushButton("128B_CLR", 23, 3254, 519, "AN/ASN-128B", "AN/ASN-128B Select Button CLR") +MH_60R:definePushButton("128B_0", 23, 3255, 520, "AN/ASN-128B", "AN/ASN-128B Select Button 0") +MH_60R:definePushButton("128B_ENT", 23, 3256, 521, "AN/ASN-128B", "AN/ASN-128B Select Button ENT") + +-- -- CISP +MH_60R:definePushButton("CIS_HDG", 39, 3369, 930, "CISP", "CISP Pilot HDG OFF/ON") +MH_60R:definePushButton("CIS_NAV", 39, 3370, 931, "CISP", "CISP Pilot NAV OFF/ON") +MH_60R:definePushButton("CIS_ALT", 39, 3371, 932, "CISP", "CISP Pilot ALT OFF/ON") + +MH_60R:definePushButton("NAV_DPLR", 37, 3372, 933, "CISP", "CISP Pilot DLPR GPS OFF/ON") +MH_60R:definePushButton("NAV_VOR", 37, 3373, 934, "CISP", "CISP Pilot VOR ILS OFF/ON") +MH_60R:definePushButton("NAV_BACK", 37, 3374, 935, "CISP", "CISP Pilot BACK CRS OFF/ON") +MH_60R:definePushButton("NAV_FM", 37, 3375, 936, "CISP", "CISP Pilot FM HOME OFF/ON") +MH_60R:definePushButton("TRN_RATE", 37, 3376, 937, "CISP", "CISP Pilot TURN RATE NORM/ALTR") +MH_60R:definePushButton("CRS_HDG", 37, 3377, 938, "CISP", "CISP Pilot CRS HDG - PLT/CPLT") +MH_60R:definePushButton("VRT_GYRO", 37, 3378, 939, "CISP", "CISP Pilot VERT GYRO NORM/ALTR") +MH_60R:definePushButton("BRG2", 37, 3379, 940, "CISP", "CISP Pilot BRG2 ADF/VOR") + +-- -- AN/AVS-7 PANEL +MH_60R:defineTumb("AVS_ON", 30, 3257, 1100, 1, { -1, 1 }, nil, false, "AN/AVS-7 HUD", "AN/AVS-7 OFF/ON/ADJ") +MH_60R:defineSpringloaded_3PosTumb("AVS_DIM", 30, 3259, 3258, 1106, "AN/AVS-7 HUD", "AN/AVS-7 DIM/BRIGHT") + +-- -- AN/ARC-164 +-- elements["PNT-050"] = multiposition_switch(_("AN/ARC-164 Mode"), devices.ARC164, device_commands.arc164_mode, 50, 4, 0.01, false, 0, 100, false) +-- elements["PNT-051"] = default_axis(_("AN/ARC-164 Volume"), devices.ARC164, device_commands.arc164_volume, 51) +-- elements["PNT-052"] = multiposition_switch(_("AN/ARC-164 Manual/Preset/Guard"), devices.ARC164, device_commands.arc164_xmitmode, 52, 4, 0.01, false, 0, 100, false) +-- elements["PNT-053"] = multiposition_switch(_("AN/ARC-164 100s"), devices.ARC164, device_commands.arc164_freq_Xooooo, 53, 2, 0.1, false, 0, 100, false) +-- elements["PNT-054"] = multiposition_switch(_("AN/ARC-164 10s"), devices.ARC164, device_commands.arc164_freq_oXoooo, 54, 10, 0.1, false, 0, 100, false) +-- elements["PNT-055"] = multiposition_switch(_("AN/ARC-164 1s"), devices.ARC164, device_commands.arc164_freq_ooXooo, 55, 10, 0.1, false, 0, 100, false) +-- elements["PNT-056"] = multiposition_switch(_("AN/ARC-164 .1s"), devices.ARC164, device_commands.arc164_freq_oooXoo, 56, 10, 0.1, false, 0, 100, false) +-- elements["PNT-057"] = multiposition_switch(_("AN/ARC-164 .010s"), devices.ARC164, device_commands.arc164_freq_ooooXX, 57, 4, 0.1, false, 0, 100, false) +-- elements["PNT-058"] = multiposition_switch(_("AN/ARC-164 Preset"), devices.ARC164, device_commands.arc164_preset, 58, 20, 0.05, false, 0, 100, false) + +-- -- Pilot APN-209 Radar Altimeter +-- --default_axis(hint_,device_,command_,arg_, default_, gain_,updatable_,relative_,cycled_,attach_left_,attach_right_) +-- elements["PNT-170"] = default_axis(_("Low Altitude Set"), devices.PLTAPN209, device_commands.apn209PilotLoSet, 170, 0, 20, true, true, true) +-- elements["PNT-171"] = default_axis(_("High Altitude Set"), devices.PLTAPN209, device_commands.apn209PilotHiSet, 171, 0, 20, true, true, true) + +-- elements["PNT-183"] = default_axis(_("Low Altitude Set"), devices.CPLTAPN209, device_commands.apn209CopilotLoSet, 183, 0, 20, true, true, true) +-- elements["PNT-184"] = default_axis(_("High Altitude Set"), devices.CPLTAPN209, device_commands.apn209CopilotHiSet, 184, 0, 20, true, true, true) + +-- -- Lighting +MH_60R:definePotentiometer("GLR_SHLD", 20, 3272, 251, { 0, 1 }, "Lights", "Glareshield Lights OFF/BRT") +MH_60R:defineSpringloaded_3PosTumb("POS_LGHT_DIM", 20, 3281, 3281, 252, "Lights", "Position Lights DIM/OFF/BRT") +MH_60R:defineTumb("POS_LGTH_MOD", 20, 3282, 253, 1, { 0, 1 }, nil, false, "Lights", "Position Lights STEADY/FLASH") +MH_60R:defineSpringloaded_3PosTumb("ANTI_LGHT_UP", 20, 3283, 3283, 254, "Lights", "Anticollision Lights UPPER/BOTH/LOWER") +MH_60R:defineSpringloaded_3PosTumb("ANTI_LGHT_DAY", 20, 3284, 3284, 255, "Lights", "Anticollision Lights DAY/OFF/NIGHT") +MH_60R:defineTumb("NAV_LGTH_MOD", 20, 3285, 256, 1, { 0, 1 }, nil, false, "Lights", "Nav Lights NORM/IR") +MH_60R:defineSpringloaded_3PosTumb("POS_LGHT", 20, 3286, 3286, 257, "Lights", "Cabin Lights BLUE/OFF/WHITE") +MH_60R:definePotentiometer("LGHT_SWTCH", 20, 3274, 260, { 0, 1 }, "Lights", "Lighted Switches OFF/BRT") +MH_60R:defineMultipositionSwitch("FORM_LGHT", 20, 3275, 261, 6, 0.2, "Lights", "Formation Lights OFF/1/2/3/4/5") + +MH_60R:definePotentiometer("UPP_BRT", 20, 3276, 262, { 0, 1 }, "Lights", "Upper Console Lights OFF/BRT") +MH_60R:definePotentiometer("LWR_BRT", 20, 3277, 263, { 0, 1 }, "Lights", "Lower Console Lights OFF/BRT") +MH_60R:definePotentiometer("PLT_INST_BRT", 20, 3278, 264, { 0, 1 }, "Lights", "Pilot Flight Instrument Lights OFF/BRT") +MH_60R:definePotentiometer("CPLT_INST_BRT", 20, 3273, 259, { 0, 1 }, "Lights", "CoPilot Flight Instrument Lights OFF/BRT") +MH_60R:definePotentiometer("LGHT_BRT", 20, 3279, 265, { 0, 1 }, "Lights", "Non Flight Instrument Lights OFF/BRT") +MH_60R:definePotentiometer("RDR_DIM", 20, 3289, 266, { 0, 1 }, "Lights", "Radar Altimeter DIM") + +MH_60R:defineTumb("CMP_LGTH_MOD", 20, 3280, 268, 1, { 0, 1 }, nil, false, "Lights", "Magnetic Compass Light OFF/ON") +MH_60R:defineSpringloaded_3PosTumb("CKPT_LGHT_DAY", 20, 3287, 3287, 269, "Lights", "Cockpit Lights BLUE/OFF/WHITE") + +-- -- AN/APR-39 +-- elements["PNT-270"] = default_2_position_tumb(_("AN/APR-39 Power ON/OFF"), devices.APR39, device_commands.apr39Power, 270, 8) +-- elements["PNT-271"] = short_way_button(_("AN/APR-39 Self Test (Inop.)"), devices.APR39, device_commands.apr39SelfTest, 271) +-- elements["PNT-272"] = default_2_position_tumb(_("AN/APR-39 Altitude HIGH/LOW (Inop.)"), devices.APR39, device_commands.apr39Altitude, 272, 8) +-- elements["PNT-273"] = default_axis(_("AN/APR-39 Volume"), devices.APR39, device_commands.apr39Volume, 273) +-- elements["PNT-274"] = default_axis(_("AN/APR-39 Brilliance"), devices.APR39, device_commands.apr39Brightness, 274) + +-- -- PILOT LC6 CHRONOMETER +-- elements["PNT-280"] = default_button(_("Pilot's Chronometer RESET/SET Button"), devices.PLTLC6, device_commands.resetSetBtn, 280) +-- elements["PNT-281"] = default_button(_("Pilot's Chronometer MODE Button"), devices.PLTLC6, device_commands.modeBtn, 281) +-- elements["PNT-282"] = default_button(_("Pilot's Chronometer START/STOP/ADVANCE Button"), devices.PLTLC6, device_commands.startStopAdvBtn, 282) + +-- -- COPILOT LC6 CHRONOMETER +-- elements["PNT-283"] = default_button(_("Copilot's Chronometer RESET/SET Button"), devices.CPLTLC6, device_commands.resetSetBtn, 283) +-- elements["PNT-284"] = default_button(_("Copilot's Chronometer MODE Button"), devices.CPLTLC6, device_commands.modeBtn, 284) +-- elements["PNT-285"] = default_button(_("Copilot's Chronometer START/STOP/ADVANCE Button"), devices.CPLTLC6, device_commands.startStopAdvBtn, 285) + +-- -- PILOT ICS PANEL +-- --multiposition_switch_relative(hint_,device_,command_,arg_,count_,delta_,inversed_,min_,animation_speed_,cycled_) +-- elements["PNT-400"] = multiposition_switch(_("Pilot ICP XMIT Selector"), devices.BASERADIO, device_commands.pilotICPXmitSelector, 400, 6, 1/5, false, 0, 16, false) +-- elements["PNT-401"] = default_axis_limited(_("Pilot ICP RCV Volume"), devices.PLT_ICP, device_commands.pilotICPSetVolume, 401, 0, 0.1, true, false, {0,1}) +-- elements["PNT-402"] = default_2_position_tumb(_("Pilot ICP Hot Mike (Inop.)"), devices.PLT_ICP, device_commands.foo, 402, 8) +-- elements["PNT-403"] = default_2_position_tumb(_("Pilot ICP RCV FM1"), devices.PLT_ICP, device_commands.pilotICPToggleFM1, 403, 8) +-- elements["PNT-404"] = default_2_position_tumb(_("Pilot ICP RCV UHF"), devices.PLT_ICP, device_commands.pilotICPToggleUHF, 404, 8) +-- elements["PNT-405"] = default_2_position_tumb(_("Pilot ICP RCV VHF"), devices.PLT_ICP, device_commands.pilotICPToggleVHF, 405, 8) +-- elements["PNT-406"] = default_2_position_tumb(_("Pilot ICP RCV FM2"), devices.PLT_ICP, device_commands.pilotICPToggleFM2, 406, 8) +-- elements["PNT-407"] = default_2_position_tumb(_("Pilot ICP RCV HF"), devices.PLT_ICP, device_commands.pilotICPToggleHF, 407, 8) +-- elements["PNT-408"] = default_2_position_tumb(_("Pilot ICP RCV VOR/LOC"), devices.PLT_ICP, device_commands.pilotICPToggleVOR, 408, 8) +-- elements["PNT-409"] = default_2_position_tumb(_("Pilot ICP RCV ADF"), devices.PLT_ICP, device_commands.pilotICPToggleADF, 409, 8) + +-- -- TODO OTHER ICS PANELS? + +-- -- ARC-186 VHF +-- elements["PNT-410"] = default_axis_limited(_("AN/ARC-186 Volume"), devices.ARC186, device_commands.arc186Volume, 410, 0, 0.1, true, false, {0,1}) +-- elements["PNT-411"] = default_button_tumb_v2_inverted(_("AN/ARC-186 Tone (Inop.)"), devices.ARC186, device_commands.arc186Tone, device_commands.arc186Tone, 411) +-- elements["PNT-412"] = multiposition_switch(_("AN/ARC-186 10MHz Selector"), devices.ARC186, device_commands.arc186Selector10MHz, 412, 13, 1/12, false, 0, 16, true) +-- elements["PNT-413"] = multiposition_switch(_("AN/ARC-186 1MHz Selector"), devices.ARC186, device_commands.arc186Selector1MHz, 413, 10, 0.1, false, 0, 16, true) +-- elements["PNT-414"] = multiposition_switch(_("AN/ARC-186 100KHz Selector"), devices.ARC186, device_commands.arc186Selector100KHz, 414, 10, 0.1, false, 0, 16, true) +-- elements["PNT-415"] = multiposition_switch(_("AN/ARC-186 25KHz Selector"), devices.ARC186, device_commands.arc186Selector25KHz, 415, 4, 0.25, false, 0, 16, true) +-- elements["PNT-416"] = multiposition_switch(_("AN/ARC-186 Frequency Control Selector"), devices.ARC186, device_commands.arc186FreqSelector, 416, 4, 1/3, false, 0, 16, false) +-- elements["PNT-417"] = default_button(_("AN/ARC-186 Load Pushbutton"), devices.ARC186, device_commands.arc186Load, 417) +-- elements["PNT-418"] = multiposition_switch(_("AN/ARC-186 Preset Channel Selector"), devices.ARC186, device_commands.arc186PresetSelector, 418, 20, 0.05, false, 0, 16, true) +-- elements["PNT-419"] = multiposition_switch(_("AN/ARC-186 Mode Selector"), devices.ARC186, device_commands.arc186ModeSelector, 419, 3, 0.5, false, 0, 16, false) + +-- -- AFMS +-- elements["PNT-460"] = default_3_position_tumb(_("Aux Fuel Transfer Mode MAN/OFF/AUTO"), devices.AFMS, device_commands.afmcpXferMode, 460) +-- elements["PNT-461"] = default_3_position_tumb(_("Aux Fuel Manual Transfer RIGHT/BOTH/LEFT"), devices.AFMS, device_commands.afmcpManXfer,461) +-- elements["PNT-462"] = default_2_position_tumb(_("Aux Fuel Transfer From RIGHT/LEFT"), devices.AFMS, device_commands.afmcpXferFrom, 462, 8) +-- elements["PNT-463"] = multiposition_switch(_("Aux Fuel Pressurization Selector"), devices.AFMS, device_commands.afmcpPress, 463, 4, 1/3, false, 0, 16, false) + +--DOORS +MH_60R:defineToggleSwitch("CPLT_DOOR", 46, 3403, 470, "Misc", "Copilot Door OPEN/CLOSE") +MH_60R:defineToggleSwitch("PLT_DOOR", 46, 3404, 471, "Misc", "Pilot Door OPEN/CLOSE") +MH_60R:defineToggleSwitch("LFT_GUN_WIN", 46, 3405, 472, "Misc", "Left Gunner Door OPEN/CLOSE") +MH_60R:defineToggleSwitch("RGT_GUN_WIN", 46, 3406, 473, "Misc", "Right Gunner Door OPEN/CLOSE") +MH_60R:defineToggleSwitch("LFT_CRG_DOOR", 46, 3407, 474, "Misc", "Left Cargo Door OPEN/CLOSE") +MH_60R:defineToggleSwitch("RGT_CRG_DOOR", 46, 3408, 475, "Misc", "Right Cargo Door OPEN/CLOSE") + +-- M130 CM System +MH_60R:defineToggleSwitch("FLR_DSP_CVR", 32, 3308, 550, "M130 CM", "Flare Dispenser Mode Cover OPEN/CLOSE") +MH_60R:defineToggleSwitch("FLR_DSP_SW", 32, 3421, 551, "M130 CM", "Flare Dispenser Switch OFF/ON") + +--FlareDispenseMode +--elements["PNT-552"] = multiposition_switch_relative(_("Flare Counter"), devices.M130, device_commands.cmFlareCounterDial, 552, 10, 1/9, false, 0, 16, true) +--elements["PNT-553"] = multiposition_switch_relative(_("Chaff Counter"), devices.M130, device_commands.cmChaffCounterDial, 553, 10, 1/9, false, 0, 16, true) +MH_60R:defineToggleSwitch("CM_ARM_SW", 32, 3311, 559, "M130 CM", "Countermeasures Arming Switch OFF/ON") +MH_60R:defineMultipositionSwitch("CHAFF_MOD_SEL", 32, 3313, 560, 3, 0.5, "M130 CM", "Chaff Mode Selector") --3, 1/2, false, 0, 16, false) +MH_60R:definePushButton("CHAF_DISP", 32, 3314, 561, "M130 CM", "Chaff Dispense") + +-- -- ARC-201 FM1 +-- elements["PNT-600"] = multiposition_switch(_("AN/ARC-201 (FM1) PRESET Selector"), devices.ARC201_FM1, device_commands.fm1PresetSelector, 600, 8, 0.01, false, 0, 16, false) +-- elements["PNT-601"] = multiposition_switch(_("AN/ARC-201 (FM1) FUNCTION Selector"), devices.ARC201_FM1, device_commands.fm1FunctionSelector, 601, 9, 0.01, false, 0, 16, false) +-- elements["PNT-602"] = multiposition_switch(_("AN/ARC-201 (FM1) PWR Selector"), devices.ARC201_FM1, device_commands.fm1PwrSelector, 602, 4, 0.01, false, 0, 16, false) +-- elements["PNT-603"] = multiposition_switch(_("AN/ARC-201 (FM1) MODE Selector"), devices.ARC201_FM1, device_commands.fm1ModeSelector, 603, 4, 0.01, false, 0, 16, false) +-- elements["PNT-604"] = default_axis_limited(_("AN/ARC-201 (FM1) Volume"), devices.ARC201_FM1, device_commands.fm1Volume, 604, 0, 0.1, true, false, {0,1}) + +-- elements["PNT-605"] = default_button(_("AN/ARC-201 (FM1) Btn 1"), devices.ARC201_FM1, device_commands.fm1Btn1, 605) +-- elements["PNT-606"] = default_button(_("AN/ARC-201 (FM1) Btn 2"), devices.ARC201_FM1, device_commands.fm1Btn2, 606) +-- elements["PNT-607"] = default_button(_("AN/ARC-201 (FM1) Btn 3"), devices.ARC201_FM1, device_commands.fm1Btn3, 607) +-- elements["PNT-608"] = default_button(_("AN/ARC-201 (FM1) Btn 4"), devices.ARC201_FM1, device_commands.fm1Btn4, 608) +-- elements["PNT-609"] = default_button(_("AN/ARC-201 (FM1) Btn 5"), devices.ARC201_FM1, device_commands.fm1Btn5, 609) +-- elements["PNT-610"] = default_button(_("AN/ARC-201 (FM1) Btn 6"), devices.ARC201_FM1, device_commands.fm1Btn6, 610) +-- elements["PNT-611"] = default_button(_("AN/ARC-201 (FM1) Btn 7"), devices.ARC201_FM1, device_commands.fm1Btn7, 611) +-- elements["PNT-612"] = default_button(_("AN/ARC-201 (FM1) Btn 8"), devices.ARC201_FM1, device_commands.fm1Btn8, 612) +-- elements["PNT-613"] = default_button(_("AN/ARC-201 (FM1) Btn 9"), devices.ARC201_FM1, device_commands.fm1Btn9, 613) +-- elements["PNT-614"] = default_button(_("AN/ARC-201 (FM1) Btn 0"), devices.ARC201_FM1, device_commands.fm1Btn0, 614) +-- elements["PNT-615"] = default_button(_("AN/ARC-201 (FM1) Btn CLR"), devices.ARC201_FM1, device_commands.fm1BtnClr, 615) +-- elements["PNT-616"] = default_button(_("AN/ARC-201 (FM1) Btn ENT"), devices.ARC201_FM1, device_commands.fm1BtnEnt, 616) +-- elements["PNT-617"] = default_button(_("AN/ARC-201 (FM1) Btn FREQ"), devices.ARC201_FM1, device_commands.fm1BtnFreq, 617) +-- elements["PNT-618"] = default_button(_("AN/ARC-201 (FM1) Btn ERF/OFST"), devices.ARC201_FM1, device_commands.fm1BtnErfOfst, 618) +-- elements["PNT-619"] = default_button(_("AN/ARC-201 (FM1) Btn TIME"), devices.ARC201_FM1, device_commands.fm1BtnTime, 619) + +-- -- AN/ARN-149 +-- elements["PNT-620"] = multiposition_switch(_("AN/ARN-149 PRESET Selector"), devices.ARN149, device_commands.arn149Preset, 620, 3, 0.5, false, 0, 100, false) +-- elements["PNT-621"] = default_3_position_tumb(_("AN/ARN-149 TONE/OFF/TEST"), devices.ARN149, device_commands.arn149ToneTest, 621, 8) +-- elements["PNT-622"] = default_axis_limited(_("AN/ARN-149 Volume"), devices.ARN149, device_commands.arn149Volume, 622, 0, 0.1, true, false, {0,1}) +-- elements["PNT-623"] = default_2_position_tumb(_("AN/ARN-149 TAKE CMD (Inop.)"), devices.ARN149, device_commands.foo, 623, 8) +-- elements["PNT-624"] = multiposition_switch(_("AN/ARN-149 POWER Selector"), devices.ARN149, device_commands.arn149Power, 624, 3, 0.5, false, 0, 100, false) +-- elements["PNT-625"] = multiposition_switch(_("AN/ARN-149 1000s Khz Selector"), devices.ARN149, device_commands.arn149thousands, 625, 3, 0.5, false, 0, 100, false) +-- elements["PNT-626"] = multiposition_switch(_("AN/ARN-149 100s Khz Selector"), devices.ARN149, device_commands.arn149hundreds, 626, 10, 0.1, false, 0, 100, true) +-- elements["PNT-627"] = multiposition_switch(_("AN/ARN-149 10s Khz Selector"), devices.ARN149, device_commands.arn149tens, 627, 10, 0.1, false, 0, 100, true) +-- elements["PNT-628"] = multiposition_switch(_("AN/ARN-149 1s Khz Selector"), devices.ARN149, device_commands.arn149ones, 628, 10, 0.1, false, 0, 100, true) +-- elements["PNT-629"] = multiposition_switch(_("AN/ARN-149 .1s Khz Selector"), devices.ARN149, device_commands.arn149tenths, 629, 10, 0.1, false, 0, 100, true) + +-- -- AN/ARN-147 +-- elements["PNT-650"] = multiposition_switch_relative(_("AN/ARN-147 MHz Selector"), devices.ARN147, device_commands.arn147MHz, 650, 10, 0.1, false, 0, 100, true) +-- elements["PNT-651"] = multiposition_switch_relative(_("AN/ARN-147 KHz Selector"), devices.ARN147, device_commands.arn147KHz, 651, 10, 0.1, false, 0, 100, true) +-- elements["PNT-652"] = default_2_position_tumb(_("AN/ARN-147 Marker Beacon HI/LO (Inop.)"), devices.ARN147, device_commands.foo, 652, 8) +-- elements["PNT-653"] = default_3_position_tumb(_("AN/ARN-147 Power Selector OFF/ON/TEST"), devices.ARN147, device_commands.arn147Power, 653, 8) + +-- -- WIPERS +MH_60R:defineTumb("WPRS", 46, 3288, 631, 0.5, { -0.5, 1 }, nil, false, "Misc", "Wipers PARK/OFF/LOW/HI") + +-- -- ARC-201 FM2 +-- elements["PNT-700"] = multiposition_switch(_("AN/ARC-201 (FM2) PRESET Selector"), devices.ARC201_FM2, device_commands.fm2PresetSelector, 700, 8, 0.01, false, 0, 16, false) +-- elements["PNT-701"] = multiposition_switch(_("AN/ARC-201 (FM2) FUNCTION Selector"), devices.ARC201_FM2, device_commands.fm2FunctionSelector, 701, 9, 0.01, false, 0, 16, false) +-- elements["PNT-702"] = multiposition_switch(_("AN/ARC-201 (FM2) PWR Selector"), devices.ARC201_FM2, device_commands.fm2PwrSelector, 702, 4, 0.01, false, 0, 16, false) +-- elements["PNT-703"] = multiposition_switch(_("AN/ARC-201 (FM2) MODE Selector"), devices.ARC201_FM2, device_commands.fm2ModeSelector, 703, 4, 0.01, false, 0, 16, false) +-- elements["PNT-704"] = default_axis_limited(_("AN/ARC-201 (FM2) Volume"), devices.ARC201_FM2, device_commands.fm2Volume, 704, 0, 0.1, true, false, {0,1}) + +-- elements["PNT-705"] = default_button(_("AN/ARC-201 (FM2) Btn 1"), devices.ARC201_FM2, device_commands.fm2Btn1, 705) +-- elements["PNT-706"] = default_button(_("AN/ARC-201 (FM2) Btn 2"), devices.ARC201_FM2, device_commands.fm2Btn2, 706) +-- elements["PNT-707"] = default_button(_("AN/ARC-201 (FM2) Btn 3"), devices.ARC201_FM2, device_commands.fm2Btn3, 707) +-- elements["PNT-708"] = default_button(_("AN/ARC-201 (FM2) Btn 4"), devices.ARC201_FM2, device_commands.fm2Btn4, 708) +-- elements["PNT-709"] = default_button(_("AN/ARC-201 (FM2) Btn 5"), devices.ARC201_FM2, device_commands.fm2Btn5, 709) +-- elements["PNT-710"] = default_button(_("AN/ARC-201 (FM2) Btn 6"), devices.ARC201_FM2, device_commands.fm2Btn6, 710) +-- elements["PNT-711"] = default_button(_("AN/ARC-201 (FM2) Btn 7"), devices.ARC201_FM2, device_commands.fm2Btn7, 711) +-- elements["PNT-712"] = default_button(_("AN/ARC-201 (FM2) Btn 8"), devices.ARC201_FM2, device_commands.fm2Btn8, 712) +-- elements["PNT-713"] = default_button(_("AN/ARC-201 (FM2) Btn 9"), devices.ARC201_FM2, device_commands.fm2Btn9, 713) +-- elements["PNT-714"] = default_button(_("AN/ARC-201 (FM2) Btn 0"), devices.ARC201_FM2, device_commands.fm2Btn0, 714) +-- elements["PNT-715"] = default_button(_("AN/ARC-201 (FM2) Btn CLR"), devices.ARC201_FM2, device_commands.fm2BtnClr, 715) +-- elements["PNT-716"] = default_button(_("AN/ARC-201 (FM2) Btn ENT"), devices.ARC201_FM2, device_commands.fm2BtnEnt, 716) +-- elements["PNT-717"] = default_button(_("AN/ARC-201 (FM2) Btn FREQ"), devices.ARC201_FM2, device_commands.fm2BtnFreq, 717) +-- elements["PNT-718"] = default_button(_("AN/ARC-201 (FM2) Btn ERF/OFST"), devices.ARC201_FM2, device_commands.fm2BtnErfOfst, 718) +-- elements["PNT-719"] = default_button(_("AN/ARC-201 (FM2) Btn TIME"), devices.ARC201_FM2, device_commands.fm2BtnTime, 719) + +-- AUX SYSTEM CONTROL PANEL +MH_60R:defineToggleSwitch("MST_SNR_CVR", 49, 3534, 1998, "Aux System Panel", "Master Sonar Cover OPEN/CLOSE") +MH_60R:defineToggleSwitch("MST_ARM_SNR", 49, 3535, 1999, "Aux System Panel", "Master Arm Sonar OFF/ON") +MH_60R:defineToggleSwitch("MST_ARM_SON", 49, 3532, 2000, "Aux System Panel", "Master Arm Sonobuoys OFF/ON") +MH_60R:defineToggleSwitch("SONO_DISP", 49, 3533, 2001, "Aux System Panel", "Sonobuoy Dispense OFF/ON") +MH_60R:defineSpringloaded_3PosTumb("SNR_WNCH", 49, 3536, 3536, 2002, "Aux System Panel", "Winch Sonar DOWN/STOP/UP") +MH_60R:defineToggleSwitch("MST_SON_CVR", 49, 3531, 2003, "Aux System Panel", "Master Sonobuoys Cover OPEN/CLOSE") + +-- WEAPONS SYSTEM CONTROL PANEL +MH_60R:defineToggleSwitch("MST_ARM_WPN", 49, 3423, 2004, "Weapons System Panel", "Master Arm Weapons OFF/ON") +MH_60R:defineMultipositionSwitch("SLV_SELC", 49, 3424, 2005, 7, 0.1, "Weapons System Panel", "Select SALVE") +MH_60R:defineToggleSwitch("MST_ARM_CVR", 49, 3425, 2006, "Weapons System Panel", "Master Arm Cover OPEN/CLOSE") + +MH_60R:defineToggleSwitch("STA_LFT_PYL", 49, 3426, 2007, "Weapons System Panel", "Stat. Left Pyl. OFF/ON") +MH_60R:defineToggleSwitch("STA_LFT_SID", 49, 3427, 2008, "Weapons System Panel", "Stat. Left Side OFF/ON") +MH_60R:defineToggleSwitch("STA_RGT_SID", 49, 3428, 2009, "Weapons System Panel", "Stat. Right Side OFF/ON") +MH_60R:defineToggleSwitch("STA_RGT_PYL", 49, 3429, 2010, "Weapons System Panel", "Stat. Right Pyl. OFF/ON") + +-- JETTISON +MH_60R:defineToggleSwitch("JET_SLC_SW", 49, 3437, 2011, "Jettison Panel", "Select Jett. Switch OFF/ON") +MH_60R:defineToggleSwitch("JET_SLC_CVR", 49, 3435, 2012, "Jettison Panel", "Select Jett. Cover OPEN/CLOSE") +MH_60R:defineToggleSwitch("JET_ALL_CVR", 49, 3434, 2013, "Jettison Panel", "All Jett. Cover OPEN/CLOSE") +MH_60R:defineToggleSwitch("JET_ALL", 49, 3436, 2014, "Jettison Panel", "All Jett. Switch OFF/ON") +MH_60R:defineMultipositionSwitch("JET_SELC", 49, 3433, 2016, 8, 0.1, "Jettison Panel", "Select STATIONS") + +-- GUNSIGHT +MH_60R:defineMultipositionSwitch("GUN_COLR", 50, 3550, 2025, 3, 0.5, "GunSight", "GunSight COLOR") +MH_60R:definePotentiometer("GUN_MOVE", 50, 3551, 2026, { -1, 1 }, "GunSight", "GunSight Move UP/DOWN") + +-- RADAR +MH_60R:definePotentiometer("RANGE_RDR", 49, 3539, 2023, { -1, 1 }, "Radar", "Range -/+") +MH_60R:definePotentiometer("SECT_RDR", 49, 3540, 2020, { -0.8, 0.9 }, "Radar", "Sector -/+") +MH_60R:defineMultipositionSwitch("MODE_RDR", 49, 3541, 2027, 4, 0.33, "Radar", "Mode OFF/ON/INT./SOL.") +MH_60R:defineSpringloaded_3PosTumb("SON_SELC", 49, 3542, 3542, 2028, "Radar", "Sonobuoys SURFACE/OFF/IMMERSION") +MH_60R:defineMultipositionSwitch("COAL_SELC", 49, 3543, 2029, 4, 0.33, "Radar", "Coalition Select ALL/NEUTRAL/FRIENDLY/ENEMY") +MH_60R:defineMultipositionSwitch("FAC_RANGE", 49, 3545, 2030, 2, 0.66, "Radar", "Range FACTOR") +MH_60R:defineMultipositionSwitch("CAT_SELC", 49, 3544, 2031, 2, 0.66, "Radar", "Category Select SEA/GROUND") +MH_60R:definePotentiometer("OFFSET_RDR", 49, 3546, 2032, { -0.9, 0.9 }, "Radar", "Rotation Sector <-/->") +MH_60R:defineToggleSwitch("LCK_TGT", 49, 3548, 2037, "Radar", "Lock Target OFF/ON") +MH_60R:definePushButton("RST_ROT", 49, 3547, 2039, "Radar", "Rotation Radar RESET") + +return MH_60R diff --git a/Scripts/DCS-BIOS/test/AircraftTest.lua b/Scripts/DCS-BIOS/test/AircraftTest.lua index 55c0e61b8..4bf39c32a 100644 --- a/Scripts/DCS-BIOS/test/AircraftTest.lua +++ b/Scripts/DCS-BIOS/test/AircraftTest.lua @@ -111,6 +111,10 @@ function TestAircraft:testMB339() self:validateModule(require("MB-339"), "MB-339", 0x8200) end +function TestAircraft:testMH_60R() + self:validateModule(require("MH-60R"), "MH-60R", 0xA400) +end + function TestAircraft:testMi_24P() self:validateModule(require("Mi-24P"), "Mi-24P", 0x6800) end