From 9b5ad926d4b32d4b1a9bc32dddcf4b7aec010469 Mon Sep 17 00:00:00 2001 From: Charlie <30303272+charliefoxtwo@users.noreply.github.com> Date: Mon, 27 May 2024 16:10:51 -0700 Subject: [PATCH] Add F-4E Gear Device (#666) Fixes #599 --- Scripts/DCS-BIOS/doc/Addresses.h | 282 +++--- Scripts/DCS-BIOS/doc/doc_assets/F-4E.jsonp | 823 ++++++++++++++---- Scripts/DCS-BIOS/doc/json/F-4E.json | 823 ++++++++++++++---- .../lib/modules/aircraft_modules/F-4E.lua | 50 ++ 4 files changed, 1506 insertions(+), 472 deletions(-) diff --git a/Scripts/DCS-BIOS/doc/Addresses.h b/Scripts/DCS-BIOS/doc/Addresses.h index ad6a8faac..5f5f0562d 100644 --- a/Scripts/DCS-BIOS/doc/Addresses.h +++ b/Scripts/DCS-BIOS/doc/Addresses.h @@ -13061,34 +13061,34 @@ #define F_22A_START_R_SW 0x6600, 0x0040, 6 #define F_22A_START_R_SW_AM 0x6600, 0x0040 #define F_22A_TAXI_LIGHTS_SW 0x6600, 0x6000, 13 -#define F_4E_EXT_LIGHT_AAR 0x2B06, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_AAR_A 0x2B06 -#define F_4E_EXT_LIGHT_BEACON 0x2AF2, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_BEACON_A 0x2AF2 -#define F_4E_EXT_LIGHT_BEACON_FLASH 0x2AFA, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_BEACON_FLASH_A 0x2AFA -#define F_4E_EXT_LIGHT_BELLY 0x2B02, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_BELLY_A 0x2B02 -#define F_4E_EXT_LIGHT_FORMATION 0x2AFC, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_FORMATION_A 0x2AFC -#define F_4E_EXT_LIGHT_FUSELAGE_TOP 0x2B04, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_FUSELAGE_TOP_A 0x2B04 -#define F_4E_EXT_LIGHT_LANDING 0x2AFE, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_LANDING_A 0x2AFE -#define F_4E_EXT_LIGHT_POSITION_TAIL 0x2AF6, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_POSITION_TAIL_A 0x2AF6 -#define F_4E_EXT_LIGHT_POSITION_WING 0x2AF4, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_POSITION_WING_A 0x2AF4 -#define F_4E_EXT_LIGHT_TAXI 0x2B00, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_TAXI_A 0x2B00 -#define F_4E_EXT_LIGHT_WING_JOIN_UP 0x2AF8, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_WING_JOIN_UP_A 0x2AF8 +#define F_4E_EXT_LIGHT_AAR 0x2B0E, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_AAR_A 0x2B0E +#define F_4E_EXT_LIGHT_BEACON 0x2AFA, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_BEACON_A 0x2AFA +#define F_4E_EXT_LIGHT_BEACON_FLASH 0x2B02, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_BEACON_FLASH_A 0x2B02 +#define F_4E_EXT_LIGHT_BELLY 0x2B0A, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_BELLY_A 0x2B0A +#define F_4E_EXT_LIGHT_FORMATION 0x2B04, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_FORMATION_A 0x2B04 +#define F_4E_EXT_LIGHT_FUSELAGE_TOP 0x2B0C, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_FUSELAGE_TOP_A 0x2B0C +#define F_4E_EXT_LIGHT_LANDING 0x2B06, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_LANDING_A 0x2B06 +#define F_4E_EXT_LIGHT_POSITION_TAIL 0x2AFE, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_POSITION_TAIL_A 0x2AFE +#define F_4E_EXT_LIGHT_POSITION_WING 0x2AFC, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_POSITION_WING_A 0x2AFC +#define F_4E_EXT_LIGHT_TAXI 0x2B08, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_TAXI_A 0x2B08 +#define F_4E_EXT_LIGHT_WING_JOIN_UP 0x2B00, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_WING_JOIN_UP_A 0x2B00 #define F_4E_PLT_AFCS_ALT_HOLD 0x2A56, 0x0100, 8 #define F_4E_PLT_AFCS_ALT_HOLD_AM 0x2A56, 0x0100 #define F_4E_PLT_AFCS_AUTOPILOT 0x2A52, 0x8000, 15 #define F_4E_PLT_AFCS_AUTOPILOT_AM 0x2A52, 0x8000 -#define F_4E_PLT_AFCS_EMERGENCY_RELEASE 0x2AEC, 0x8000, 15 -#define F_4E_PLT_AFCS_EMERGENCY_RELEASE_AM 0x2AEC, 0x8000 +#define F_4E_PLT_AFCS_EMERGENCY_RELEASE 0x2AF8, 0x0080, 7 +#define F_4E_PLT_AFCS_EMERGENCY_RELEASE_AM 0x2AF8, 0x0080 #define F_4E_PLT_AFCS_STAB_AUG_PITCH 0x2A52, 0x4000, 14 #define F_4E_PLT_AFCS_STAB_AUG_PITCH_AM 0x2A52, 0x4000 #define F_4E_PLT_AFCS_STAB_AUG_ROLL 0x2A52, 0x2000, 13 @@ -13188,33 +13188,58 @@ #define F_4E_PLT_COCKPIT_MIRROR_RIGHT_AM 0x2A4A, 0x8000 #define F_4E_PLT_COCKPIT_MIRROR_TOP 0x2A4A, 0x2000, 13 #define F_4E_PLT_COCKPIT_MIRROR_TOP_AM 0x2A4A, 0x2000 -#define F_4E_PLT_COCKPIT_PRESSURE_EMERGENCY_RELEASE 0x2AF0, 0x0400, 10 -#define F_4E_PLT_COCKPIT_PRESSURE_EMERGENCY_RELEASE_AM 0x2AF0, 0x0400 -#define F_4E_PLT_EXT_LIGHT_ANTI_COLL 0x2AEC, 0x0600, 9 -#define F_4E_PLT_EXT_LIGHT_FLASH_MODE 0x2AEC, 0x1800, 11 -#define F_4E_PLT_EXT_LIGHT_FORMATION_BRIGHTNESS 0x2B08, 0xFFFF, 0 -#define F_4E_PLT_EXT_LIGHT_FORMATION_BRIGHTNESS_A 0x2B08 -#define F_4E_PLT_EXT_LIGHT_FORMATION_MODE 0x2AF0, 0x1800, 11 -#define F_4E_PLT_EXT_LIGHT_TAIL_BRIGHTNESS 0x2AEC, 0x6000, 13 -#define F_4E_PLT_EXT_LIGHT_TAXI_LAND 0x2AF0, 0x0300, 8 -#define F_4E_PLT_EXT_LIGHT_WING_BRIGHTNESS 0x2AF0, 0x0003, 0 -#define F_4E_PLT_FUEL_AIR_REFUEL 0x2AA6, 0x0400, 10 -#define F_4E_PLT_FUEL_AIR_REFUEL_AM 0x2AA6, 0x0400 -#define F_4E_PLT_FUEL_BOOST_PUMP_L_CHECK 0x2AA6, 0x4000, 14 -#define F_4E_PLT_FUEL_BOOST_PUMP_L_CHECK_AM 0x2AA6, 0x4000 -#define F_4E_PLT_FUEL_BOOST_PUMP_R_CHECK 0x2AA6, 0x8000, 15 -#define F_4E_PLT_FUEL_BOOST_PUMP_R_CHECK_AM 0x2AA6, 0x8000 -#define F_4E_PLT_FUEL_EXTERNAL_TANKS_FEED 0x2AA6, 0x3000, 12 -#define F_4E_PLT_FUEL_FEED_TANK_CHECK 0x2AAA, 0x0100, 8 -#define F_4E_PLT_FUEL_FEED_TANK_CHECK_AM 0x2AAA, 0x0100 -#define F_4E_PLT_FUEL_REFUEL_SELECTOR 0x2AA6, 0x0200, 9 -#define F_4E_PLT_FUEL_REFUEL_SELECTOR_AM 0x2AA6, 0x0200 -#define F_4E_PLT_FUEL_REFUEL_SELECTOR_COVER 0x2AA6, 0x0100, 8 -#define F_4E_PLT_FUEL_REFUEL_SELECTOR_COVER_AM 0x2AA6, 0x0100 -#define F_4E_PLT_FUEL_WING_FUEL_DUMP 0x2AA6, 0x0800, 11 -#define F_4E_PLT_FUEL_WING_FUEL_DUMP_AM 0x2AA6, 0x0800 -#define F_4E_PLT_FUEL_WING_INTERNAL_FEED 0x2AA2, 0x8000, 15 -#define F_4E_PLT_FUEL_WING_INTERNAL_FEED_AM 0x2AA2, 0x8000 +#define F_4E_PLT_COCKPIT_PRESSURE_EMERGENCY_RELEASE 0x2AF8, 0x8000, 15 +#define F_4E_PLT_COCKPIT_PRESSURE_EMERGENCY_RELEASE_AM 0x2AF8, 0x8000 +#define F_4E_PLT_EXT_LIGHT_ANTI_COLL 0x2AF2, 0xC000, 14 +#define F_4E_PLT_EXT_LIGHT_FLASH_MODE 0x2AF8, 0x0003, 0 +#define F_4E_PLT_EXT_LIGHT_FORMATION_BRIGHTNESS 0x2B12, 0xFFFF, 0 +#define F_4E_PLT_EXT_LIGHT_FORMATION_BRIGHTNESS_A 0x2B12 +#define F_4E_PLT_EXT_LIGHT_FORMATION_MODE 0x2B10, 0x000C, 2 +#define F_4E_PLT_EXT_LIGHT_TAIL_BRIGHTNESS 0x2AF8, 0x000C, 2 +#define F_4E_PLT_EXT_LIGHT_TAXI_LAND 0x2B10, 0x0003, 0 +#define F_4E_PLT_EXT_LIGHT_WING_BRIGHTNESS 0x2AF8, 0x0030, 4 +#define F_4E_PLT_FUEL_AIR_REFUEL 0x2AE2, 0x0080, 7 +#define F_4E_PLT_FUEL_AIR_REFUEL_AM 0x2AE2, 0x0080 +#define F_4E_PLT_FUEL_BOOST_PUMP_L_CHECK 0x2AE2, 0x0800, 11 +#define F_4E_PLT_FUEL_BOOST_PUMP_L_CHECK_AM 0x2AE2, 0x0800 +#define F_4E_PLT_FUEL_BOOST_PUMP_R_CHECK 0x2AE2, 0x1000, 12 +#define F_4E_PLT_FUEL_BOOST_PUMP_R_CHECK_AM 0x2AE2, 0x1000 +#define F_4E_PLT_FUEL_EXTERNAL_TANKS_FEED 0x2AE2, 0x0600, 9 +#define F_4E_PLT_FUEL_FEED_TANK_CHECK 0x2AE2, 0x2000, 13 +#define F_4E_PLT_FUEL_FEED_TANK_CHECK_AM 0x2AE2, 0x2000 +#define F_4E_PLT_FUEL_REFUEL_SELECTOR 0x2AE2, 0x0040, 6 +#define F_4E_PLT_FUEL_REFUEL_SELECTOR_AM 0x2AE2, 0x0040 +#define F_4E_PLT_FUEL_REFUEL_SELECTOR_COVER 0x2AE2, 0x0020, 5 +#define F_4E_PLT_FUEL_REFUEL_SELECTOR_COVER_AM 0x2AE2, 0x0020 +#define F_4E_PLT_FUEL_WING_FUEL_DUMP 0x2AE2, 0x0100, 8 +#define F_4E_PLT_FUEL_WING_FUEL_DUMP_AM 0x2AE2, 0x0100 +#define F_4E_PLT_FUEL_WING_INTERNAL_FEED 0x2AE2, 0x0010, 4 +#define F_4E_PLT_FUEL_WING_INTERNAL_FEED_AM 0x2AE2, 0x0010 +#define F_4E_PLT_GEAR_ANTI_SKID 0x2AA2, 0x0200, 9 +#define F_4E_PLT_GEAR_ANTI_SKID_AM 0x2AA2, 0x0200 +#define F_4E_PLT_GEAR_ANTI_SKID_INOP 0x2AA2, 0x0400, 10 +#define F_4E_PLT_GEAR_ANTI_SKID_INOP_AM 0x2AA2, 0x0400 +#define F_4E_PLT_GEAR_ARRESTING_HOOK 0x2AA2, 0x2000, 13 +#define F_4E_PLT_GEAR_ARRESTING_HOOK_AM 0x2AA2, 0x2000 +#define F_4E_PLT_GEAR_BRAKES_EMERGENCY 0x2AD4, 0xFFFF, 0 +#define F_4E_PLT_GEAR_BRAKES_EMERGENCY_A 0x2AD4 +#define F_4E_PLT_GEAR_DRAG_CHUTE 0x2AA2, 0x0800, 11 +#define F_4E_PLT_GEAR_DRAG_CHUTE_AM 0x2AA2, 0x0800 +#define F_4E_PLT_GEAR_DRAG_CHUTE_RELEASE 0x2AA2, 0x1000, 12 +#define F_4E_PLT_GEAR_DRAG_CHUTE_RELEASE_AM 0x2AA2, 0x1000 +#define F_4E_PLT_GEAR_INDICATOR_LEFT 0x2AA2, 0xC000, 14 +#define F_4E_PLT_GEAR_INDICATOR_NOSE 0x2AA6, 0x0300, 8 +#define F_4E_PLT_GEAR_INDICATOR_RIGHT 0x2AA6, 0x0C00, 10 +#define F_4E_PLT_GEAR_LEVER 0x2A8A, 0x2000, 13 +#define F_4E_PLT_GEAR_LEVER_AM 0x2A8A, 0x2000 +#define F_4E_PLT_GEAR_LEVER_EMERGENCY 0x2A8A, 0x4000, 14 +#define F_4E_PLT_GEAR_LEVER_EMERGENCY_AM 0x2A8A, 0x4000 +#define F_4E_PLT_GEAR_LEVER_LIGHT 0x2A8A, 0x8000, 15 +#define F_4E_PLT_GEAR_LEVER_LIGHT_AM 0x2A8A, 0x8000 +#define F_4E_PLT_GEAR_NWS 0x2AF8, 0x0040, 6 +#define F_4E_PLT_GEAR_NWS_AM 0x2AF8, 0x0040 +#define F_4E_PLT_GEAR_WHEELS_LIGHT 0x2AA2, 0x0100, 8 +#define F_4E_PLT_GEAR_WHEELS_LIGHT_AM 0x2AA2, 0x0100 #define F_4E_PLT_HYDRAULIC_PC1 0x2ACE, 0xFFFF, 0 #define F_4E_PLT_HYDRAULIC_PC1_A 0x2ACE #define F_4E_PLT_HYDRAULIC_PC2 0x2AD0, 0xFFFF, 0 @@ -13268,21 +13293,21 @@ #define F_4E_PLT_KY_28_P_MODE_DIM_A 0x2A02 #define F_4E_PLT_KY_28_P_MODE_TEST 0x2A00, 0x0001, 0 #define F_4E_PLT_KY_28_P_MODE_TEST_AM 0x2A00, 0x0001 -#define F_4E_PLT_MASTER_ARM_SW 0x2AA2, 0x4000, 14 -#define F_4E_PLT_MASTER_ARM_SW_AM 0x2AA2, 0x4000 -#define F_4E_PLT_O2_FLOW 0x2AD4, 0xFFFF, 0 -#define F_4E_PLT_O2_FLOW_A 0x2AD4 -#define F_4E_PLT_O2_LITERS 0x2AD8, 0xFFFF, 0 -#define F_4E_PLT_O2_LITERS_A 0x2AD8 -#define F_4E_PLT_O2_MIXTURE 0x2AA2, 0x0100, 8 -#define F_4E_PLT_O2_MIXTURE_AM 0x2AA2, 0x0100 -#define F_4E_PLT_O2_MODE 0x2A8A, 0xC000, 14 -#define F_4E_PLT_O2_PRESSURE 0x2AD6, 0xFFFF, 0 -#define F_4E_PLT_O2_PRESSURE_A 0x2AD6 -#define F_4E_PLT_O2_SUPPLY 0x2AA2, 0x0200, 9 -#define F_4E_PLT_O2_SUPPLY_AM 0x2AA2, 0x0200 -#define F_4E_PLT_O2_TEST 0x2A8A, 0x2000, 13 -#define F_4E_PLT_O2_TEST_AM 0x2A8A, 0x2000 +#define F_4E_PLT_MASTER_ARM_SW 0x2AE2, 0x0008, 3 +#define F_4E_PLT_MASTER_ARM_SW_AM 0x2AE2, 0x0008 +#define F_4E_PLT_O2_FLOW 0x2ADA, 0xFFFF, 0 +#define F_4E_PLT_O2_FLOW_A 0x2ADA +#define F_4E_PLT_O2_LITERS 0x2ADE, 0xFFFF, 0 +#define F_4E_PLT_O2_LITERS_A 0x2ADE +#define F_4E_PLT_O2_MIXTURE 0x2AAA, 0x2000, 13 +#define F_4E_PLT_O2_MIXTURE_AM 0x2AAA, 0x2000 +#define F_4E_PLT_O2_MODE 0x2AAA, 0x1800, 11 +#define F_4E_PLT_O2_PRESSURE 0x2ADC, 0xFFFF, 0 +#define F_4E_PLT_O2_PRESSURE_A 0x2ADC +#define F_4E_PLT_O2_SUPPLY 0x2AAA, 0x4000, 14 +#define F_4E_PLT_O2_SUPPLY_AM 0x2AAA, 0x4000 +#define F_4E_PLT_O2_TEST 0x2AAA, 0x0400, 10 +#define F_4E_PLT_O2_TEST_AM 0x2AAA, 0x0400 #define F_4E_PLT_PNEUMATIC_GAUGE 0x2ACC, 0xFFFF, 0 #define F_4E_PLT_PNEUMATIC_GAUGE_A 0x2ACC #define F_4E_PLT_RADAR_ALT_BUG 0x2A70, 0xFFFF, 0 @@ -13297,11 +13322,11 @@ #define F_4E_PLT_RADAR_ALT_PUSH_TEST_AM 0x2A56, 0x2000 #define F_4E_PLT_RADAR_ALT_WARN_LIGHT 0x2A56, 0x4000, 14 #define F_4E_PLT_RADAR_ALT_WARN_LIGHT_AM 0x2A56, 0x4000 -#define F_4E_PLT_THROTTLE_CM_DISPENSE 0x2AF0, 0x0020, 5 -#define F_4E_PLT_THROTTLE_CM_DISPENSE_AM 0x2AF0, 0x0020 -#define F_4E_PLT_THROTTLE_MIC 0x2AF0, 0x0018, 3 -#define F_4E_WSO_AFCS_EMERGENCY_RELEASE 0x2AF0, 0x0004, 2 -#define F_4E_WSO_AFCS_EMERGENCY_RELEASE_AM 0x2AF0, 0x0004 +#define F_4E_PLT_THROTTLE_CM_DISPENSE 0x2AF8, 0x1000, 12 +#define F_4E_PLT_THROTTLE_CM_DISPENSE_AM 0x2AF8, 0x1000 +#define F_4E_PLT_THROTTLE_MIC 0x2AF8, 0x0C00, 10 +#define F_4E_WSO_AFCS_EMERGENCY_RELEASE 0x2AF8, 0x0200, 9 +#define F_4E_WSO_AFCS_EMERGENCY_RELEASE_AM 0x2AF8, 0x0200 #define F_4E_WSO_AOA_AURAL_TONE 0x2A80, 0xFFFF, 0 #define F_4E_WSO_AOA_AURAL_TONE_A 0x2A80 #define F_4E_WSO_AOA_INDEXER_BRIGHTNESS 0x2A84, 0xFFFF, 0 @@ -13395,53 +13420,62 @@ #define F_4E_WSO_COCKPIT_MIRROR_LEFT_AM 0x2A52, 0x0200 #define F_4E_WSO_COCKPIT_MIRROR_RIGHT 0x2A52, 0x0400, 10 #define F_4E_WSO_COCKPIT_MIRROR_RIGHT_AM 0x2A52, 0x0400 +#define F_4E_WSO_GEAR_BRAKES_EMERGENCY 0x2AD8, 0xFFFF, 0 +#define F_4E_WSO_GEAR_BRAKES_EMERGENCY_A 0x2AD8 +#define F_4E_WSO_GEAR_HANDLE_EMERGENCY 0x2AD6, 0xFFFF, 0 +#define F_4E_WSO_GEAR_HANDLE_EMERGENCY_A 0x2AD6 +#define F_4E_WSO_GEAR_INDICATOR_LEFT 0x2AA6, 0x3000, 12 +#define F_4E_WSO_GEAR_INDICATOR_NOSE 0x2AA6, 0xC000, 14 +#define F_4E_WSO_GEAR_INDICATOR_RIGHT 0x2AAA, 0x0300, 8 +#define F_4E_WSO_GEAR_NWS 0x2AF8, 0x0100, 8 +#define F_4E_WSO_GEAR_NWS_AM 0x2AF8, 0x0100 #define F_4E_WSO_ICS_AMPLIFIER 0x2A0E, 0x0003, 0 #define F_4E_WSO_ICS_INTERCOM_VOL 0x2A0C, 0xFFFF, 0 #define F_4E_WSO_ICS_INTERCOM_VOL_A 0x2A0C #define F_4E_WSO_ICS_MODE 0x2A0E, 0x000C, 2 -#define F_4E_WSO_IFF_CHALLENGE_DIM 0x2AEA, 0xFFFF, 0 -#define F_4E_WSO_IFF_CHALLENGE_DIM_A 0x2AEA -#define F_4E_WSO_IFF_CHALLENGE_LIGHT 0x2AE8, 0x1000, 12 -#define F_4E_WSO_IFF_CHALLENGE_LIGHT_AM 0x2AE8, 0x1000 -#define F_4E_WSO_IFF_CHALLENGE_TEST_BUTTON 0x2AE8, 0x0800, 11 -#define F_4E_WSO_IFF_CHALLENGE_TEST_BUTTON_AM 0x2AE8, 0x0800 -#define F_4E_WSO_IFF_CODE_A 0x2AE2 -#define F_4E_WSO_IFF_CODE_HUNDREDS 0x2AE0, 0x00F0, 4 -#define F_4E_WSO_IFF_CODE_INC_HUNDREDS 0x2AAA, 0x8000, 15 -#define F_4E_WSO_IFF_CODE_INC_HUNDREDS_AM 0x2AAA, 0x8000 -#define F_4E_WSO_IFF_CODE_INC_ONES 0x2AE0, 0x2000, 13 -#define F_4E_WSO_IFF_CODE_INC_ONES_AM 0x2AE0, 0x2000 -#define F_4E_WSO_IFF_CODE_INC_TENS 0x2AE0, 0x1000, 12 -#define F_4E_WSO_IFF_CODE_INC_TENS_AM 0x2AE0, 0x1000 -#define F_4E_WSO_IFF_CODE_INC_THOUSANDS 0x2AAA, 0x4000, 14 -#define F_4E_WSO_IFF_CODE_INC_THOUSANDS_AM 0x2AAA, 0x4000 -#define F_4E_WSO_IFF_CODE_ONES 0x2AAA, 0x1E00, 9 -#define F_4E_WSO_IFF_CODE_TENS 0x2AE0, 0x000F, 0 -#define F_4E_WSO_IFF_CODE_THOUSANDS 0x2AE0, 0x0F00, 8 -#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_DIM 0x2AEE, 0xFFFF, 0 -#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_DIM_A 0x2AEE -#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_BUTTON 0x2AEC, 0x0001, 0 -#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_BUTTON_AM 0x2AEC, 0x0001 -#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT 0x2AEC, 0x0002, 1 -#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT_AM 0x2AEC, 0x0002 -#define F_4E_WSO_IFF_COMBAT_TREE_MODE_2 0x2AEC, 0x0018, 3 -#define F_4E_WSO_IFF_COMBAT_TREE_MODE_3 0x2AEC, 0x0060, 5 -#define F_4E_WSO_IFF_COMBAT_TREE_TEST 0x2AEC, 0x0004, 2 -#define F_4E_WSO_IFF_COMBAT_TREE_TEST_AM 0x2AEC, 0x0004 -#define F_4E_WSO_IFF_MODE_A 0x2AE6 -#define F_4E_WSO_IFF_MODE_DEC 0x2AE0, 0x4000, 14 -#define F_4E_WSO_IFF_MODE_DEC_AM 0x2AE0, 0x4000 -#define F_4E_WSO_IFF_MODE_DEC_HUNDREDS 0x2AE8, 0x0100, 8 -#define F_4E_WSO_IFF_MODE_DEC_HUNDREDS_AM 0x2AE8, 0x0100 -#define F_4E_WSO_IFF_MODE_DEC_ONES 0x2AE8, 0x0400, 10 -#define F_4E_WSO_IFF_MODE_DEC_ONES_AM 0x2AE8, 0x0400 -#define F_4E_WSO_IFF_MODE_DEC_TENS 0x2AE8, 0x0200, 9 -#define F_4E_WSO_IFF_MODE_DEC_TENS_AM 0x2AE8, 0x0200 -#define F_4E_WSO_IFF_MODE_DEC_THOUSANDS 0x2AE0, 0x8000, 15 -#define F_4E_WSO_IFF_MODE_DEC_THOUSANDS_AM 0x2AE0, 0x8000 -#define F_4E_WSO_IFF_MODE_INC 0x2AAA, 0x2000, 13 -#define F_4E_WSO_IFF_MODE_INC_AM 0x2AAA, 0x2000 -#define F_4E_WSO_IFF_TEST_CHALLENGE 0x2AE8, 0x6000, 13 +#define F_4E_WSO_IFF_CHALLENGE_DIM 0x2AF4, 0xFFFF, 0 +#define F_4E_WSO_IFF_CHALLENGE_DIM_A 0x2AF4 +#define F_4E_WSO_IFF_CHALLENGE_LIGHT 0x2AF2, 0x0002, 1 +#define F_4E_WSO_IFF_CHALLENGE_LIGHT_AM 0x2AF2, 0x0002 +#define F_4E_WSO_IFF_CHALLENGE_TEST_BUTTON 0x2AF2, 0x0001, 0 +#define F_4E_WSO_IFF_CHALLENGE_TEST_BUTTON_AM 0x2AF2, 0x0001 +#define F_4E_WSO_IFF_CODE_A 0x2AEA +#define F_4E_WSO_IFF_CODE_HUNDREDS 0x2AE8, 0x0F00, 8 +#define F_4E_WSO_IFF_CODE_INC_HUNDREDS 0x2AF0, 0x0100, 8 +#define F_4E_WSO_IFF_CODE_INC_HUNDREDS_AM 0x2AF0, 0x0100 +#define F_4E_WSO_IFF_CODE_INC_ONES 0x2AF0, 0x0400, 10 +#define F_4E_WSO_IFF_CODE_INC_ONES_AM 0x2AF0, 0x0400 +#define F_4E_WSO_IFF_CODE_INC_TENS 0x2AF0, 0x0200, 9 +#define F_4E_WSO_IFF_CODE_INC_TENS_AM 0x2AF0, 0x0200 +#define F_4E_WSO_IFF_CODE_INC_THOUSANDS 0x2AE2, 0x8000, 15 +#define F_4E_WSO_IFF_CODE_INC_THOUSANDS_AM 0x2AE2, 0x8000 +#define F_4E_WSO_IFF_CODE_ONES 0x2AE8, 0x000F, 0 +#define F_4E_WSO_IFF_CODE_TENS 0x2AE8, 0x00F0, 4 +#define F_4E_WSO_IFF_CODE_THOUSANDS 0x2AE8, 0xF000, 12 +#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_DIM 0x2AF6, 0xFFFF, 0 +#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_DIM_A 0x2AF6 +#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_BUTTON 0x2AF2, 0x0020, 5 +#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_BUTTON_AM 0x2AF2, 0x0020 +#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT 0x2AF2, 0x0040, 6 +#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT_AM 0x2AF2, 0x0040 +#define F_4E_WSO_IFF_COMBAT_TREE_MODE_2 0x2AF2, 0x0300, 8 +#define F_4E_WSO_IFF_COMBAT_TREE_MODE_3 0x2AF2, 0x0C00, 10 +#define F_4E_WSO_IFF_COMBAT_TREE_TEST 0x2AF2, 0x0080, 7 +#define F_4E_WSO_IFF_COMBAT_TREE_TEST_AM 0x2AF2, 0x0080 +#define F_4E_WSO_IFF_MODE_A 0x2AEE +#define F_4E_WSO_IFF_MODE_DEC 0x2AF0, 0x0800, 11 +#define F_4E_WSO_IFF_MODE_DEC_AM 0x2AF0, 0x0800 +#define F_4E_WSO_IFF_MODE_DEC_HUNDREDS 0x2AF0, 0x2000, 13 +#define F_4E_WSO_IFF_MODE_DEC_HUNDREDS_AM 0x2AF0, 0x2000 +#define F_4E_WSO_IFF_MODE_DEC_ONES 0x2AF0, 0x8000, 15 +#define F_4E_WSO_IFF_MODE_DEC_ONES_AM 0x2AF0, 0x8000 +#define F_4E_WSO_IFF_MODE_DEC_TENS 0x2AF0, 0x4000, 14 +#define F_4E_WSO_IFF_MODE_DEC_TENS_AM 0x2AF0, 0x4000 +#define F_4E_WSO_IFF_MODE_DEC_THOUSANDS 0x2AF0, 0x1000, 12 +#define F_4E_WSO_IFF_MODE_DEC_THOUSANDS_AM 0x2AF0, 0x1000 +#define F_4E_WSO_IFF_MODE_INC 0x2AE2, 0x4000, 14 +#define F_4E_WSO_IFF_MODE_INC_AM 0x2AE2, 0x4000 +#define F_4E_WSO_IFF_TEST_CHALLENGE 0x2AF2, 0x000C, 2 #define F_4E_WSO_INS_ALIGN 0x2A7E, 0x8000, 15 #define F_4E_WSO_INS_ALIGN_AM 0x2A7E, 0x8000 #define F_4E_WSO_INS_ALIGN_DIM 0x2A86, 0xFFFF, 0 @@ -13511,16 +13545,16 @@ #define F_4E_WSO_NAV_WIND_STRENGTH 0x2A90, 0xFFFF, 0 #define F_4E_WSO_NAV_WIND_STRENGTH_A 0x2A90 #define F_4E_WSO_NAV_WIND_STRENGTH_VALUE_A 0x2AA8 -#define F_4E_WSO_O2_FLOW 0x2ADC, 0xFFFF, 0 -#define F_4E_WSO_O2_FLOW_A 0x2ADC -#define F_4E_WSO_O2_MIXTURE 0x2AA2, 0x1000, 12 -#define F_4E_WSO_O2_MIXTURE_AM 0x2AA2, 0x1000 -#define F_4E_WSO_O2_MODE 0x2AA2, 0x0C00, 10 -#define F_4E_WSO_O2_PRESSURE 0x2ADE, 0xFFFF, 0 -#define F_4E_WSO_O2_PRESSURE_A 0x2ADE -#define F_4E_WSO_O2_SUPPLY 0x2AA2, 0x2000, 13 -#define F_4E_WSO_O2_SUPPLY_AM 0x2AA2, 0x2000 -#define F_4E_WSO_THROTTLE_MIC 0x2AF0, 0x00C0, 6 +#define F_4E_WSO_O2_FLOW 0x2AE4, 0xFFFF, 0 +#define F_4E_WSO_O2_FLOW_A 0x2AE4 +#define F_4E_WSO_O2_MIXTURE 0x2AAA, 0x8000, 15 +#define F_4E_WSO_O2_MIXTURE_AM 0x2AAA, 0x8000 +#define F_4E_WSO_O2_MODE 0x2AE2, 0x0003, 0 +#define F_4E_WSO_O2_PRESSURE 0x2AE6, 0xFFFF, 0 +#define F_4E_WSO_O2_PRESSURE_A 0x2AE6 +#define F_4E_WSO_O2_SUPPLY 0x2AE2, 0x0004, 2 +#define F_4E_WSO_O2_SUPPLY_AM 0x2AE2, 0x0004 +#define F_4E_WSO_THROTTLE_MIC 0x2AF8, 0x6000, 13 #define F_5E_3_ACC 0x768E, 0x0004, 2 #define F_5E_3_ACCELEROMETER 0x76A0, 0xFFFF, 0 #define F_5E_3_ACCELEROMETER_A 0x76A0 diff --git a/Scripts/DCS-BIOS/doc/doc_assets/F-4E.jsonp b/Scripts/DCS-BIOS/doc/doc_assets/F-4E.jsonp index 2ffcdc070..7331eeec9 100644 --- a/Scripts/DCS-BIOS/doc/doc_assets/F-4E.jsonp +++ b/Scripts/DCS-BIOS/doc/doc_assets/F-4E.jsonp @@ -8,7 +8,7 @@ docdata["F-4E"] = "identifier": "EXT_LIGHT_AAR", "inputs": [ ], "outputs": [ { - "address": 11014, + "address": 11022, "address_identifier": "F_4E_EXT_LIGHT_AAR_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_AAR", "description": "AAR Receptacle Light (White)", @@ -26,7 +26,7 @@ docdata["F-4E"] = "identifier": "EXT_LIGHT_BEACON", "inputs": [ ], "outputs": [ { - "address": 10994, + "address": 11002, "address_identifier": "F_4E_EXT_LIGHT_BEACON_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_BEACON", "description": "Beacon Light (Red)", @@ -44,7 +44,7 @@ docdata["F-4E"] = "identifier": "EXT_LIGHT_BEACON_FLASH", "inputs": [ ], "outputs": [ { - "address": 11002, + "address": 11010, "address_identifier": "F_4E_EXT_LIGHT_BEACON_FLASH_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_BEACON_FLASH", "description": "Flashing Beacon Light (Red)", @@ -62,7 +62,7 @@ docdata["F-4E"] = "identifier": "EXT_LIGHT_BELLY", "inputs": [ ], "outputs": [ { - "address": 11010, + "address": 11018, "address_identifier": "F_4E_EXT_LIGHT_BELLY_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_BELLY", "description": "Belly Lights L/R (White)", @@ -80,7 +80,7 @@ docdata["F-4E"] = "identifier": "EXT_LIGHT_FORMATION", "inputs": [ ], "outputs": [ { - "address": 11004, + "address": 11012, "address_identifier": "F_4E_EXT_LIGHT_FORMATION_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_FORMATION", "description": "Formation Lights (Green)", @@ -98,7 +98,7 @@ docdata["F-4E"] = "identifier": "EXT_LIGHT_FUSELAGE_TOP", "inputs": [ ], "outputs": [ { - "address": 11012, + "address": 11020, "address_identifier": "F_4E_EXT_LIGHT_FUSELAGE_TOP_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_FUSELAGE_TOP", "description": "Fuselage Top Light (White)", @@ -116,7 +116,7 @@ docdata["F-4E"] = "identifier": "EXT_LIGHT_LANDING", "inputs": [ ], "outputs": [ { - "address": 11006, + "address": 11014, "address_identifier": "F_4E_EXT_LIGHT_LANDING_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_LANDING", "description": "Landing Light (White)", @@ -134,7 +134,7 @@ docdata["F-4E"] = "identifier": "EXT_LIGHT_POSITION_TAIL", "inputs": [ ], "outputs": [ { - "address": 10998, + "address": 11006, "address_identifier": "F_4E_EXT_LIGHT_POSITION_TAIL_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_POSITION_TAIL", "description": "Tail Position Light (White)", @@ -152,7 +152,7 @@ docdata["F-4E"] = "identifier": "EXT_LIGHT_POSITION_WING", "inputs": [ ], "outputs": [ { - "address": 10996, + "address": 11004, "address_identifier": "F_4E_EXT_LIGHT_POSITION_WING_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_POSITION_WING", "description": "Wing Position Lights (Red/Green)", @@ -170,7 +170,7 @@ docdata["F-4E"] = "identifier": "EXT_LIGHT_TAXI", "inputs": [ ], "outputs": [ { - "address": 11008, + "address": 11016, "address_identifier": "F_4E_EXT_LIGHT_TAXI_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_TAXI", "description": "Taxi Light (White)", @@ -188,7 +188,7 @@ docdata["F-4E"] = "identifier": "EXT_LIGHT_WING_JOIN_UP", "inputs": [ ], "outputs": [ { - "address": 11000, + "address": 11008, "address_identifier": "F_4E_EXT_LIGHT_WING_JOIN_UP_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_WING_JOIN_UP", "description": "Wing Join-Up Lights (Red/Green)", @@ -1666,12 +1666,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10988, + "address": 10994, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_ANTI_COLL", "description": "selector position", - "mask": 1536, + "mask": 49152, "max_value": 2, - "shift_by": 9, + "shift_by": 14, "suffix": "", "type": "integer" } ] @@ -1690,12 +1690,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10988, + "address": 11000, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_FLASH_MODE", "description": "selector position", - "mask": 6144, + "mask": 3, "max_value": 2, - "shift_by": 11, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -1714,12 +1714,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10988, + "address": 11000, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_TAIL_BRIGHTNESS", "description": "selector position", - "mask": 24576, + "mask": 12, "max_value": 2, - "shift_by": 13, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -1738,12 +1738,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10992, + "address": 11000, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_WING_BRIGHTNESS", "description": "selector position", - "mask": 3, + "mask": 48, "max_value": 2, - "shift_by": 0, + "shift_by": 4, "suffix": "", "type": "integer" } ] @@ -1768,13 +1768,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_AIR_REFUEL_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_AIR_REFUEL", "description": "selector position", - "mask": 1024, + "mask": 128, "max_value": 1, - "shift_by": 10, + "shift_by": 7, "suffix": "", "type": "integer" } ] @@ -1798,13 +1798,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_BOOST_PUMP_L_CHECK_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_BOOST_PUMP_L_CHECK", "description": "selector position", - "mask": 16384, + "mask": 2048, "max_value": 1, - "shift_by": 14, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -1828,13 +1828,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_BOOST_PUMP_R_CHECK_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_BOOST_PUMP_R_CHECK", "description": "selector position", - "mask": 32768, + "mask": 4096, "max_value": 1, - "shift_by": 15, + "shift_by": 12, "suffix": "", "type": "integer" } ] @@ -1853,12 +1853,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_shift_identifier": "F_4E_PLT_FUEL_EXTERNAL_TANKS_FEED", "description": "selector position", - "mask": 12288, + "mask": 1536, "max_value": 2, - "shift_by": 12, + "shift_by": 9, "suffix": "", "type": "integer" } ] @@ -1882,13 +1882,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10922, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_FEED_TANK_CHECK_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_FEED_TANK_CHECK", "description": "selector position", - "mask": 256, + "mask": 8192, "max_value": 1, - "shift_by": 8, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -1911,13 +1911,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_REFUEL_SELECTOR_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_REFUEL_SELECTOR", "description": "selector position", - "mask": 512, + "mask": 64, "max_value": 1, - "shift_by": 9, + "shift_by": 6, "suffix": "", "type": "integer" } ] @@ -1940,13 +1940,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_REFUEL_SELECTOR_COVER_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_REFUEL_SELECTOR_COVER", "description": "selector position", - "mask": 256, + "mask": 32, "max_value": 1, - "shift_by": 8, + "shift_by": 5, "suffix": "", "type": "integer" } ] @@ -1969,13 +1969,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_WING_FUEL_DUMP_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_WING_FUEL_DUMP", "description": "selector position", - "mask": 2048, + "mask": 256, "max_value": 1, - "shift_by": 11, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -1998,13 +1998,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10914, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_WING_INTERNAL_FEED_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_WING_INTERNAL_FEED", "description": "selector position", - "mask": 32768, + "mask": 16, "max_value": 1, - "shift_by": 15, + "shift_by": 4, "suffix": "", "type": "integer" } ] @@ -2863,6 +2863,314 @@ docdata["F-4E"] = } ] } }, + "PLT Landing Gear Controls": { + "PLT_GEAR_ANTI_SKID": { + "category": "PLT Landing Gear Controls", + "control_type": "selector", + "description": "Anti-Skid Toggle", + "identifier": "PLT_GEAR_ANTI_SKID", + "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" + } ], + "outputs": [ { + "address": 10914, + "address_mask_identifier": "F_4E_PLT_GEAR_ANTI_SKID_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_ANTI_SKID", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_ANTI_SKID_INOP": { + "category": "PLT Landing Gear Controls", + "control_type": "led", + "description": "Anti-Skid Inoperative Lamp (Yellow)", + "identifier": "PLT_GEAR_ANTI_SKID_INOP", + "inputs": [ ], + "outputs": [ { + "address": 10914, + "address_mask_identifier": "F_4E_PLT_GEAR_ANTI_SKID_INOP_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_ANTI_SKID_INOP", + "description": "0 if light is off, 1 if light is on", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_ARRESTING_HOOK": { + "category": "PLT Landing Gear Controls", + "control_type": "selector", + "description": "Arresting Hook Handle", + "identifier": "PLT_GEAR_ARRESTING_HOOK", + "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" + } ], + "outputs": [ { + "address": 10914, + "address_mask_identifier": "F_4E_PLT_GEAR_ARRESTING_HOOK_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_ARRESTING_HOOK", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_BRAKES_EMERGENCY": { + "category": "PLT Landing Gear Controls", + "control_type": "limited_dial", + "description": "Emergency Wheel Brake (Pull)", + "identifier": "PLT_GEAR_BRAKES_EMERGENCY", + "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": 10964, + "address_identifier": "F_4E_PLT_GEAR_BRAKES_EMERGENCY_A", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_BRAKES_EMERGENCY", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_DRAG_CHUTE": { + "category": "PLT Landing Gear Controls", + "control_type": "selector", + "description": "Drag-Parachute (Pull to Deploy)", + "identifier": "PLT_GEAR_DRAG_CHUTE", + "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" + } ], + "outputs": [ { + "address": 10914, + "address_mask_identifier": "F_4E_PLT_GEAR_DRAG_CHUTE_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_DRAG_CHUTE", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_DRAG_CHUTE_RELEASE": { + "category": "PLT Landing Gear Controls", + "control_type": "selector", + "description": "Release Drag-Parachute (only while deployed)", + "identifier": "PLT_GEAR_DRAG_CHUTE_RELEASE", + "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" + } ], + "outputs": [ { + "address": 10914, + "address_mask_identifier": "F_4E_PLT_GEAR_DRAG_CHUTE_RELEASE_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_DRAG_CHUTE_RELEASE", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_INDICATOR_LEFT": { + "category": "PLT Landing Gear Controls", + "control_type": "metadata", + "description": "Landing Gear Up/Down Indicator (Left)", + "identifier": "PLT_GEAR_INDICATOR_LEFT", + "inputs": [ ], + "outputs": [ { + "address": 10914, + "address_mask_shift_identifier": "F_4E_PLT_GEAR_INDICATOR_LEFT", + "description": "Landing Gear Up/Down Indicator (Left)", + "mask": 49152, + "max_value": 2, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_INDICATOR_NOSE": { + "category": "PLT Landing Gear Controls", + "control_type": "metadata", + "description": "Landing Gear Up/Down Indicator (Nose)", + "identifier": "PLT_GEAR_INDICATOR_NOSE", + "inputs": [ ], + "outputs": [ { + "address": 10918, + "address_mask_shift_identifier": "F_4E_PLT_GEAR_INDICATOR_NOSE", + "description": "Landing Gear Up/Down Indicator (Nose)", + "mask": 768, + "max_value": 2, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_INDICATOR_RIGHT": { + "category": "PLT Landing Gear Controls", + "control_type": "metadata", + "description": "Landing Gear Up/Down Indicator (Right)", + "identifier": "PLT_GEAR_INDICATOR_RIGHT", + "inputs": [ ], + "outputs": [ { + "address": 10918, + "address_mask_shift_identifier": "F_4E_PLT_GEAR_INDICATOR_RIGHT", + "description": "Landing Gear Up/Down Indicator (Right)", + "mask": 3072, + "max_value": 2, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_LEVER": { + "category": "PLT Landing Gear Controls", + "control_type": "selector", + "description": "Landing Gear Lever", + "identifier": "PLT_GEAR_LEVER", + "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" + } ], + "outputs": [ { + "address": 10890, + "address_mask_identifier": "F_4E_PLT_GEAR_LEVER_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_LEVER", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_LEVER_EMERGENCY": { + "category": "PLT Landing Gear Controls", + "control_type": "selector", + "description": "Landing Gear Lever (Pull Out for Emergency)", + "identifier": "PLT_GEAR_LEVER_EMERGENCY", + "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" + } ], + "outputs": [ { + "address": 10890, + "address_mask_identifier": "F_4E_PLT_GEAR_LEVER_EMERGENCY_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_LEVER_EMERGENCY", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_LEVER_LIGHT": { + "category": "PLT Landing Gear Controls", + "control_type": "led", + "description": "Landing Gear Lever Light (Red)", + "identifier": "PLT_GEAR_LEVER_LIGHT", + "inputs": [ ], + "outputs": [ { + "address": 10890, + "address_mask_identifier": "F_4E_PLT_GEAR_LEVER_LIGHT_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_LEVER_LIGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_WHEELS_LIGHT": { + "category": "PLT Landing Gear Controls", + "control_type": "led", + "description": "WHEELS Lamp (Red)", + "identifier": "PLT_GEAR_WHEELS_LIGHT", + "inputs": [ ], + "outputs": [ { + "address": 10914, + "address_mask_identifier": "F_4E_PLT_GEAR_WHEELS_LIGHT_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_WHEELS_LIGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ] + } + }, "PLT Left Subpanel": { "PLT_EXT_LIGHT_TAXI_LAND": { "category": "PLT Left Subpanel", @@ -2878,12 +3186,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10992, + "address": 11024, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_TAXI_LAND", "description": "selector position", - "mask": 768, + "mask": 3, "max_value": 2, - "shift_by": 8, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -2897,7 +3205,7 @@ docdata["F-4E"] = "identifier": "PLT_O2_FLOW", "inputs": [ ], "outputs": [ { - "address": 10964, + "address": 10970, "address_identifier": "F_4E_PLT_O2_FLOW_A", "address_mask_shift_identifier": "F_4E_PLT_O2_FLOW", "description": "gauge position", @@ -2915,7 +3223,7 @@ docdata["F-4E"] = "identifier": "PLT_O2_LITERS", "inputs": [ ], "outputs": [ { - "address": 10968, + "address": 10974, "address_identifier": "F_4E_PLT_O2_LITERS_A", "address_mask_shift_identifier": "F_4E_PLT_O2_LITERS", "description": "gauge position", @@ -2944,13 +3252,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10914, + "address": 10922, "address_mask_identifier": "F_4E_PLT_O2_MIXTURE_AM", "address_mask_shift_identifier": "F_4E_PLT_O2_MIXTURE", "description": "selector position", - "mask": 256, + "mask": 8192, "max_value": 1, - "shift_by": 8, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -2966,12 +3274,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10890, + "address": 10922, "address_mask_shift_identifier": "F_4E_PLT_O2_MODE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 49152, + "mask": 6144, "max_value": 2, - "shift_by": 14, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -2983,7 +3291,7 @@ docdata["F-4E"] = "identifier": "PLT_O2_PRESSURE", "inputs": [ ], "outputs": [ { - "address": 10966, + "address": 10972, "address_identifier": "F_4E_PLT_O2_PRESSURE_A", "address_mask_shift_identifier": "F_4E_PLT_O2_PRESSURE", "description": "gauge position", @@ -3012,13 +3320,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10914, + "address": 10922, "address_mask_identifier": "F_4E_PLT_O2_SUPPLY_AM", "address_mask_shift_identifier": "F_4E_PLT_O2_SUPPLY", "description": "selector position", - "mask": 512, + "mask": 16384, "max_value": 1, - "shift_by": 9, + "shift_by": 14, "suffix": "", "type": "integer" } ] @@ -3042,13 +3350,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10890, + "address": 10922, "address_mask_identifier": "F_4E_PLT_O2_TEST_AM", "address_mask_shift_identifier": "F_4E_PLT_O2_TEST", "description": "selector position", - "mask": 8192, + "mask": 1024, "max_value": 1, - "shift_by": 13, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -3225,13 +3533,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10992, + "address": 11000, "address_mask_identifier": "F_4E_PLT_COCKPIT_PRESSURE_EMERGENCY_RELEASE_AM", "address_mask_shift_identifier": "F_4E_PLT_COCKPIT_PRESSURE_EMERGENCY_RELEASE", "description": "selector position", - "mask": 1024, + "mask": 32768, "max_value": 1, - "shift_by": 10, + "shift_by": 15, "suffix": "", "type": "integer" } ] @@ -3254,7 +3562,7 @@ docdata["F-4E"] = "suggested_step": 3200 } ], "outputs": [ { - "address": 11016, + "address": 11026, "address_identifier": "F_4E_PLT_EXT_LIGHT_FORMATION_BRIGHTNESS_A", "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_FORMATION_BRIGHTNESS", "description": "position of the potentiometer", @@ -3276,12 +3584,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10992, + "address": 11024, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_FORMATION_MODE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 6144, + "mask": 12, "max_value": 2, - "shift_by": 11, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -3307,13 +3615,43 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10988, + "address": 11000, "address_mask_identifier": "F_4E_PLT_AFCS_EMERGENCY_RELEASE_AM", "address_mask_shift_identifier": "F_4E_PLT_AFCS_EMERGENCY_RELEASE", "description": "selector position", - "mask": 32768, + "mask": 128, "max_value": 1, - "shift_by": 15, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_NWS": { + "api_variant": "momentary_last_position", + "category": "PLT Stick", + "control_type": "selector", + "description": "Nosegear Steering Button", + "identifier": "PLT_GEAR_NWS", + "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" + } ], + "outputs": [ { + "address": 11000, + "address_mask_identifier": "F_4E_PLT_GEAR_NWS_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_NWS", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, "suffix": "", "type": "integer" } ] @@ -3339,13 +3677,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10992, + "address": 11000, "address_mask_identifier": "F_4E_PLT_THROTTLE_CM_DISPENSE_AM", "address_mask_shift_identifier": "F_4E_PLT_THROTTLE_CM_DISPENSE", "description": "selector position", - "mask": 32, + "mask": 4096, "max_value": 1, - "shift_by": 5, + "shift_by": 12, "suffix": "", "type": "integer" } ] @@ -3361,12 +3699,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10992, + "address": 11000, "address_mask_shift_identifier": "F_4E_PLT_THROTTLE_MIC", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 24, + "mask": 3072, "max_value": 2, - "shift_by": 3, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -3391,13 +3729,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10914, + "address": 10978, "address_mask_identifier": "F_4E_PLT_MASTER_ARM_SW_AM", "address_mask_shift_identifier": "F_4E_PLT_MASTER_ARM_SW", "description": "selector position", - "mask": 16384, + "mask": 8, "max_value": 1, - "shift_by": 14, + "shift_by": 3, "suffix": "", "type": "integer" } ] @@ -4799,7 +5137,7 @@ docdata["F-4E"] = "suggested_step": 3200 } ], "outputs": [ { - "address": 10986, + "address": 10996, "address_identifier": "F_4E_WSO_IFF_CHALLENGE_DIM_A", "address_mask_shift_identifier": "F_4E_WSO_IFF_CHALLENGE_DIM", "description": "position of the potentiometer", @@ -4817,13 +5155,13 @@ docdata["F-4E"] = "identifier": "WSO_IFF_CHALLENGE_LIGHT", "inputs": [ ], "outputs": [ { - "address": 10984, + "address": 10994, "address_mask_identifier": "F_4E_WSO_IFF_CHALLENGE_LIGHT_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_CHALLENGE_LIGHT", "description": "0 if light is off, 1 if light is on", - "mask": 4096, + "mask": 2, "max_value": 1, - "shift_by": 12, + "shift_by": 1, "suffix": "", "type": "integer" } ] @@ -4847,13 +5185,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10984, + "address": 10994, "address_mask_identifier": "F_4E_WSO_IFF_CHALLENGE_TEST_BUTTON_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_CHALLENGE_TEST_BUTTON", "description": "selector position", - "mask": 2048, + "mask": 1, "max_value": 1, - "shift_by": 11, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -4865,7 +5203,7 @@ docdata["F-4E"] = "identifier": "WSO_IFF_CODE", "inputs": [ ], "outputs": [ { - "address": 10978, + "address": 10986, "address_identifier": "F_4E_WSO_IFF_CODE_A", "description": "IFF Code", "max_length": 4, @@ -4880,12 +5218,12 @@ docdata["F-4E"] = "identifier": "WSO_IFF_CODE_HUNDREDS", "inputs": [ ], "outputs": [ { - "address": 10976, + "address": 10984, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_HUNDREDS", "description": "IFF Code (hundreds)", - "mask": 240, + "mask": 3840, "max_value": 8, - "shift_by": 4, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -4909,13 +5247,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10922, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_CODE_INC_HUNDREDS_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_INC_HUNDREDS", "description": "selector position", - "mask": 32768, + "mask": 256, "max_value": 1, - "shift_by": 15, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -4939,13 +5277,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10976, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_CODE_INC_ONES_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_INC_ONES", "description": "selector position", - "mask": 8192, + "mask": 1024, "max_value": 1, - "shift_by": 13, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -4969,13 +5307,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10976, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_CODE_INC_TENS_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_INC_TENS", "description": "selector position", - "mask": 4096, + "mask": 512, "max_value": 1, - "shift_by": 12, + "shift_by": 9, "suffix": "", "type": "integer" } ] @@ -4999,13 +5337,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10922, + "address": 10978, "address_mask_identifier": "F_4E_WSO_IFF_CODE_INC_THOUSANDS_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_INC_THOUSANDS", "description": "selector position", - "mask": 16384, + "mask": 32768, "max_value": 1, - "shift_by": 14, + "shift_by": 15, "suffix": "", "type": "integer" } ] @@ -5017,12 +5355,12 @@ docdata["F-4E"] = "identifier": "WSO_IFF_CODE_ONES", "inputs": [ ], "outputs": [ { - "address": 10922, + "address": 10984, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_ONES", "description": "IFF Code (ones)", - "mask": 7680, + "mask": 15, "max_value": 8, - "shift_by": 9, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -5034,12 +5372,12 @@ docdata["F-4E"] = "identifier": "WSO_IFF_CODE_TENS", "inputs": [ ], "outputs": [ { - "address": 10976, + "address": 10984, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_TENS", "description": "IFF Code (tens)", - "mask": 15, + "mask": 240, "max_value": 8, - "shift_by": 0, + "shift_by": 4, "suffix": "", "type": "integer" } ] @@ -5051,12 +5389,12 @@ docdata["F-4E"] = "identifier": "WSO_IFF_CODE_THOUSANDS", "inputs": [ ], "outputs": [ { - "address": 10976, + "address": 10984, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_THOUSANDS", "description": "IFF Code (thousands)", - "mask": 3840, + "mask": 61440, "max_value": 8, - "shift_by": 8, + "shift_by": 12, "suffix": "", "type": "integer" } ] @@ -5077,7 +5415,7 @@ docdata["F-4E"] = "suggested_step": 3200 } ], "outputs": [ { - "address": 10990, + "address": 10998, "address_identifier": "F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_DIM_A", "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_DIM", "description": "position of the potentiometer", @@ -5107,13 +5445,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10988, + "address": 10994, "address_mask_identifier": "F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_BUTTON_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_BUTTON", "description": "selector position", - "mask": 1, + "mask": 32, "max_value": 1, - "shift_by": 0, + "shift_by": 5, "suffix": "", "type": "integer" } ] @@ -5125,13 +5463,13 @@ docdata["F-4E"] = "identifier": "WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT", "inputs": [ ], "outputs": [ { - "address": 10988, + "address": 10994, "address_mask_identifier": "F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT", "description": "0 if light is off, 1 if light is on", - "mask": 2, + "mask": 64, "max_value": 1, - "shift_by": 1, + "shift_by": 6, "suffix": "", "type": "integer" } ] @@ -5150,12 +5488,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10988, + "address": 10994, "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_MODE_2", "description": "selector position", - "mask": 24, + "mask": 768, "max_value": 2, - "shift_by": 3, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -5174,12 +5512,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10988, + "address": 10994, "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_MODE_3", "description": "selector position", - "mask": 96, + "mask": 3072, "max_value": 2, - "shift_by": 5, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -5203,13 +5541,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10988, + "address": 10994, "address_mask_identifier": "F_4E_WSO_IFF_COMBAT_TREE_TEST_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_TEST", "description": "selector position", - "mask": 4, + "mask": 128, "max_value": 1, - "shift_by": 2, + "shift_by": 7, "suffix": "", "type": "integer" } ] @@ -5221,7 +5559,7 @@ docdata["F-4E"] = "identifier": "WSO_IFF_MODE", "inputs": [ ], "outputs": [ { - "address": 10982, + "address": 10990, "address_identifier": "F_4E_WSO_IFF_MODE_A", "description": "IFF Mode", "max_length": 3, @@ -5248,13 +5586,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10976, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_MODE_DEC_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_DEC", "description": "selector position", - "mask": 16384, + "mask": 2048, "max_value": 1, - "shift_by": 14, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -5278,13 +5616,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10984, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_MODE_DEC_HUNDREDS_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_DEC_HUNDREDS", "description": "selector position", - "mask": 256, + "mask": 8192, "max_value": 1, - "shift_by": 8, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -5308,13 +5646,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10984, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_MODE_DEC_ONES_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_DEC_ONES", "description": "selector position", - "mask": 1024, + "mask": 32768, "max_value": 1, - "shift_by": 10, + "shift_by": 15, "suffix": "", "type": "integer" } ] @@ -5338,13 +5676,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10984, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_MODE_DEC_TENS_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_DEC_TENS", "description": "selector position", - "mask": 512, + "mask": 16384, "max_value": 1, - "shift_by": 9, + "shift_by": 14, "suffix": "", "type": "integer" } ] @@ -5368,13 +5706,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10976, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_MODE_DEC_THOUSANDS_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_DEC_THOUSANDS", "description": "selector position", - "mask": 32768, + "mask": 4096, "max_value": 1, - "shift_by": 15, + "shift_by": 12, "suffix": "", "type": "integer" } ] @@ -5398,13 +5736,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10922, + "address": 10978, "address_mask_identifier": "F_4E_WSO_IFF_MODE_INC_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_INC", "description": "selector position", - "mask": 8192, + "mask": 16384, "max_value": 1, - "shift_by": 13, + "shift_by": 14, "suffix": "", "type": "integer" } ] @@ -5420,12 +5758,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10984, + "address": 10994, "address_mask_shift_identifier": "F_4E_WSO_IFF_TEST_CHALLENGE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 24576, + "mask": 12, "max_value": 2, - "shift_by": 13, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -5840,6 +6178,113 @@ docdata["F-4E"] = } ] } }, + "WSO Landing Gear Controls": { + "WSO_GEAR_BRAKES_EMERGENCY": { + "category": "WSO Landing Gear Controls", + "control_type": "limited_dial", + "description": "Emergency Wheel Brake (Pull)", + "identifier": "WSO_GEAR_BRAKES_EMERGENCY", + "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": 10968, + "address_identifier": "F_4E_WSO_GEAR_BRAKES_EMERGENCY_A", + "address_mask_shift_identifier": "F_4E_WSO_GEAR_BRAKES_EMERGENCY", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_GEAR_HANDLE_EMERGENCY": { + "category": "WSO Landing Gear Controls", + "control_type": "limited_dial", + "description": "Emergency Gear Handle (Pull to Release)", + "identifier": "WSO_GEAR_HANDLE_EMERGENCY", + "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": 10966, + "address_identifier": "F_4E_WSO_GEAR_HANDLE_EMERGENCY_A", + "address_mask_shift_identifier": "F_4E_WSO_GEAR_HANDLE_EMERGENCY", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_GEAR_INDICATOR_LEFT": { + "category": "WSO Landing Gear Controls", + "control_type": "metadata", + "description": "Landing Gear Up/Down Indicator (Left)", + "identifier": "WSO_GEAR_INDICATOR_LEFT", + "inputs": [ ], + "outputs": [ { + "address": 10918, + "address_mask_shift_identifier": "F_4E_WSO_GEAR_INDICATOR_LEFT", + "description": "Landing Gear Up/Down Indicator (Left)", + "mask": 12288, + "max_value": 2, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_GEAR_INDICATOR_NOSE": { + "category": "WSO Landing Gear Controls", + "control_type": "metadata", + "description": "Landing Gear Up/Down Indicator (Nose)", + "identifier": "WSO_GEAR_INDICATOR_NOSE", + "inputs": [ ], + "outputs": [ { + "address": 10918, + "address_mask_shift_identifier": "F_4E_WSO_GEAR_INDICATOR_NOSE", + "description": "Landing Gear Up/Down Indicator (Nose)", + "mask": 49152, + "max_value": 2, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_GEAR_INDICATOR_RIGHT": { + "category": "WSO Landing Gear Controls", + "control_type": "metadata", + "description": "Landing Gear Up/Down Indicator (Right)", + "identifier": "WSO_GEAR_INDICATOR_RIGHT", + "inputs": [ ], + "outputs": [ { + "address": 10922, + "address_mask_shift_identifier": "F_4E_WSO_GEAR_INDICATOR_RIGHT", + "description": "Landing Gear Up/Down Indicator (Right)", + "mask": 768, + "max_value": 2, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ] + } + }, "WSO Navigation Panel": { "WSO_NAV_AIR_DATA_MODE": { "category": "WSO Navigation Panel", @@ -6354,7 +6799,7 @@ docdata["F-4E"] = "identifier": "WSO_O2_FLOW", "inputs": [ ], "outputs": [ { - "address": 10972, + "address": 10980, "address_identifier": "F_4E_WSO_O2_FLOW_A", "address_mask_shift_identifier": "F_4E_WSO_O2_FLOW", "description": "gauge position", @@ -6383,13 +6828,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10914, + "address": 10922, "address_mask_identifier": "F_4E_WSO_O2_MIXTURE_AM", "address_mask_shift_identifier": "F_4E_WSO_O2_MIXTURE", "description": "selector position", - "mask": 4096, + "mask": 32768, "max_value": 1, - "shift_by": 12, + "shift_by": 15, "suffix": "", "type": "integer" } ] @@ -6405,12 +6850,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10914, + "address": 10978, "address_mask_shift_identifier": "F_4E_WSO_O2_MODE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 3072, + "mask": 3, "max_value": 2, - "shift_by": 10, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -6422,7 +6867,7 @@ docdata["F-4E"] = "identifier": "WSO_O2_PRESSURE", "inputs": [ ], "outputs": [ { - "address": 10974, + "address": 10982, "address_identifier": "F_4E_WSO_O2_PRESSURE_A", "address_mask_shift_identifier": "F_4E_WSO_O2_PRESSURE", "description": "gauge position", @@ -6451,13 +6896,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10914, + "address": 10978, "address_mask_identifier": "F_4E_WSO_O2_SUPPLY_AM", "address_mask_shift_identifier": "F_4E_WSO_O2_SUPPLY", "description": "selector position", - "mask": 8192, + "mask": 4, "max_value": 1, - "shift_by": 13, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -6483,13 +6928,43 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10992, + "address": 11000, "address_mask_identifier": "F_4E_WSO_AFCS_EMERGENCY_RELEASE_AM", "address_mask_shift_identifier": "F_4E_WSO_AFCS_EMERGENCY_RELEASE", "description": "selector position", - "mask": 4, + "mask": 512, "max_value": 1, - "shift_by": 2, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_GEAR_NWS": { + "api_variant": "momentary_last_position", + "category": "WSO Stick", + "control_type": "selector", + "description": "Nosegear Steering Button", + "identifier": "WSO_GEAR_NWS", + "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" + } ], + "outputs": [ { + "address": 11000, + "address_mask_identifier": "F_4E_WSO_GEAR_NWS_AM", + "address_mask_shift_identifier": "F_4E_WSO_GEAR_NWS", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -6507,12 +6982,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10992, + "address": 11000, "address_mask_shift_identifier": "F_4E_WSO_THROTTLE_MIC", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 192, + "mask": 24576, "max_value": 2, - "shift_by": 6, + "shift_by": 13, "suffix": "", "type": "integer" } ] diff --git a/Scripts/DCS-BIOS/doc/json/F-4E.json b/Scripts/DCS-BIOS/doc/json/F-4E.json index 6ff267126..f343bd801 100644 --- a/Scripts/DCS-BIOS/doc/json/F-4E.json +++ b/Scripts/DCS-BIOS/doc/json/F-4E.json @@ -7,7 +7,7 @@ "identifier": "EXT_LIGHT_AAR", "inputs": [ ], "outputs": [ { - "address": 11014, + "address": 11022, "address_identifier": "F_4E_EXT_LIGHT_AAR_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_AAR", "description": "AAR Receptacle Light (White)", @@ -25,7 +25,7 @@ "identifier": "EXT_LIGHT_BEACON", "inputs": [ ], "outputs": [ { - "address": 10994, + "address": 11002, "address_identifier": "F_4E_EXT_LIGHT_BEACON_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_BEACON", "description": "Beacon Light (Red)", @@ -43,7 +43,7 @@ "identifier": "EXT_LIGHT_BEACON_FLASH", "inputs": [ ], "outputs": [ { - "address": 11002, + "address": 11010, "address_identifier": "F_4E_EXT_LIGHT_BEACON_FLASH_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_BEACON_FLASH", "description": "Flashing Beacon Light (Red)", @@ -61,7 +61,7 @@ "identifier": "EXT_LIGHT_BELLY", "inputs": [ ], "outputs": [ { - "address": 11010, + "address": 11018, "address_identifier": "F_4E_EXT_LIGHT_BELLY_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_BELLY", "description": "Belly Lights L/R (White)", @@ -79,7 +79,7 @@ "identifier": "EXT_LIGHT_FORMATION", "inputs": [ ], "outputs": [ { - "address": 11004, + "address": 11012, "address_identifier": "F_4E_EXT_LIGHT_FORMATION_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_FORMATION", "description": "Formation Lights (Green)", @@ -97,7 +97,7 @@ "identifier": "EXT_LIGHT_FUSELAGE_TOP", "inputs": [ ], "outputs": [ { - "address": 11012, + "address": 11020, "address_identifier": "F_4E_EXT_LIGHT_FUSELAGE_TOP_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_FUSELAGE_TOP", "description": "Fuselage Top Light (White)", @@ -115,7 +115,7 @@ "identifier": "EXT_LIGHT_LANDING", "inputs": [ ], "outputs": [ { - "address": 11006, + "address": 11014, "address_identifier": "F_4E_EXT_LIGHT_LANDING_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_LANDING", "description": "Landing Light (White)", @@ -133,7 +133,7 @@ "identifier": "EXT_LIGHT_POSITION_TAIL", "inputs": [ ], "outputs": [ { - "address": 10998, + "address": 11006, "address_identifier": "F_4E_EXT_LIGHT_POSITION_TAIL_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_POSITION_TAIL", "description": "Tail Position Light (White)", @@ -151,7 +151,7 @@ "identifier": "EXT_LIGHT_POSITION_WING", "inputs": [ ], "outputs": [ { - "address": 10996, + "address": 11004, "address_identifier": "F_4E_EXT_LIGHT_POSITION_WING_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_POSITION_WING", "description": "Wing Position Lights (Red/Green)", @@ -169,7 +169,7 @@ "identifier": "EXT_LIGHT_TAXI", "inputs": [ ], "outputs": [ { - "address": 11008, + "address": 11016, "address_identifier": "F_4E_EXT_LIGHT_TAXI_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_TAXI", "description": "Taxi Light (White)", @@ -187,7 +187,7 @@ "identifier": "EXT_LIGHT_WING_JOIN_UP", "inputs": [ ], "outputs": [ { - "address": 11000, + "address": 11008, "address_identifier": "F_4E_EXT_LIGHT_WING_JOIN_UP_A", "address_mask_shift_identifier": "F_4E_EXT_LIGHT_WING_JOIN_UP", "description": "Wing Join-Up Lights (Red/Green)", @@ -1665,12 +1665,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10988, + "address": 10994, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_ANTI_COLL", "description": "selector position", - "mask": 1536, + "mask": 49152, "max_value": 2, - "shift_by": 9, + "shift_by": 14, "suffix": "", "type": "integer" } ] @@ -1689,12 +1689,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10988, + "address": 11000, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_FLASH_MODE", "description": "selector position", - "mask": 6144, + "mask": 3, "max_value": 2, - "shift_by": 11, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -1713,12 +1713,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10988, + "address": 11000, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_TAIL_BRIGHTNESS", "description": "selector position", - "mask": 24576, + "mask": 12, "max_value": 2, - "shift_by": 13, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -1737,12 +1737,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10992, + "address": 11000, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_WING_BRIGHTNESS", "description": "selector position", - "mask": 3, + "mask": 48, "max_value": 2, - "shift_by": 0, + "shift_by": 4, "suffix": "", "type": "integer" } ] @@ -1767,13 +1767,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_AIR_REFUEL_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_AIR_REFUEL", "description": "selector position", - "mask": 1024, + "mask": 128, "max_value": 1, - "shift_by": 10, + "shift_by": 7, "suffix": "", "type": "integer" } ] @@ -1797,13 +1797,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_BOOST_PUMP_L_CHECK_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_BOOST_PUMP_L_CHECK", "description": "selector position", - "mask": 16384, + "mask": 2048, "max_value": 1, - "shift_by": 14, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -1827,13 +1827,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_BOOST_PUMP_R_CHECK_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_BOOST_PUMP_R_CHECK", "description": "selector position", - "mask": 32768, + "mask": 4096, "max_value": 1, - "shift_by": 15, + "shift_by": 12, "suffix": "", "type": "integer" } ] @@ -1852,12 +1852,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_shift_identifier": "F_4E_PLT_FUEL_EXTERNAL_TANKS_FEED", "description": "selector position", - "mask": 12288, + "mask": 1536, "max_value": 2, - "shift_by": 12, + "shift_by": 9, "suffix": "", "type": "integer" } ] @@ -1881,13 +1881,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10922, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_FEED_TANK_CHECK_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_FEED_TANK_CHECK", "description": "selector position", - "mask": 256, + "mask": 8192, "max_value": 1, - "shift_by": 8, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -1910,13 +1910,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_REFUEL_SELECTOR_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_REFUEL_SELECTOR", "description": "selector position", - "mask": 512, + "mask": 64, "max_value": 1, - "shift_by": 9, + "shift_by": 6, "suffix": "", "type": "integer" } ] @@ -1939,13 +1939,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_REFUEL_SELECTOR_COVER_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_REFUEL_SELECTOR_COVER", "description": "selector position", - "mask": 256, + "mask": 32, "max_value": 1, - "shift_by": 8, + "shift_by": 5, "suffix": "", "type": "integer" } ] @@ -1968,13 +1968,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10918, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_WING_FUEL_DUMP_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_WING_FUEL_DUMP", "description": "selector position", - "mask": 2048, + "mask": 256, "max_value": 1, - "shift_by": 11, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -1997,13 +1997,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10914, + "address": 10978, "address_mask_identifier": "F_4E_PLT_FUEL_WING_INTERNAL_FEED_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_WING_INTERNAL_FEED", "description": "selector position", - "mask": 32768, + "mask": 16, "max_value": 1, - "shift_by": 15, + "shift_by": 4, "suffix": "", "type": "integer" } ] @@ -2862,6 +2862,314 @@ } ] } }, + "PLT Landing Gear Controls": { + "PLT_GEAR_ANTI_SKID": { + "category": "PLT Landing Gear Controls", + "control_type": "selector", + "description": "Anti-Skid Toggle", + "identifier": "PLT_GEAR_ANTI_SKID", + "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" + } ], + "outputs": [ { + "address": 10914, + "address_mask_identifier": "F_4E_PLT_GEAR_ANTI_SKID_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_ANTI_SKID", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_ANTI_SKID_INOP": { + "category": "PLT Landing Gear Controls", + "control_type": "led", + "description": "Anti-Skid Inoperative Lamp (Yellow)", + "identifier": "PLT_GEAR_ANTI_SKID_INOP", + "inputs": [ ], + "outputs": [ { + "address": 10914, + "address_mask_identifier": "F_4E_PLT_GEAR_ANTI_SKID_INOP_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_ANTI_SKID_INOP", + "description": "0 if light is off, 1 if light is on", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_ARRESTING_HOOK": { + "category": "PLT Landing Gear Controls", + "control_type": "selector", + "description": "Arresting Hook Handle", + "identifier": "PLT_GEAR_ARRESTING_HOOK", + "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" + } ], + "outputs": [ { + "address": 10914, + "address_mask_identifier": "F_4E_PLT_GEAR_ARRESTING_HOOK_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_ARRESTING_HOOK", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_BRAKES_EMERGENCY": { + "category": "PLT Landing Gear Controls", + "control_type": "limited_dial", + "description": "Emergency Wheel Brake (Pull)", + "identifier": "PLT_GEAR_BRAKES_EMERGENCY", + "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": 10964, + "address_identifier": "F_4E_PLT_GEAR_BRAKES_EMERGENCY_A", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_BRAKES_EMERGENCY", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_DRAG_CHUTE": { + "category": "PLT Landing Gear Controls", + "control_type": "selector", + "description": "Drag-Parachute (Pull to Deploy)", + "identifier": "PLT_GEAR_DRAG_CHUTE", + "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" + } ], + "outputs": [ { + "address": 10914, + "address_mask_identifier": "F_4E_PLT_GEAR_DRAG_CHUTE_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_DRAG_CHUTE", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_DRAG_CHUTE_RELEASE": { + "category": "PLT Landing Gear Controls", + "control_type": "selector", + "description": "Release Drag-Parachute (only while deployed)", + "identifier": "PLT_GEAR_DRAG_CHUTE_RELEASE", + "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" + } ], + "outputs": [ { + "address": 10914, + "address_mask_identifier": "F_4E_PLT_GEAR_DRAG_CHUTE_RELEASE_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_DRAG_CHUTE_RELEASE", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_INDICATOR_LEFT": { + "category": "PLT Landing Gear Controls", + "control_type": "metadata", + "description": "Landing Gear Up/Down Indicator (Left)", + "identifier": "PLT_GEAR_INDICATOR_LEFT", + "inputs": [ ], + "outputs": [ { + "address": 10914, + "address_mask_shift_identifier": "F_4E_PLT_GEAR_INDICATOR_LEFT", + "description": "Landing Gear Up/Down Indicator (Left)", + "mask": 49152, + "max_value": 2, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_INDICATOR_NOSE": { + "category": "PLT Landing Gear Controls", + "control_type": "metadata", + "description": "Landing Gear Up/Down Indicator (Nose)", + "identifier": "PLT_GEAR_INDICATOR_NOSE", + "inputs": [ ], + "outputs": [ { + "address": 10918, + "address_mask_shift_identifier": "F_4E_PLT_GEAR_INDICATOR_NOSE", + "description": "Landing Gear Up/Down Indicator (Nose)", + "mask": 768, + "max_value": 2, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_INDICATOR_RIGHT": { + "category": "PLT Landing Gear Controls", + "control_type": "metadata", + "description": "Landing Gear Up/Down Indicator (Right)", + "identifier": "PLT_GEAR_INDICATOR_RIGHT", + "inputs": [ ], + "outputs": [ { + "address": 10918, + "address_mask_shift_identifier": "F_4E_PLT_GEAR_INDICATOR_RIGHT", + "description": "Landing Gear Up/Down Indicator (Right)", + "mask": 3072, + "max_value": 2, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_LEVER": { + "category": "PLT Landing Gear Controls", + "control_type": "selector", + "description": "Landing Gear Lever", + "identifier": "PLT_GEAR_LEVER", + "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" + } ], + "outputs": [ { + "address": 10890, + "address_mask_identifier": "F_4E_PLT_GEAR_LEVER_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_LEVER", + "description": "selector position", + "mask": 8192, + "max_value": 1, + "shift_by": 13, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_LEVER_EMERGENCY": { + "category": "PLT Landing Gear Controls", + "control_type": "selector", + "description": "Landing Gear Lever (Pull Out for Emergency)", + "identifier": "PLT_GEAR_LEVER_EMERGENCY", + "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" + } ], + "outputs": [ { + "address": 10890, + "address_mask_identifier": "F_4E_PLT_GEAR_LEVER_EMERGENCY_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_LEVER_EMERGENCY", + "description": "selector position", + "mask": 16384, + "max_value": 1, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_LEVER_LIGHT": { + "category": "PLT Landing Gear Controls", + "control_type": "led", + "description": "Landing Gear Lever Light (Red)", + "identifier": "PLT_GEAR_LEVER_LIGHT", + "inputs": [ ], + "outputs": [ { + "address": 10890, + "address_mask_identifier": "F_4E_PLT_GEAR_LEVER_LIGHT_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_LEVER_LIGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 32768, + "max_value": 1, + "shift_by": 15, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_WHEELS_LIGHT": { + "category": "PLT Landing Gear Controls", + "control_type": "led", + "description": "WHEELS Lamp (Red)", + "identifier": "PLT_GEAR_WHEELS_LIGHT", + "inputs": [ ], + "outputs": [ { + "address": 10914, + "address_mask_identifier": "F_4E_PLT_GEAR_WHEELS_LIGHT_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_WHEELS_LIGHT", + "description": "0 if light is off, 1 if light is on", + "mask": 256, + "max_value": 1, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ] + } + }, "PLT Left Subpanel": { "PLT_EXT_LIGHT_TAXI_LAND": { "category": "PLT Left Subpanel", @@ -2877,12 +3185,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10992, + "address": 11024, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_TAXI_LAND", "description": "selector position", - "mask": 768, + "mask": 3, "max_value": 2, - "shift_by": 8, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -2896,7 +3204,7 @@ "identifier": "PLT_O2_FLOW", "inputs": [ ], "outputs": [ { - "address": 10964, + "address": 10970, "address_identifier": "F_4E_PLT_O2_FLOW_A", "address_mask_shift_identifier": "F_4E_PLT_O2_FLOW", "description": "gauge position", @@ -2914,7 +3222,7 @@ "identifier": "PLT_O2_LITERS", "inputs": [ ], "outputs": [ { - "address": 10968, + "address": 10974, "address_identifier": "F_4E_PLT_O2_LITERS_A", "address_mask_shift_identifier": "F_4E_PLT_O2_LITERS", "description": "gauge position", @@ -2943,13 +3251,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10914, + "address": 10922, "address_mask_identifier": "F_4E_PLT_O2_MIXTURE_AM", "address_mask_shift_identifier": "F_4E_PLT_O2_MIXTURE", "description": "selector position", - "mask": 256, + "mask": 8192, "max_value": 1, - "shift_by": 8, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -2965,12 +3273,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10890, + "address": 10922, "address_mask_shift_identifier": "F_4E_PLT_O2_MODE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 49152, + "mask": 6144, "max_value": 2, - "shift_by": 14, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -2982,7 +3290,7 @@ "identifier": "PLT_O2_PRESSURE", "inputs": [ ], "outputs": [ { - "address": 10966, + "address": 10972, "address_identifier": "F_4E_PLT_O2_PRESSURE_A", "address_mask_shift_identifier": "F_4E_PLT_O2_PRESSURE", "description": "gauge position", @@ -3011,13 +3319,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10914, + "address": 10922, "address_mask_identifier": "F_4E_PLT_O2_SUPPLY_AM", "address_mask_shift_identifier": "F_4E_PLT_O2_SUPPLY", "description": "selector position", - "mask": 512, + "mask": 16384, "max_value": 1, - "shift_by": 9, + "shift_by": 14, "suffix": "", "type": "integer" } ] @@ -3041,13 +3349,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10890, + "address": 10922, "address_mask_identifier": "F_4E_PLT_O2_TEST_AM", "address_mask_shift_identifier": "F_4E_PLT_O2_TEST", "description": "selector position", - "mask": 8192, + "mask": 1024, "max_value": 1, - "shift_by": 13, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -3224,13 +3532,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10992, + "address": 11000, "address_mask_identifier": "F_4E_PLT_COCKPIT_PRESSURE_EMERGENCY_RELEASE_AM", "address_mask_shift_identifier": "F_4E_PLT_COCKPIT_PRESSURE_EMERGENCY_RELEASE", "description": "selector position", - "mask": 1024, + "mask": 32768, "max_value": 1, - "shift_by": 10, + "shift_by": 15, "suffix": "", "type": "integer" } ] @@ -3253,7 +3561,7 @@ "suggested_step": 3200 } ], "outputs": [ { - "address": 11016, + "address": 11026, "address_identifier": "F_4E_PLT_EXT_LIGHT_FORMATION_BRIGHTNESS_A", "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_FORMATION_BRIGHTNESS", "description": "position of the potentiometer", @@ -3275,12 +3583,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10992, + "address": 11024, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_FORMATION_MODE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 6144, + "mask": 12, "max_value": 2, - "shift_by": 11, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -3306,13 +3614,43 @@ "interface": "action" } ], "outputs": [ { - "address": 10988, + "address": 11000, "address_mask_identifier": "F_4E_PLT_AFCS_EMERGENCY_RELEASE_AM", "address_mask_shift_identifier": "F_4E_PLT_AFCS_EMERGENCY_RELEASE", "description": "selector position", - "mask": 32768, + "mask": 128, "max_value": 1, - "shift_by": 15, + "shift_by": 7, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_GEAR_NWS": { + "api_variant": "momentary_last_position", + "category": "PLT Stick", + "control_type": "selector", + "description": "Nosegear Steering Button", + "identifier": "PLT_GEAR_NWS", + "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" + } ], + "outputs": [ { + "address": 11000, + "address_mask_identifier": "F_4E_PLT_GEAR_NWS_AM", + "address_mask_shift_identifier": "F_4E_PLT_GEAR_NWS", + "description": "selector position", + "mask": 64, + "max_value": 1, + "shift_by": 6, "suffix": "", "type": "integer" } ] @@ -3338,13 +3676,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10992, + "address": 11000, "address_mask_identifier": "F_4E_PLT_THROTTLE_CM_DISPENSE_AM", "address_mask_shift_identifier": "F_4E_PLT_THROTTLE_CM_DISPENSE", "description": "selector position", - "mask": 32, + "mask": 4096, "max_value": 1, - "shift_by": 5, + "shift_by": 12, "suffix": "", "type": "integer" } ] @@ -3360,12 +3698,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10992, + "address": 11000, "address_mask_shift_identifier": "F_4E_PLT_THROTTLE_MIC", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 24, + "mask": 3072, "max_value": 2, - "shift_by": 3, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -3390,13 +3728,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10914, + "address": 10978, "address_mask_identifier": "F_4E_PLT_MASTER_ARM_SW_AM", "address_mask_shift_identifier": "F_4E_PLT_MASTER_ARM_SW", "description": "selector position", - "mask": 16384, + "mask": 8, "max_value": 1, - "shift_by": 14, + "shift_by": 3, "suffix": "", "type": "integer" } ] @@ -4798,7 +5136,7 @@ "suggested_step": 3200 } ], "outputs": [ { - "address": 10986, + "address": 10996, "address_identifier": "F_4E_WSO_IFF_CHALLENGE_DIM_A", "address_mask_shift_identifier": "F_4E_WSO_IFF_CHALLENGE_DIM", "description": "position of the potentiometer", @@ -4816,13 +5154,13 @@ "identifier": "WSO_IFF_CHALLENGE_LIGHT", "inputs": [ ], "outputs": [ { - "address": 10984, + "address": 10994, "address_mask_identifier": "F_4E_WSO_IFF_CHALLENGE_LIGHT_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_CHALLENGE_LIGHT", "description": "0 if light is off, 1 if light is on", - "mask": 4096, + "mask": 2, "max_value": 1, - "shift_by": 12, + "shift_by": 1, "suffix": "", "type": "integer" } ] @@ -4846,13 +5184,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10984, + "address": 10994, "address_mask_identifier": "F_4E_WSO_IFF_CHALLENGE_TEST_BUTTON_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_CHALLENGE_TEST_BUTTON", "description": "selector position", - "mask": 2048, + "mask": 1, "max_value": 1, - "shift_by": 11, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -4864,7 +5202,7 @@ "identifier": "WSO_IFF_CODE", "inputs": [ ], "outputs": [ { - "address": 10978, + "address": 10986, "address_identifier": "F_4E_WSO_IFF_CODE_A", "description": "IFF Code", "max_length": 4, @@ -4879,12 +5217,12 @@ "identifier": "WSO_IFF_CODE_HUNDREDS", "inputs": [ ], "outputs": [ { - "address": 10976, + "address": 10984, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_HUNDREDS", "description": "IFF Code (hundreds)", - "mask": 240, + "mask": 3840, "max_value": 8, - "shift_by": 4, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -4908,13 +5246,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10922, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_CODE_INC_HUNDREDS_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_INC_HUNDREDS", "description": "selector position", - "mask": 32768, + "mask": 256, "max_value": 1, - "shift_by": 15, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -4938,13 +5276,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10976, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_CODE_INC_ONES_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_INC_ONES", "description": "selector position", - "mask": 8192, + "mask": 1024, "max_value": 1, - "shift_by": 13, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -4968,13 +5306,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10976, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_CODE_INC_TENS_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_INC_TENS", "description": "selector position", - "mask": 4096, + "mask": 512, "max_value": 1, - "shift_by": 12, + "shift_by": 9, "suffix": "", "type": "integer" } ] @@ -4998,13 +5336,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10922, + "address": 10978, "address_mask_identifier": "F_4E_WSO_IFF_CODE_INC_THOUSANDS_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_INC_THOUSANDS", "description": "selector position", - "mask": 16384, + "mask": 32768, "max_value": 1, - "shift_by": 14, + "shift_by": 15, "suffix": "", "type": "integer" } ] @@ -5016,12 +5354,12 @@ "identifier": "WSO_IFF_CODE_ONES", "inputs": [ ], "outputs": [ { - "address": 10922, + "address": 10984, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_ONES", "description": "IFF Code (ones)", - "mask": 7680, + "mask": 15, "max_value": 8, - "shift_by": 9, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -5033,12 +5371,12 @@ "identifier": "WSO_IFF_CODE_TENS", "inputs": [ ], "outputs": [ { - "address": 10976, + "address": 10984, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_TENS", "description": "IFF Code (tens)", - "mask": 15, + "mask": 240, "max_value": 8, - "shift_by": 0, + "shift_by": 4, "suffix": "", "type": "integer" } ] @@ -5050,12 +5388,12 @@ "identifier": "WSO_IFF_CODE_THOUSANDS", "inputs": [ ], "outputs": [ { - "address": 10976, + "address": 10984, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_THOUSANDS", "description": "IFF Code (thousands)", - "mask": 3840, + "mask": 61440, "max_value": 8, - "shift_by": 8, + "shift_by": 12, "suffix": "", "type": "integer" } ] @@ -5076,7 +5414,7 @@ "suggested_step": 3200 } ], "outputs": [ { - "address": 10990, + "address": 10998, "address_identifier": "F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_DIM_A", "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_DIM", "description": "position of the potentiometer", @@ -5106,13 +5444,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10988, + "address": 10994, "address_mask_identifier": "F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_BUTTON_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_BUTTON", "description": "selector position", - "mask": 1, + "mask": 32, "max_value": 1, - "shift_by": 0, + "shift_by": 5, "suffix": "", "type": "integer" } ] @@ -5124,13 +5462,13 @@ "identifier": "WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT", "inputs": [ ], "outputs": [ { - "address": 10988, + "address": 10994, "address_mask_identifier": "F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT", "description": "0 if light is off, 1 if light is on", - "mask": 2, + "mask": 64, "max_value": 1, - "shift_by": 1, + "shift_by": 6, "suffix": "", "type": "integer" } ] @@ -5149,12 +5487,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10988, + "address": 10994, "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_MODE_2", "description": "selector position", - "mask": 24, + "mask": 768, "max_value": 2, - "shift_by": 3, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -5173,12 +5511,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10988, + "address": 10994, "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_MODE_3", "description": "selector position", - "mask": 96, + "mask": 3072, "max_value": 2, - "shift_by": 5, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -5202,13 +5540,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10988, + "address": 10994, "address_mask_identifier": "F_4E_WSO_IFF_COMBAT_TREE_TEST_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_TEST", "description": "selector position", - "mask": 4, + "mask": 128, "max_value": 1, - "shift_by": 2, + "shift_by": 7, "suffix": "", "type": "integer" } ] @@ -5220,7 +5558,7 @@ "identifier": "WSO_IFF_MODE", "inputs": [ ], "outputs": [ { - "address": 10982, + "address": 10990, "address_identifier": "F_4E_WSO_IFF_MODE_A", "description": "IFF Mode", "max_length": 3, @@ -5247,13 +5585,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10976, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_MODE_DEC_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_DEC", "description": "selector position", - "mask": 16384, + "mask": 2048, "max_value": 1, - "shift_by": 14, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -5277,13 +5615,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10984, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_MODE_DEC_HUNDREDS_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_DEC_HUNDREDS", "description": "selector position", - "mask": 256, + "mask": 8192, "max_value": 1, - "shift_by": 8, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -5307,13 +5645,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10984, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_MODE_DEC_ONES_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_DEC_ONES", "description": "selector position", - "mask": 1024, + "mask": 32768, "max_value": 1, - "shift_by": 10, + "shift_by": 15, "suffix": "", "type": "integer" } ] @@ -5337,13 +5675,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10984, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_MODE_DEC_TENS_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_DEC_TENS", "description": "selector position", - "mask": 512, + "mask": 16384, "max_value": 1, - "shift_by": 9, + "shift_by": 14, "suffix": "", "type": "integer" } ] @@ -5367,13 +5705,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10976, + "address": 10992, "address_mask_identifier": "F_4E_WSO_IFF_MODE_DEC_THOUSANDS_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_DEC_THOUSANDS", "description": "selector position", - "mask": 32768, + "mask": 4096, "max_value": 1, - "shift_by": 15, + "shift_by": 12, "suffix": "", "type": "integer" } ] @@ -5397,13 +5735,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10922, + "address": 10978, "address_mask_identifier": "F_4E_WSO_IFF_MODE_INC_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_INC", "description": "selector position", - "mask": 8192, + "mask": 16384, "max_value": 1, - "shift_by": 13, + "shift_by": 14, "suffix": "", "type": "integer" } ] @@ -5419,12 +5757,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10984, + "address": 10994, "address_mask_shift_identifier": "F_4E_WSO_IFF_TEST_CHALLENGE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 24576, + "mask": 12, "max_value": 2, - "shift_by": 13, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -5839,6 +6177,113 @@ } ] } }, + "WSO Landing Gear Controls": { + "WSO_GEAR_BRAKES_EMERGENCY": { + "category": "WSO Landing Gear Controls", + "control_type": "limited_dial", + "description": "Emergency Wheel Brake (Pull)", + "identifier": "WSO_GEAR_BRAKES_EMERGENCY", + "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": 10968, + "address_identifier": "F_4E_WSO_GEAR_BRAKES_EMERGENCY_A", + "address_mask_shift_identifier": "F_4E_WSO_GEAR_BRAKES_EMERGENCY", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_GEAR_HANDLE_EMERGENCY": { + "category": "WSO Landing Gear Controls", + "control_type": "limited_dial", + "description": "Emergency Gear Handle (Pull to Release)", + "identifier": "WSO_GEAR_HANDLE_EMERGENCY", + "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": 10966, + "address_identifier": "F_4E_WSO_GEAR_HANDLE_EMERGENCY_A", + "address_mask_shift_identifier": "F_4E_WSO_GEAR_HANDLE_EMERGENCY", + "description": "position of the potentiometer", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_GEAR_INDICATOR_LEFT": { + "category": "WSO Landing Gear Controls", + "control_type": "metadata", + "description": "Landing Gear Up/Down Indicator (Left)", + "identifier": "WSO_GEAR_INDICATOR_LEFT", + "inputs": [ ], + "outputs": [ { + "address": 10918, + "address_mask_shift_identifier": "F_4E_WSO_GEAR_INDICATOR_LEFT", + "description": "Landing Gear Up/Down Indicator (Left)", + "mask": 12288, + "max_value": 2, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_GEAR_INDICATOR_NOSE": { + "category": "WSO Landing Gear Controls", + "control_type": "metadata", + "description": "Landing Gear Up/Down Indicator (Nose)", + "identifier": "WSO_GEAR_INDICATOR_NOSE", + "inputs": [ ], + "outputs": [ { + "address": 10918, + "address_mask_shift_identifier": "F_4E_WSO_GEAR_INDICATOR_NOSE", + "description": "Landing Gear Up/Down Indicator (Nose)", + "mask": 49152, + "max_value": 2, + "shift_by": 14, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_GEAR_INDICATOR_RIGHT": { + "category": "WSO Landing Gear Controls", + "control_type": "metadata", + "description": "Landing Gear Up/Down Indicator (Right)", + "identifier": "WSO_GEAR_INDICATOR_RIGHT", + "inputs": [ ], + "outputs": [ { + "address": 10922, + "address_mask_shift_identifier": "F_4E_WSO_GEAR_INDICATOR_RIGHT", + "description": "Landing Gear Up/Down Indicator (Right)", + "mask": 768, + "max_value": 2, + "shift_by": 8, + "suffix": "", + "type": "integer" + } ] + } + }, "WSO Navigation Panel": { "WSO_NAV_AIR_DATA_MODE": { "category": "WSO Navigation Panel", @@ -6353,7 +6798,7 @@ "identifier": "WSO_O2_FLOW", "inputs": [ ], "outputs": [ { - "address": 10972, + "address": 10980, "address_identifier": "F_4E_WSO_O2_FLOW_A", "address_mask_shift_identifier": "F_4E_WSO_O2_FLOW", "description": "gauge position", @@ -6382,13 +6827,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10914, + "address": 10922, "address_mask_identifier": "F_4E_WSO_O2_MIXTURE_AM", "address_mask_shift_identifier": "F_4E_WSO_O2_MIXTURE", "description": "selector position", - "mask": 4096, + "mask": 32768, "max_value": 1, - "shift_by": 12, + "shift_by": 15, "suffix": "", "type": "integer" } ] @@ -6404,12 +6849,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10914, + "address": 10978, "address_mask_shift_identifier": "F_4E_WSO_O2_MODE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 3072, + "mask": 3, "max_value": 2, - "shift_by": 10, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -6421,7 +6866,7 @@ "identifier": "WSO_O2_PRESSURE", "inputs": [ ], "outputs": [ { - "address": 10974, + "address": 10982, "address_identifier": "F_4E_WSO_O2_PRESSURE_A", "address_mask_shift_identifier": "F_4E_WSO_O2_PRESSURE", "description": "gauge position", @@ -6450,13 +6895,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10914, + "address": 10978, "address_mask_identifier": "F_4E_WSO_O2_SUPPLY_AM", "address_mask_shift_identifier": "F_4E_WSO_O2_SUPPLY", "description": "selector position", - "mask": 8192, + "mask": 4, "max_value": 1, - "shift_by": 13, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -6482,13 +6927,43 @@ "interface": "action" } ], "outputs": [ { - "address": 10992, + "address": 11000, "address_mask_identifier": "F_4E_WSO_AFCS_EMERGENCY_RELEASE_AM", "address_mask_shift_identifier": "F_4E_WSO_AFCS_EMERGENCY_RELEASE", "description": "selector position", - "mask": 4, + "mask": 512, "max_value": 1, - "shift_by": 2, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_GEAR_NWS": { + "api_variant": "momentary_last_position", + "category": "WSO Stick", + "control_type": "selector", + "description": "Nosegear Steering Button", + "identifier": "WSO_GEAR_NWS", + "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" + } ], + "outputs": [ { + "address": 11000, + "address_mask_identifier": "F_4E_WSO_GEAR_NWS_AM", + "address_mask_shift_identifier": "F_4E_WSO_GEAR_NWS", + "description": "selector position", + "mask": 256, + "max_value": 1, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -6506,12 +6981,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10992, + "address": 11000, "address_mask_shift_identifier": "F_4E_WSO_THROTTLE_MIC", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 192, + "mask": 24576, "max_value": 2, - "shift_by": 6, + "shift_by": 13, "suffix": "", "type": "integer" } ] diff --git a/Scripts/DCS-BIOS/lib/modules/aircraft_modules/F-4E.lua b/Scripts/DCS-BIOS/lib/modules/aircraft_modules/F-4E.lua index c4714ae68..0f5851ca7 100644 --- a/Scripts/DCS-BIOS/lib/modules/aircraft_modules/F-4E.lua +++ b/Scripts/DCS-BIOS/lib/modules/aircraft_modules/F-4E.lua @@ -553,6 +553,54 @@ F_4E:defineFloatFromArg("PLT_HYDRAULIC_UTILITY", 211, PILOT_HYDRAULIC_GAUGES, "U -- Landing Gear local LANDING_GEAR_DEVICE_ID = 20 +-- Pilot Landing Gear Controls +local PILOT_LANDING_GEAR = "PLT Landing Gear Controls" + +F_4E:defineToggleSwitch("PLT_GEAR_LEVER", LANDING_GEAR_DEVICE_ID, 3001, 5, PILOT_LANDING_GEAR, "Landing Gear Lever") +F_4E:defineToggleSwitch("PLT_GEAR_LEVER_EMERGENCY", LANDING_GEAR_DEVICE_ID, 3013, 3045, PILOT_LANDING_GEAR, "Landing Gear Lever (Pull Out for Emergency)") +F_4E:defineIndicatorLight("PLT_GEAR_LEVER_LIGHT", 66, PILOT_LANDING_GEAR, "Landing Gear Lever Light (Red)") +F_4E:defineIndicatorLight("PLT_GEAR_WHEELS_LIGHT", 65, PILOT_LANDING_GEAR, "WHEELS Lamp (Red)") +F_4E:defineToggleSwitch("PLT_GEAR_ANTI_SKID", LANDING_GEAR_DEVICE_ID, 3002, 63, PILOT_LANDING_GEAR, "Anti-Skid Toggle") +F_4E:defineIndicatorLight("PLT_GEAR_ANTI_SKID_INOP", 64, PILOT_LANDING_GEAR, "Anti-Skid Inoperative Lamp (Yellow)") +F_4E:definePotentiometer("PLT_GEAR_BRAKES_EMERGENCY", LANDING_GEAR_DEVICE_ID, 3004, 343, { 0, 1 }, PILOT_LANDING_GEAR, "Emergency Wheel Brake (Pull)") +F_4E:defineToggleSwitch("PLT_GEAR_DRAG_CHUTE", LANDING_GEAR_DEVICE_ID, 3009, 2767, PILOT_LANDING_GEAR, "Drag-Parachute (Pull to Deploy)") +F_4E:defineToggleSwitch("PLT_GEAR_DRAG_CHUTE_RELEASE", LANDING_GEAR_DEVICE_ID, 3010, 1516, PILOT_LANDING_GEAR, "Release Drag-Parachute (only while deployed)") +F_4E:defineToggleSwitch("PLT_GEAR_ARRESTING_HOOK", LANDING_GEAR_DEVICE_ID, 3021, 974, PILOT_LANDING_GEAR, "Arresting Hook Handle") + +local function gear_indicator_value(dev0, arg_number) + return Module.round(dev0:get_argument_value(arg_number) / 0.5) +end + +F_4E:defineIntegerFromGetter("PLT_GEAR_INDICATOR_LEFT", function(dev0) + return gear_indicator_value(dev0, 52) +end, 2, PILOT_LANDING_GEAR, "Landing Gear Up/Down Indicator (Left)") + +F_4E:defineIntegerFromGetter("PLT_GEAR_INDICATOR_NOSE", function(dev0) + return gear_indicator_value(dev0, 51) +end, 2, PILOT_LANDING_GEAR, "Landing Gear Up/Down Indicator (Nose)") + +F_4E:defineIntegerFromGetter("PLT_GEAR_INDICATOR_RIGHT", function(dev0) + return gear_indicator_value(dev0, 50) +end, 2, PILOT_LANDING_GEAR, "Landing Gear Up/Down Indicator (Right)") + +-- WSO Landing Gear Controls +local WSO_LANDING_GEAR = "WSO Landing Gear Controls" + +F_4E:definePotentiometer("WSO_GEAR_HANDLE_EMERGENCY", LANDING_GEAR_DEVICE_ID, 3008, 983, { 0, 1 }, WSO_LANDING_GEAR, "Emergency Gear Handle (Pull to Release)") +F_4E:definePotentiometer("WSO_GEAR_BRAKES_EMERGENCY", LANDING_GEAR_DEVICE_ID, 3005, 344, { 0, 1 }, WSO_LANDING_GEAR, "Emergency Wheel Brake (Pull)") + +F_4E:defineIntegerFromGetter("WSO_GEAR_INDICATOR_LEFT", function(dev0) + return gear_indicator_value(dev0, 984) +end, 2, WSO_LANDING_GEAR, "Landing Gear Up/Down Indicator (Left)") + +F_4E:defineIntegerFromGetter("WSO_GEAR_INDICATOR_NOSE", function(dev0) + return gear_indicator_value(dev0, 986) +end, 2, WSO_LANDING_GEAR, "Landing Gear Up/Down Indicator (Nose)") + +F_4E:defineIntegerFromGetter("WSO_GEAR_INDICATOR_RIGHT", function(dev0) + return gear_indicator_value(dev0, 988) +end, 2, WSO_LANDING_GEAR, "Landing Gear Up/Down Indicator (Right)") + -- Indicators local INDICATORS_DEVICE_ID = 22 @@ -843,11 +891,13 @@ local ECM_DEVICE_ID = 91 -- Pilot Stick local PILOT_STICK = "PLT Stick" +F_4E:definePushButton("PLT_GEAR_NWS", LANDING_GEAR_DEVICE_ID, 3006, 2781, PILOT_STICK, "Nosegear Steering Button") F_4E:definePushButton("PLT_AFCS_EMERGENCY_RELEASE", AFCS_DEVICE_ID, 3020, 2782, PILOT_STICK, "Emergency Quick Release") -- WSO Stick local WSO_STICK = "WSO Stick" +F_4E:definePushButton("WSO_GEAR_NWS", LANDING_GEAR_DEVICE_ID, 3007, 2787, WSO_STICK, "Nosegear Steering Button") F_4E:definePushButton("WSO_AFCS_EMERGENCY_RELEASE", AFCS_DEVICE_ID, 3021, 2788, WSO_STICK, "Emergency Quick Release") -- Pilot Throttle