diff --git a/Scripts/DCS-BIOS/doc/Addresses.h b/Scripts/DCS-BIOS/doc/Addresses.h index f60574937..585df0b7c 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 0x2A8C, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_AAR_A 0x2A8C -#define F_4E_EXT_LIGHT_BEACON 0x2A78, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_BEACON_A 0x2A78 -#define F_4E_EXT_LIGHT_BEACON_FLASH 0x2A80, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_BEACON_FLASH_A 0x2A80 -#define F_4E_EXT_LIGHT_BELLY 0x2A88, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_BELLY_A 0x2A88 -#define F_4E_EXT_LIGHT_FORMATION 0x2A82, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_FORMATION_A 0x2A82 -#define F_4E_EXT_LIGHT_FUSELAGE_TOP 0x2A8A, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_FUSELAGE_TOP_A 0x2A8A -#define F_4E_EXT_LIGHT_LANDING 0x2A84, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_LANDING_A 0x2A84 -#define F_4E_EXT_LIGHT_POSITION_TAIL 0x2A7C, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_POSITION_TAIL_A 0x2A7C -#define F_4E_EXT_LIGHT_POSITION_WING 0x2A7A, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_POSITION_WING_A 0x2A7A -#define F_4E_EXT_LIGHT_TAXI 0x2A86, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_TAXI_A 0x2A86 -#define F_4E_EXT_LIGHT_WING_JOIN_UP 0x2A7E, 0xFFFF, 0 -#define F_4E_EXT_LIGHT_WING_JOIN_UP_A 0x2A7E +#define F_4E_EXT_LIGHT_AAR 0x2AA0, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_AAR_A 0x2AA0 +#define F_4E_EXT_LIGHT_BEACON 0x2A8C, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_BEACON_A 0x2A8C +#define F_4E_EXT_LIGHT_BEACON_FLASH 0x2A94, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_BEACON_FLASH_A 0x2A94 +#define F_4E_EXT_LIGHT_BELLY 0x2A9C, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_BELLY_A 0x2A9C +#define F_4E_EXT_LIGHT_FORMATION 0x2A96, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_FORMATION_A 0x2A96 +#define F_4E_EXT_LIGHT_FUSELAGE_TOP 0x2A9E, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_FUSELAGE_TOP_A 0x2A9E +#define F_4E_EXT_LIGHT_LANDING 0x2A98, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_LANDING_A 0x2A98 +#define F_4E_EXT_LIGHT_POSITION_TAIL 0x2A90, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_POSITION_TAIL_A 0x2A90 +#define F_4E_EXT_LIGHT_POSITION_WING 0x2A8E, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_POSITION_WING_A 0x2A8E +#define F_4E_EXT_LIGHT_TAXI 0x2A9A, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_TAXI_A 0x2A9A +#define F_4E_EXT_LIGHT_WING_JOIN_UP 0x2A92, 0xFFFF, 0 +#define F_4E_EXT_LIGHT_WING_JOIN_UP_A 0x2A92 #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 0x2A72, 0x8000, 15 -#define F_4E_PLT_AFCS_EMERGENCY_RELEASE_AM 0x2A72, 0x8000 +#define F_4E_PLT_AFCS_EMERGENCY_RELEASE 0x2A84, 0x8000, 15 +#define F_4E_PLT_AFCS_EMERGENCY_RELEASE_AM 0x2A84, 0x8000 #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 @@ -13124,6 +13124,20 @@ #define F_4E_PLT_ARC_164_TONE_AM 0x2A14, 0x8000 #define F_4E_PLT_ARC_164_VOLUME 0x2A12, 0xFFFF, 0 #define F_4E_PLT_ARC_164_VOLUME_A 0x2A12 +#define F_4E_PLT_CLOCK_HOUR_HAND 0x2A5A, 0xFFFF, 0 +#define F_4E_PLT_CLOCK_HOUR_HAND_A 0x2A5A +#define F_4E_PLT_CLOCK_MINUTE_HAND 0x2A5C, 0xFFFF, 0 +#define F_4E_PLT_CLOCK_MINUTE_HAND_A 0x2A5C +#define F_4E_PLT_CLOCK_SET_TIME_PULL 0x2A56, 0x0400, 10 +#define F_4E_PLT_CLOCK_SET_TIME_PULL_AM 0x2A56, 0x0400 +#define F_4E_PLT_CLOCK_SET_TIME_ROTATE 0x2A58, 0xFFFF, 0 +#define F_4E_PLT_CLOCK_SET_TIME_ROTATE_A 0x2A58 +#define F_4E_PLT_CLOCK_STOPWATCH 0x2A56, 0x0200, 9 +#define F_4E_PLT_CLOCK_STOPWATCH_AM 0x2A56, 0x0200 +#define F_4E_PLT_CLOCK_STOPWATCH_MINUTE_HAND 0x2A5E, 0xFFFF, 0 +#define F_4E_PLT_CLOCK_STOPWATCH_MINUTE_HAND_A 0x2A5E +#define F_4E_PLT_CLOCK_STOPWATCH_SECOND_HAND 0x2A60, 0xFFFF, 0 +#define F_4E_PLT_CLOCK_STOPWATCH_SECOND_HAND_A 0x2A60 #define F_4E_PLT_CM_CHAFF_BURST_COUNT 0x2A3A, 0x00E0, 5 #define F_4E_PLT_CM_CHAFF_BURST_INTERVAL 0x2A3A, 0x0300, 8 #define F_4E_PLT_CM_CHAFF_SALVO_COUNT 0x2A3A, 0x1C00, 10 @@ -13152,33 +13166,33 @@ #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 0x2A76, 0x4000, 14 -#define F_4E_PLT_COCKPIT_PRESSURE_EMERGENCY_RELEASE_AM 0x2A76, 0x4000 -#define F_4E_PLT_EXT_LIGHT_ANTI_COLL 0x2A72, 0x6000, 13 -#define F_4E_PLT_EXT_LIGHT_FLASH_MODE 0x2A76, 0x0003, 0 -#define F_4E_PLT_EXT_LIGHT_FORMATION_BRIGHTNESS 0x2A90, 0xFFFF, 0 -#define F_4E_PLT_EXT_LIGHT_FORMATION_BRIGHTNESS_A 0x2A90 -#define F_4E_PLT_EXT_LIGHT_FORMATION_MODE 0x2A8E, 0x0003, 0 -#define F_4E_PLT_EXT_LIGHT_TAIL_BRIGHTNESS 0x2A76, 0x000C, 2 -#define F_4E_PLT_EXT_LIGHT_TAXI_LAND 0x2A76, 0x3000, 12 -#define F_4E_PLT_EXT_LIGHT_WING_BRIGHTNESS 0x2A76, 0x0030, 4 -#define F_4E_PLT_FUEL_AIR_REFUEL 0x2A60, 0x0040, 6 -#define F_4E_PLT_FUEL_AIR_REFUEL_AM 0x2A60, 0x0040 -#define F_4E_PLT_FUEL_BOOST_PUMP_L_CHECK 0x2A60, 0x0400, 10 -#define F_4E_PLT_FUEL_BOOST_PUMP_L_CHECK_AM 0x2A60, 0x0400 -#define F_4E_PLT_FUEL_BOOST_PUMP_R_CHECK 0x2A60, 0x0800, 11 -#define F_4E_PLT_FUEL_BOOST_PUMP_R_CHECK_AM 0x2A60, 0x0800 -#define F_4E_PLT_FUEL_EXTERNAL_TANKS_FEED 0x2A60, 0x0300, 8 -#define F_4E_PLT_FUEL_FEED_TANK_CHECK 0x2A60, 0x1000, 12 -#define F_4E_PLT_FUEL_FEED_TANK_CHECK_AM 0x2A60, 0x1000 -#define F_4E_PLT_FUEL_REFUEL_SELECTOR 0x2A60, 0x0020, 5 -#define F_4E_PLT_FUEL_REFUEL_SELECTOR_AM 0x2A60, 0x0020 -#define F_4E_PLT_FUEL_REFUEL_SELECTOR_COVER 0x2A60, 0x0010, 4 -#define F_4E_PLT_FUEL_REFUEL_SELECTOR_COVER_AM 0x2A60, 0x0010 -#define F_4E_PLT_FUEL_WING_FUEL_DUMP 0x2A60, 0x0080, 7 -#define F_4E_PLT_FUEL_WING_FUEL_DUMP_AM 0x2A60, 0x0080 -#define F_4E_PLT_FUEL_WING_INTERNAL_FEED 0x2A60, 0x0008, 3 -#define F_4E_PLT_FUEL_WING_INTERNAL_FEED_AM 0x2A60, 0x0008 +#define F_4E_PLT_COCKPIT_PRESSURE_EMERGENCY_RELEASE 0x2AA2, 0x0004, 2 +#define F_4E_PLT_COCKPIT_PRESSURE_EMERGENCY_RELEASE_AM 0x2AA2, 0x0004 +#define F_4E_PLT_EXT_LIGHT_ANTI_COLL 0x2A8A, 0x000C, 2 +#define F_4E_PLT_EXT_LIGHT_FLASH_MODE 0x2A8A, 0x0030, 4 +#define F_4E_PLT_EXT_LIGHT_FORMATION_BRIGHTNESS 0x2AA4, 0xFFFF, 0 +#define F_4E_PLT_EXT_LIGHT_FORMATION_BRIGHTNESS_A 0x2AA4 +#define F_4E_PLT_EXT_LIGHT_FORMATION_MODE 0x2AA2, 0x0018, 3 +#define F_4E_PLT_EXT_LIGHT_TAIL_BRIGHTNESS 0x2A8A, 0x00C0, 6 +#define F_4E_PLT_EXT_LIGHT_TAXI_LAND 0x2AA2, 0x0003, 0 +#define F_4E_PLT_EXT_LIGHT_WING_BRIGHTNESS 0x2A8A, 0x0300, 8 +#define F_4E_PLT_FUEL_AIR_REFUEL 0x2A6C, 0x0400, 10 +#define F_4E_PLT_FUEL_AIR_REFUEL_AM 0x2A6C, 0x0400 +#define F_4E_PLT_FUEL_BOOST_PUMP_L_CHECK 0x2A6C, 0x4000, 14 +#define F_4E_PLT_FUEL_BOOST_PUMP_L_CHECK_AM 0x2A6C, 0x4000 +#define F_4E_PLT_FUEL_BOOST_PUMP_R_CHECK 0x2A6C, 0x8000, 15 +#define F_4E_PLT_FUEL_BOOST_PUMP_R_CHECK_AM 0x2A6C, 0x8000 +#define F_4E_PLT_FUEL_EXTERNAL_TANKS_FEED 0x2A6C, 0x3000, 12 +#define F_4E_PLT_FUEL_FEED_TANK_CHECK 0x2A7A, 0x0001, 0 +#define F_4E_PLT_FUEL_FEED_TANK_CHECK_AM 0x2A7A, 0x0001 +#define F_4E_PLT_FUEL_REFUEL_SELECTOR 0x2A6C, 0x0200, 9 +#define F_4E_PLT_FUEL_REFUEL_SELECTOR_AM 0x2A6C, 0x0200 +#define F_4E_PLT_FUEL_REFUEL_SELECTOR_COVER 0x2A6C, 0x0100, 8 +#define F_4E_PLT_FUEL_REFUEL_SELECTOR_COVER_AM 0x2A6C, 0x0100 +#define F_4E_PLT_FUEL_WING_FUEL_DUMP 0x2A6C, 0x0800, 11 +#define F_4E_PLT_FUEL_WING_FUEL_DUMP_AM 0x2A6C, 0x0800 +#define F_4E_PLT_FUEL_WING_INTERNAL_FEED 0x2A6C, 0x0080, 7 +#define F_4E_PLT_FUEL_WING_INTERNAL_FEED_AM 0x2A6C, 0x0080 #define F_4E_PLT_ICS_AMPLIFIER 0x2A00, 0x3000, 12 #define F_4E_PLT_ICS_INTERCOM_VOL 0x2A0A, 0xFFFF, 0 #define F_4E_PLT_ICS_INTERCOM_VOL_A 0x2A0A @@ -13226,26 +13240,26 @@ #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 0x2A60, 0x0004, 2 -#define F_4E_PLT_MASTER_ARM_SW_AM 0x2A60, 0x0004 -#define F_4E_PLT_O2_FLOW 0x2A58, 0xFFFF, 0 -#define F_4E_PLT_O2_FLOW_A 0x2A58 -#define F_4E_PLT_O2_LITERS 0x2A5C, 0xFFFF, 0 -#define F_4E_PLT_O2_LITERS_A 0x2A5C -#define F_4E_PLT_O2_MIXTURE 0x2A56, 0x1000, 12 -#define F_4E_PLT_O2_MIXTURE_AM 0x2A56, 0x1000 -#define F_4E_PLT_O2_MODE 0x2A56, 0x0C00, 10 -#define F_4E_PLT_O2_PRESSURE 0x2A5A, 0xFFFF, 0 -#define F_4E_PLT_O2_PRESSURE_A 0x2A5A -#define F_4E_PLT_O2_SUPPLY 0x2A56, 0x2000, 13 -#define F_4E_PLT_O2_SUPPLY_AM 0x2A56, 0x2000 -#define F_4E_PLT_O2_TEST 0x2A56, 0x0200, 9 -#define F_4E_PLT_O2_TEST_AM 0x2A56, 0x0200 -#define F_4E_PLT_THROTTLE_CM_DISPENSE 0x2A76, 0x0200, 9 -#define F_4E_PLT_THROTTLE_CM_DISPENSE_AM 0x2A76, 0x0200 -#define F_4E_PLT_THROTTLE_MIC 0x2A76, 0x0180, 7 -#define F_4E_WSO_AFCS_EMERGENCY_RELEASE 0x2A76, 0x0040, 6 -#define F_4E_WSO_AFCS_EMERGENCY_RELEASE_AM 0x2A76, 0x0040 +#define F_4E_PLT_MASTER_ARM_SW 0x2A6C, 0x0040, 6 +#define F_4E_PLT_MASTER_ARM_SW_AM 0x2A6C, 0x0040 +#define F_4E_PLT_O2_FLOW 0x2A6E, 0xFFFF, 0 +#define F_4E_PLT_O2_FLOW_A 0x2A6E +#define F_4E_PLT_O2_LITERS 0x2A72, 0xFFFF, 0 +#define F_4E_PLT_O2_LITERS_A 0x2A72 +#define F_4E_PLT_O2_MIXTURE 0x2A6C, 0x0001, 0 +#define F_4E_PLT_O2_MIXTURE_AM 0x2A6C, 0x0001 +#define F_4E_PLT_O2_MODE 0x2A56, 0xC000, 14 +#define F_4E_PLT_O2_PRESSURE 0x2A70, 0xFFFF, 0 +#define F_4E_PLT_O2_PRESSURE_A 0x2A70 +#define F_4E_PLT_O2_SUPPLY 0x2A6C, 0x0002, 1 +#define F_4E_PLT_O2_SUPPLY_AM 0x2A6C, 0x0002 +#define F_4E_PLT_O2_TEST 0x2A56, 0x2000, 13 +#define F_4E_PLT_O2_TEST_AM 0x2A56, 0x2000 +#define F_4E_PLT_THROTTLE_CM_DISPENSE 0x2A8A, 0x2000, 13 +#define F_4E_PLT_THROTTLE_CM_DISPENSE_AM 0x2A8A, 0x2000 +#define F_4E_PLT_THROTTLE_MIC 0x2A8A, 0x1800, 11 +#define F_4E_WSO_AFCS_EMERGENCY_RELEASE 0x2A8A, 0x0400, 10 +#define F_4E_WSO_AFCS_EMERGENCY_RELEASE_AM 0x2A8A, 0x0400 #define F_4E_WSO_ARC_164_AUX_CHANNEL 0x2A26, 0x3E00, 9 #define F_4E_WSO_ARC_164_AUX_VOLUME 0x2A30, 0xFFFF, 0 #define F_4E_WSO_ARC_164_AUX_VOLUME_A 0x2A30 @@ -13273,6 +13287,20 @@ #define F_4E_WSO_ARC_164_TONE_AM 0x2A26, 0x8000 #define F_4E_WSO_ARC_164_VOLUME 0x2A24, 0xFFFF, 0 #define F_4E_WSO_ARC_164_VOLUME_A 0x2A24 +#define F_4E_WSO_CLOCK_HOUR_HAND 0x2A64, 0xFFFF, 0 +#define F_4E_WSO_CLOCK_HOUR_HAND_A 0x2A64 +#define F_4E_WSO_CLOCK_MINUTE_HAND 0x2A66, 0xFFFF, 0 +#define F_4E_WSO_CLOCK_MINUTE_HAND_A 0x2A66 +#define F_4E_WSO_CLOCK_SET_TIME_PULL 0x2A56, 0x1000, 12 +#define F_4E_WSO_CLOCK_SET_TIME_PULL_AM 0x2A56, 0x1000 +#define F_4E_WSO_CLOCK_SET_TIME_ROTATE 0x2A62, 0xFFFF, 0 +#define F_4E_WSO_CLOCK_SET_TIME_ROTATE_A 0x2A62 +#define F_4E_WSO_CLOCK_STOPWATCH 0x2A56, 0x0800, 11 +#define F_4E_WSO_CLOCK_STOPWATCH_AM 0x2A56, 0x0800 +#define F_4E_WSO_CLOCK_STOPWATCH_MINUTE_HAND 0x2A68, 0xFFFF, 0 +#define F_4E_WSO_CLOCK_STOPWATCH_MINUTE_HAND_A 0x2A68 +#define F_4E_WSO_CLOCK_STOPWATCH_SECOND_HAND 0x2A6A, 0xFFFF, 0 +#define F_4E_WSO_CLOCK_STOPWATCH_SECOND_HAND_A 0x2A6A #define F_4E_WSO_CM_CHAFF_A 0x2A50 #define F_4E_WSO_CM_CHAFF_DIM 0x2A48, 0xFFFF, 0 #define F_4E_WSO_CM_CHAFF_DIM_A 0x2A48 @@ -13311,49 +13339,49 @@ #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 0x2A70, 0xFFFF, 0 -#define F_4E_WSO_IFF_CHALLENGE_DIM_A 0x2A70 -#define F_4E_WSO_IFF_CHALLENGE_LIGHT 0x2A72, 0x0001, 0 -#define F_4E_WSO_IFF_CHALLENGE_LIGHT_AM 0x2A72, 0x0001 -#define F_4E_WSO_IFF_CHALLENGE_TEST_BUTTON 0x2A6E, 0x8000, 15 -#define F_4E_WSO_IFF_CHALLENGE_TEST_BUTTON_AM 0x2A6E, 0x8000 -#define F_4E_WSO_IFF_CODE_A 0x2A68 -#define F_4E_WSO_IFF_CODE_HUNDREDS 0x2A66, 0x0F00, 8 -#define F_4E_WSO_IFF_CODE_INC_HUNDREDS 0x2A60, 0x8000, 15 -#define F_4E_WSO_IFF_CODE_INC_HUNDREDS_AM 0x2A60, 0x8000 -#define F_4E_WSO_IFF_CODE_INC_ONES 0x2A6E, 0x0200, 9 -#define F_4E_WSO_IFF_CODE_INC_ONES_AM 0x2A6E, 0x0200 -#define F_4E_WSO_IFF_CODE_INC_TENS 0x2A6E, 0x0100, 8 -#define F_4E_WSO_IFF_CODE_INC_TENS_AM 0x2A6E, 0x0100 -#define F_4E_WSO_IFF_CODE_INC_THOUSANDS 0x2A60, 0x4000, 14 -#define F_4E_WSO_IFF_CODE_INC_THOUSANDS_AM 0x2A60, 0x4000 -#define F_4E_WSO_IFF_CODE_ONES 0x2A66, 0x000F, 0 -#define F_4E_WSO_IFF_CODE_TENS 0x2A66, 0x00F0, 4 -#define F_4E_WSO_IFF_CODE_THOUSANDS 0x2A66, 0xF000, 12 -#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_DIM 0x2A74, 0xFFFF, 0 -#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_DIM_A 0x2A74 -#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_BUTTON 0x2A72, 0x0010, 4 -#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_BUTTON_AM 0x2A72, 0x0010 -#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT 0x2A72, 0x0020, 5 -#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT_AM 0x2A72, 0x0020 -#define F_4E_WSO_IFF_COMBAT_TREE_MODE_2 0x2A72, 0x0180, 7 -#define F_4E_WSO_IFF_COMBAT_TREE_MODE_3 0x2A72, 0x0600, 9 -#define F_4E_WSO_IFF_COMBAT_TREE_TEST 0x2A72, 0x0040, 6 -#define F_4E_WSO_IFF_COMBAT_TREE_TEST_AM 0x2A72, 0x0040 -#define F_4E_WSO_IFF_MODE_A 0x2A6C -#define F_4E_WSO_IFF_MODE_DEC 0x2A6E, 0x0400, 10 -#define F_4E_WSO_IFF_MODE_DEC_AM 0x2A6E, 0x0400 -#define F_4E_WSO_IFF_MODE_DEC_HUNDREDS 0x2A6E, 0x1000, 12 -#define F_4E_WSO_IFF_MODE_DEC_HUNDREDS_AM 0x2A6E, 0x1000 -#define F_4E_WSO_IFF_MODE_DEC_ONES 0x2A6E, 0x4000, 14 -#define F_4E_WSO_IFF_MODE_DEC_ONES_AM 0x2A6E, 0x4000 -#define F_4E_WSO_IFF_MODE_DEC_TENS 0x2A6E, 0x2000, 13 -#define F_4E_WSO_IFF_MODE_DEC_TENS_AM 0x2A6E, 0x2000 -#define F_4E_WSO_IFF_MODE_DEC_THOUSANDS 0x2A6E, 0x0800, 11 -#define F_4E_WSO_IFF_MODE_DEC_THOUSANDS_AM 0x2A6E, 0x0800 -#define F_4E_WSO_IFF_MODE_INC 0x2A60, 0x2000, 13 -#define F_4E_WSO_IFF_MODE_INC_AM 0x2A60, 0x2000 -#define F_4E_WSO_IFF_TEST_CHALLENGE 0x2A72, 0x0006, 1 +#define F_4E_WSO_IFF_CHALLENGE_DIM 0x2A86, 0xFFFF, 0 +#define F_4E_WSO_IFF_CHALLENGE_DIM_A 0x2A86 +#define F_4E_WSO_IFF_CHALLENGE_LIGHT 0x2A7C, 0x1000, 12 +#define F_4E_WSO_IFF_CHALLENGE_LIGHT_AM 0x2A7C, 0x1000 +#define F_4E_WSO_IFF_CHALLENGE_TEST_BUTTON 0x2A7C, 0x0800, 11 +#define F_4E_WSO_IFF_CHALLENGE_TEST_BUTTON_AM 0x2A7C, 0x0800 +#define F_4E_WSO_IFF_CODE_A 0x2A7E +#define F_4E_WSO_IFF_CODE_HUNDREDS 0x2A7A, 0x1E00, 9 +#define F_4E_WSO_IFF_CODE_INC_HUNDREDS 0x2A7A, 0x8000, 15 +#define F_4E_WSO_IFF_CODE_INC_HUNDREDS_AM 0x2A7A, 0x8000 +#define F_4E_WSO_IFF_CODE_INC_ONES 0x2A7C, 0x0020, 5 +#define F_4E_WSO_IFF_CODE_INC_ONES_AM 0x2A7C, 0x0020 +#define F_4E_WSO_IFF_CODE_INC_TENS 0x2A7C, 0x0010, 4 +#define F_4E_WSO_IFF_CODE_INC_TENS_AM 0x2A7C, 0x0010 +#define F_4E_WSO_IFF_CODE_INC_THOUSANDS 0x2A7A, 0x4000, 14 +#define F_4E_WSO_IFF_CODE_INC_THOUSANDS_AM 0x2A7A, 0x4000 +#define F_4E_WSO_IFF_CODE_ONES 0x2A7A, 0x001E, 1 +#define F_4E_WSO_IFF_CODE_TENS 0x2A7A, 0x01E0, 5 +#define F_4E_WSO_IFF_CODE_THOUSANDS 0x2A7C, 0x000F, 0 +#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_DIM 0x2A88, 0xFFFF, 0 +#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_DIM_A 0x2A88 +#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_BUTTON 0x2A84, 0x0100, 8 +#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_BUTTON_AM 0x2A84, 0x0100 +#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT 0x2A84, 0x0200, 9 +#define F_4E_WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT_AM 0x2A84, 0x0200 +#define F_4E_WSO_IFF_COMBAT_TREE_MODE_2 0x2A84, 0x1800, 11 +#define F_4E_WSO_IFF_COMBAT_TREE_MODE_3 0x2A84, 0x6000, 13 +#define F_4E_WSO_IFF_COMBAT_TREE_TEST 0x2A84, 0x0400, 10 +#define F_4E_WSO_IFF_COMBAT_TREE_TEST_AM 0x2A84, 0x0400 +#define F_4E_WSO_IFF_MODE_A 0x2A82 +#define F_4E_WSO_IFF_MODE_DEC 0x2A7C, 0x0040, 6 +#define F_4E_WSO_IFF_MODE_DEC_AM 0x2A7C, 0x0040 +#define F_4E_WSO_IFF_MODE_DEC_HUNDREDS 0x2A7C, 0x0100, 8 +#define F_4E_WSO_IFF_MODE_DEC_HUNDREDS_AM 0x2A7C, 0x0100 +#define F_4E_WSO_IFF_MODE_DEC_ONES 0x2A7C, 0x0400, 10 +#define F_4E_WSO_IFF_MODE_DEC_ONES_AM 0x2A7C, 0x0400 +#define F_4E_WSO_IFF_MODE_DEC_TENS 0x2A7C, 0x0200, 9 +#define F_4E_WSO_IFF_MODE_DEC_TENS_AM 0x2A7C, 0x0200 +#define F_4E_WSO_IFF_MODE_DEC_THOUSANDS 0x2A7C, 0x0080, 7 +#define F_4E_WSO_IFF_MODE_DEC_THOUSANDS_AM 0x2A7C, 0x0080 +#define F_4E_WSO_IFF_MODE_INC 0x2A7A, 0x2000, 13 +#define F_4E_WSO_IFF_MODE_INC_AM 0x2A7A, 0x2000 +#define F_4E_WSO_IFF_TEST_CHALLENGE 0x2A7C, 0x6000, 13 #define F_4E_WSO_KY_28_BAND 0x2A00, 0x0200, 9 #define F_4E_WSO_KY_28_BAND_AM 0x2A00, 0x0200 #define F_4E_WSO_KY_28_C_MODE 0x2A00, 0x0080, 7 @@ -13371,16 +13399,16 @@ #define F_4E_WSO_KY_28_P_MODE_DIM_A 0x2A06 #define F_4E_WSO_KY_28_P_MODE_TEST 0x2A00, 0x0010, 4 #define F_4E_WSO_KY_28_P_MODE_TEST_AM 0x2A00, 0x0010 -#define F_4E_WSO_O2_FLOW 0x2A62, 0xFFFF, 0 -#define F_4E_WSO_O2_FLOW_A 0x2A62 -#define F_4E_WSO_O2_MIXTURE 0x2A60, 0x0001, 0 -#define F_4E_WSO_O2_MIXTURE_AM 0x2A60, 0x0001 -#define F_4E_WSO_O2_MODE 0x2A56, 0xC000, 14 -#define F_4E_WSO_O2_PRESSURE 0x2A64, 0xFFFF, 0 -#define F_4E_WSO_O2_PRESSURE_A 0x2A64 -#define F_4E_WSO_O2_SUPPLY 0x2A60, 0x0002, 1 -#define F_4E_WSO_O2_SUPPLY_AM 0x2A60, 0x0002 -#define F_4E_WSO_THROTTLE_MIC 0x2A76, 0x0C00, 10 +#define F_4E_WSO_O2_FLOW 0x2A76, 0xFFFF, 0 +#define F_4E_WSO_O2_FLOW_A 0x2A76 +#define F_4E_WSO_O2_MIXTURE 0x2A6C, 0x0010, 4 +#define F_4E_WSO_O2_MIXTURE_AM 0x2A6C, 0x0010 +#define F_4E_WSO_O2_MODE 0x2A6C, 0x000C, 2 +#define F_4E_WSO_O2_PRESSURE 0x2A78, 0xFFFF, 0 +#define F_4E_WSO_O2_PRESSURE_A 0x2A78 +#define F_4E_WSO_O2_SUPPLY 0x2A6C, 0x0020, 5 +#define F_4E_WSO_O2_SUPPLY_AM 0x2A6C, 0x0020 +#define F_4E_WSO_THROTTLE_MIC 0x2A8A, 0xC000, 14 #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 a4c6b9047..80ff54155 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": 10892, + "address": 10912, "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": 10872, + "address": 10892, "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": 10880, + "address": 10900, "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": 10888, + "address": 10908, "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": 10882, + "address": 10902, "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": 10890, + "address": 10910, "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": 10884, + "address": 10904, "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": 10876, + "address": 10896, "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": 10874, + "address": 10894, "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": 10886, + "address": 10906, "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": 10878, + "address": 10898, "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)", @@ -832,6 +832,164 @@ docdata["F-4E"] = } ] } }, + "PLT Clock": { + "PLT_CLOCK_HOUR_HAND": { + "category": "PLT Clock", + "control_type": "analog_gauge", + "description": "Clock Hour Hand", + "identifier": "PLT_CLOCK_HOUR_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10842, + "address_identifier": "F_4E_PLT_CLOCK_HOUR_HAND_A", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_HOUR_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_CLOCK_MINUTE_HAND": { + "category": "PLT Clock", + "control_type": "analog_gauge", + "description": "Clock Minute Hand", + "identifier": "PLT_CLOCK_MINUTE_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10844, + "address_identifier": "F_4E_PLT_CLOCK_MINUTE_HAND_A", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_MINUTE_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_CLOCK_SET_TIME_PULL": { + "api_variant": "momentary_last_position", + "category": "PLT Clock", + "control_type": "selector", + "description": "Set Time (pull)", + "identifier": "PLT_CLOCK_SET_TIME_PULL", + "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": 10838, + "address_mask_identifier": "F_4E_PLT_CLOCK_SET_TIME_PULL_AM", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_SET_TIME_PULL", + "description": "selector position", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_CLOCK_SET_TIME_ROTATE": { + "api_variant": "multiturn", + "category": "PLT Clock", + "control_type": "analog_dial", + "description": "Set Time (rotate)", + "identifier": "PLT_CLOCK_SET_TIME_ROTATE", + "inputs": [ { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 10840, + "address_identifier": "F_4E_PLT_CLOCK_SET_TIME_ROTATE_A", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_SET_TIME_ROTATE", + "description": "the rotation of the knob in the cockpit (not the value that is controlled by this knob!)", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "_KNOB_POS", + "type": "integer" + } ] + }, + "PLT_CLOCK_STOPWATCH": { + "api_variant": "momentary_last_position", + "category": "PLT Clock", + "control_type": "selector", + "description": "Start/Stop/Reset Stopwatch", + "identifier": "PLT_CLOCK_STOPWATCH", + "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": 10838, + "address_mask_identifier": "F_4E_PLT_CLOCK_STOPWATCH_AM", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_STOPWATCH", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_CLOCK_STOPWATCH_MINUTE_HAND": { + "category": "PLT Clock", + "control_type": "analog_gauge", + "description": "Stopwatch Minute Hand", + "identifier": "PLT_CLOCK_STOPWATCH_MINUTE_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10846, + "address_identifier": "F_4E_PLT_CLOCK_STOPWATCH_MINUTE_HAND_A", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_STOPWATCH_MINUTE_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_CLOCK_STOPWATCH_SECOND_HAND": { + "category": "PLT Clock", + "control_type": "analog_gauge", + "description": "Stopwatch Second Hand", + "identifier": "PLT_CLOCK_STOPWATCH_SECOND_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10848, + "address_identifier": "F_4E_PLT_CLOCK_STOPWATCH_SECOND_HAND_A", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_STOPWATCH_SECOND_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + } + }, "PLT Cockpit": { "PLT_COCKPIT_HELMET": { "category": "PLT Cockpit", @@ -1290,12 +1448,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10866, + "address": 10890, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_ANTI_COLL", "description": "selector position", - "mask": 24576, + "mask": 12, "max_value": 2, - "shift_by": 13, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -1314,12 +1472,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_FLASH_MODE", "description": "selector position", - "mask": 3, + "mask": 48, "max_value": 2, - "shift_by": 0, + "shift_by": 4, "suffix": "", "type": "integer" } ] @@ -1338,12 +1496,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_TAIL_BRIGHTNESS", "description": "selector position", - "mask": 12, + "mask": 192, "max_value": 2, - "shift_by": 2, + "shift_by": 6, "suffix": "", "type": "integer" } ] @@ -1362,12 +1520,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_WING_BRIGHTNESS", "description": "selector position", - "mask": 48, + "mask": 768, "max_value": 2, - "shift_by": 4, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -1392,13 +1550,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "address_mask_identifier": "F_4E_PLT_FUEL_AIR_REFUEL_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_AIR_REFUEL", "description": "selector position", - "mask": 64, + "mask": 1024, "max_value": 1, - "shift_by": 6, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -1422,13 +1580,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "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": 1024, + "mask": 16384, "max_value": 1, - "shift_by": 10, + "shift_by": 14, "suffix": "", "type": "integer" } ] @@ -1452,13 +1610,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "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": 2048, + "mask": 32768, "max_value": 1, - "shift_by": 11, + "shift_by": 15, "suffix": "", "type": "integer" } ] @@ -1477,12 +1635,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10848, + "address": 10860, "address_mask_shift_identifier": "F_4E_PLT_FUEL_EXTERNAL_TANKS_FEED", "description": "selector position", - "mask": 768, + "mask": 12288, "max_value": 2, - "shift_by": 8, + "shift_by": 12, "suffix": "", "type": "integer" } ] @@ -1506,13 +1664,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10874, "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": 4096, + "mask": 1, "max_value": 1, - "shift_by": 12, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -1535,13 +1693,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "address_mask_identifier": "F_4E_PLT_FUEL_REFUEL_SELECTOR_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_REFUEL_SELECTOR", "description": "selector position", - "mask": 32, + "mask": 512, "max_value": 1, - "shift_by": 5, + "shift_by": 9, "suffix": "", "type": "integer" } ] @@ -1564,13 +1722,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "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": 16, + "mask": 256, "max_value": 1, - "shift_by": 4, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -1593,13 +1751,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "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": 128, + "mask": 2048, "max_value": 1, - "shift_by": 7, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -1622,13 +1780,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "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": 8, + "mask": 128, "max_value": 1, - "shift_by": 3, + "shift_by": 7, "suffix": "", "type": "integer" } ] @@ -2446,12 +2604,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10870, + "address": 10914, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_TAXI_LAND", "description": "selector position", - "mask": 12288, + "mask": 3, "max_value": 2, - "shift_by": 12, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -2465,7 +2623,7 @@ docdata["F-4E"] = "identifier": "PLT_O2_FLOW", "inputs": [ ], "outputs": [ { - "address": 10840, + "address": 10862, "address_identifier": "F_4E_PLT_O2_FLOW_A", "address_mask_shift_identifier": "F_4E_PLT_O2_FLOW", "description": "gauge position", @@ -2483,7 +2641,7 @@ docdata["F-4E"] = "identifier": "PLT_O2_LITERS", "inputs": [ ], "outputs": [ { - "address": 10844, + "address": 10866, "address_identifier": "F_4E_PLT_O2_LITERS_A", "address_mask_shift_identifier": "F_4E_PLT_O2_LITERS", "description": "gauge position", @@ -2512,13 +2670,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10838, + "address": 10860, "address_mask_identifier": "F_4E_PLT_O2_MIXTURE_AM", "address_mask_shift_identifier": "F_4E_PLT_O2_MIXTURE", "description": "selector position", - "mask": 4096, + "mask": 1, "max_value": 1, - "shift_by": 12, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -2537,9 +2695,9 @@ docdata["F-4E"] = "address": 10838, "address_mask_shift_identifier": "F_4E_PLT_O2_MODE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 3072, + "mask": 49152, "max_value": 2, - "shift_by": 10, + "shift_by": 14, "suffix": "", "type": "integer" } ] @@ -2551,7 +2709,7 @@ docdata["F-4E"] = "identifier": "PLT_O2_PRESSURE", "inputs": [ ], "outputs": [ { - "address": 10842, + "address": 10864, "address_identifier": "F_4E_PLT_O2_PRESSURE_A", "address_mask_shift_identifier": "F_4E_PLT_O2_PRESSURE", "description": "gauge position", @@ -2580,13 +2738,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10838, + "address": 10860, "address_mask_identifier": "F_4E_PLT_O2_SUPPLY_AM", "address_mask_shift_identifier": "F_4E_PLT_O2_SUPPLY", "description": "selector position", - "mask": 8192, + "mask": 2, "max_value": 1, - "shift_by": 13, + "shift_by": 1, "suffix": "", "type": "integer" } ] @@ -2614,9 +2772,9 @@ docdata["F-4E"] = "address_mask_identifier": "F_4E_PLT_O2_TEST_AM", "address_mask_shift_identifier": "F_4E_PLT_O2_TEST", "description": "selector position", - "mask": 512, + "mask": 8192, "max_value": 1, - "shift_by": 9, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -2642,13 +2800,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10870, + "address": 10914, "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": 16384, + "mask": 4, "max_value": 1, - "shift_by": 14, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -2671,7 +2829,7 @@ docdata["F-4E"] = "suggested_step": 3200 } ], "outputs": [ { - "address": 10896, + "address": 10916, "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", @@ -2693,12 +2851,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10894, + "address": 10914, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_FORMATION_MODE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 3, + "mask": 24, "max_value": 2, - "shift_by": 0, + "shift_by": 3, "suffix": "", "type": "integer" } ] @@ -2724,7 +2882,7 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10866, + "address": 10884, "address_mask_identifier": "F_4E_PLT_AFCS_EMERGENCY_RELEASE_AM", "address_mask_shift_identifier": "F_4E_PLT_AFCS_EMERGENCY_RELEASE", "description": "selector position", @@ -2756,13 +2914,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_identifier": "F_4E_PLT_THROTTLE_CM_DISPENSE_AM", "address_mask_shift_identifier": "F_4E_PLT_THROTTLE_CM_DISPENSE", "description": "selector position", - "mask": 512, + "mask": 8192, "max_value": 1, - "shift_by": 9, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -2778,12 +2936,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_shift_identifier": "F_4E_PLT_THROTTLE_MIC", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 384, + "mask": 6144, "max_value": 2, - "shift_by": 7, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -2808,13 +2966,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "address_mask_identifier": "F_4E_PLT_MASTER_ARM_SW_AM", "address_mask_shift_identifier": "F_4E_PLT_MASTER_ARM_SW", "description": "selector position", - "mask": 4, + "mask": 64, "max_value": 1, - "shift_by": 2, + "shift_by": 6, "suffix": "", "type": "integer" } ] @@ -3276,6 +3434,164 @@ docdata["F-4E"] = } ] } }, + "WSO Clock": { + "WSO_CLOCK_HOUR_HAND": { + "category": "WSO Clock", + "control_type": "analog_gauge", + "description": "Clock Hour Hand", + "identifier": "WSO_CLOCK_HOUR_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10852, + "address_identifier": "F_4E_WSO_CLOCK_HOUR_HAND_A", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_HOUR_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_CLOCK_MINUTE_HAND": { + "category": "WSO Clock", + "control_type": "analog_gauge", + "description": "Clock Minute Hand", + "identifier": "WSO_CLOCK_MINUTE_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10854, + "address_identifier": "F_4E_WSO_CLOCK_MINUTE_HAND_A", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_MINUTE_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_CLOCK_SET_TIME_PULL": { + "api_variant": "momentary_last_position", + "category": "WSO Clock", + "control_type": "selector", + "description": "Set Time (pull)", + "identifier": "WSO_CLOCK_SET_TIME_PULL", + "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": 10838, + "address_mask_identifier": "F_4E_WSO_CLOCK_SET_TIME_PULL_AM", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_SET_TIME_PULL", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_CLOCK_SET_TIME_ROTATE": { + "api_variant": "multiturn", + "category": "WSO Clock", + "control_type": "analog_dial", + "description": "Set Time (rotate)", + "identifier": "WSO_CLOCK_SET_TIME_ROTATE", + "inputs": [ { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 10850, + "address_identifier": "F_4E_WSO_CLOCK_SET_TIME_ROTATE_A", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_SET_TIME_ROTATE", + "description": "the rotation of the knob in the cockpit (not the value that is controlled by this knob!)", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "_KNOB_POS", + "type": "integer" + } ] + }, + "WSO_CLOCK_STOPWATCH": { + "api_variant": "momentary_last_position", + "category": "WSO Clock", + "control_type": "selector", + "description": "Start/Stop/Reset Stopwatch", + "identifier": "WSO_CLOCK_STOPWATCH", + "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": 10838, + "address_mask_identifier": "F_4E_WSO_CLOCK_STOPWATCH_AM", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_STOPWATCH", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_CLOCK_STOPWATCH_MINUTE_HAND": { + "category": "WSO Clock", + "control_type": "analog_gauge", + "description": "Stopwatch Minute Hand", + "identifier": "WSO_CLOCK_STOPWATCH_MINUTE_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10856, + "address_identifier": "F_4E_WSO_CLOCK_STOPWATCH_MINUTE_HAND_A", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_STOPWATCH_MINUTE_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_CLOCK_STOPWATCH_SECOND_HAND": { + "category": "WSO Clock", + "control_type": "analog_gauge", + "description": "Stopwatch Second Hand", + "identifier": "WSO_CLOCK_STOPWATCH_SECOND_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10858, + "address_identifier": "F_4E_WSO_CLOCK_STOPWATCH_SECOND_HAND_A", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_STOPWATCH_SECOND_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + } + }, "WSO Cockpit": { "WSO_COCKPIT_HELMET": { "category": "WSO Cockpit", @@ -3876,7 +4192,7 @@ docdata["F-4E"] = "suggested_step": 3200 } ], "outputs": [ { - "address": 10864, + "address": 10886, "address_identifier": "F_4E_WSO_IFF_CHALLENGE_DIM_A", "address_mask_shift_identifier": "F_4E_WSO_IFF_CHALLENGE_DIM", "description": "position of the potentiometer", @@ -3894,13 +4210,13 @@ docdata["F-4E"] = "identifier": "WSO_IFF_CHALLENGE_LIGHT", "inputs": [ ], "outputs": [ { - "address": 10866, + "address": 10876, "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": 1, + "mask": 4096, "max_value": 1, - "shift_by": 0, + "shift_by": 12, "suffix": "", "type": "integer" } ] @@ -3924,13 +4240,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 32768, + "mask": 2048, "max_value": 1, - "shift_by": 15, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -3942,7 +4258,7 @@ docdata["F-4E"] = "identifier": "WSO_IFF_CODE", "inputs": [ ], "outputs": [ { - "address": 10856, + "address": 10878, "address_identifier": "F_4E_WSO_IFF_CODE_A", "description": "IFF Code", "max_length": 4, @@ -3957,12 +4273,12 @@ docdata["F-4E"] = "identifier": "WSO_IFF_CODE_HUNDREDS", "inputs": [ ], "outputs": [ { - "address": 10854, + "address": 10874, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_HUNDREDS", "description": "IFF Code (hundreds)", - "mask": 3840, + "mask": 7680, "max_value": 8, - "shift_by": 8, + "shift_by": 9, "suffix": "", "type": "integer" } ] @@ -3986,7 +4302,7 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10874, "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", @@ -4016,13 +4332,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 512, + "mask": 32, "max_value": 1, - "shift_by": 9, + "shift_by": 5, "suffix": "", "type": "integer" } ] @@ -4046,13 +4362,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 256, + "mask": 16, "max_value": 1, - "shift_by": 8, + "shift_by": 4, "suffix": "", "type": "integer" } ] @@ -4076,7 +4392,7 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10874, "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", @@ -4094,12 +4410,12 @@ docdata["F-4E"] = "identifier": "WSO_IFF_CODE_ONES", "inputs": [ ], "outputs": [ { - "address": 10854, + "address": 10874, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_ONES", "description": "IFF Code (ones)", - "mask": 15, + "mask": 30, "max_value": 8, - "shift_by": 0, + "shift_by": 1, "suffix": "", "type": "integer" } ] @@ -4111,12 +4427,12 @@ docdata["F-4E"] = "identifier": "WSO_IFF_CODE_TENS", "inputs": [ ], "outputs": [ { - "address": 10854, + "address": 10874, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_TENS", "description": "IFF Code (tens)", - "mask": 240, + "mask": 480, "max_value": 8, - "shift_by": 4, + "shift_by": 5, "suffix": "", "type": "integer" } ] @@ -4128,12 +4444,12 @@ docdata["F-4E"] = "identifier": "WSO_IFF_CODE_THOUSANDS", "inputs": [ ], "outputs": [ { - "address": 10854, + "address": 10876, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_THOUSANDS", "description": "IFF Code (thousands)", - "mask": 61440, + "mask": 15, "max_value": 8, - "shift_by": 12, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -4154,7 +4470,7 @@ docdata["F-4E"] = "suggested_step": 3200 } ], "outputs": [ { - "address": 10868, + "address": 10888, "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", @@ -4184,13 +4500,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10866, + "address": 10884, "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": 16, + "mask": 256, "max_value": 1, - "shift_by": 4, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -4202,13 +4518,13 @@ docdata["F-4E"] = "identifier": "WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT", "inputs": [ ], "outputs": [ { - "address": 10866, + "address": 10884, "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": 32, + "mask": 512, "max_value": 1, - "shift_by": 5, + "shift_by": 9, "suffix": "", "type": "integer" } ] @@ -4227,12 +4543,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10866, + "address": 10884, "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_MODE_2", "description": "selector position", - "mask": 384, + "mask": 6144, "max_value": 2, - "shift_by": 7, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -4251,12 +4567,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10866, + "address": 10884, "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_MODE_3", "description": "selector position", - "mask": 1536, + "mask": 24576, "max_value": 2, - "shift_by": 9, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -4280,13 +4596,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10866, + "address": 10884, "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": 64, + "mask": 1024, "max_value": 1, - "shift_by": 6, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -4298,7 +4614,7 @@ docdata["F-4E"] = "identifier": "WSO_IFF_MODE", "inputs": [ ], "outputs": [ { - "address": 10860, + "address": 10882, "address_identifier": "F_4E_WSO_IFF_MODE_A", "description": "IFF Mode", "max_length": 3, @@ -4325,13 +4641,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "address_mask_identifier": "F_4E_WSO_IFF_MODE_DEC_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_DEC", "description": "selector position", - "mask": 1024, + "mask": 64, "max_value": 1, - "shift_by": 10, + "shift_by": 6, "suffix": "", "type": "integer" } ] @@ -4355,13 +4671,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 4096, + "mask": 256, "max_value": 1, - "shift_by": 12, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -4385,13 +4701,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 16384, + "mask": 1024, "max_value": 1, - "shift_by": 14, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -4415,13 +4731,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 8192, + "mask": 512, "max_value": 1, - "shift_by": 13, + "shift_by": 9, "suffix": "", "type": "integer" } ] @@ -4445,13 +4761,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 2048, + "mask": 128, "max_value": 1, - "shift_by": 11, + "shift_by": 7, "suffix": "", "type": "integer" } ] @@ -4475,7 +4791,7 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10874, "address_mask_identifier": "F_4E_WSO_IFF_MODE_INC_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_INC", "description": "selector position", @@ -4497,12 +4813,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10866, + "address": 10876, "address_mask_shift_identifier": "F_4E_WSO_IFF_TEST_CHALLENGE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 6, + "mask": 24576, "max_value": 2, - "shift_by": 1, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -4751,7 +5067,7 @@ docdata["F-4E"] = "identifier": "WSO_O2_FLOW", "inputs": [ ], "outputs": [ { - "address": 10850, + "address": 10870, "address_identifier": "F_4E_WSO_O2_FLOW_A", "address_mask_shift_identifier": "F_4E_WSO_O2_FLOW", "description": "gauge position", @@ -4780,13 +5096,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "address_mask_identifier": "F_4E_WSO_O2_MIXTURE_AM", "address_mask_shift_identifier": "F_4E_WSO_O2_MIXTURE", "description": "selector position", - "mask": 1, + "mask": 16, "max_value": 1, - "shift_by": 0, + "shift_by": 4, "suffix": "", "type": "integer" } ] @@ -4802,12 +5118,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10838, + "address": 10860, "address_mask_shift_identifier": "F_4E_WSO_O2_MODE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 49152, + "mask": 12, "max_value": 2, - "shift_by": 14, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -4819,7 +5135,7 @@ docdata["F-4E"] = "identifier": "WSO_O2_PRESSURE", "inputs": [ ], "outputs": [ { - "address": 10852, + "address": 10872, "address_identifier": "F_4E_WSO_O2_PRESSURE_A", "address_mask_shift_identifier": "F_4E_WSO_O2_PRESSURE", "description": "gauge position", @@ -4848,13 +5164,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "address_mask_identifier": "F_4E_WSO_O2_SUPPLY_AM", "address_mask_shift_identifier": "F_4E_WSO_O2_SUPPLY", "description": "selector position", - "mask": 2, + "mask": 32, "max_value": 1, - "shift_by": 1, + "shift_by": 5, "suffix": "", "type": "integer" } ] @@ -4880,13 +5196,13 @@ docdata["F-4E"] = "interface": "action" } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_identifier": "F_4E_WSO_AFCS_EMERGENCY_RELEASE_AM", "address_mask_shift_identifier": "F_4E_WSO_AFCS_EMERGENCY_RELEASE", "description": "selector position", - "mask": 64, + "mask": 1024, "max_value": 1, - "shift_by": 6, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -4904,12 +5220,12 @@ docdata["F-4E"] = "max_value": 2 } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_shift_identifier": "F_4E_WSO_THROTTLE_MIC", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 3072, + "mask": 49152, "max_value": 2, - "shift_by": 10, + "shift_by": 14, "suffix": "", "type": "integer" } ] diff --git a/Scripts/DCS-BIOS/doc/json/F-4E.json b/Scripts/DCS-BIOS/doc/json/F-4E.json index 7c26e099e..e7900d8b6 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": 10892, + "address": 10912, "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": 10872, + "address": 10892, "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": 10880, + "address": 10900, "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": 10888, + "address": 10908, "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": 10882, + "address": 10902, "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": 10890, + "address": 10910, "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": 10884, + "address": 10904, "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": 10876, + "address": 10896, "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": 10874, + "address": 10894, "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": 10886, + "address": 10906, "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": 10878, + "address": 10898, "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)", @@ -831,6 +831,164 @@ } ] } }, + "PLT Clock": { + "PLT_CLOCK_HOUR_HAND": { + "category": "PLT Clock", + "control_type": "analog_gauge", + "description": "Clock Hour Hand", + "identifier": "PLT_CLOCK_HOUR_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10842, + "address_identifier": "F_4E_PLT_CLOCK_HOUR_HAND_A", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_HOUR_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_CLOCK_MINUTE_HAND": { + "category": "PLT Clock", + "control_type": "analog_gauge", + "description": "Clock Minute Hand", + "identifier": "PLT_CLOCK_MINUTE_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10844, + "address_identifier": "F_4E_PLT_CLOCK_MINUTE_HAND_A", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_MINUTE_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_CLOCK_SET_TIME_PULL": { + "api_variant": "momentary_last_position", + "category": "PLT Clock", + "control_type": "selector", + "description": "Set Time (pull)", + "identifier": "PLT_CLOCK_SET_TIME_PULL", + "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": 10838, + "address_mask_identifier": "F_4E_PLT_CLOCK_SET_TIME_PULL_AM", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_SET_TIME_PULL", + "description": "selector position", + "mask": 1024, + "max_value": 1, + "shift_by": 10, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_CLOCK_SET_TIME_ROTATE": { + "api_variant": "multiturn", + "category": "PLT Clock", + "control_type": "analog_dial", + "description": "Set Time (rotate)", + "identifier": "PLT_CLOCK_SET_TIME_ROTATE", + "inputs": [ { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 10840, + "address_identifier": "F_4E_PLT_CLOCK_SET_TIME_ROTATE_A", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_SET_TIME_ROTATE", + "description": "the rotation of the knob in the cockpit (not the value that is controlled by this knob!)", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "_KNOB_POS", + "type": "integer" + } ] + }, + "PLT_CLOCK_STOPWATCH": { + "api_variant": "momentary_last_position", + "category": "PLT Clock", + "control_type": "selector", + "description": "Start/Stop/Reset Stopwatch", + "identifier": "PLT_CLOCK_STOPWATCH", + "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": 10838, + "address_mask_identifier": "F_4E_PLT_CLOCK_STOPWATCH_AM", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_STOPWATCH", + "description": "selector position", + "mask": 512, + "max_value": 1, + "shift_by": 9, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_CLOCK_STOPWATCH_MINUTE_HAND": { + "category": "PLT Clock", + "control_type": "analog_gauge", + "description": "Stopwatch Minute Hand", + "identifier": "PLT_CLOCK_STOPWATCH_MINUTE_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10846, + "address_identifier": "F_4E_PLT_CLOCK_STOPWATCH_MINUTE_HAND_A", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_STOPWATCH_MINUTE_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "PLT_CLOCK_STOPWATCH_SECOND_HAND": { + "category": "PLT Clock", + "control_type": "analog_gauge", + "description": "Stopwatch Second Hand", + "identifier": "PLT_CLOCK_STOPWATCH_SECOND_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10848, + "address_identifier": "F_4E_PLT_CLOCK_STOPWATCH_SECOND_HAND_A", + "address_mask_shift_identifier": "F_4E_PLT_CLOCK_STOPWATCH_SECOND_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + } + }, "PLT Cockpit": { "PLT_COCKPIT_HELMET": { "category": "PLT Cockpit", @@ -1289,12 +1447,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10866, + "address": 10890, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_ANTI_COLL", "description": "selector position", - "mask": 24576, + "mask": 12, "max_value": 2, - "shift_by": 13, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -1313,12 +1471,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_FLASH_MODE", "description": "selector position", - "mask": 3, + "mask": 48, "max_value": 2, - "shift_by": 0, + "shift_by": 4, "suffix": "", "type": "integer" } ] @@ -1337,12 +1495,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_TAIL_BRIGHTNESS", "description": "selector position", - "mask": 12, + "mask": 192, "max_value": 2, - "shift_by": 2, + "shift_by": 6, "suffix": "", "type": "integer" } ] @@ -1361,12 +1519,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_WING_BRIGHTNESS", "description": "selector position", - "mask": 48, + "mask": 768, "max_value": 2, - "shift_by": 4, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -1391,13 +1549,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "address_mask_identifier": "F_4E_PLT_FUEL_AIR_REFUEL_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_AIR_REFUEL", "description": "selector position", - "mask": 64, + "mask": 1024, "max_value": 1, - "shift_by": 6, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -1421,13 +1579,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "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": 1024, + "mask": 16384, "max_value": 1, - "shift_by": 10, + "shift_by": 14, "suffix": "", "type": "integer" } ] @@ -1451,13 +1609,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "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": 2048, + "mask": 32768, "max_value": 1, - "shift_by": 11, + "shift_by": 15, "suffix": "", "type": "integer" } ] @@ -1476,12 +1634,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10848, + "address": 10860, "address_mask_shift_identifier": "F_4E_PLT_FUEL_EXTERNAL_TANKS_FEED", "description": "selector position", - "mask": 768, + "mask": 12288, "max_value": 2, - "shift_by": 8, + "shift_by": 12, "suffix": "", "type": "integer" } ] @@ -1505,13 +1663,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10874, "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": 4096, + "mask": 1, "max_value": 1, - "shift_by": 12, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -1534,13 +1692,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "address_mask_identifier": "F_4E_PLT_FUEL_REFUEL_SELECTOR_AM", "address_mask_shift_identifier": "F_4E_PLT_FUEL_REFUEL_SELECTOR", "description": "selector position", - "mask": 32, + "mask": 512, "max_value": 1, - "shift_by": 5, + "shift_by": 9, "suffix": "", "type": "integer" } ] @@ -1563,13 +1721,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "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": 16, + "mask": 256, "max_value": 1, - "shift_by": 4, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -1592,13 +1750,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "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": 128, + "mask": 2048, "max_value": 1, - "shift_by": 7, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -1621,13 +1779,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "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": 8, + "mask": 128, "max_value": 1, - "shift_by": 3, + "shift_by": 7, "suffix": "", "type": "integer" } ] @@ -2445,12 +2603,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10870, + "address": 10914, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_TAXI_LAND", "description": "selector position", - "mask": 12288, + "mask": 3, "max_value": 2, - "shift_by": 12, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -2464,7 +2622,7 @@ "identifier": "PLT_O2_FLOW", "inputs": [ ], "outputs": [ { - "address": 10840, + "address": 10862, "address_identifier": "F_4E_PLT_O2_FLOW_A", "address_mask_shift_identifier": "F_4E_PLT_O2_FLOW", "description": "gauge position", @@ -2482,7 +2640,7 @@ "identifier": "PLT_O2_LITERS", "inputs": [ ], "outputs": [ { - "address": 10844, + "address": 10866, "address_identifier": "F_4E_PLT_O2_LITERS_A", "address_mask_shift_identifier": "F_4E_PLT_O2_LITERS", "description": "gauge position", @@ -2511,13 +2669,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10838, + "address": 10860, "address_mask_identifier": "F_4E_PLT_O2_MIXTURE_AM", "address_mask_shift_identifier": "F_4E_PLT_O2_MIXTURE", "description": "selector position", - "mask": 4096, + "mask": 1, "max_value": 1, - "shift_by": 12, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -2536,9 +2694,9 @@ "address": 10838, "address_mask_shift_identifier": "F_4E_PLT_O2_MODE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 3072, + "mask": 49152, "max_value": 2, - "shift_by": 10, + "shift_by": 14, "suffix": "", "type": "integer" } ] @@ -2550,7 +2708,7 @@ "identifier": "PLT_O2_PRESSURE", "inputs": [ ], "outputs": [ { - "address": 10842, + "address": 10864, "address_identifier": "F_4E_PLT_O2_PRESSURE_A", "address_mask_shift_identifier": "F_4E_PLT_O2_PRESSURE", "description": "gauge position", @@ -2579,13 +2737,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10838, + "address": 10860, "address_mask_identifier": "F_4E_PLT_O2_SUPPLY_AM", "address_mask_shift_identifier": "F_4E_PLT_O2_SUPPLY", "description": "selector position", - "mask": 8192, + "mask": 2, "max_value": 1, - "shift_by": 13, + "shift_by": 1, "suffix": "", "type": "integer" } ] @@ -2613,9 +2771,9 @@ "address_mask_identifier": "F_4E_PLT_O2_TEST_AM", "address_mask_shift_identifier": "F_4E_PLT_O2_TEST", "description": "selector position", - "mask": 512, + "mask": 8192, "max_value": 1, - "shift_by": 9, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -2641,13 +2799,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10870, + "address": 10914, "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": 16384, + "mask": 4, "max_value": 1, - "shift_by": 14, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -2670,7 +2828,7 @@ "suggested_step": 3200 } ], "outputs": [ { - "address": 10896, + "address": 10916, "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", @@ -2692,12 +2850,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10894, + "address": 10914, "address_mask_shift_identifier": "F_4E_PLT_EXT_LIGHT_FORMATION_MODE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 3, + "mask": 24, "max_value": 2, - "shift_by": 0, + "shift_by": 3, "suffix": "", "type": "integer" } ] @@ -2723,7 +2881,7 @@ "interface": "action" } ], "outputs": [ { - "address": 10866, + "address": 10884, "address_mask_identifier": "F_4E_PLT_AFCS_EMERGENCY_RELEASE_AM", "address_mask_shift_identifier": "F_4E_PLT_AFCS_EMERGENCY_RELEASE", "description": "selector position", @@ -2755,13 +2913,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_identifier": "F_4E_PLT_THROTTLE_CM_DISPENSE_AM", "address_mask_shift_identifier": "F_4E_PLT_THROTTLE_CM_DISPENSE", "description": "selector position", - "mask": 512, + "mask": 8192, "max_value": 1, - "shift_by": 9, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -2777,12 +2935,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_shift_identifier": "F_4E_PLT_THROTTLE_MIC", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 384, + "mask": 6144, "max_value": 2, - "shift_by": 7, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -2807,13 +2965,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "address_mask_identifier": "F_4E_PLT_MASTER_ARM_SW_AM", "address_mask_shift_identifier": "F_4E_PLT_MASTER_ARM_SW", "description": "selector position", - "mask": 4, + "mask": 64, "max_value": 1, - "shift_by": 2, + "shift_by": 6, "suffix": "", "type": "integer" } ] @@ -3275,6 +3433,164 @@ } ] } }, + "WSO Clock": { + "WSO_CLOCK_HOUR_HAND": { + "category": "WSO Clock", + "control_type": "analog_gauge", + "description": "Clock Hour Hand", + "identifier": "WSO_CLOCK_HOUR_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10852, + "address_identifier": "F_4E_WSO_CLOCK_HOUR_HAND_A", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_HOUR_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_CLOCK_MINUTE_HAND": { + "category": "WSO Clock", + "control_type": "analog_gauge", + "description": "Clock Minute Hand", + "identifier": "WSO_CLOCK_MINUTE_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10854, + "address_identifier": "F_4E_WSO_CLOCK_MINUTE_HAND_A", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_MINUTE_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_CLOCK_SET_TIME_PULL": { + "api_variant": "momentary_last_position", + "category": "WSO Clock", + "control_type": "selector", + "description": "Set Time (pull)", + "identifier": "WSO_CLOCK_SET_TIME_PULL", + "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": 10838, + "address_mask_identifier": "F_4E_WSO_CLOCK_SET_TIME_PULL_AM", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_SET_TIME_PULL", + "description": "selector position", + "mask": 4096, + "max_value": 1, + "shift_by": 12, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_CLOCK_SET_TIME_ROTATE": { + "api_variant": "multiturn", + "category": "WSO Clock", + "control_type": "analog_dial", + "description": "Set Time (rotate)", + "identifier": "WSO_CLOCK_SET_TIME_ROTATE", + "inputs": [ { + "description": "turn the dial left or right", + "interface": "variable_step", + "max_value": 65535, + "suggested_step": 3200 + } ], + "outputs": [ { + "address": 10850, + "address_identifier": "F_4E_WSO_CLOCK_SET_TIME_ROTATE_A", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_SET_TIME_ROTATE", + "description": "the rotation of the knob in the cockpit (not the value that is controlled by this knob!)", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "_KNOB_POS", + "type": "integer" + } ] + }, + "WSO_CLOCK_STOPWATCH": { + "api_variant": "momentary_last_position", + "category": "WSO Clock", + "control_type": "selector", + "description": "Start/Stop/Reset Stopwatch", + "identifier": "WSO_CLOCK_STOPWATCH", + "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": 10838, + "address_mask_identifier": "F_4E_WSO_CLOCK_STOPWATCH_AM", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_STOPWATCH", + "description": "selector position", + "mask": 2048, + "max_value": 1, + "shift_by": 11, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_CLOCK_STOPWATCH_MINUTE_HAND": { + "category": "WSO Clock", + "control_type": "analog_gauge", + "description": "Stopwatch Minute Hand", + "identifier": "WSO_CLOCK_STOPWATCH_MINUTE_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10856, + "address_identifier": "F_4E_WSO_CLOCK_STOPWATCH_MINUTE_HAND_A", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_STOPWATCH_MINUTE_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + }, + "WSO_CLOCK_STOPWATCH_SECOND_HAND": { + "category": "WSO Clock", + "control_type": "analog_gauge", + "description": "Stopwatch Second Hand", + "identifier": "WSO_CLOCK_STOPWATCH_SECOND_HAND", + "inputs": [ ], + "outputs": [ { + "address": 10858, + "address_identifier": "F_4E_WSO_CLOCK_STOPWATCH_SECOND_HAND_A", + "address_mask_shift_identifier": "F_4E_WSO_CLOCK_STOPWATCH_SECOND_HAND", + "description": "gauge position", + "mask": 65535, + "max_value": 65535, + "shift_by": 0, + "suffix": "", + "type": "integer" + } ] + } + }, "WSO Cockpit": { "WSO_COCKPIT_HELMET": { "category": "WSO Cockpit", @@ -3875,7 +4191,7 @@ "suggested_step": 3200 } ], "outputs": [ { - "address": 10864, + "address": 10886, "address_identifier": "F_4E_WSO_IFF_CHALLENGE_DIM_A", "address_mask_shift_identifier": "F_4E_WSO_IFF_CHALLENGE_DIM", "description": "position of the potentiometer", @@ -3893,13 +4209,13 @@ "identifier": "WSO_IFF_CHALLENGE_LIGHT", "inputs": [ ], "outputs": [ { - "address": 10866, + "address": 10876, "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": 1, + "mask": 4096, "max_value": 1, - "shift_by": 0, + "shift_by": 12, "suffix": "", "type": "integer" } ] @@ -3923,13 +4239,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 32768, + "mask": 2048, "max_value": 1, - "shift_by": 15, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -3941,7 +4257,7 @@ "identifier": "WSO_IFF_CODE", "inputs": [ ], "outputs": [ { - "address": 10856, + "address": 10878, "address_identifier": "F_4E_WSO_IFF_CODE_A", "description": "IFF Code", "max_length": 4, @@ -3956,12 +4272,12 @@ "identifier": "WSO_IFF_CODE_HUNDREDS", "inputs": [ ], "outputs": [ { - "address": 10854, + "address": 10874, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_HUNDREDS", "description": "IFF Code (hundreds)", - "mask": 3840, + "mask": 7680, "max_value": 8, - "shift_by": 8, + "shift_by": 9, "suffix": "", "type": "integer" } ] @@ -3985,7 +4301,7 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10874, "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", @@ -4015,13 +4331,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 512, + "mask": 32, "max_value": 1, - "shift_by": 9, + "shift_by": 5, "suffix": "", "type": "integer" } ] @@ -4045,13 +4361,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 256, + "mask": 16, "max_value": 1, - "shift_by": 8, + "shift_by": 4, "suffix": "", "type": "integer" } ] @@ -4075,7 +4391,7 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10874, "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", @@ -4093,12 +4409,12 @@ "identifier": "WSO_IFF_CODE_ONES", "inputs": [ ], "outputs": [ { - "address": 10854, + "address": 10874, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_ONES", "description": "IFF Code (ones)", - "mask": 15, + "mask": 30, "max_value": 8, - "shift_by": 0, + "shift_by": 1, "suffix": "", "type": "integer" } ] @@ -4110,12 +4426,12 @@ "identifier": "WSO_IFF_CODE_TENS", "inputs": [ ], "outputs": [ { - "address": 10854, + "address": 10874, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_TENS", "description": "IFF Code (tens)", - "mask": 240, + "mask": 480, "max_value": 8, - "shift_by": 4, + "shift_by": 5, "suffix": "", "type": "integer" } ] @@ -4127,12 +4443,12 @@ "identifier": "WSO_IFF_CODE_THOUSANDS", "inputs": [ ], "outputs": [ { - "address": 10854, + "address": 10876, "address_mask_shift_identifier": "F_4E_WSO_IFF_CODE_THOUSANDS", "description": "IFF Code (thousands)", - "mask": 61440, + "mask": 15, "max_value": 8, - "shift_by": 12, + "shift_by": 0, "suffix": "", "type": "integer" } ] @@ -4153,7 +4469,7 @@ "suggested_step": 3200 } ], "outputs": [ { - "address": 10868, + "address": 10888, "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", @@ -4183,13 +4499,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10866, + "address": 10884, "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": 16, + "mask": 256, "max_value": 1, - "shift_by": 4, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -4201,13 +4517,13 @@ "identifier": "WSO_IFF_COMBAT_TREE_CHALLENGE_TEST_LIGHT", "inputs": [ ], "outputs": [ { - "address": 10866, + "address": 10884, "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": 32, + "mask": 512, "max_value": 1, - "shift_by": 5, + "shift_by": 9, "suffix": "", "type": "integer" } ] @@ -4226,12 +4542,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10866, + "address": 10884, "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_MODE_2", "description": "selector position", - "mask": 384, + "mask": 6144, "max_value": 2, - "shift_by": 7, + "shift_by": 11, "suffix": "", "type": "integer" } ] @@ -4250,12 +4566,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10866, + "address": 10884, "address_mask_shift_identifier": "F_4E_WSO_IFF_COMBAT_TREE_MODE_3", "description": "selector position", - "mask": 1536, + "mask": 24576, "max_value": 2, - "shift_by": 9, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -4279,13 +4595,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10866, + "address": 10884, "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": 64, + "mask": 1024, "max_value": 1, - "shift_by": 6, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -4297,7 +4613,7 @@ "identifier": "WSO_IFF_MODE", "inputs": [ ], "outputs": [ { - "address": 10860, + "address": 10882, "address_identifier": "F_4E_WSO_IFF_MODE_A", "description": "IFF Mode", "max_length": 3, @@ -4324,13 +4640,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "address_mask_identifier": "F_4E_WSO_IFF_MODE_DEC_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_DEC", "description": "selector position", - "mask": 1024, + "mask": 64, "max_value": 1, - "shift_by": 10, + "shift_by": 6, "suffix": "", "type": "integer" } ] @@ -4354,13 +4670,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 4096, + "mask": 256, "max_value": 1, - "shift_by": 12, + "shift_by": 8, "suffix": "", "type": "integer" } ] @@ -4384,13 +4700,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 16384, + "mask": 1024, "max_value": 1, - "shift_by": 14, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -4414,13 +4730,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 8192, + "mask": 512, "max_value": 1, - "shift_by": 13, + "shift_by": 9, "suffix": "", "type": "integer" } ] @@ -4444,13 +4760,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10862, + "address": 10876, "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": 2048, + "mask": 128, "max_value": 1, - "shift_by": 11, + "shift_by": 7, "suffix": "", "type": "integer" } ] @@ -4474,7 +4790,7 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10874, "address_mask_identifier": "F_4E_WSO_IFF_MODE_INC_AM", "address_mask_shift_identifier": "F_4E_WSO_IFF_MODE_INC", "description": "selector position", @@ -4496,12 +4812,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10866, + "address": 10876, "address_mask_shift_identifier": "F_4E_WSO_IFF_TEST_CHALLENGE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 6, + "mask": 24576, "max_value": 2, - "shift_by": 1, + "shift_by": 13, "suffix": "", "type": "integer" } ] @@ -4750,7 +5066,7 @@ "identifier": "WSO_O2_FLOW", "inputs": [ ], "outputs": [ { - "address": 10850, + "address": 10870, "address_identifier": "F_4E_WSO_O2_FLOW_A", "address_mask_shift_identifier": "F_4E_WSO_O2_FLOW", "description": "gauge position", @@ -4779,13 +5095,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "address_mask_identifier": "F_4E_WSO_O2_MIXTURE_AM", "address_mask_shift_identifier": "F_4E_WSO_O2_MIXTURE", "description": "selector position", - "mask": 1, + "mask": 16, "max_value": 1, - "shift_by": 0, + "shift_by": 4, "suffix": "", "type": "integer" } ] @@ -4801,12 +5117,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10838, + "address": 10860, "address_mask_shift_identifier": "F_4E_WSO_O2_MODE", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 49152, + "mask": 12, "max_value": 2, - "shift_by": 14, + "shift_by": 2, "suffix": "", "type": "integer" } ] @@ -4818,7 +5134,7 @@ "identifier": "WSO_O2_PRESSURE", "inputs": [ ], "outputs": [ { - "address": 10852, + "address": 10872, "address_identifier": "F_4E_WSO_O2_PRESSURE_A", "address_mask_shift_identifier": "F_4E_WSO_O2_PRESSURE", "description": "gauge position", @@ -4847,13 +5163,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10848, + "address": 10860, "address_mask_identifier": "F_4E_WSO_O2_SUPPLY_AM", "address_mask_shift_identifier": "F_4E_WSO_O2_SUPPLY", "description": "selector position", - "mask": 2, + "mask": 32, "max_value": 1, - "shift_by": 1, + "shift_by": 5, "suffix": "", "type": "integer" } ] @@ -4879,13 +5195,13 @@ "interface": "action" } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_identifier": "F_4E_WSO_AFCS_EMERGENCY_RELEASE_AM", "address_mask_shift_identifier": "F_4E_WSO_AFCS_EMERGENCY_RELEASE", "description": "selector position", - "mask": 64, + "mask": 1024, "max_value": 1, - "shift_by": 6, + "shift_by": 10, "suffix": "", "type": "integer" } ] @@ -4903,12 +5219,12 @@ "max_value": 2 } ], "outputs": [ { - "address": 10870, + "address": 10890, "address_mask_shift_identifier": "F_4E_WSO_THROTTLE_MIC", "description": "switch position -- 0 = Down, 1 = Mid, 2 = Up", - "mask": 3072, + "mask": 49152, "max_value": 2, - "shift_by": 10, + "shift_by": 14, "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 972b77011..95efdd27a 100644 --- a/Scripts/DCS-BIOS/lib/modules/aircraft_modules/F-4E.lua +++ b/Scripts/DCS-BIOS/lib/modules/aircraft_modules/F-4E.lua @@ -29,6 +29,15 @@ function F_4E:define3PosTumb0To1(identifier, device_id, command, arg_number, cat self:defineMultipositionSwitch(identifier, device_id, command, arg_number, 3, 0.5, category, description) end +--- Defines a 0-65535 output from a 0-1 input +--- @param identifier string the unique identifier for the control +--- @param arg_number integer the dcs argument number +--- @param category string the category in which the control should appear +--- @param description string additional information about the control +function F_4E:defineFloatFromArg(identifier, arg_number, category, description) + self:defineFloat(identifier, arg_number, { 0, 1 }, category, description) +end + -- ICS local ICS_DEVICE_ID = 2 @@ -314,12 +323,33 @@ F_4E:defineToggleSwitch("PLT_AFCS_STAB_AUG_PITCH", AFCS_DEVICE_ID, 3014, 1508, P F_4E:defineToggleSwitch("PLT_AFCS_AUTOPILOT", AFCS_DEVICE_ID, 3016, 1509, PILOT_AFCS_PANEL, "AFCS Autopilot") F_4E:defineToggleSwitch("PLT_AFCS_ALT_HOLD", AFCS_DEVICE_ID, 3018, 1510, PILOT_AFCS_PANEL, "Altitude Hold") --- Magnetic Compass -local MAGNETIC_COMPASS_DEVICE_ID = 10 - -- Clock local CLOCK_DEVICE_ID = 11 +-- Pilot Clock +local PILOT_CLOCK = "PLT Clock" + +F_4E:definePushButton("PLT_CLOCK_STOPWATCH", CLOCK_DEVICE_ID, 3003, 808, PILOT_CLOCK, "Start/Stop/Reset Stopwatch") +F_4E:definePushButton("PLT_CLOCK_SET_TIME_PULL", CLOCK_DEVICE_ID, 3001, 812, PILOT_CLOCK, "Set Time (pull)") +F_4E:defineRotary("PLT_CLOCK_SET_TIME_ROTATE", CLOCK_DEVICE_ID, 3002, 809, PILOT_CLOCK, "Set Time (rotate)") + +F_4E:defineFloatFromArg("PLT_CLOCK_HOUR_HAND", 800, PILOT_CLOCK, "Clock Hour Hand") +F_4E:defineFloatFromArg("PLT_CLOCK_MINUTE_HAND", 801, PILOT_CLOCK, "Clock Minute Hand") +F_4E:defineFloatFromArg("PLT_CLOCK_STOPWATCH_MINUTE_HAND", 803, PILOT_CLOCK, "Stopwatch Minute Hand") +F_4E:defineFloatFromArg("PLT_CLOCK_STOPWATCH_SECOND_HAND", 802, PILOT_CLOCK, "Stopwatch Second Hand") + +-- WSO Clock +local WSO_CLOCK = "WSO Clock" + +F_4E:definePushButton("WSO_CLOCK_STOPWATCH", CLOCK_DEVICE_ID, 3006, 810, WSO_CLOCK, "Start/Stop/Reset Stopwatch") +F_4E:definePushButton("WSO_CLOCK_SET_TIME_PULL", CLOCK_DEVICE_ID, 3004, 813, WSO_CLOCK, "Set Time (pull)") +F_4E:defineRotary("WSO_CLOCK_SET_TIME_ROTATE", CLOCK_DEVICE_ID, 3005, 811, WSO_CLOCK, "Set Time (rotate)") + +F_4E:defineFloatFromArg("WSO_CLOCK_HOUR_HAND", 804, WSO_CLOCK, "Clock Hour Hand") +F_4E:defineFloatFromArg("WSO_CLOCK_MINUTE_HAND", 805, WSO_CLOCK, "Clock Minute Hand") +F_4E:defineFloatFromArg("WSO_CLOCK_STOPWATCH_MINUTE_HAND", 807, WSO_CLOCK, "Stopwatch Minute Hand") +F_4E:defineFloatFromArg("WSO_CLOCK_STOPWATCH_SECOND_HAND", 806, WSO_CLOCK, "Stopwatch Second Hand") + -- Radar Altimeter local RADAR_ALTIMETER_DEVICE_ID = 12