diff --git a/172SP/actions.yaml b/172SP/actions.yaml new file mode 100644 index 0000000..46aa04e --- /dev/null +++ b/172SP/actions.yaml @@ -0,0 +1,846 @@ +actions: + - index: 3 + name: frame rate + type: single + dataref-multiplier: 1 + dataref: FlyWithLua/streamdeck_handler/frame_rate # value = 0-100 Calculated in streamdeck_handelers.lua + display: + name: Framerate + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 28 + zero-pad: 3 + min: 0 + max: 100 + step: 1 + color: red + keep-decimal: False + background: none + special-labels: + - label: FRAME + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: RATE + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + command-release: sim/operation/toggle_data_output_cockpit # off/on + +########################################## TRIMS Start + + - index: 11 + name: trim_pitch_dn + type: single + icon: none + special-labels: + - label: ELEVATOR + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: DOWN + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + command: FlyWithLua/streamdeck_handler/172_trim_pitch_down_start + command-release: FlyWithLua/streamdeck_handler/172_trim_pitch_down_end + - index: 19 + name: trim_pitch_takeoff + type: single + dataref-multiplier: 1000 + dataref: sim/cockpit2/controls/elevator_trim # value = 0.0700 for takeoff trim + display: + name: Elevator Trim + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 28 + zero-pad: 3 + min: -1000 + max: 1000 + step: 1 + color: magenta + keep-decimal: False + background: none + special-labels: + - label: PITCH + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: TRIM + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + command: FlyWithLua/streamdeck_handler/172_trim_pitch_takeoff_start + command-release: FlyWithLua/streamdeck_handler/172_trim_pitch_takeoff_end + - index: 27 + name: trim_pitch_up + type: single + icon: none + command: FlyWithLua/streamdeck_handler/172_trim_pitch_up_start + command-release: FlyWithLua/streamdeck_handler/172_trim_pitch_up_end + special-labels: + - label: ELEVATOR + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: UP + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - index: 16 + name: trim_a_left + type: single + icon: left + command: FlyWithLua/streamdeck_handler/172_trim_ail_left_start + command-release: FlyWithLua/streamdeck_handler/172_trim_ail_left_end + special-labels: + - label: AILERON + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: LEFT + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - index: 17 + name: trim_a_center + type: single + dataref-multiplier: 1000 + dataref: sim/cockpit2/controls/aileron_trim + display: + name: Aileron Trim + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 28 + zero-pad: 3 + min: -1000 + max: 1000 + step: 1 + color: magenta + keep-decimal: False + background: none + special-labels: + - label: AILERON + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: TRIM + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + command: FlyWithLua/streamdeck_handler/172_trim_ail_center_start + command-release: FlyWithLua/streamdeck_handler/172_trim_ail_center_end + - index: 18 + name: trim_a_right + type: single + icon: right + command: FlyWithLua/streamdeck_handler/172_trim_ail_right_start + command-release: FlyWithLua/streamdeck_handler/172_trim_ail_right_end + special-labels: + - label: AILERON + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: RIGHT + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - index: 24 + name: trim_r_left + type: single + icon: left + command: FlyWithLua/streamdeck_handler/172_trim_rud_left_start + command-release: FlyWithLua/streamdeck_handler/172_trim_rud_left_end + special-labels: + - label: RUDDER + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: LEFT + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - index: 25 + name: trim_r_center + type: single + dataref-multiplier: 1000 + dataref: sim/cockpit2/controls/rudder_trim + display: + name: Rudder Trim + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 28 + zero-pad: 3 + min: -1000 + max: 1000 + step: 1 + color: magenta + keep-decimal: False + background: none + special-labels: + - label: RUDDER + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: TRIM + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + command: FlyWithLua/streamdeck_handler/172_trim_rud_center_start + command-release: FlyWithLua/streamdeck_handler/172_trim_rud_center_end + - index: 26 + name: trim_r_right + type: single + icon: right + command: FlyWithLua/streamdeck_handler/172_trim_rud_right_start + command-release: FlyWithLua/streamdeck_handler/172_trim_rud_right_end + special-labels: + - label: RUDDER + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: RIGHT + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + +############################################################ TRIMS End + +############################################################ G5 Keys + + - index: 5 + name: G5 AI CCW + type: single + icon: left + command: FlyWithLua/streamdeck_handler/172_ai_KnobL_start + command-release: FlyWithLua/streamdeck_handler/172_ai_KnobL_end + special-labels: + - label: AI + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: CCW + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - index: 6 + name: G5 AI knob push + type: single + dataref-multiplier: 100 + dataref: sim/cockpit2/gauges/actuators/barometer_setting_in_hg_stby + display: + name: G5 AI Display + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + zero-pad: 4 + min: 0 + max: 3500 + step: 1 + color: blue + keep-decimal: False + background: none + special-labels: + - label: BARO + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + command: FlyWithLua/streamdeck_handler/172_ai_KnobPush_start + command-release: FlyWithLua/streamdeck_handler/172_ai_KnobPush_end + - index: 7 + name: G5 AI CW + type: single + icon: right + command: FlyWithLua/streamdeck_handler/172_ai_KnobR_start + command-release: FlyWithLua/streamdeck_handler/172_ai_KnobR_end + special-labels: + - label: AI + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: CCW + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - index: 13 + name: G5 HSI CCW + type: single + icon: left + command: FlyWithLua/streamdeck_handler/172_hsi_KnobL_start + command-release: FlyWithLua/streamdeck_handler/172_hsi_KnobL_end + special-labels: + - label: HSI + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: CCW + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - index: 14 + name: G5 HSI knob push + type: single + # sim/cockpit/autopilot/heading_mag BLUE heading displayed on G5 + dataref: sim/cockpit2/autopilot/heading_dial_deg_mag_pilot + display: + name: G5 HSI Display + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 28 + zero-pad: 3 + min: 0 + max: 360 + step: 1 + color: blue + keep-decimal: False + background: none + command: FlyWithLua/streamdeck_handler/172_hsi_KnobPush_start + command-release: FlyWithLua/streamdeck_handler/172_hsi_KnobPush_end + special-labels: + - label: HSI + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: HDG + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - index: 15 + name: G5 HSI CW + type: single + icon: right + command: FlyWithLua/streamdeck_handler/172_hsi_KnobR_start + command-release: FlyWithLua/streamdeck_handler/172_hsi_KnobR_end + special-labels: + - label: HSI + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: CW + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + +# setup ALT here +# lua buttons are set +# need three icons too + - index: 21 + name: ALT CCW + type: single + icon: left + command-release: sim/instruments/barometer_down + special-labels: + - label: ALTIMETER + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: CCW + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - index: 22 + name: ALT push + type: single + dataref-multiplier: 100 + dataref: sim/cockpit/misc/barometer_setting + display: + name: ALT Baro + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 28 + zero-pad: 4 + min: 2800 + max: 3100 + step: 1 + color: blue + keep-decimal: False + background: none + special-labels: + - label: ALTIMETER + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: BARO + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + command: FlyWithLua/streamdeck_handler/172_alt_barometer_push_start + command-release: FlyWithLua/streamdeck_handler/172_alt_barometer_push_end + - index: 23 + name: ALT CW + type: single + icon: right + command-release: sim/instruments/barometer_up + special-labels: + - label: ALTIMETER + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: CW + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + +############################################################ G5 Keys End + +############################################################ CDI's + - index: 0 + name: NAV1 OBS CCW + type: single + icon: none + command: FlyWithLua/streamdeck_handler/172_nav1_cdi_up_start + command-release: FlyWithLua/streamdeck_handler/172_nav1_cdi_up_end + special-labels: + - label: NAV1 + text-center: + x: center + y: 30 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center + - label: OBS + text-center: + x: center + y: 55 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center + - label: CCW + text-center: + x: center + y: 80 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center + - index: 1 + name: NAV1 OBS Display + type: none + dataref: sim/cockpit/radios/nav1_obs_degm + display: + name: NAV1 OBS + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 28 + zero-pad: 3 + min: 0 + max: 360 + step: 1 + color: green + keep-decimal: False + background: none + special-labels: + - label: NAV1 + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: OBS + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - index: 2 + name: NAN1 OBS CW + type: single + icon: none + command: FlyWithLua/streamdeck_handler/172_nav1_cdi_down_start + command-release: FlyWithLua/streamdeck_handler/172_nav1_cdi_down_end + special-labels: + - label: NAV1 + text-center: + x: center + y: 30 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center + - label: OBS + text-center: + x: center + y: 55 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center + - label: CW + text-center: + x: center + y: 80 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center + - index: 8 + name: NAV2 OBS CCW + type: single + icon: none + command: FlyWithLua/streamdeck_handler/172_nav2_cdi_up_start + command-release: FlyWithLua/streamdeck_handler/172_nav2_cdi_up_end + special-labels: + - label: NAV2 + text-center: + x: center + y: 30 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center + - label: OBS + text-center: + x: center + y: 55 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center + - label: CCW + text-center: + x: center + y: 80 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center + - index: 9 + name: NAV2 OBS Display + type: none + dataref: sim/cockpit/radios/nav2_obs_degm + display: + name: NAV2 OBS + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 28 + zero-pad: 3 + min: 0 + max: 360 + step: 1 + color: green + keep-decimal: False + background: none + special-labels: + - label: NAV2 + text-center: + x: center + y: 20 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - label: OBS + text-center: + x: center + y: 90 + font-path: IBMPlexMono-Bold.ttf + font-size: 16 + color: white + direction: ltr + align: center + - index: 10 + name: NAN2 OBS CW + type: single + icon: none + command: FlyWithLua/streamdeck_handler/172_nav2_cdi_down_start + command-release: FlyWithLua/streamdeck_handler/172_nav2_cdi_down_end + special-labels: + - label: NAV2 + text-center: + x: center + y: 30 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center + - label: OBS + text-center: + x: center + y: 55 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center + - label: CW + text-center: + x: center + y: 80 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center + +############################################################ Flaps Keys Start + - index: 31 + name: move flaps up + type: single + icon: white-up + label: FLAPS + command: sim/flight_controls/flaps_up # 10 deg per push + + - index: 30 # Flap Gauge + name: flap_gauge + type: none # Just an indicator + dataref: sim/cockpit2/controls/flap_handle_deploy_ratio # 0=up .33=10 .66=20 1=30 + dataref-multiplier: 100 + gauge: + name: Flaps + needle-center: + x: 64 + y: 64 + background: flaps.flapsbckg + needle: flapsneedle + range-degrees: 240 + min: 0.0 + max: 100 + step: 1 + - index: 29 + name: move flaps down + type: single + icon: white-down + label: FLAPS + command: sim/flight_controls/flaps_down + +############################################################ G5 Keys Flaps Keys END + + - index: 20 + name: audio + type: dir + icon: dir + label: AUDIO PANEL + - index: 28 + name: transponder + type: dir + icon: dir + label: TRANSPONDER + - index: 4 + name: PARKBRAKE + type: single + icon: PARK.BRAKE + dataref: sim/flightmodel/controls/parkbrake + command-release: sim/flight_controls/brakes_toggle_max + \ No newline at end of file diff --git a/172SP/audio.yaml b/172SP/audio.yaml new file mode 100644 index 0000000..f098767 --- /dev/null +++ b/172SP/audio.yaml @@ -0,0 +1,101 @@ +actions: + - index: 24 + name: return + type: dir + icon: dir + label: MAIN DECK + - index: 0 + name: MKRMUTE + type: single + icon: ap.mkr_mute + dataref: sim/cockpit2/radios/actuators/audio_marker_enabled + command-release: sim/annunciator/marker_beacon_mute_or_off + - index: 1 + name: com1 + type: single + icon: ap.com1 + dataref: sim/cockpit2/radios/actuators/audio_selection_com1 + command-release: sim/audio_panel/monitor_audio_com1 + - index: 2 + name: com2 + type: single + icon: ap.com2 + dataref: sim/cockpit2/radios/actuators/audio_selection_com2 + command-release: sim/audio_panel/monitor_audio_com2 + - index: 3 + name: dme + type: single + icon: ap.dme + dataref: sim/cockpit2/radios/actuators/audio_dme_enabled + command-release: sim/audio_panel/monitor_audio_dme + - index: 4 + name: nav1 + type: single + icon: ap.nav1 + dataref: sim/cockpit2/radios/actuators/audio_selection_nav1 + command-release: sim/audio_panel/monitor_audio_nav1 + - index: 5 + name: nav2 + type: single + icon: ap.nav2 + dataref: sim/cockpit2/radios/actuators/audio_selection_nav2 + command-release: sim/audio_panel/monitor_audio_nav2 + - index: 6 + name: adf1 + type: single + icon: ap.adf1 + dataref: sim/cockpit2/radios/actuators/audio_selection_adf1 + command-release: sim/audio_panel/monitor_audio_adf1 + - index: 7 + name: adf2 + type: single + icon: ap.adf2 + dataref: sim/cockpit2/radios/actuators/audio_selection_adf2 + command-release: sim/audio_panel/monitor_audio_adf2 + - index: 8 + name: sens + type: single + icon: ap.sens + dataref: sim/cockpit2/radios/actuators/marker_sens + command-release: sim/annunciator/marker_beacon_sens_toggle + + ######################################################################################### + + - index: 9 + name: com1mic + type: single + icon: ap.com1mic + dataref-states: + - 6.0 + - 7.0 + dataref: sim/cockpit2/radios/actuators/audio_com_selection # 6= com1mic 7=com2mic 6 + command-release: sim/audio_panel/transmit_audio_com1 + - index: 10 + name: com2mic + type: single + icon: ap.com2mic + dataref-states: + - 6.0 + - 7.0 + dataref: sim/cockpit2/radios/actuators/audio_com_selection # 6= com1mic 7=com2mic + command-release: sim/audio_panel/transmit_audio_com2 + +########################################################################################### + - + - index: 16 + name: mb_outer + type: none + icon: ap.omb + dataref: sim/cockpit/misc/over_outer_marker + - index: 17 + name: mb_middle + type: none + icon: ap.mmb + dataref: sim/cockpit/misc/over_middle_marker + - index: 18 + name: mb_inner + type: none + icon: ap.imb + dataref: sim/cockpit/misc/over_inner_marker + + diff --git a/172SP/icons/PARK.BRAKE.0.0.png b/172SP/icons/PARK.BRAKE.0.0.png new file mode 100644 index 0000000..e7d040e Binary files /dev/null and b/172SP/icons/PARK.BRAKE.0.0.png differ diff --git a/172SP/icons/PARK.BRAKE.1.0.png b/172SP/icons/PARK.BRAKE.1.0.png new file mode 100644 index 0000000..74d78b6 Binary files /dev/null and b/172SP/icons/PARK.BRAKE.1.0.png differ diff --git a/172SP/icons/ap.adf1.0.0.png b/172SP/icons/ap.adf1.0.0.png new file mode 100644 index 0000000..0287d97 Binary files /dev/null and b/172SP/icons/ap.adf1.0.0.png differ diff --git a/172SP/icons/ap.adf1.1.0.png b/172SP/icons/ap.adf1.1.0.png new file mode 100644 index 0000000..4ed4caf Binary files /dev/null and b/172SP/icons/ap.adf1.1.0.png differ diff --git a/172SP/icons/ap.adf2.0.0.png b/172SP/icons/ap.adf2.0.0.png new file mode 100644 index 0000000..f116b1f Binary files /dev/null and b/172SP/icons/ap.adf2.0.0.png differ diff --git a/172SP/icons/ap.adf2.1.0.png b/172SP/icons/ap.adf2.1.0.png new file mode 100644 index 0000000..f0bb3c0 Binary files /dev/null and b/172SP/icons/ap.adf2.1.0.png differ diff --git a/172SP/icons/ap.com1.0.0.png b/172SP/icons/ap.com1.0.0.png new file mode 100644 index 0000000..49951bf Binary files /dev/null and b/172SP/icons/ap.com1.0.0.png differ diff --git a/172SP/icons/ap.com1.1.0.png b/172SP/icons/ap.com1.1.0.png new file mode 100644 index 0000000..c5e2039 Binary files /dev/null and b/172SP/icons/ap.com1.1.0.png differ diff --git a/172SP/icons/ap.com1mic.6.0.png b/172SP/icons/ap.com1mic.6.0.png new file mode 100644 index 0000000..c532415 Binary files /dev/null and b/172SP/icons/ap.com1mic.6.0.png differ diff --git a/172SP/icons/ap.com1mic.7.0.png b/172SP/icons/ap.com1mic.7.0.png new file mode 100644 index 0000000..d45907e Binary files /dev/null and b/172SP/icons/ap.com1mic.7.0.png differ diff --git a/172SP/icons/ap.com2.0.0.png b/172SP/icons/ap.com2.0.0.png new file mode 100644 index 0000000..32d9592 Binary files /dev/null and b/172SP/icons/ap.com2.0.0.png differ diff --git a/172SP/icons/ap.com2.1.0.png b/172SP/icons/ap.com2.1.0.png new file mode 100644 index 0000000..5b83e30 Binary files /dev/null and b/172SP/icons/ap.com2.1.0.png differ diff --git a/172SP/icons/ap.com2mic.6.0.png b/172SP/icons/ap.com2mic.6.0.png new file mode 100644 index 0000000..9114236 Binary files /dev/null and b/172SP/icons/ap.com2mic.6.0.png differ diff --git a/172SP/icons/ap.com2mic.7.0.png b/172SP/icons/ap.com2mic.7.0.png new file mode 100644 index 0000000..ac89e59 Binary files /dev/null and b/172SP/icons/ap.com2mic.7.0.png differ diff --git a/172SP/icons/ap.dme.0.0.png b/172SP/icons/ap.dme.0.0.png new file mode 100644 index 0000000..e9a6228 Binary files /dev/null and b/172SP/icons/ap.dme.0.0.png differ diff --git a/172SP/icons/ap.dme.1.0.png b/172SP/icons/ap.dme.1.0.png new file mode 100644 index 0000000..18e210c Binary files /dev/null and b/172SP/icons/ap.dme.1.0.png differ diff --git a/172SP/icons/ap.imb.0.0.png b/172SP/icons/ap.imb.0.0.png new file mode 100644 index 0000000..18a7296 Binary files /dev/null and b/172SP/icons/ap.imb.0.0.png differ diff --git a/172SP/icons/ap.imb.1.0.png b/172SP/icons/ap.imb.1.0.png new file mode 100644 index 0000000..c09b89c Binary files /dev/null and b/172SP/icons/ap.imb.1.0.png differ diff --git a/172SP/icons/ap.mkr_mute.0.0.png b/172SP/icons/ap.mkr_mute.0.0.png new file mode 100644 index 0000000..3effc6a Binary files /dev/null and b/172SP/icons/ap.mkr_mute.0.0.png differ diff --git a/172SP/icons/ap.mkr_mute.1.0.png b/172SP/icons/ap.mkr_mute.1.0.png new file mode 100644 index 0000000..16483e3 Binary files /dev/null and b/172SP/icons/ap.mkr_mute.1.0.png differ diff --git a/172SP/icons/ap.mmb.0.0.png b/172SP/icons/ap.mmb.0.0.png new file mode 100644 index 0000000..8b74119 Binary files /dev/null and b/172SP/icons/ap.mmb.0.0.png differ diff --git a/172SP/icons/ap.mmb.1.0.png b/172SP/icons/ap.mmb.1.0.png new file mode 100644 index 0000000..ccba8fa Binary files /dev/null and b/172SP/icons/ap.mmb.1.0.png differ diff --git a/172SP/icons/ap.nav1.0.0.png b/172SP/icons/ap.nav1.0.0.png new file mode 100644 index 0000000..f2ae81d Binary files /dev/null and b/172SP/icons/ap.nav1.0.0.png differ diff --git a/172SP/icons/ap.nav1.1.0.png b/172SP/icons/ap.nav1.1.0.png new file mode 100644 index 0000000..96c36a6 Binary files /dev/null and b/172SP/icons/ap.nav1.1.0.png differ diff --git a/172SP/icons/ap.nav2.0.0.png b/172SP/icons/ap.nav2.0.0.png new file mode 100644 index 0000000..73a752b Binary files /dev/null and b/172SP/icons/ap.nav2.0.0.png differ diff --git a/172SP/icons/ap.nav2.1.0.png b/172SP/icons/ap.nav2.1.0.png new file mode 100644 index 0000000..3830342 Binary files /dev/null and b/172SP/icons/ap.nav2.1.0.png differ diff --git a/172SP/icons/ap.omb.0.0.png b/172SP/icons/ap.omb.0.0.png new file mode 100644 index 0000000..f429471 Binary files /dev/null and b/172SP/icons/ap.omb.0.0.png differ diff --git a/172SP/icons/ap.omb.1.0.png b/172SP/icons/ap.omb.1.0.png new file mode 100644 index 0000000..ab70148 Binary files /dev/null and b/172SP/icons/ap.omb.1.0.png differ diff --git a/172SP/icons/ap.sens.0.0.png b/172SP/icons/ap.sens.0.0.png new file mode 100644 index 0000000..7840303 Binary files /dev/null and b/172SP/icons/ap.sens.0.0.png differ diff --git a/172SP/icons/ap.sens.1.0.png b/172SP/icons/ap.sens.1.0.png new file mode 100644 index 0000000..247c7cf Binary files /dev/null and b/172SP/icons/ap.sens.1.0.png differ diff --git a/172SP/icons/flaps.flapsbckg.png b/172SP/icons/flaps.flapsbckg.png new file mode 100644 index 0000000..ad9f3e3 Binary files /dev/null and b/172SP/icons/flaps.flapsbckg.png differ diff --git a/icons/flapsneedle.png b/172SP/icons/flapsneedle.png similarity index 100% rename from icons/flapsneedle.png rename to 172SP/icons/flapsneedle.png diff --git a/172SP/icons/tp.0.png b/172SP/icons/tp.0.png new file mode 100644 index 0000000..15dcc44 Binary files /dev/null and b/172SP/icons/tp.0.png differ diff --git a/172SP/icons/tp.1.png b/172SP/icons/tp.1.png new file mode 100644 index 0000000..658e4d9 Binary files /dev/null and b/172SP/icons/tp.1.png differ diff --git a/172SP/icons/tp.2.png b/172SP/icons/tp.2.png new file mode 100644 index 0000000..71cd879 Binary files /dev/null and b/172SP/icons/tp.2.png differ diff --git a/172SP/icons/tp.3.png b/172SP/icons/tp.3.png new file mode 100644 index 0000000..1bc5b2f Binary files /dev/null and b/172SP/icons/tp.3.png differ diff --git a/172SP/icons/tp.4.png b/172SP/icons/tp.4.png new file mode 100644 index 0000000..289a05f Binary files /dev/null and b/172SP/icons/tp.4.png differ diff --git a/172SP/icons/tp.5.png b/172SP/icons/tp.5.png new file mode 100644 index 0000000..1d604b3 Binary files /dev/null and b/172SP/icons/tp.5.png differ diff --git a/172SP/icons/tp.6.png b/172SP/icons/tp.6.png new file mode 100644 index 0000000..41ffd3e Binary files /dev/null and b/172SP/icons/tp.6.png differ diff --git a/172SP/icons/tp.7.png b/172SP/icons/tp.7.png new file mode 100644 index 0000000..8de2678 Binary files /dev/null and b/172SP/icons/tp.7.png differ diff --git a/172SP/icons/tp.alt.png b/172SP/icons/tp.alt.png new file mode 100644 index 0000000..d3eeb21 Binary files /dev/null and b/172SP/icons/tp.alt.png differ diff --git a/172SP/icons/tp.clear.png b/172SP/icons/tp.clear.png new file mode 100644 index 0000000..37188e7 Binary files /dev/null and b/172SP/icons/tp.clear.png differ diff --git a/172SP/icons/tp.i.0.png b/172SP/icons/tp.i.0.png new file mode 100644 index 0000000..61bc210 Binary files /dev/null and b/172SP/icons/tp.i.0.png differ diff --git a/172SP/icons/tp.i.1.png b/172SP/icons/tp.i.1.png new file mode 100644 index 0000000..ac36610 Binary files /dev/null and b/172SP/icons/tp.i.1.png differ diff --git a/172SP/icons/tp.i.2.png b/172SP/icons/tp.i.2.png new file mode 100644 index 0000000..88c721f Binary files /dev/null and b/172SP/icons/tp.i.2.png differ diff --git a/172SP/icons/tp.i.alt.png b/172SP/icons/tp.i.alt.png new file mode 100644 index 0000000..e3d8745 Binary files /dev/null and b/172SP/icons/tp.i.alt.png differ diff --git a/172SP/icons/tp.i.ident alt.png b/172SP/icons/tp.i.ident alt.png new file mode 100644 index 0000000..dfc6fee Binary files /dev/null and b/172SP/icons/tp.i.ident alt.png differ diff --git a/172SP/icons/tp.i.ident stby.png b/172SP/icons/tp.i.ident stby.png new file mode 100644 index 0000000..a871cf4 Binary files /dev/null and b/172SP/icons/tp.i.ident stby.png differ diff --git a/172SP/icons/tp.i.ident.png b/172SP/icons/tp.i.ident.png new file mode 100644 index 0000000..e0c3f96 Binary files /dev/null and b/172SP/icons/tp.i.ident.png differ diff --git a/172SP/icons/tp.i.off.png b/172SP/icons/tp.i.off.png new file mode 100644 index 0000000..ae0e6c3 Binary files /dev/null and b/172SP/icons/tp.i.off.png differ diff --git a/172SP/icons/tp.i.on.png b/172SP/icons/tp.i.on.png new file mode 100644 index 0000000..dfe1b9f Binary files /dev/null and b/172SP/icons/tp.i.on.png differ diff --git a/172SP/icons/tp.i.radar.png b/172SP/icons/tp.i.radar.png new file mode 100644 index 0000000..74f5728 Binary files /dev/null and b/172SP/icons/tp.i.radar.png differ diff --git a/172SP/icons/tp.i.stby.png b/172SP/icons/tp.i.stby.png new file mode 100644 index 0000000..2c966fb Binary files /dev/null and b/172SP/icons/tp.i.stby.png differ diff --git a/172SP/icons/tp.i.test.png b/172SP/icons/tp.i.test.png new file mode 100644 index 0000000..4f14dec Binary files /dev/null and b/172SP/icons/tp.i.test.png differ diff --git a/172SP/icons/tp.ident.png b/172SP/icons/tp.ident.png new file mode 100644 index 0000000..f03ad68 Binary files /dev/null and b/172SP/icons/tp.ident.png differ diff --git a/172SP/icons/tp.off.png b/172SP/icons/tp.off.png new file mode 100644 index 0000000..b699c9f Binary files /dev/null and b/172SP/icons/tp.off.png differ diff --git a/172SP/icons/tp.on.png b/172SP/icons/tp.on.png new file mode 100644 index 0000000..1d8fbd8 Binary files /dev/null and b/172SP/icons/tp.on.png differ diff --git a/172SP/icons/tp.stby.png b/172SP/icons/tp.stby.png new file mode 100644 index 0000000..e635e1b Binary files /dev/null and b/172SP/icons/tp.stby.png differ diff --git a/172SP/icons/tp.test.png b/172SP/icons/tp.test.png new file mode 100644 index 0000000..d4b7ae3 Binary files /dev/null and b/172SP/icons/tp.test.png differ diff --git a/172SP/transponder.yaml b/172SP/transponder.yaml new file mode 100644 index 0000000..e10d2ed --- /dev/null +++ b/172SP/transponder.yaml @@ -0,0 +1,195 @@ +actions: + - index: 0 + name: ident + type: single + icon: tp.ident + command-release: sim/radios/transponder_ident + - index: 1 + name: stby + type: single + icon: tp.stby + command-release: sim/transponder/transponder_standby + - index: 2 + name: alt + type: single + icon: tp.alt + command-release: sim/transponder/transponder_alt + - index: 3 + name: on + type: single + icon: tp.on + command-release: sim/transponder/transponder_on + - index: 4 + name: off + type: single + icon: tp.off + command-release: sim/transponder/transponder_off + - index: 7 + name: tp_test + type: single + icon: tp.test + command-release: sim/transponder/transponder_test + - index: 8 + name: tpmode + type: none + file-names: + - tp.i.off + - tp.i.stby + - tp.i.on + - tp.i.alt + - tp.i.test + dataref-states: + - 0.0 + - 1.0 + - 2.0 + - 3.0 + - 4.0 + dataref: sim/cockpit/radios/transponder_mode #0=off, 1=stby, 2=on, 3= alt, 4=test + - index: 9 + name: tp_ident + type: none + file-names: + - none + - tp.i.ident + dataref-states: + - 0.0 + - 1.0 + dataref: sim/cockpit/radios/transponder_id + - index: 10 + name: tp_radar + type: none + file-names: + - none + - tp.i.radar + dataref-states: + - 0.0 + - 1.0 + dataref: sim/cockpit/radios/transponder_light + +###################### SQUAWK START + + - index: 11 + name: squawk1000 + type: none + dataref: FlyWithLua/streamdeck_handler/squawk1000 + display: + name: squwak1000 + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 64 + zero-pad: 1 + min: 0 + max: 9 + step: 1 + color: yellow + keep-decimal: False + background: none + - index: 12 + name: squawk100 + type: none + dataref: FlyWithLua/streamdeck_handler/squawk100 + display: + name: squwak100 + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 64 + zero-pad: 1 + min: 0 + max: 9 + step: 1 + color: yellow + keep-decimal: False + background: none + - index: 13 + name: squawk10 + type: none + dataref: FlyWithLua/streamdeck_handler/squawk10 + display: + name: squwak10 + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 64 + zero-pad: 1 + min: 0 + max: 9 + step: 1 + color: yellow + keep-decimal: False + background: none + - index: 14 + name: squawk1 + type: none + dataref: FlyWithLua/streamdeck_handler/squawk1 + display: + name: squwak1 + text-center: + x: center + y: 60 + font-path: IBMPlexMono-Bold.ttf + font-size: 64 + zero-pad: 1 + min: 0 + max: 9 + step: 1 + color: yellow + keep-decimal: False + background: none + +###################### SQUAWK End + + - index: 15 + name: tp.clear + type: single + icon: tp.clear + command-release: sim/transponder/transponder_CLR + - index: 16 + name: tp.0 + type: single + icon: tp.0 + command-release: sim/transponder/transponder_digit_0 + - index: 17 + name: tp.1 + type: single + icon: tp.1 + command-release: sim/transponder/transponder_digit_1 + - index: 18 + name: tp.2 + type: single + icon: tp.2 + command-release: sim/transponder/transponder_digit_2 + - index: 19 + name: tp.3 + type: single + icon: tp.3 + command-release: sim/transponder/transponder_digit_3 + - index: 20 + name: tp.4 + type: single + icon: tp.4 + command-release: sim/transponder/transponder_digit_4 + - index: 21 + name: tp.5 + type: single + icon: tp.5 + command-release: sim/transponder/transponder_digit_5 + - index: 22 + name: tp.6 + type: single + icon: tp.6 + command-release: sim/transponder/transponder_digit_6 + - index: 23 + name: tp.7 + type: single + icon: tp.7 + command-release: sim/transponder/transponder_digit_7 + - index: 24 + name: return + type: dir + icon: dir + label: MAIN DECK \ No newline at end of file diff --git a/B737-800X/efis.yaml b/B737-800X/efis.yaml index 1bc389d..cfd6cf9 100644 --- a/B737-800X/efis.yaml +++ b/B737-800X/efis.yaml @@ -50,19 +50,27 @@ actions: - index: 0 name: mins radio type: single - icon: blue-left - label: RADIO + icon: none command: laminar/B738/EFIS_control/cpt/minimums_up -# special-label: -# label: RADIO -# text-center: -# x: center -# y: 60 # center doesn't work as it should, due to font's height -# font-path: consola.ttf -# font-size: 32 -# background: none -# direction: ltr -# align: center + special-labels: + - label: MINS + text-center: + x: center + y: 30 + font-path: IBMPlexMono-Bold.ttf + font-size: 18 + color: white + direction: ltr + align: center + - label: RADIO + text-center: + x: center + y: 80 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center - index: 1 name: mins type: none @@ -71,9 +79,27 @@ actions: - index: 2 name: mins baro type: single - icon: blue-right - label: BARO + icon: none command: laminar/B738/EFIS_control/cpt/minimums_dn + special-labels: + - label: MINS + text-center: + x: center + y: 30 + font-path: IBMPlexMono-Bold.ttf + font-size: 18 + color: white + direction: ltr + align: center + - label: BARO + text-center: + x: center + y: 80 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center - index: 8 name: mins down type: single @@ -125,16 +151,43 @@ actions: - index: 19 name: ctr map mode type: single - icon: yellow-button - label: CTR + icon: none command: laminar/B738/EFIS_control/capt/push_button/ctr_press + special-labels: + - label: CTR + text-center: + x: center + y: 55 + font-path: IBMPlexMono-Bold.ttf + font-size: 32 + color: white + direction: ltr + align: center # right part of the EFIS - index: 5 name: baro in type: single - icon: blue-left - label: IN + icon: none command: laminar/B738/EFIS_control/capt/baro_in_hpa_dn + special-labels: + - label: BARO + text-center: + x: center + y: 30 + font-path: IBMPlexMono-Bold.ttf + font-size: 18 + color: white + direction: ltr + align: center + - label: IN + text-center: + x: center + y: 80 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center - index: 6 name: baro type: none @@ -143,9 +196,27 @@ actions: - index: 7 name: baro hpa type: single - icon: blue-right - label: HPA + icon: none command: laminar/B738/EFIS_control/capt/baro_in_hpa_up + special-labels: + - label: BARO + text-center: + x: center + y: 30 + font-path: IBMPlexMono-Bold.ttf + font-size: 18 + color: white + direction: ltr + align: center + - label: HPA + text-center: + x: center + y: 80 + font-path: IBMPlexMono-Bold.ttf + font-size: 24 + color: white + direction: ltr + align: center - index: 13 name: baro down type: single @@ -199,9 +270,18 @@ actions: - index: 20 name: tfc map range type: single - icon: yellow-button - label: TFC + icon: none command: laminar/B738/EFIS_control/capt/push_button/tfc_press + special-labels: + - label: TFC + text-center: + x: center + y: 55 + font-path: IBMPlexMono-Bold.ttf + font-size: 32 + color: white + direction: ltr + align: center - index: 11 name: radio sel 1 type: dual @@ -235,18 +315,40 @@ actions: - index: 3 name: fpv type: single - label: FPV - dataref: laminar/B738/PFD/capt/fpv_on - file-names: - - yellow-button - - green-button + icon: none + # label: FPV + # dataref: laminar/B738/PFD/capt/fpv_on +# file-names: +# - yellow-button +# - green-button + special-labels: + - label: FPV + text-center: + x: center + y: 55 + font-path: IBMPlexMono-Bold.ttf + font-size: 32 + color: white + direction: ltr + align: center command: laminar/B738/EFIS_control/capt/push_button/fpv_press - index: 4 name: mtrs type: single - label: MTRS - dataref: laminar/B738/PFD/capt/alt_mode_is_meters - file-names: - - yellow-button - - green-button + icon: none +# label: MTRS +# dataref: laminar/B738/PFD/capt/alt_mode_is_meters +# file-names: +# - yellow-button +# - green-button + special-labels: + - label: MTRS + text-center: + x: center + y: 55 + font-path: IBMPlexMono-Bold.ttf + font-size: 32 + color: white + direction: ltr + align: center command: laminar/B738/EFIS_control/capt/push_button/mtrs_press \ No newline at end of file diff --git a/icons/aftcargo.0.0.png b/B737-800X/icons/aftcargo.0.0.png similarity index 100% rename from icons/aftcargo.0.0.png rename to B737-800X/icons/aftcargo.0.0.png diff --git a/icons/aftcargo.1.0.png b/B737-800X/icons/aftcargo.1.0.png similarity index 100% rename from icons/aftcargo.1.0.png rename to B737-800X/icons/aftcargo.1.0.png diff --git a/icons/aftentry.0.0.png b/B737-800X/icons/aftentry.0.0.png similarity index 100% rename from icons/aftentry.0.0.png rename to B737-800X/icons/aftentry.0.0.png diff --git a/icons/aftentry.1.0.png b/B737-800X/icons/aftentry.1.0.png similarity index 100% rename from icons/aftentry.1.0.png rename to B737-800X/icons/aftentry.1.0.png diff --git a/icons/aftservice.0.0.png b/B737-800X/icons/aftservice.0.0.png similarity index 100% rename from icons/aftservice.0.0.png rename to B737-800X/icons/aftservice.0.0.png diff --git a/icons/aftservice.1.0.png b/B737-800X/icons/aftservice.1.0.png similarity index 100% rename from icons/aftservice.1.0.png rename to B737-800X/icons/aftservice.1.0.png diff --git a/icons/aircond.0.0.png b/B737-800X/icons/aircond.0.0.png similarity index 100% rename from icons/aircond.0.0.png rename to B737-800X/icons/aircond.0.0.png diff --git a/icons/aircond.1.0.png b/B737-800X/icons/aircond.1.0.png similarity index 100% rename from icons/aircond.1.0.png rename to B737-800X/icons/aircond.1.0.png diff --git a/icons/align.0.0.png b/B737-800X/icons/align.0.0.png similarity index 100% rename from icons/align.0.0.png rename to B737-800X/icons/align.0.0.png diff --git a/icons/align.1.0.png b/B737-800X/icons/align.1.0.png similarity index 100% rename from icons/align.1.0.png rename to B737-800X/icons/align.1.0.png diff --git a/icons/alignorange.0.0.png b/B737-800X/icons/alignorange.0.0.png similarity index 100% rename from icons/alignorange.0.0.png rename to B737-800X/icons/alignorange.0.0.png diff --git a/icons/alignorange.1.0.png b/B737-800X/icons/alignorange.1.0.png similarity index 100% rename from icons/alignorange.1.0.png rename to B737-800X/icons/alignorange.1.0.png diff --git a/icons/althld.0.0.png b/B737-800X/icons/althld.0.0.png similarity index 100% rename from icons/althld.0.0.png rename to B737-800X/icons/althld.0.0.png diff --git a/icons/althld.1.0.png b/B737-800X/icons/althld.1.0.png similarity index 100% rename from icons/althld.1.0.png rename to B737-800X/icons/althld.1.0.png diff --git a/icons/altn,0.0.png b/B737-800X/icons/altn,0.0.png similarity index 100% rename from icons/altn,0.0.png rename to B737-800X/icons/altn,0.0.png diff --git a/icons/altn.0.0.png b/B737-800X/icons/altn.0.0.png similarity index 100% rename from icons/altn.0.0.png rename to B737-800X/icons/altn.0.0.png diff --git a/icons/altn.1.0.png b/B737-800X/icons/altn.1.0.png similarity index 100% rename from icons/altn.1.0.png rename to B737-800X/icons/altn.1.0.png diff --git a/icons/antiice.0.0.png b/B737-800X/icons/antiice.0.0.png similarity index 100% rename from icons/antiice.0.0.png rename to B737-800X/icons/antiice.0.0.png diff --git a/icons/antiice.1.0.png b/B737-800X/icons/antiice.1.0.png similarity index 100% rename from icons/antiice.1.0.png rename to B737-800X/icons/antiice.1.0.png diff --git a/icons/antiskidinop.0.0.png b/B737-800X/icons/antiskidinop.0.0.png similarity index 100% rename from icons/antiskidinop.0.0.png rename to B737-800X/icons/antiskidinop.0.0.png diff --git a/icons/antiskidinop.1.0.png b/B737-800X/icons/antiskidinop.1.0.png similarity index 100% rename from icons/antiskidinop.1.0.png rename to B737-800X/icons/antiskidinop.1.0.png diff --git a/icons/app.0.0.png b/B737-800X/icons/app.0.0.png similarity index 100% rename from icons/app.0.0.png rename to B737-800X/icons/app.0.0.png diff --git a/icons/app.1.0.png b/B737-800X/icons/app.1.0.png similarity index 100% rename from icons/app.1.0.png rename to B737-800X/icons/app.1.0.png diff --git a/icons/apprst.0.0.png b/B737-800X/icons/apprst.0.0.png similarity index 100% rename from icons/apprst.0.0.png rename to B737-800X/icons/apprst.0.0.png diff --git a/icons/apprst.1.0.png b/B737-800X/icons/apprst.1.0.png similarity index 100% rename from icons/apprst.1.0.png rename to B737-800X/icons/apprst.1.0.png diff --git a/icons/apu.0.0.png b/B737-800X/icons/apu.0.0.png similarity index 100% rename from icons/apu.0.0.png rename to B737-800X/icons/apu.0.0.png diff --git a/icons/apu.1.0.png b/B737-800X/icons/apu.1.0.png similarity index 100% rename from icons/apu.1.0.png rename to B737-800X/icons/apu.1.0.png diff --git a/icons/apubottledischarge.0.0.png b/B737-800X/icons/apubottledischarge.0.0.png similarity index 100% rename from icons/apubottledischarge.0.0.png rename to B737-800X/icons/apubottledischarge.0.0.png diff --git a/icons/apubottledischarge.1.0.png b/B737-800X/icons/apubottledischarge.1.0.png similarity index 100% rename from icons/apubottledischarge.1.0.png rename to B737-800X/icons/apubottledischarge.1.0.png diff --git a/icons/apudetinop.0.0.png b/B737-800X/icons/apudetinop.0.0.png similarity index 100% rename from icons/apudetinop.0.0.png rename to B737-800X/icons/apudetinop.0.0.png diff --git a/icons/apudetinop.1.0.png b/B737-800X/icons/apudetinop.1.0.png similarity index 100% rename from icons/apudetinop.1.0.png rename to B737-800X/icons/apudetinop.1.0.png diff --git a/icons/apuegtbckg.png b/B737-800X/icons/apuegtbckg.png similarity index 100% rename from icons/apuegtbckg.png rename to B737-800X/icons/apuegtbckg.png diff --git a/icons/apuegtneedle.png b/B737-800X/icons/apuegtneedle.png similarity index 100% rename from icons/apuegtneedle.png rename to B737-800X/icons/apuegtneedle.png diff --git a/icons/apugenoffbus.0.0.png b/B737-800X/icons/apugenoffbus.0.0.png similarity index 100% rename from icons/apugenoffbus.0.0.png rename to B737-800X/icons/apugenoffbus.0.0.png diff --git a/icons/apugenoffbus.1.0.png b/B737-800X/icons/apugenoffbus.1.0.png similarity index 100% rename from icons/apugenoffbus.1.0.png rename to B737-800X/icons/apugenoffbus.1.0.png diff --git a/icons/apugenoffbus.2.0.png b/B737-800X/icons/apugenoffbus.2.0.png similarity index 100% rename from icons/apugenoffbus.2.0.png rename to B737-800X/icons/apugenoffbus.2.0.png diff --git a/icons/atarm.0.0.png b/B737-800X/icons/atarm.0.0.png similarity index 100% rename from icons/atarm.0.0.png rename to B737-800X/icons/atarm.0.0.png diff --git a/icons/atarm.1.0.png b/B737-800X/icons/atarm.1.0.png similarity index 100% rename from icons/atarm.1.0.png rename to B737-800X/icons/atarm.1.0.png diff --git a/icons/atprst.0.0.png b/B737-800X/icons/atprst.0.0.png similarity index 100% rename from icons/atprst.0.0.png rename to B737-800X/icons/atprst.0.0.png diff --git a/icons/atprst.1.0.png b/B737-800X/icons/atprst.1.0.png similarity index 100% rename from icons/atprst.1.0.png rename to B737-800X/icons/atprst.1.0.png diff --git a/icons/autobrake.0.0.png b/B737-800X/icons/autobrake.0.0.png similarity index 100% rename from icons/autobrake.0.0.png rename to B737-800X/icons/autobrake.0.0.png diff --git a/icons/autobrake.1.0.png b/B737-800X/icons/autobrake.1.0.png similarity index 100% rename from icons/autobrake.1.0.png rename to B737-800X/icons/autobrake.1.0.png diff --git a/icons/autobrake.2.0.png b/B737-800X/icons/autobrake.2.0.png similarity index 100% rename from icons/autobrake.2.0.png rename to B737-800X/icons/autobrake.2.0.png diff --git a/icons/autobrake.3.0.png b/B737-800X/icons/autobrake.3.0.png similarity index 100% rename from icons/autobrake.3.0.png rename to B737-800X/icons/autobrake.3.0.png diff --git a/icons/autobrake.4.0.png b/B737-800X/icons/autobrake.4.0.png similarity index 100% rename from icons/autobrake.4.0.png rename to B737-800X/icons/autobrake.4.0.png diff --git a/icons/autobrake.5.0.png b/B737-800X/icons/autobrake.5.0.png similarity index 100% rename from icons/autobrake.5.0.png rename to B737-800X/icons/autobrake.5.0.png diff --git a/icons/autobrakedisarm.0.0.png b/B737-800X/icons/autobrakedisarm.0.0.png similarity index 100% rename from icons/autobrakedisarm.0.0.png rename to B737-800X/icons/autobrakedisarm.0.0.png diff --git a/icons/autobrakedisarm.1.0.png b/B737-800X/icons/autobrakedisarm.1.0.png similarity index 100% rename from icons/autobrakedisarm.1.0.png rename to B737-800X/icons/autobrakedisarm.1.0.png diff --git a/icons/autofail.0.0.png b/B737-800X/icons/autofail.0.0.png similarity index 100% rename from icons/autofail.0.0.png rename to B737-800X/icons/autofail.0.0.png diff --git a/icons/autofail.1.0.png b/B737-800X/icons/autofail.1.0.png similarity index 100% rename from icons/autofail.1.0.png rename to B737-800X/icons/autofail.1.0.png diff --git a/icons/autoslatfail.0.0.png b/B737-800X/icons/autoslatfail.0.0.png similarity index 100% rename from icons/autoslatfail.0.0.png rename to B737-800X/icons/autoslatfail.0.0.png diff --git a/icons/autoslatfail.1.0.png b/B737-800X/icons/autoslatfail.1.0.png similarity index 100% rename from icons/autoslatfail.1.0.png rename to B737-800X/icons/autoslatfail.1.0.png diff --git a/icons/auxprobe.0.0.png b/B737-800X/icons/auxprobe.0.0.png similarity index 100% rename from icons/auxprobe.0.0.png rename to B737-800X/icons/auxprobe.0.0.png diff --git a/icons/auxprobe.1.0.png b/B737-800X/icons/auxprobe.1.0.png similarity index 100% rename from icons/auxprobe.1.0.png rename to B737-800X/icons/auxprobe.1.0.png diff --git a/icons/bankangle.0.0.png b/B737-800X/icons/bankangle.0.0.png similarity index 100% rename from icons/bankangle.0.0.png rename to B737-800X/icons/bankangle.0.0.png diff --git a/icons/bankangle.1.0.png b/B737-800X/icons/bankangle.1.0.png similarity index 100% rename from icons/bankangle.1.0.png rename to B737-800X/icons/bankangle.1.0.png diff --git a/icons/bankangle.2.0.png b/B737-800X/icons/bankangle.2.0.png similarity index 100% rename from icons/bankangle.2.0.png rename to B737-800X/icons/bankangle.2.0.png diff --git a/icons/bankangle.3.0.png b/B737-800X/icons/bankangle.3.0.png similarity index 100% rename from icons/bankangle.3.0.png rename to B737-800X/icons/bankangle.3.0.png diff --git a/icons/bankangle.4.0.png b/B737-800X/icons/bankangle.4.0.png similarity index 100% rename from icons/bankangle.4.0.png rename to B737-800X/icons/bankangle.4.0.png diff --git a/icons/baro.0.0.png b/B737-800X/icons/baro.0.0.png similarity index 100% rename from icons/baro.0.0.png rename to B737-800X/icons/baro.0.0.png diff --git a/icons/baro.1.0.png b/B737-800X/icons/baro.1.0.png similarity index 100% rename from icons/baro.1.0.png rename to B737-800X/icons/baro.1.0.png diff --git a/icons/batdischarge.0.0.png b/B737-800X/icons/batdischarge.0.0.png similarity index 100% rename from icons/batdischarge.0.0.png rename to B737-800X/icons/batdischarge.0.0.png diff --git a/icons/batdischarge.1.0.png b/B737-800X/icons/batdischarge.1.0.png similarity index 100% rename from icons/batdischarge.1.0.png rename to B737-800X/icons/batdischarge.1.0.png diff --git a/icons/belowgs.0.0.png b/B737-800X/icons/belowgs.0.0.png similarity index 100% rename from icons/belowgs.0.0.png rename to B737-800X/icons/belowgs.0.0.png diff --git a/icons/belowgs.1.0.png b/B737-800X/icons/belowgs.1.0.png similarity index 100% rename from icons/belowgs.1.0.png rename to B737-800X/icons/belowgs.1.0.png diff --git a/icons/bleedtripoff.0.0.png b/B737-800X/icons/bleedtripoff.0.0.png similarity index 100% rename from icons/bleedtripoff.0.0.png rename to B737-800X/icons/bleedtripoff.0.0.png diff --git a/icons/bleedtripoff.1.0.png b/B737-800X/icons/bleedtripoff.1.0.png similarity index 100% rename from icons/bleedtripoff.1.0.png rename to B737-800X/icons/bleedtripoff.1.0.png diff --git a/icons/braketemp.0.0.png b/B737-800X/icons/braketemp.0.0.png similarity index 100% rename from icons/braketemp.0.0.png rename to B737-800X/icons/braketemp.0.0.png diff --git a/icons/braketemp.1.0.png b/B737-800X/icons/braketemp.1.0.png similarity index 100% rename from icons/braketemp.1.0.png rename to B737-800X/icons/braketemp.1.0.png diff --git a/icons/cabinaltitude.0.0.png b/B737-800X/icons/cabinaltitude.0.0.png similarity index 100% rename from icons/cabinaltitude.0.0.png rename to B737-800X/icons/cabinaltitude.0.0.png diff --git a/icons/cabinaltitude.1.0.png b/B737-800X/icons/cabinaltitude.1.0.png similarity index 100% rename from icons/cabinaltitude.1.0.png rename to B737-800X/icons/cabinaltitude.1.0.png diff --git a/icons/call.0.0.png b/B737-800X/icons/call.0.0.png similarity index 100% rename from icons/call.0.0.png rename to B737-800X/icons/call.0.0.png diff --git a/icons/call.1.0.png b/B737-800X/icons/call.1.0.png similarity index 100% rename from icons/call.1.0.png rename to B737-800X/icons/call.1.0.png diff --git a/icons/call.2.0.png b/B737-800X/icons/call.2.0.png similarity index 100% rename from icons/call.2.0.png rename to B737-800X/icons/call.2.0.png diff --git a/icons/captpitot.0.0.png b/B737-800X/icons/captpitot.0.0.png similarity index 100% rename from icons/captpitot.0.0.png rename to B737-800X/icons/captpitot.0.0.png diff --git a/icons/captpitot.1.0.png b/B737-800X/icons/captpitot.1.0.png similarity index 100% rename from icons/captpitot.1.0.png rename to B737-800X/icons/captpitot.1.0.png diff --git a/icons/cmd.0.0.png b/B737-800X/icons/cmd.0.0.png similarity index 100% rename from icons/cmd.0.0.png rename to B737-800X/icons/cmd.0.0.png diff --git a/icons/cmd.1.0.png b/B737-800X/icons/cmd.1.0.png similarity index 100% rename from icons/cmd.1.0.png rename to B737-800X/icons/cmd.1.0.png diff --git a/icons/cowlantiice.0.0.png b/B737-800X/icons/cowlantiice.0.0.png similarity index 100% rename from icons/cowlantiice.0.0.png rename to B737-800X/icons/cowlantiice.0.0.png diff --git a/icons/cowlantiice.1.0.png b/B737-800X/icons/cowlantiice.1.0.png similarity index 100% rename from icons/cowlantiice.1.0.png rename to B737-800X/icons/cowlantiice.1.0.png diff --git a/icons/cowlvalveopen.0.0.png b/B737-800X/icons/cowlvalveopen.0.0.png similarity index 100% rename from icons/cowlvalveopen.0.0.png rename to B737-800X/icons/cowlvalveopen.0.0.png diff --git a/icons/cowlvalveopen.1.0.png b/B737-800X/icons/cowlvalveopen.1.0.png similarity index 100% rename from icons/cowlvalveopen.1.0.png rename to B737-800X/icons/cowlvalveopen.1.0.png diff --git a/icons/cowlvalveopen.2.0.png b/B737-800X/icons/cowlvalveopen.2.0.png similarity index 100% rename from icons/cowlvalveopen.2.0.png rename to B737-800X/icons/cowlvalveopen.2.0.png diff --git a/icons/cws.0.0.png b/B737-800X/icons/cws.0.0.png similarity index 100% rename from icons/cws.0.0.png rename to B737-800X/icons/cws.0.0.png diff --git a/icons/cws.1.0.png b/B737-800X/icons/cws.1.0.png similarity index 100% rename from icons/cws.1.0.png rename to B737-800X/icons/cws.1.0.png diff --git a/icons/dcfail.0.0.png b/B737-800X/icons/dcfail.0.0.png similarity index 100% rename from icons/dcfail.0.0.png rename to B737-800X/icons/dcfail.0.0.png diff --git a/icons/dcfail.1.0.png b/B737-800X/icons/dcfail.1.0.png similarity index 100% rename from icons/dcfail.1.0.png rename to B737-800X/icons/dcfail.1.0.png diff --git a/icons/detectorfault.0.0.png b/B737-800X/icons/detectorfault.0.0.png similarity index 100% rename from icons/detectorfault.0.0.png rename to B737-800X/icons/detectorfault.0.0.png diff --git a/icons/detectorfault.1.0.png b/B737-800X/icons/detectorfault.1.0.png similarity index 100% rename from icons/detectorfault.1.0.png rename to B737-800X/icons/detectorfault.1.0.png diff --git a/icons/doors.0.0.png b/B737-800X/icons/doors.0.0.png similarity index 100% rename from icons/doors.0.0.png rename to B737-800X/icons/doors.0.0.png diff --git a/icons/doors.1.0.png b/B737-800X/icons/doors.1.0.png similarity index 100% rename from icons/doors.1.0.png rename to B737-800X/icons/doors.1.0.png diff --git a/icons/drive.0.0.png b/B737-800X/icons/drive.0.0.png similarity index 100% rename from icons/drive.0.0.png rename to B737-800X/icons/drive.0.0.png diff --git a/icons/drive.1.0.png b/B737-800X/icons/drive.1.0.png similarity index 100% rename from icons/drive.1.0.png rename to B737-800X/icons/drive.1.0.png diff --git a/icons/dualbleed.0.0.png b/B737-800X/icons/dualbleed.0.0.png similarity index 100% rename from icons/dualbleed.0.0.png rename to B737-800X/icons/dualbleed.0.0.png diff --git a/icons/dualbleed.1.0.png b/B737-800X/icons/dualbleed.1.0.png similarity index 100% rename from icons/dualbleed.1.0.png rename to B737-800X/icons/dualbleed.1.0.png diff --git a/icons/elec.0.0.png b/B737-800X/icons/elec.0.0.png similarity index 100% rename from icons/elec.0.0.png rename to B737-800X/icons/elec.0.0.png diff --git a/icons/elec.1.0.png b/B737-800X/icons/elec.1.0.png similarity index 100% rename from icons/elec.1.0.png rename to B737-800X/icons/elec.1.0.png diff --git a/icons/eng.0.0.png b/B737-800X/icons/eng.0.0.png similarity index 100% rename from icons/eng.0.0.png rename to B737-800X/icons/eng.0.0.png diff --git a/icons/eng.1.0.png b/B737-800X/icons/eng.1.0.png similarity index 100% rename from icons/eng.1.0.png rename to B737-800X/icons/eng.1.0.png diff --git a/icons/eng1overheat.0.0.png b/B737-800X/icons/eng1overheat.0.0.png similarity index 100% rename from icons/eng1overheat.0.0.png rename to B737-800X/icons/eng1overheat.0.0.png diff --git a/icons/eng1overheat.1.0.png b/B737-800X/icons/eng1overheat.1.0.png similarity index 100% rename from icons/eng1overheat.1.0.png rename to B737-800X/icons/eng1overheat.1.0.png diff --git a/icons/eng2overheat.0.0.png b/B737-800X/icons/eng2overheat.0.0.png similarity index 100% rename from icons/eng2overheat.0.0.png rename to B737-800X/icons/eng2overheat.0.0.png diff --git a/icons/eng2overheat.1.0.png b/B737-800X/icons/eng2overheat.1.0.png similarity index 100% rename from icons/eng2overheat.1.0.png rename to B737-800X/icons/eng2overheat.1.0.png diff --git a/icons/engstarter.0.0.png b/B737-800X/icons/engstarter.0.0.png similarity index 100% rename from icons/engstarter.0.0.png rename to B737-800X/icons/engstarter.0.0.png diff --git a/icons/engstarter.1.0.png b/B737-800X/icons/engstarter.1.0.png similarity index 100% rename from icons/engstarter.1.0.png rename to B737-800X/icons/engstarter.1.0.png diff --git a/icons/engstarter.2.0.png b/B737-800X/icons/engstarter.2.0.png similarity index 100% rename from icons/engstarter.2.0.png rename to B737-800X/icons/engstarter.2.0.png diff --git a/icons/engstarter.3.0.png b/B737-800X/icons/engstarter.3.0.png similarity index 100% rename from icons/engstarter.3.0.png rename to B737-800X/icons/engstarter.3.0.png diff --git a/icons/engvalveclosed.0.0.png b/B737-800X/icons/engvalveclosed.0.0.png similarity index 100% rename from icons/engvalveclosed.0.0.png rename to B737-800X/icons/engvalveclosed.0.0.png diff --git a/icons/engvalveclosed.1.0.png b/B737-800X/icons/engvalveclosed.1.0.png similarity index 100% rename from icons/engvalveclosed.1.0.png rename to B737-800X/icons/engvalveclosed.1.0.png diff --git a/icons/engvalveclosed.2.0.png b/B737-800X/icons/engvalveclosed.2.0.png similarity index 100% rename from icons/engvalveclosed.2.0.png rename to B737-800X/icons/engvalveclosed.2.0.png diff --git a/icons/equip.0.0.png b/B737-800X/icons/equip.0.0.png similarity index 100% rename from icons/equip.0.0.png rename to B737-800X/icons/equip.0.0.png diff --git a/icons/equip.1.0.png b/B737-800X/icons/equip.1.0.png similarity index 100% rename from icons/equip.1.0.png rename to B737-800X/icons/equip.1.0.png diff --git a/icons/extcircuit.0.0.png b/B737-800X/icons/extcircuit.0.0.png similarity index 100% rename from icons/extcircuit.0.0.png rename to B737-800X/icons/extcircuit.0.0.png diff --git a/icons/extcircuit.1.0.png b/B737-800X/icons/extcircuit.1.0.png similarity index 100% rename from icons/extcircuit.1.0.png rename to B737-800X/icons/extcircuit.1.0.png diff --git a/icons/fault.0.0.png b/B737-800X/icons/fault.0.0.png similarity index 100% rename from icons/fault.0.0.png rename to B737-800X/icons/fault.0.0.png diff --git a/icons/fault.1.0.png b/B737-800X/icons/fault.1.0.png similarity index 100% rename from icons/fault.1.0.png rename to B737-800X/icons/fault.1.0.png diff --git a/icons/feeldiffpress.0.0.png b/B737-800X/icons/feeldiffpress.0.0.png similarity index 100% rename from icons/feeldiffpress.0.0.png rename to B737-800X/icons/feeldiffpress.0.0.png diff --git a/icons/feeldiffpress.1.0.png b/B737-800X/icons/feeldiffpress.1.0.png similarity index 100% rename from icons/feeldiffpress.1.0.png rename to B737-800X/icons/feeldiffpress.1.0.png diff --git a/icons/filterbypass.0.0.png b/B737-800X/icons/filterbypass.0.0.png similarity index 100% rename from icons/filterbypass.0.0.png rename to B737-800X/icons/filterbypass.0.0.png diff --git a/icons/filterbypass.1.0.png b/B737-800X/icons/filterbypass.1.0.png similarity index 100% rename from icons/filterbypass.1.0.png rename to B737-800X/icons/filterbypass.1.0.png diff --git a/icons/firewarn.0.0.png b/B737-800X/icons/firewarn.0.0.png similarity index 100% rename from icons/firewarn.0.0.png rename to B737-800X/icons/firewarn.0.0.png diff --git a/icons/firewarn.1.0.png b/B737-800X/icons/firewarn.1.0.png similarity index 100% rename from icons/firewarn.1.0.png rename to B737-800X/icons/firewarn.1.0.png diff --git a/icons/flapsbckg.png b/B737-800X/icons/flapsbckg.png similarity index 100% rename from icons/flapsbckg.png rename to B737-800X/icons/flapsbckg.png diff --git a/B737-800X/icons/flapsneedle.png b/B737-800X/icons/flapsneedle.png new file mode 100644 index 0000000..4d8be6c Binary files /dev/null and b/B737-800X/icons/flapsneedle.png differ diff --git a/icons/fltcont.0.0.png b/B737-800X/icons/fltcont.0.0.png similarity index 100% rename from icons/fltcont.0.0.png rename to B737-800X/icons/fltcont.0.0.png diff --git a/icons/fltcont.1.0.png b/B737-800X/icons/fltcont.1.0.png similarity index 100% rename from icons/fltcont.1.0.png rename to B737-800X/icons/fltcont.1.0.png diff --git a/icons/fmcprst.0.0.png b/B737-800X/icons/fmcprst.0.0.png similarity index 100% rename from icons/fmcprst.0.0.png rename to B737-800X/icons/fmcprst.0.0.png diff --git a/icons/fmcprst.1.0.png b/B737-800X/icons/fmcprst.1.0.png similarity index 100% rename from icons/fmcprst.1.0.png rename to B737-800X/icons/fmcprst.1.0.png diff --git a/icons/fopitot.0.0.png b/B737-800X/icons/fopitot.0.0.png similarity index 100% rename from icons/fopitot.0.0.png rename to B737-800X/icons/fopitot.0.0.png diff --git a/icons/fopitot.1.0.png b/B737-800X/icons/fopitot.1.0.png similarity index 100% rename from icons/fopitot.1.0.png rename to B737-800X/icons/fopitot.1.0.png diff --git a/icons/fuel.0.0.png b/B737-800X/icons/fuel.0.0.png similarity index 100% rename from icons/fuel.0.0.png rename to B737-800X/icons/fuel.0.0.png diff --git a/icons/fuel.1.0.png b/B737-800X/icons/fuel.1.0.png similarity index 100% rename from icons/fuel.1.0.png rename to B737-800X/icons/fuel.1.0.png diff --git a/icons/fwdcargo.0.0.png b/B737-800X/icons/fwdcargo.0.0.png similarity index 100% rename from icons/fwdcargo.0.0.png rename to B737-800X/icons/fwdcargo.0.0.png diff --git a/icons/fwdcargo.1.0.png b/B737-800X/icons/fwdcargo.1.0.png similarity index 100% rename from icons/fwdcargo.1.0.png rename to B737-800X/icons/fwdcargo.1.0.png diff --git a/icons/fwdentry.0.0.png b/B737-800X/icons/fwdentry.0.0.png similarity index 100% rename from icons/fwdentry.0.0.png rename to B737-800X/icons/fwdentry.0.0.png diff --git a/icons/fwdentry.1.0.png b/B737-800X/icons/fwdentry.1.0.png similarity index 100% rename from icons/fwdentry.1.0.png rename to B737-800X/icons/fwdentry.1.0.png diff --git a/icons/fwdservice.0.0.png b/B737-800X/icons/fwdservice.0.0.png similarity index 100% rename from icons/fwdservice.0.0.png rename to B737-800X/icons/fwdservice.0.0.png diff --git a/icons/fwdservice.1.0.png b/B737-800X/icons/fwdservice.1.0.png similarity index 100% rename from icons/fwdservice.1.0.png rename to B737-800X/icons/fwdservice.1.0.png diff --git a/icons/genoffbus.0.0.png b/B737-800X/icons/genoffbus.0.0.png similarity index 100% rename from icons/genoffbus.0.0.png rename to B737-800X/icons/genoffbus.0.0.png diff --git a/icons/genoffbus.1.0.png b/B737-800X/icons/genoffbus.1.0.png similarity index 100% rename from icons/genoffbus.1.0.png rename to B737-800X/icons/genoffbus.1.0.png diff --git a/icons/genoffbus.2.0.png b/B737-800X/icons/genoffbus.2.0.png similarity index 100% rename from icons/genoffbus.2.0.png rename to B737-800X/icons/genoffbus.2.0.png diff --git a/icons/gndpoweravailable.0.0.png b/B737-800X/icons/gndpoweravailable.0.0.png similarity index 100% rename from icons/gndpoweravailable.0.0.png rename to B737-800X/icons/gndpoweravailable.0.0.png diff --git a/icons/gndpoweravailable.1.0.png b/B737-800X/icons/gndpoweravailable.1.0.png similarity index 100% rename from icons/gndpoweravailable.1.0.png rename to B737-800X/icons/gndpoweravailable.1.0.png diff --git a/icons/gndpoweravailable.2.0.png b/B737-800X/icons/gndpoweravailable.2.0.png similarity index 100% rename from icons/gndpoweravailable.2.0.png rename to B737-800X/icons/gndpoweravailable.2.0.png diff --git a/icons/gps.0.0.png b/B737-800X/icons/gps.0.0.png similarity index 100% rename from icons/gps.0.0.png rename to B737-800X/icons/gps.0.0.png diff --git a/icons/gps.1.0.png b/B737-800X/icons/gps.1.0.png similarity index 100% rename from icons/gps.1.0.png rename to B737-800X/icons/gps.1.0.png diff --git a/icons/gpws.0.0.png b/B737-800X/icons/gpws.0.0.png similarity index 100% rename from icons/gpws.0.0.png rename to B737-800X/icons/gpws.0.0.png diff --git a/icons/gpws.1.0.png b/B737-800X/icons/gpws.1.0.png similarity index 100% rename from icons/gpws.1.0.png rename to B737-800X/icons/gpws.1.0.png diff --git a/icons/greenleftgear.0.0.png b/B737-800X/icons/greenleftgear.0.0.png similarity index 100% rename from icons/greenleftgear.0.0.png rename to B737-800X/icons/greenleftgear.0.0.png diff --git a/icons/greenleftgear.1.0.png b/B737-800X/icons/greenleftgear.1.0.png similarity index 100% rename from icons/greenleftgear.1.0.png rename to B737-800X/icons/greenleftgear.1.0.png diff --git a/icons/greennosegear.0.0.png b/B737-800X/icons/greennosegear.0.0.png similarity index 100% rename from icons/greennosegear.0.0.png rename to B737-800X/icons/greennosegear.0.0.png diff --git a/icons/greennosegear.1.0.png b/B737-800X/icons/greennosegear.1.0.png similarity index 100% rename from icons/greennosegear.1.0.png rename to B737-800X/icons/greennosegear.1.0.png diff --git a/icons/greenon.0.0.png b/B737-800X/icons/greenon.0.0.png similarity index 100% rename from icons/greenon.0.0.png rename to B737-800X/icons/greenon.0.0.png diff --git a/icons/greenon.1.0.png b/B737-800X/icons/greenon.1.0.png similarity index 100% rename from icons/greenon.1.0.png rename to B737-800X/icons/greenon.1.0.png diff --git a/icons/greenrightgear.0.0.png b/B737-800X/icons/greenrightgear.0.0.png similarity index 100% rename from icons/greenrightgear.0.0.png rename to B737-800X/icons/greenrightgear.0.0.png diff --git a/icons/greenrightgear.1.0.png b/B737-800X/icons/greenrightgear.1.0.png similarity index 100% rename from icons/greenrightgear.1.0.png rename to B737-800X/icons/greenrightgear.1.0.png diff --git a/icons/hdgsel.0.0.png b/B737-800X/icons/hdgsel.0.0.png similarity index 100% rename from icons/hdgsel.0.0.png rename to B737-800X/icons/hdgsel.0.0.png diff --git a/icons/hdgsel.1.0.png b/B737-800X/icons/hdgsel.1.0.png similarity index 100% rename from icons/hdgsel.1.0.png rename to B737-800X/icons/hdgsel.1.0.png diff --git a/icons/hyd.0.0.png b/B737-800X/icons/hyd.0.0.png similarity index 100% rename from icons/hyd.0.0.png rename to B737-800X/icons/hyd.0.0.png diff --git a/icons/hyd.1.0.png b/B737-800X/icons/hyd.1.0.png similarity index 100% rename from icons/hyd.1.0.png rename to B737-800X/icons/hyd.1.0.png diff --git a/icons/irs.0.0.png b/B737-800X/icons/irs.0.0.png similarity index 100% rename from icons/irs.0.0.png rename to B737-800X/icons/irs.0.0.png diff --git a/icons/irs.1.0.png b/B737-800X/icons/irs.1.0.png similarity index 100% rename from icons/irs.1.0.png rename to B737-800X/icons/irs.1.0.png diff --git a/icons/irsmode.0.0.png b/B737-800X/icons/irsmode.0.0.png similarity index 100% rename from icons/irsmode.0.0.png rename to B737-800X/icons/irsmode.0.0.png diff --git a/icons/irsmode.1.0.png b/B737-800X/icons/irsmode.1.0.png similarity index 100% rename from icons/irsmode.1.0.png rename to B737-800X/icons/irsmode.1.0.png diff --git a/icons/irsmode.2.0.png b/B737-800X/icons/irsmode.2.0.png similarity index 100% rename from icons/irsmode.2.0.png rename to B737-800X/icons/irsmode.2.0.png diff --git a/icons/irsmode.3.0.png b/B737-800X/icons/irsmode.3.0.png similarity index 100% rename from icons/irsmode.3.0.png rename to B737-800X/icons/irsmode.3.0.png diff --git a/icons/lalphapitot.0.0.png b/B737-800X/icons/lalphapitot.0.0.png similarity index 100% rename from icons/lalphapitot.0.0.png rename to B737-800X/icons/lalphapitot.0.0.png diff --git a/icons/lalphapitot.1.0.png b/B737-800X/icons/lalphapitot.1.0.png similarity index 100% rename from icons/lalphapitot.1.0.png rename to B737-800X/icons/lalphapitot.1.0.png diff --git a/icons/lalphavane.0.0.png b/B737-800X/icons/lalphavane.0.0.png similarity index 100% rename from icons/lalphavane.0.0.png rename to B737-800X/icons/lalphavane.0.0.png diff --git a/icons/lalphavane.1.0.png b/B737-800X/icons/lalphavane.1.0.png similarity index 100% rename from icons/lalphavane.1.0.png rename to B737-800X/icons/lalphavane.1.0.png diff --git a/icons/lbottledischarge.0.0.png b/B737-800X/icons/lbottledischarge.0.0.png similarity index 100% rename from icons/lbottledischarge.0.0.png rename to B737-800X/icons/lbottledischarge.0.0.png diff --git a/icons/lbottledischarge.1.0.png b/B737-800X/icons/lbottledischarge.1.0.png similarity index 100% rename from icons/lbottledischarge.1.0.png rename to B737-800X/icons/lbottledischarge.1.0.png diff --git a/icons/ldg.0.0.png b/B737-800X/icons/ldg.0.0.png similarity index 100% rename from icons/ldg.0.0.png rename to B737-800X/icons/ldg.0.0.png diff --git a/icons/ldg.1.0.png b/B737-800X/icons/ldg.1.0.png similarity index 100% rename from icons/ldg.1.0.png rename to B737-800X/icons/ldg.1.0.png diff --git a/icons/ldg.2.0.png b/B737-800X/icons/ldg.2.0.png similarity index 100% rename from icons/ldg.2.0.png rename to B737-800X/icons/ldg.2.0.png diff --git a/icons/leflapsext.0.0.png b/B737-800X/icons/leflapsext.0.0.png similarity index 100% rename from icons/leflapsext.0.0.png rename to B737-800X/icons/leflapsext.0.0.png diff --git a/icons/leflapsext.1.0.png b/B737-800X/icons/leflapsext.1.0.png similarity index 100% rename from icons/leflapsext.1.0.png rename to B737-800X/icons/leflapsext.1.0.png diff --git a/icons/leflapstransit.0.0.png b/B737-800X/icons/leflapstransit.0.0.png similarity index 100% rename from icons/leflapstransit.0.0.png rename to B737-800X/icons/leflapstransit.0.0.png diff --git a/icons/leflapstransit.1.0.png b/B737-800X/icons/leflapstransit.1.0.png similarity index 100% rename from icons/leflapstransit.1.0.png rename to B737-800X/icons/leflapstransit.1.0.png diff --git a/icons/leftgear.0.0.png b/B737-800X/icons/leftgear.0.0.png similarity index 100% rename from icons/leftgear.0.0.png rename to B737-800X/icons/leftgear.0.0.png diff --git a/icons/leftgear.1.0.png b/B737-800X/icons/leftgear.1.0.png similarity index 100% rename from icons/leftgear.1.0.png rename to B737-800X/icons/leftgear.1.0.png diff --git a/icons/lelevpitot.0.0.png b/B737-800X/icons/lelevpitot.0.0.png similarity index 100% rename from icons/lelevpitot.0.0.png rename to B737-800X/icons/lelevpitot.0.0.png diff --git a/icons/lelevpitot.1.0.png b/B737-800X/icons/lelevpitot.1.0.png similarity index 100% rename from icons/lelevpitot.1.0.png rename to B737-800X/icons/lelevpitot.1.0.png diff --git a/icons/lftaftoverwing.0.0.png b/B737-800X/icons/lftaftoverwing.0.0.png similarity index 100% rename from icons/lftaftoverwing.0.0.png rename to B737-800X/icons/lftaftoverwing.0.0.png diff --git a/icons/lftaftoverwing.1.0.png b/B737-800X/icons/lftaftoverwing.1.0.png similarity index 100% rename from icons/lftaftoverwing.1.0.png rename to B737-800X/icons/lftaftoverwing.1.0.png diff --git a/icons/lftfwdoverwing.0.0.png b/B737-800X/icons/lftfwdoverwing.0.0.png similarity index 100% rename from icons/lftfwdoverwing.0.0.png rename to B737-800X/icons/lftfwdoverwing.0.0.png diff --git a/icons/lftfwdoverwing.1.0.png b/B737-800X/icons/lftfwdoverwing.1.0.png similarity index 100% rename from icons/lftfwdoverwing.1.0.png rename to B737-800X/icons/lftfwdoverwing.1.0.png diff --git a/icons/lnav.0.0.png b/B737-800X/icons/lnav.0.0.png similarity index 100% rename from icons/lnav.0.0.png rename to B737-800X/icons/lnav.0.0.png diff --git a/icons/lnav.1.0.png b/B737-800X/icons/lnav.1.0.png similarity index 100% rename from icons/lnav.1.0.png rename to B737-800X/icons/lnav.1.0.png diff --git a/icons/lowoilpressure.0.0.png b/B737-800X/icons/lowoilpressure.0.0.png similarity index 100% rename from icons/lowoilpressure.0.0.png rename to B737-800X/icons/lowoilpressure.0.0.png diff --git a/icons/lowoilpressure.1.0.png b/B737-800X/icons/lowoilpressure.1.0.png similarity index 100% rename from icons/lowoilpressure.1.0.png rename to B737-800X/icons/lowoilpressure.1.0.png diff --git a/icons/lowpressure.0.0.png b/B737-800X/icons/lowpressure.0.0.png similarity index 100% rename from icons/lowpressure.0.0.png rename to B737-800X/icons/lowpressure.0.0.png diff --git a/icons/lowpressure.1.0.png b/B737-800X/icons/lowpressure.1.0.png similarity index 100% rename from icons/lowpressure.1.0.png rename to B737-800X/icons/lowpressure.1.0.png diff --git a/icons/lowquantity.0.0.png b/B737-800X/icons/lowquantity.0.0.png similarity index 100% rename from icons/lowquantity.0.0.png rename to B737-800X/icons/lowquantity.0.0.png diff --git a/icons/lowquantity.1.0.png b/B737-800X/icons/lowquantity.1.0.png similarity index 100% rename from icons/lowquantity.1.0.png rename to B737-800X/icons/lowquantity.1.0.png diff --git a/icons/lvalveopen.0.0.png b/B737-800X/icons/lvalveopen.0.0.png similarity index 100% rename from icons/lvalveopen.0.0.png rename to B737-800X/icons/lvalveopen.0.0.png diff --git a/icons/lvalveopen.1.0.png b/B737-800X/icons/lvalveopen.1.0.png similarity index 100% rename from icons/lvalveopen.1.0.png rename to B737-800X/icons/lvalveopen.1.0.png diff --git a/icons/lvalveopen.2.0.png b/B737-800X/icons/lvalveopen.2.0.png similarity index 100% rename from icons/lvalveopen.2.0.png rename to B737-800X/icons/lvalveopen.2.0.png diff --git a/icons/lvlchg.0.0.png b/B737-800X/icons/lvlchg.0.0.png similarity index 100% rename from icons/lvlchg.0.0.png rename to B737-800X/icons/lvlchg.0.0.png diff --git a/icons/lvlchg.1.0.png b/B737-800X/icons/lvlchg.1.0.png similarity index 100% rename from icons/lvlchg.1.0.png rename to B737-800X/icons/lvlchg.1.0.png diff --git a/icons/machtrimfail.0.0.png b/B737-800X/icons/machtrimfail.0.0.png similarity index 100% rename from icons/machtrimfail.0.0.png rename to B737-800X/icons/machtrimfail.0.0.png diff --git a/icons/machtrimfail.1.0.png b/B737-800X/icons/machtrimfail.1.0.png similarity index 100% rename from icons/machtrimfail.1.0.png rename to B737-800X/icons/machtrimfail.1.0.png diff --git a/icons/maint.0.0.png b/B737-800X/icons/maint.0.0.png similarity index 100% rename from icons/maint.0.0.png rename to B737-800X/icons/maint.0.0.png diff --git a/icons/maint.1.0.png b/B737-800X/icons/maint.1.0.png similarity index 100% rename from icons/maint.1.0.png rename to B737-800X/icons/maint.1.0.png diff --git a/icons/maint.2.0.png b/B737-800X/icons/maint.2.0.png similarity index 100% rename from icons/maint.2.0.png rename to B737-800X/icons/maint.2.0.png diff --git a/icons/manual.0.0.png b/B737-800X/icons/manual.0.0.png similarity index 100% rename from icons/manual.0.0.png rename to B737-800X/icons/manual.0.0.png diff --git a/icons/manual.1.0.png b/B737-800X/icons/manual.1.0.png similarity index 100% rename from icons/manual.1.0.png rename to B737-800X/icons/manual.1.0.png diff --git a/icons/mapmode.0.0.png b/B737-800X/icons/mapmode.0.0.png similarity index 100% rename from icons/mapmode.0.0.png rename to B737-800X/icons/mapmode.0.0.png diff --git a/icons/mapmode.1.0.png b/B737-800X/icons/mapmode.1.0.png similarity index 100% rename from icons/mapmode.1.0.png rename to B737-800X/icons/mapmode.1.0.png diff --git a/icons/mapmode.2.0.png b/B737-800X/icons/mapmode.2.0.png similarity index 100% rename from icons/mapmode.2.0.png rename to B737-800X/icons/mapmode.2.0.png diff --git a/icons/mapmode.3.0.png b/B737-800X/icons/mapmode.3.0.png similarity index 100% rename from icons/mapmode.3.0.png rename to B737-800X/icons/mapmode.3.0.png diff --git a/icons/maprange.0.0.png b/B737-800X/icons/maprange.0.0.png similarity index 100% rename from icons/maprange.0.0.png rename to B737-800X/icons/maprange.0.0.png diff --git a/icons/maprange.1.0.png b/B737-800X/icons/maprange.1.0.png similarity index 100% rename from icons/maprange.1.0.png rename to B737-800X/icons/maprange.1.0.png diff --git a/icons/maprange.2.0.png b/B737-800X/icons/maprange.2.0.png similarity index 100% rename from icons/maprange.2.0.png rename to B737-800X/icons/maprange.2.0.png diff --git a/icons/maprange.3.0.png b/B737-800X/icons/maprange.3.0.png similarity index 100% rename from icons/maprange.3.0.png rename to B737-800X/icons/maprange.3.0.png diff --git a/icons/maprange.4.0.png b/B737-800X/icons/maprange.4.0.png similarity index 100% rename from icons/maprange.4.0.png rename to B737-800X/icons/maprange.4.0.png diff --git a/icons/maprange.5.0.png b/B737-800X/icons/maprange.5.0.png similarity index 100% rename from icons/maprange.5.0.png rename to B737-800X/icons/maprange.5.0.png diff --git a/icons/maprange.6.0.png b/B737-800X/icons/maprange.6.0.png similarity index 100% rename from icons/maprange.6.0.png rename to B737-800X/icons/maprange.6.0.png diff --git a/icons/maprange.7.0.png b/B737-800X/icons/maprange.7.0.png similarity index 100% rename from icons/maprange.7.0.png rename to B737-800X/icons/maprange.7.0.png diff --git a/icons/mastercaution.0.0.png b/B737-800X/icons/mastercaution.0.0.png similarity index 100% rename from icons/mastercaution.0.0.png rename to B737-800X/icons/mastercaution.0.0.png diff --git a/icons/mastercaution.1.0.png b/B737-800X/icons/mastercaution.1.0.png similarity index 100% rename from icons/mastercaution.1.0.png rename to B737-800X/icons/mastercaution.1.0.png diff --git a/icons/mins.0.0.png b/B737-800X/icons/mins.0.0.png similarity index 100% rename from icons/mins.0.0.png rename to B737-800X/icons/mins.0.0.png diff --git a/icons/mins.1.0.png b/B737-800X/icons/mins.1.0.png similarity index 100% rename from icons/mins.1.0.png rename to B737-800X/icons/mins.1.0.png diff --git a/icons/n1.0.0.png b/B737-800X/icons/n1.0.0.png similarity index 100% rename from icons/n1.0.0.png rename to B737-800X/icons/n1.0.0.png diff --git a/icons/n1.1.0.png b/B737-800X/icons/n1.1.0.png similarity index 100% rename from icons/n1.1.0.png rename to B737-800X/icons/n1.1.0.png diff --git a/icons/n1set.-1.0.png b/B737-800X/icons/n1set.-1.0.png similarity index 100% rename from icons/n1set.-1.0.png rename to B737-800X/icons/n1set.-1.0.png diff --git a/icons/n1set.-2.0.png b/B737-800X/icons/n1set.-2.0.png similarity index 100% rename from icons/n1set.-2.0.png rename to B737-800X/icons/n1set.-2.0.png diff --git a/icons/n1set.0.0.png b/B737-800X/icons/n1set.0.0.png similarity index 100% rename from icons/n1set.0.0.png rename to B737-800X/icons/n1set.0.0.png diff --git a/icons/n1set.1.0.png b/B737-800X/icons/n1set.1.0.png similarity index 100% rename from icons/n1set.1.0.png rename to B737-800X/icons/n1set.1.0.png diff --git a/icons/notarmed.0.0.png b/B737-800X/icons/notarmed.0.0.png similarity index 100% rename from icons/notarmed.0.0.png rename to B737-800X/icons/notarmed.0.0.png diff --git a/icons/notarmed.1.0.png b/B737-800X/icons/notarmed.1.0.png similarity index 100% rename from icons/notarmed.1.0.png rename to B737-800X/icons/notarmed.1.0.png diff --git a/icons/offann.0.0.png b/B737-800X/icons/offann.0.0.png similarity index 100% rename from icons/offann.0.0.png rename to B737-800X/icons/offann.0.0.png diff --git a/icons/offann.1.0.png b/B737-800X/icons/offann.1.0.png similarity index 100% rename from icons/offann.1.0.png rename to B737-800X/icons/offann.1.0.png diff --git a/icons/offscheddescent.0.0.png b/B737-800X/icons/offscheddescent.0.0.png similarity index 100% rename from icons/offscheddescent.0.0.png rename to B737-800X/icons/offscheddescent.0.0.png diff --git a/icons/offscheddescent.1.0.png b/B737-800X/icons/offscheddescent.1.0.png similarity index 100% rename from icons/offscheddescent.1.0.png rename to B737-800X/icons/offscheddescent.1.0.png diff --git a/icons/on.0.0.png b/B737-800X/icons/on.0.0.png similarity index 100% rename from icons/on.0.0.png rename to B737-800X/icons/on.0.0.png diff --git a/icons/on.1.0.png b/B737-800X/icons/on.1.0.png similarity index 100% rename from icons/on.1.0.png rename to B737-800X/icons/on.1.0.png diff --git a/icons/ondc.0.0.png b/B737-800X/icons/ondc.0.0.png similarity index 100% rename from icons/ondc.0.0.png rename to B737-800X/icons/ondc.0.0.png diff --git a/icons/ondc.1.0.png b/B737-800X/icons/ondc.1.0.png similarity index 100% rename from icons/ondc.1.0.png rename to B737-800X/icons/ondc.1.0.png diff --git a/icons/overhead.0.0.png b/B737-800X/icons/overhead.0.0.png similarity index 100% rename from icons/overhead.0.0.png rename to B737-800X/icons/overhead.0.0.png diff --git a/icons/overhead.1.0.png b/B737-800X/icons/overhead.1.0.png similarity index 100% rename from icons/overhead.1.0.png rename to B737-800X/icons/overhead.1.0.png diff --git a/icons/overheat.0.0.png b/B737-800X/icons/overheat.0.0.png similarity index 100% rename from icons/overheat.0.0.png rename to B737-800X/icons/overheat.0.0.png diff --git a/icons/overheat.1.0.png b/B737-800X/icons/overheat.1.0.png similarity index 100% rename from icons/overheat.1.0.png rename to B737-800X/icons/overheat.1.0.png diff --git a/icons/overspeed.0.0.png b/B737-800X/icons/overspeed.0.0.png similarity index 100% rename from icons/overspeed.0.0.png rename to B737-800X/icons/overspeed.0.0.png diff --git a/icons/overspeed.1.0.png b/B737-800X/icons/overspeed.1.0.png similarity index 100% rename from icons/overspeed.1.0.png rename to B737-800X/icons/overspeed.1.0.png diff --git a/icons/ovhtdet.0.0.png b/B737-800X/icons/ovhtdet.0.0.png similarity index 100% rename from icons/ovhtdet.0.0.png rename to B737-800X/icons/ovhtdet.0.0.png diff --git a/icons/ovhtdet.1.0.png b/B737-800X/icons/ovhtdet.1.0.png similarity index 100% rename from icons/ovhtdet.1.0.png rename to B737-800X/icons/ovhtdet.1.0.png diff --git a/icons/pack.0.0.png b/B737-800X/icons/pack.0.0.png similarity index 100% rename from icons/pack.0.0.png rename to B737-800X/icons/pack.0.0.png diff --git a/icons/pack.1.0.png b/B737-800X/icons/pack.1.0.png similarity index 100% rename from icons/pack.1.0.png rename to B737-800X/icons/pack.1.0.png diff --git a/icons/pressmode.0.0.png b/B737-800X/icons/pressmode.0.0.png similarity index 100% rename from icons/pressmode.0.0.png rename to B737-800X/icons/pressmode.0.0.png diff --git a/icons/pressmode.1.0.png b/B737-800X/icons/pressmode.1.0.png similarity index 100% rename from icons/pressmode.1.0.png rename to B737-800X/icons/pressmode.1.0.png diff --git a/icons/pressmode.2.0.png b/B737-800X/icons/pressmode.2.0.png similarity index 100% rename from icons/pressmode.2.0.png rename to B737-800X/icons/pressmode.2.0.png diff --git a/icons/ralphapitot.0.0.png b/B737-800X/icons/ralphapitot.0.0.png similarity index 100% rename from icons/ralphapitot.0.0.png rename to B737-800X/icons/ralphapitot.0.0.png diff --git a/icons/ralphapitot.1.0.png b/B737-800X/icons/ralphapitot.1.0.png similarity index 100% rename from icons/ralphapitot.1.0.png rename to B737-800X/icons/ralphapitot.1.0.png diff --git a/icons/ralphavane.0.0.png b/B737-800X/icons/ralphavane.0.0.png similarity index 100% rename from icons/ralphavane.0.0.png rename to B737-800X/icons/ralphavane.0.0.png diff --git a/icons/ralphavane.1.0.png b/B737-800X/icons/ralphavane.1.0.png similarity index 100% rename from icons/ralphavane.1.0.png rename to B737-800X/icons/ralphavane.1.0.png diff --git a/icons/ramdoorfullopen.0.0.png b/B737-800X/icons/ramdoorfullopen.0.0.png similarity index 100% rename from icons/ramdoorfullopen.0.0.png rename to B737-800X/icons/ramdoorfullopen.0.0.png diff --git a/icons/ramdoorfullopen.1.0.png b/B737-800X/icons/ramdoorfullopen.1.0.png similarity index 100% rename from icons/ramdoorfullopen.1.0.png rename to B737-800X/icons/ramdoorfullopen.1.0.png diff --git a/icons/ramdoorfullopen.2.0.png b/B737-800X/icons/ramdoorfullopen.2.0.png similarity index 100% rename from icons/ramdoorfullopen.2.0.png rename to B737-800X/icons/ramdoorfullopen.2.0.png diff --git a/icons/rbottledischarge.0.0.png b/B737-800X/icons/rbottledischarge.0.0.png similarity index 100% rename from icons/rbottledischarge.0.0.png rename to B737-800X/icons/rbottledischarge.0.0.png diff --git a/icons/rbottledischarge.1.0.png b/B737-800X/icons/rbottledischarge.1.0.png similarity index 100% rename from icons/rbottledischarge.1.0.png rename to B737-800X/icons/rbottledischarge.1.0.png diff --git a/icons/relevpitot.0.0.png b/B737-800X/icons/relevpitot.0.0.png similarity index 100% rename from icons/relevpitot.0.0.png rename to B737-800X/icons/relevpitot.0.0.png diff --git a/icons/relevpitot.1.0.png b/B737-800X/icons/relevpitot.1.0.png similarity index 100% rename from icons/relevpitot.1.0.png rename to B737-800X/icons/relevpitot.1.0.png diff --git a/icons/rightaftoverwing.0.0.png b/B737-800X/icons/rightaftoverwing.0.0.png similarity index 100% rename from icons/rightaftoverwing.0.0.png rename to B737-800X/icons/rightaftoverwing.0.0.png diff --git a/icons/rightaftoverwing.1.0.png b/B737-800X/icons/rightaftoverwing.1.0.png similarity index 100% rename from icons/rightaftoverwing.1.0.png rename to B737-800X/icons/rightaftoverwing.1.0.png diff --git a/icons/rightfwdoverwing.0.0.png b/B737-800X/icons/rightfwdoverwing.0.0.png similarity index 100% rename from icons/rightfwdoverwing.0.0.png rename to B737-800X/icons/rightfwdoverwing.0.0.png diff --git a/icons/rightfwdoverwing.1.0.png b/B737-800X/icons/rightfwdoverwing.1.0.png similarity index 100% rename from icons/rightfwdoverwing.1.0.png rename to B737-800X/icons/rightfwdoverwing.1.0.png diff --git a/icons/rightgear.0.0.png b/B737-800X/icons/rightgear.0.0.png similarity index 100% rename from icons/rightgear.0.0.png rename to B737-800X/icons/rightgear.0.0.png diff --git a/icons/rightgear.1.0.png b/B737-800X/icons/rightgear.1.0.png similarity index 100% rename from icons/rightgear.1.0.png rename to B737-800X/icons/rightgear.1.0.png diff --git a/icons/rvalveopen.0.0.png b/B737-800X/icons/rvalveopen.0.0.png similarity index 100% rename from icons/rvalveopen.0.0.png rename to B737-800X/icons/rvalveopen.0.0.png diff --git a/icons/rvalveopen.1.0.png b/B737-800X/icons/rvalveopen.1.0.png similarity index 100% rename from icons/rvalveopen.1.0.png rename to B737-800X/icons/rvalveopen.1.0.png diff --git a/icons/rvalveopen.2.0.png b/B737-800X/icons/rvalveopen.2.0.png similarity index 100% rename from icons/rvalveopen.2.0.png rename to B737-800X/icons/rvalveopen.2.0.png diff --git a/icons/smoke.0.0.png b/B737-800X/icons/smoke.0.0.png similarity index 100% rename from icons/smoke.0.0.png rename to B737-800X/icons/smoke.0.0.png diff --git a/icons/smoke.1.0.png b/B737-800X/icons/smoke.1.0.png similarity index 100% rename from icons/smoke.1.0.png rename to B737-800X/icons/smoke.1.0.png diff --git a/icons/sourceoff.0.0.png b/B737-800X/icons/sourceoff.0.0.png similarity index 100% rename from icons/sourceoff.0.0.png rename to B737-800X/icons/sourceoff.0.0.png diff --git a/icons/sourceoff.1.0.png b/B737-800X/icons/sourceoff.1.0.png similarity index 100% rename from icons/sourceoff.1.0.png rename to B737-800X/icons/sourceoff.1.0.png diff --git a/icons/sparvalveclosed.0.0.png b/B737-800X/icons/sparvalveclosed.0.0.png similarity index 100% rename from icons/sparvalveclosed.0.0.png rename to B737-800X/icons/sparvalveclosed.0.0.png diff --git a/icons/sparvalveclosed.1.0.png b/B737-800X/icons/sparvalveclosed.1.0.png similarity index 100% rename from icons/sparvalveclosed.1.0.png rename to B737-800X/icons/sparvalveclosed.1.0.png diff --git a/icons/sparvalveclosed.2.0.png b/B737-800X/icons/sparvalveclosed.2.0.png similarity index 100% rename from icons/sparvalveclosed.2.0.png rename to B737-800X/icons/sparvalveclosed.2.0.png diff --git a/icons/spdref.0.0.png b/B737-800X/icons/spdref.0.0.png similarity index 100% rename from icons/spdref.0.0.png rename to B737-800X/icons/spdref.0.0.png diff --git a/icons/spdref.1.0.png b/B737-800X/icons/spdref.1.0.png similarity index 100% rename from icons/spdref.1.0.png rename to B737-800X/icons/spdref.1.0.png diff --git a/icons/spdref.2.0.png b/B737-800X/icons/spdref.2.0.png similarity index 100% rename from icons/spdref.2.0.png rename to B737-800X/icons/spdref.2.0.png diff --git a/icons/spdref.3.0.png b/B737-800X/icons/spdref.3.0.png similarity index 100% rename from icons/spdref.3.0.png rename to B737-800X/icons/spdref.3.0.png diff --git a/icons/spdref.4.0.png b/B737-800X/icons/spdref.4.0.png similarity index 100% rename from icons/spdref.4.0.png rename to B737-800X/icons/spdref.4.0.png diff --git a/icons/spdref.5.0.png b/B737-800X/icons/spdref.5.0.png similarity index 100% rename from icons/spdref.5.0.png rename to B737-800X/icons/spdref.5.0.png diff --git a/icons/spdref.6.0.png b/B737-800X/icons/spdref.6.0.png similarity index 100% rename from icons/spdref.6.0.png rename to B737-800X/icons/spdref.6.0.png diff --git a/icons/speed.0.0.png b/B737-800X/icons/speed.0.0.png similarity index 100% rename from icons/speed.0.0.png rename to B737-800X/icons/speed.0.0.png diff --git a/icons/speed.1.0.png b/B737-800X/icons/speed.1.0.png similarity index 100% rename from icons/speed.1.0.png rename to B737-800X/icons/speed.1.0.png diff --git a/icons/speedbrakearmed.0.0.png b/B737-800X/icons/speedbrakearmed.0.0.png similarity index 100% rename from icons/speedbrakearmed.0.0.png rename to B737-800X/icons/speedbrakearmed.0.0.png diff --git a/icons/speedbrakearmed.1.0.png b/B737-800X/icons/speedbrakearmed.1.0.png similarity index 100% rename from icons/speedbrakearmed.1.0.png rename to B737-800X/icons/speedbrakearmed.1.0.png diff --git a/icons/speedbrakedonotarm.0.0.png b/B737-800X/icons/speedbrakedonotarm.0.0.png similarity index 100% rename from icons/speedbrakedonotarm.0.0.png rename to B737-800X/icons/speedbrakedonotarm.0.0.png diff --git a/icons/speedbrakedonotarm.1.0.png b/B737-800X/icons/speedbrakedonotarm.1.0.png similarity index 100% rename from icons/speedbrakedonotarm.1.0.png rename to B737-800X/icons/speedbrakedonotarm.1.0.png diff --git a/icons/speedbrakesextended.0.0.png b/B737-800X/icons/speedbrakesextended.0.0.png similarity index 100% rename from icons/speedbrakesextended.0.0.png rename to B737-800X/icons/speedbrakesextended.0.0.png diff --git a/icons/speedbrakesextended.1.0.png b/B737-800X/icons/speedbrakesextended.1.0.png similarity index 100% rename from icons/speedbrakesextended.1.0.png rename to B737-800X/icons/speedbrakesextended.1.0.png diff --git a/icons/speedtrimfail.0.0.png b/B737-800X/icons/speedtrimfail.0.0.png similarity index 100% rename from icons/speedtrimfail.0.0.png rename to B737-800X/icons/speedtrimfail.0.0.png diff --git a/icons/speedtrimfail.1.0.png b/B737-800X/icons/speedtrimfail.1.0.png similarity index 100% rename from icons/speedtrimfail.1.0.png rename to B737-800X/icons/speedtrimfail.1.0.png diff --git a/icons/staboutoftrim.0.0.png b/B737-800X/icons/staboutoftrim.0.0.png similarity index 100% rename from icons/staboutoftrim.0.0.png rename to B737-800X/icons/staboutoftrim.0.0.png diff --git a/icons/staboutoftrim.1.0.png b/B737-800X/icons/staboutoftrim.1.0.png similarity index 100% rename from icons/staboutoftrim.1.0.png rename to B737-800X/icons/staboutoftrim.1.0.png diff --git a/icons/standbypwroff.0.0.png b/B737-800X/icons/standbypwroff.0.0.png similarity index 100% rename from icons/standbypwroff.0.0.png rename to B737-800X/icons/standbypwroff.0.0.png diff --git a/icons/standbypwroff.1.0.png b/B737-800X/icons/standbypwroff.1.0.png similarity index 100% rename from icons/standbypwroff.1.0.png rename to B737-800X/icons/standbypwroff.1.0.png diff --git a/icons/takeoffconfig.0.0.png b/B737-800X/icons/takeoffconfig.0.0.png similarity index 100% rename from icons/takeoffconfig.0.0.png rename to B737-800X/icons/takeoffconfig.0.0.png diff --git a/icons/takeoffconfig.1.0.png b/B737-800X/icons/takeoffconfig.1.0.png similarity index 100% rename from icons/takeoffconfig.1.0.png rename to B737-800X/icons/takeoffconfig.1.0.png diff --git a/icons/tempprobe.0.0.png b/B737-800X/icons/tempprobe.0.0.png similarity index 100% rename from icons/tempprobe.0.0.png rename to B737-800X/icons/tempprobe.0.0.png diff --git a/icons/tempprobe.1.0.png b/B737-800X/icons/tempprobe.1.0.png similarity index 100% rename from icons/tempprobe.1.0.png rename to B737-800X/icons/tempprobe.1.0.png diff --git a/icons/transferbusoff.0.0.png b/B737-800X/icons/transferbusoff.0.0.png similarity index 100% rename from icons/transferbusoff.0.0.png rename to B737-800X/icons/transferbusoff.0.0.png diff --git a/icons/transferbusoff.1.0.png b/B737-800X/icons/transferbusoff.1.0.png similarity index 100% rename from icons/transferbusoff.1.0.png rename to B737-800X/icons/transferbusoff.1.0.png diff --git a/icons/trunit.0.0.png b/B737-800X/icons/trunit.0.0.png similarity index 100% rename from icons/trunit.0.0.png rename to B737-800X/icons/trunit.0.0.png diff --git a/icons/trunit.1.0.png b/B737-800X/icons/trunit.1.0.png similarity index 100% rename from icons/trunit.1.0.png rename to B737-800X/icons/trunit.1.0.png diff --git a/icons/valveopen.0.0.png b/B737-800X/icons/valveopen.0.0.png similarity index 100% rename from icons/valveopen.0.0.png rename to B737-800X/icons/valveopen.0.0.png diff --git a/icons/valveopen.1.0.png b/B737-800X/icons/valveopen.1.0.png similarity index 100% rename from icons/valveopen.1.0.png rename to B737-800X/icons/valveopen.1.0.png diff --git a/icons/valveopen.2.0.png b/B737-800X/icons/valveopen.2.0.png similarity index 100% rename from icons/valveopen.2.0.png rename to B737-800X/icons/valveopen.2.0.png diff --git a/icons/vnav.0.0.png b/B737-800X/icons/vnav.0.0.png similarity index 100% rename from icons/vnav.0.0.png rename to B737-800X/icons/vnav.0.0.png diff --git a/icons/vnav.1.0.png b/B737-800X/icons/vnav.1.0.png similarity index 100% rename from icons/vnav.1.0.png rename to B737-800X/icons/vnav.1.0.png diff --git a/icons/vorloc.0.0.png b/B737-800X/icons/vorloc.0.0.png similarity index 100% rename from icons/vorloc.0.0.png rename to B737-800X/icons/vorloc.0.0.png diff --git a/icons/vorloc.1.0.png b/B737-800X/icons/vorloc.1.0.png similarity index 100% rename from icons/vorloc.1.0.png rename to B737-800X/icons/vorloc.1.0.png diff --git a/icons/vs.0.0.png b/B737-800X/icons/vs.0.0.png similarity index 100% rename from icons/vs.0.0.png rename to B737-800X/icons/vs.0.0.png diff --git a/icons/vs.1.0.png b/B737-800X/icons/vs.1.0.png similarity index 100% rename from icons/vs.1.0.png rename to B737-800X/icons/vs.1.0.png diff --git a/icons/wheelwell.0.0.png b/B737-800X/icons/wheelwell.0.0.png similarity index 100% rename from icons/wheelwell.0.0.png rename to B737-800X/icons/wheelwell.0.0.png diff --git a/icons/wheelwell.1.0.png b/B737-800X/icons/wheelwell.1.0.png similarity index 100% rename from icons/wheelwell.1.0.png rename to B737-800X/icons/wheelwell.1.0.png diff --git a/icons/wingbodyoverheat.0.0.png b/B737-800X/icons/wingbodyoverheat.0.0.png similarity index 100% rename from icons/wingbodyoverheat.0.0.png rename to B737-800X/icons/wingbodyoverheat.0.0.png diff --git a/icons/wingbodyoverheat.1.0.png b/B737-800X/icons/wingbodyoverheat.1.0.png similarity index 100% rename from icons/wingbodyoverheat.1.0.png rename to B737-800X/icons/wingbodyoverheat.1.0.png diff --git a/icons/wipers.0.0.png b/B737-800X/icons/wipers.0.0.png similarity index 100% rename from icons/wipers.0.0.png rename to B737-800X/icons/wipers.0.0.png diff --git a/icons/wipers.1.0.png b/B737-800X/icons/wipers.1.0.png similarity index 100% rename from icons/wipers.1.0.png rename to B737-800X/icons/wipers.1.0.png diff --git a/icons/wipers.2.0.png b/B737-800X/icons/wipers.2.0.png similarity index 100% rename from icons/wipers.2.0.png rename to B737-800X/icons/wipers.2.0.png diff --git a/icons/wipers.3.0.png b/B737-800X/icons/wipers.3.0.png similarity index 100% rename from icons/wipers.3.0.png rename to B737-800X/icons/wipers.3.0.png diff --git a/icons/xpdr.0.0.png b/B737-800X/icons/xpdr.0.0.png similarity index 100% rename from icons/xpdr.0.0.png rename to B737-800X/icons/xpdr.0.0.png diff --git a/icons/xpdr.1.0.png b/B737-800X/icons/xpdr.1.0.png similarity index 100% rename from icons/xpdr.1.0.png rename to B737-800X/icons/xpdr.1.0.png diff --git a/icons/xpdr.2.0.png b/B737-800X/icons/xpdr.2.0.png similarity index 100% rename from icons/xpdr.2.0.png rename to B737-800X/icons/xpdr.2.0.png diff --git a/icons/xpdr.3.0.png b/B737-800X/icons/xpdr.3.0.png similarity index 100% rename from icons/xpdr.3.0.png rename to B737-800X/icons/xpdr.3.0.png diff --git a/icons/xpdr.4.0.png b/B737-800X/icons/xpdr.4.0.png similarity index 100% rename from icons/xpdr.4.0.png rename to B737-800X/icons/xpdr.4.0.png diff --git a/icons/xpdr.5.0.png b/B737-800X/icons/xpdr.5.0.png similarity index 100% rename from icons/xpdr.5.0.png rename to B737-800X/icons/xpdr.5.0.png diff --git a/icons/yawdamper.0.0.png b/B737-800X/icons/yawdamper.0.0.png similarity index 100% rename from icons/yawdamper.0.0.png rename to B737-800X/icons/yawdamper.0.0.png diff --git a/icons/yawdamper.1.0.png b/B737-800X/icons/yawdamper.1.0.png similarity index 100% rename from icons/yawdamper.1.0.png rename to B737-800X/icons/yawdamper.1.0.png diff --git a/icons/zonetemp.0.0.png b/B737-800X/icons/zonetemp.0.0.png similarity index 100% rename from icons/zonetemp.0.0.png rename to B737-800X/icons/zonetemp.0.0.png diff --git a/icons/zonetemp.1.0.png b/B737-800X/icons/zonetemp.1.0.png similarity index 100% rename from icons/zonetemp.1.0.png rename to B737-800X/icons/zonetemp.1.0.png diff --git a/B737-800X/right.yaml b/B737-800X/right.yaml index d3ace51..b4fabd5 100644 --- a/B737-800X/right.yaml +++ b/B737-800X/right.yaml @@ -135,8 +135,8 @@ actions: name: park brake type: single file-names: - - white-button - - red-button + - whiteann + - redann dataref: laminar/B738/parking_brake_pos command: sim/flight_controls/brakes_toggle_max label: PARK BRAKE diff --git a/README.md b/README.md index c0a0b74..7235a83 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,11 @@ This software includes rich set of features for robust control of the simulator Developed with the idea taking away mouse controlling of most of the cockpit, works best together with other simulator peripherals (e.g. radio, A/P panel etc.) -**Note that configuration was done for 737 NG by Zibo only for now.** +**Supported planes:** +- Boeing 737 NG by **Zibo** +- Cessna 172 by Laminar Research -**Currently supporting**: -- Stream Deck Mini -- Stream Deck MK1 (MK2 should work too) -- Stream Deck XL (tested) +Working across all Stream Deck versions, but ready to use configurations are made for the XL version. ### Features: - Sync with X-Plane's dataref to visually depict the actual state @@ -75,12 +74,15 @@ from the official documentation source number** and number of keys according to your model. - Execute the xplane-streamdeck script to find the serial number out - Check the font, IP addresses / ports and X-Plane's UDP server status in case of a problem -7. **Add the `streamdeck_handlers.lua` to `X-Plane 11\Resources\plugins\FlyWithLua\Scripts`** +7. **Add the streamdeck handlers to `X-Plane 11\Resources\plugins\FlyWithLua\Scripts`** - Ensure you have **FlyWithLua** installed +- Copy the streamdeck_handler_*[plane code]*.lua files from the `misc/` directory ## Usage Instructions for **Windows** +Choose desired plane type configuration in `config.yaml` + **Execute the script by running the `main.py` with Python 3 by:** running `.../xplane-streamdeck> python .\main.py` under the *xplane-streamdeck* directory, @@ -115,9 +117,8 @@ to always see the up-to-date configuration state (or simply remove it, but the c **Refer to the `B737-800X/README.md` for a guide on how to create/edit buttons.** ### What is planned / WIP? -- More types of labels +- Backward compatible GUI Drag 'n Drop utility for managing the plane presets - Own X-Plane UDP handler -- Multi deck support ### Known Issues - There is currently a bug in **pyxpudpserver** that sometimes causes the dataref updating of buttons to @@ -150,6 +151,10 @@ IBM Plex™ is an international typeface family designed by Mike Abbink, IBM BX& an independent Dutch type foundry. Plex was designed to capture IBM’s spirit and history, and to illustrate the unique relationship between mankind and machine—a principal theme for IBM since the turn of the century. +### Contributors +I would like to thank the following members of the flight sim community for participating in this open source project. + - **esmiol** from *x-plane.org* forums - for creating the Cessna 172 configuration and graphics + ## License BSD 2-Clause License diff --git a/dynamic.py b/dynamic.py index 632ce74..7e69541 100644 --- a/dynamic.py +++ b/dynamic.py @@ -1,6 +1,7 @@ import numpy as np from PIL import Image, ImageDraw, ImageFont from StreamDeck.ImageHelpers import PILHelper +import imgio def get_dataref_states(element, button_self): @@ -42,11 +43,15 @@ def get_text_pos(deck, special): return special["text-center"] +def load_truetype_font(element): + return ImageFont.truetype(element["font-path"], element["font-size"]) + + # # gauges # -def load_gauge_images(gauge, deck, file_names): +def load_gauge_images(gauge, deck, plane_conf_dir, file_names): center_needle = (float(gauge["needle-center"]["x"]), float(gauge["needle-center"]["y"])) total_range = float(gauge["max"] + 1) - float(gauge["min"]) needle_multiplier = -float(gauge["range-degrees"]) / total_range @@ -55,8 +60,8 @@ def load_gauge_images(gauge, deck, file_names): # paths should be preprocessed from the Button __init__ constructor # thus no need to apply get_filename_button_static_png - needle = Image.open(gauge["needle"]) - background = Image.open(gauge["background"]) + needle = imgio.open_icon_asset(plane_conf_dir, (gauge["needle"])) + background = imgio.open_icon_asset(plane_conf_dir, (gauge["background"])) for i, fn in enumerate(file_names): final_img = background.copy() @@ -74,7 +79,7 @@ def load_gauge_images(gauge, deck, file_names): # -def load_display_images(display, deck, file_names, dataref_states): +def load_display_images(display, deck, plane_conf_dir, file_names, dataref_states, special_labels): set_images = {} # if user preconfigured 'x' or 'y' position of text as center, we must set it here -> @@ -82,10 +87,14 @@ def load_display_images(display, deck, file_names, dataref_states): # paths should be preprocessed from the Button __init__ constructor # thus no need to apply get_filename_button_static_png - background = Image.open(display["background"]) + background = imgio.open_icon_asset(plane_conf_dir, display["background"]) # todo how not to load font every single time ? current_font = ImageFont.truetype(display["font-path"], display["font-size"]) - + sl_fonts = None + if special_labels: + sl_fonts = np.empty(len(special_labels), dtype=object) + for i, spec_label in enumerate(special_labels): + sl_fonts[i] = load_truetype_font(spec_label) if len(dataref_states) != len(file_names): print("display of name {} has not the same len of dataref_states and file_names. this should not happen," "submit a issue on wortelus/xplane-streamdeck GitHub repository, please".format(display["name"])) @@ -96,7 +105,7 @@ def load_display_images(display, deck, file_names, dataref_states): if display["keep-decimal"]: if display["zero-pad"]: - display_text = str(dataref_states[i] / display["decimal-divider"])\ + display_text = str(dataref_states[i] / display["decimal-divider"]) \ .zfill(display["zero-pad"]) else: display_text = str(dataref_states[i] / display["decimal-divider"]) @@ -110,6 +119,12 @@ def load_display_images(display, deck, file_names, dataref_states): draw.text( (display["text-center"]["x"], display["text-center"]["y"]), text=display_text, font=current_font, anchor="ms", fill=display["color"]) + + # special labels + if special_labels: + for j, spec_label in enumerate(special_labels): + draw = load_special_label(spec_label, deck, draw, sl_fonts[j]) + set_images[fn] = PILHelper.to_native_format(deck, final_final_img) return set_images @@ -119,23 +134,30 @@ def load_display_images(display, deck, file_names, dataref_states): # special labels # - -def load_special_label(special_label, deck): +def create_special_label_signature(special_labels): + output = "SpecialLabel/" + for i, spec_label in enumerate(special_labels): + output += str(spec_label["text-center"]["x"]) + \ + str(spec_label["text-center"]["y"]) + \ + str(spec_label["label"]) + \ + str(spec_label["font-path"]) + \ + str(spec_label["font-size"]) + \ + str(spec_label["color"]) + \ + str(spec_label["direction"]) + \ + str(spec_label["align"]) + return output + + +def load_special_label(special_label, deck, draw, font=None): # if user preconfigured 'x' or 'y' position of text as center, we must set it here -> get_text_pos(deck, special_label) - # paths should be preprocessed from the Button __init__ constructor - # thus no need to apply get_filename_button_static_png - background = Image.open(special_label["background"]) - # todo how not to load font every single time ? - current_font = ImageFont.truetype(special_label["font-path"], special_label["font-size"]) - - final_img = background.copy() - final_final_img = PILHelper.create_scaled_image(deck, final_img, margins=[0, 0, 0, 0]) + if not font: + font = ImageFont.truetype(special_label["font-path"], special_label["font-size"]) - draw = ImageDraw.Draw(final_final_img) draw.text( (special_label["text-center"]["x"], special_label["text-center"]["y"]), - text=special_label["label"], font=current_font, anchor="ms", fill=special_label["color"], - direction=special_label["direction"], align=special_label["align"]) - return PILHelper.to_native_format(deck, final_final_img) + text=special_label["label"], font=font, anchor="ms", fill=special_label["color"], + # direction=special_label["direction"], ----- libraqm required + align=special_label["align"]) + return draw diff --git a/icons/blueann.png b/icons/blueann.png new file mode 100644 index 0000000..01e0b47 Binary files /dev/null and b/icons/blueann.png differ diff --git a/icons/down.png b/icons/down.png new file mode 100644 index 0000000..3eb0f87 Binary files /dev/null and b/icons/down.png differ diff --git a/icons/greenann.png b/icons/greenann.png new file mode 100644 index 0000000..8d0ec35 Binary files /dev/null and b/icons/greenann.png differ diff --git a/icons/left.png b/icons/left.png new file mode 100644 index 0000000..8c0f640 Binary files /dev/null and b/icons/left.png differ diff --git a/icons/orangeann.png b/icons/orangeann.png new file mode 100644 index 0000000..823a07a Binary files /dev/null and b/icons/orangeann.png differ diff --git a/icons/redann.png b/icons/redann.png new file mode 100644 index 0000000..bdf4ed2 Binary files /dev/null and b/icons/redann.png differ diff --git a/icons/right.png b/icons/right.png new file mode 100644 index 0000000..355c585 Binary files /dev/null and b/icons/right.png differ diff --git a/icons/up.png b/icons/up.png new file mode 100644 index 0000000..6c3b160 Binary files /dev/null and b/icons/up.png differ diff --git a/icons/whiteann.png b/icons/whiteann.png new file mode 100644 index 0000000..b7bbeb8 Binary files /dev/null and b/icons/whiteann.png differ diff --git a/icons/yellowann.png b/icons/yellowann.png new file mode 100644 index 0000000..6554df3 Binary files /dev/null and b/icons/yellowann.png differ diff --git a/imgio.py b/imgio.py new file mode 100644 index 0000000..7af2130 --- /dev/null +++ b/imgio.py @@ -0,0 +1,34 @@ +import sys +from os.path import join + +import PIL +from PIL import Image + +ASSETS_DIR = "icons" + + +# Hierarchical handler for opening icon assets first in the plane specific asset directory +# then trying the general asset directory +def open_icon_asset(plane_conf_dir, icon_filename): + try: + return Image.open(join(plane_conf_dir, ASSETS_DIR, icon_filename)) + except (FileNotFoundError, PIL.UnidentifiedImageError): + # the icon is not in the plane specific directory + # fallback to ASSET_DIR if no other unknown error is caught + pass + except Exception as e: + print("unknown error while opening icon {} in the plane specific {} directory" + .format(icon_filename, join(plane_conf_dir, ASSETS_DIR))) + print("fall backing to the general asset directory {}".format(ASSETS_DIR)) + print(e) + try: + return Image.open(join(ASSETS_DIR, icon_filename)) + except (FileNotFoundError, PIL.UnidentifiedImageError): + print("icon {} cannot be found either in the {} or {} directory" + .format(icon_filename, join(plane_conf_dir, ASSETS_DIR), ASSETS_DIR)) + sys.exit(1) + except Exception as e: + print("unknown error while opening icon {} in the general {} directory" + .format(icon_filename, ASSETS_DIR, e)) + print(e) + sys.exit(1) diff --git a/main.py b/main.py index ab216d8..3b962cf 100644 --- a/main.py +++ b/main.py @@ -232,7 +232,7 @@ def main(): print("note: caching is disabled, loading will be noticeably slower") print("you can enable it by setting the field 'cache-path' in config.yaml") images_all = preprocessing.load_images_datarefs_all( - current_deck, presets_all, global_cfg["always-upper-case"]) + current_deck, keys_dir, presets_all, global_cfg["always-upper-case"]) elif load_cached_img: # images are stored as cache, open and load print("cache file {} is present, skipping pre-generation.".format(cache_path)) diff --git a/misc/streamdeck_handlers_172.lua b/misc/streamdeck_handlers_172.lua new file mode 100644 index 0000000..918daf7 --- /dev/null +++ b/misc/streamdeck_handlers_172.lua @@ -0,0 +1,178 @@ +if not (PLANE_ICAO == "C172") then + return +end + + +-- Note these create command start and end make it so a key push can be held +-- added 172 This file is just for the stock 172 There are come commands for a G5 equipped 172 but they do not effect the stock 172 +-- Aug. 2022 +-- Aileron Trims + create_command( "FlyWithLua/streamdeck_handler/172_trim_ail_left_start", "172 Aileron Trim Left handler", "command_begin(\"sim/flight_controls/aileron_trim_left\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_trim_ail_left_end", "172 Aileron Trim Left handler", "command_end(\"sim/flight_controls/aileron_trim_left\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_trim_ail_center_start", "172 Aileron Trim Center handler", "command_begin(\"sim/flight_controls/aileron_trim_center\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_trim_ail_center_end", "172 Aileron Trim Center handler", "command_end(\"sim/flight_controls/aileron_trim_center\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_trim_ail_right_start", "172 Aileron Trim Right handler", "command_begin(\"sim/flight_controls/aileron_trim_right\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_trim_ail_right_end", "172 Aileron Trim Right handler", "command_end(\"sim/flight_controls/aileron_trim_right\")", "", "" ) + + -- Rudder Trims + create_command( "FlyWithLua/streamdeck_handler/172_trim_rud_left_start", "172 Rudder Trim Left handler", "command_begin(\"sim/flight_controls/rudder_trim_left\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_trim_rud_left_end", "172 Rudder Trim Left handler", "command_end(\"sim/flight_controls/rudder_trim_left\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_trim_rud_center_start", "172 Rudder Trim Center handler", "command_begin(\"sim/flight_controls/rudder_trim_center\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_trim_rud_center_end", "172 Rudder Trim Center handler", "command_end(\"sim/flight_controls/rudder_trim_center\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_trim_rud_right_start", "172 Rudder Trim Right handler", "command_begin(\"sim/flight_controls/rudder_trim_right\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_trim_rud_right_end", "172 Rudder Trim Right handler", "command_end(\"sim/flight_controls/rudder_trim_right\")", "", "" ) + +-- Pitch Trims + create_command( "FlyWithLua/streamdeck_handler/172_trim_pitch_down_start", "172 Pitch Trim Down handler", "command_begin(\"sim/flight_controls/pitch_trim_down\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_trim_pitch_down_end", "172 Pitch Trim Down handler", "command_end(\"sim/flight_controls/pitch_trim_down\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_trim_pitch_takeoff_start", "172 Pitch Trim Takeoff handler", "command_begin(\"sim/flight_controls/pitch_trim_takeoff\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_trim_pitch_takeoff_end", "172 Pitch Trim Takeoff handler", "command_end(\"sim/flight_controls/pitch_trim_takeoff\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_trim_pitch_up_start", "172 Pitch Trim Up handler", "command_begin(\"sim/flight_controls/pitch_trim_up\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_trim_pitch_up_end", "172 Pitch Trim Up handler", "command_end(\"sim/flight_controls/pitch_trim_up\")", "", "" ) + +-- G5 Keys + +-- G5 AI + create_command( "FlyWithLua/streamdeck_handler/172_ai_KnobL_start", "172 AI KnobL handler", "command_begin(\"afm/g5/cmd/a/knobL\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_ai_KnobL_end", "172 AI KnobL handler", "command_end(\"afm/g5/cmd/a/knobL\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_ai_knobPush_start", "172 AI KnobPush handler", "command_begin(\"afm/g5/cmd/a/knobPush\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_ai_KnobPush_end", "172 AI KnobPush handler", "command_end(\"afm/g5/cmd/a/knobPush\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_ai_KnobR_start", "172 AI KnobR handler", "command_begin(\"afm/g5/cmd/a/knobR\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_ai_KnobR_end", "172 AI KnobR handler", "command_end(\"afm/g5/cmd/a/knobR\")", "", "" ) + +-- G5 HSI + + create_command( "FlyWithLua/streamdeck_handler/172_hsi_KnobL_start", "172 HSI KnobL handler", "command_begin(\"afm/g5/cmd/b/knobL\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_hsi_KnobL_end", "172 HSI KnobL handler", "command_end(\"afm/g5/cmd/b/knobL\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_hsi_knobPush_start", "172 HSI KnobPush handler", "command_begin(\"afm/g5/cmd/b/knobPush\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_hsi_KnobPush_end", "172 HSI KnobPush handler", "command_end(\"afm/g5/cmd/b/knobPush\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_hsi_KnobR_start", "172 HSI KnobR handler", "command_begin(\"afm/g5/cmd/b/knobR\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_hsi_KnobR_end", "172 HSI KnobR handler", "command_end(\"afm/g5/cmd/b/knobR\")", "", "" ) + +-- G5 Keys End + +-- Upper panel ALT, NAV1 CDI NAV2 CDI Start + +-- ALT + +-- Not using too large a change +-- create_command( "FlyWithLua/streamdeck_handler/172_alt_barometer_down_start", "172 ALT Barometer Down handler", "command_begin(\"sim/instruments/barometer_down\")", "", "" ) +-- create_command( "FlyWithLua/streamdeck_handler/172_alt_barometer_down_end", "172 ALT Barometer Down handler", "command_end(\"sim/instruments/barometer_down\")", "", "" ) + + + create_command( "FlyWithLua/streamdeck_handler/172_alt_barometer_push_start", "172 ALT Barometer Push handler", "command_begin(\"sim/instruments/barometer_2992\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_alt_barometer_push_end", "172 ALT Barometer Push handler", "command_end(\"sim/instruments/barometer_2992\")", "", "" ) + +-- Not using too large a change +-- create_command( "FlyWithLua/streamdeck_handler/172_alt_barometer_up_start", "172 ALT Barometer Up handler", "command_begin(\"sim/instruments/barometer_up\")", "", "" ) +-- create_command( "FlyWithLua/streamdeck_handler/172_alt_barometer_up_end", "172 ALT Barometer Up handler", "command_end(\"sim/instruments/barometer_up\")", "", "" ) + +-- CDI's + create_command( "FlyWithLua/streamdeck_handler/172_nav1_cdi_down_start", "172 NAV1 CDI Down handler", "command_begin(\"sim/radios/obs1_down\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_nav1_cdi_down_end", "172 NAV1 CDI Down handler", "command_end(\"sim/radios/obs1_down\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_nav1_cdi_up_start", "172 NAV1 CDI Up handler", "command_begin(\"sim/radios/obs1_up\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_nav1_cdi_up_end", "172 NAV1 CDI Up handler", "command_end(\"sim/radios/obs1_up\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_nav2_cdi_down_start", "172 NAV2 CDI Down handler", "command_begin(\"sim/radios/obs2_down\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_nav2_cdi_down_end", "172 NAV2 CDI Down handler", "command_end(\"sim/radios/obs2_down\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_nav2_cdi_up_start", "172 NAV2 CDI Up handler", "command_begin(\"sim/radios/obs2_up\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_nav2_cdi_up_end", "172 NAV2 CDI Up handler", "command_end(\"sim/radios/obs2_up\")", "", "" ) + +-- Upper panel ALT, NAV1 CDI NAV2 CDI End + +-- 172 Non G5 Keys AI HSI Start +-- AI + create_command( "FlyWithLua/streamdeck_handler/172_ai_down_start", "172 AI Down handler", "command_begin(\"sim/instruments/ah_ref_down\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_ai_down_end", "172 AI Down handler", "command_end(\"sim/instruments/ah_ref_down\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_ai_up_start", "172 AI Up handler", "command_begin(\"sim/instruments/ah_ref_up\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_ai_up_end", "172 AI Up handler", "command_end(\"sim/instruments/ah_ref_up\")", "", "" ) + +--- DG +-- DG Left Knob Note a push on this key will sync the heading to the compass but it doesn't need to be a push and hold + create_command( "FlyWithLua/streamdeck_handler/172_dg_sync_down_start", "172 DG Sync Down handler", "command_begin(\"sim/instruments/DG_sync_down\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_dg_sync_down_end", "172 DG Sync Down handler", "command_end(\"sim/instruments/DG_sync_down\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_dg_sync_up_start", "172 DG Sync Up handler", "command_begin(\"sim/instruments/DG_sync_up\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_dg_sync_up_end", "172 DG Sync Up handler", "command_end(\"sim/instruments/DG_sync_up\")", "", "" ) + +-- DG Right Knob + create_command( "FlyWithLua/streamdeck_handler/172_dg_heading_down_start", "172 DG Heading Down handler", "command_begin(\"sim/autopilot/heading_down\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_dg_heading_down_end", "172 DG Heading Down handler", "command_end(\"sim/autopilot/heading_down\")", "", "" ) + + create_command( "FlyWithLua/streamdeck_handler/172_dg_heading_up_start", "172 DG Heading Up handler", "command_begin(\"sim/autopilot/heading_up\")", "", "" ) + create_command( "FlyWithLua/streamdeck_handler/172_dg_heading_up_end", "172 DG Heading Up handler", "command_end(\"sim/autopilot/heading_up\")", "", "" ) + +-- 172 Non G5 Keys AI HSI End + + +-- script to read the squawk code dataref and return 4 datarefs one for each digit +-- sim/cockpit/radios/transponder_code # 1234 +-- 1200 -> 1, 2, 0, 0 + +--------------------------------------------------------------------------- Reading datarefs +dataref("squawkcode", "sim/cockpit/radios/transponder_code", "readonly") +dataref("framer", "sim/operation/misc/frame_rate_period", "readonly") + +------------------------------------------------------------------------------------- Create datarefs +squawk1000 = create_dataref_table("FlyWithLua/streamdeck_handler/squawk1000", "Int") +squawk100 = create_dataref_table("FlyWithLua/streamdeck_handler/squawk100", "Int") +squawk10 = create_dataref_table("FlyWithLua/streamdeck_handler/squawk10", "Int") +squawk1 = create_dataref_table("FlyWithLua/streamdeck_handler/squawk1", "Int") +frame_rate = create_dataref_table("FlyWithLua/streamdeck_handler/frame_rate", "Float") -- Frame Rate to pass to the Stream Deck + +local SC1 +local Squawk_hold + +squawk1000[0] = 0 +squawk100[0] = 0 +squawk10[0] = 0 +squawk1[0] = 0 +frame_rate[0] = 0 +Squawk_hold = 9999 + +function updatesquawk () + if Squawk_hold ~= squawkcode then + squawk1000[0] = squawkcode / 1000 + SC1= squawkcode % 1000 + squawk100[0] = SC1 / 100 + SC1 = SC1 % 100 + squawk10[0] = SC1 / 10 + squawk1[0] = SC1 % 10 + Squawk_hold = squawkcode + end +end + +do_every_draw("updatesquawk()") + + function updateframe () + frame_rate[0] = 1/framer + end + do_often("updateframe()") -- Every 1 Sec + + +-- End Added 172 + + + + + + + + + + + + diff --git a/misc/streamdeck_handlers.lua b/misc/streamdeck_handlers_737.lua similarity index 99% rename from misc/streamdeck_handlers.lua rename to misc/streamdeck_handlers_737.lua index 9d7314c..70c9a90 100644 --- a/misc/streamdeck_handlers.lua +++ b/misc/streamdeck_handlers_737.lua @@ -1,3 +1,7 @@ +if not (PLANE_ICAO == "B736" or PLANE_ICAO == "B737" or PLANE_ICAO == "B738" or PLANE_ICAO == "B739" or PLANE_ICAO == "B38M") then + return +end + create_command( "FlyWithLua/streamdeck_handler/fire_test_right_start", "fire test zibo right start handler", "command_begin(\"laminar/B738/toggle_switch/fire_test_rgt\")", "", "" ) create_command( "FlyWithLua/streamdeck_handler/fire_test_right_end", "fire test zibo right end handler", "command_end(\"laminar/B738/toggle_switch/fire_test_rgt\")", "", "" ) create_command( "FlyWithLua/streamdeck_handler/fire_test_left_start", "fire test zibo left start handler", "command_begin(\"laminar/B738/toggle_switch/fire_test_lft\")", "", "" ) diff --git a/preprocessing.py b/preprocessing.py index 75d4097..0edb930 100644 --- a/preprocessing.py +++ b/preprocessing.py @@ -1,11 +1,11 @@ import logging -import os.path +from os.path import join import sys import numpy as np import yaml from yaml import safe_load -from PIL import Image, ImageDraw, ImageFont +from PIL import ImageDraw, ImageFont from StreamDeck.ImageHelpers import PILHelper try: @@ -23,10 +23,14 @@ except ImportError: print("You don't seem to have sanity.py near its main.py and preprocessing.py. correct your installation") sys.exit(1) +try: + import imgio +except ImportError: + print("You don't seem to have imgio.py near its main.py and preprocessing.py. correct your installation") + sys.exit(1) ACTION_CFG = "actions.yaml" ACTION_CFG_NAME = "actions" -ASSETS_DIR = "icons" DEFAULT_FONT = None DEFAULT_FONT_SIZE = 10 @@ -47,11 +51,11 @@ def load_default_font(path, size): def get_filename_button_static_png(icon_name): - return os.path.join(ASSETS_DIR, icon_name + ".png") + return join(icon_name + ".png") def get_filename_button_dataref_png(icon_name, state): - return os.path.join(ASSETS_DIR, icon_name + "." + str(state) + ".png") + return join(icon_name + "." + str(state) + ".png") class Button(object): @@ -59,7 +63,7 @@ def __init__(self, index, name, icon, cmd_type, label=None, dataref=None, datare dataref_states=None, dataref_default=None, file_names=None, auto_switch=True, cmd=None, cmd_mul=None, cmd_release=None, cmd_release_mul=None, cmd_on=None, cmd_off=None, cmd_on_mul=None, cmd_off_mul=None, - gauge=None, display=None, special_label=None): + gauge=None, display=None, special_labels=None): # Constants sanity.vital_check(index, name) @@ -116,9 +120,11 @@ def __init__(self, index, name, icon, cmd_type, label=None, dataref=None, datare # Runtime Variables self.current = dataref_default + # special labels do not need any type of preprocessing in this constructor + self.special_labels = special_labels + self.gauge = None self.display = None - self.special_label = None if file_names is not None: # sanity check file_names corresponding to dataref_states sanity.file_names_check(index, name, file_names, self.dataref_states) @@ -157,9 +163,6 @@ def __init__(self, index, name, icon, cmd_type, label=None, dataref=None, datare self.display["background"] = get_filename_button_static_png(display["background"]) self.file_names = dynamic.create_dynamic_filenames(self.display["name"], self.dataref_states) - elif special_label: - # todo - pass elif self.dataref_states is not None: if icon is None: logging.error("#{} {} is trying to set dataref_states without the 'icon' parameter, quitting..." @@ -180,7 +183,7 @@ def __init__(self, index, name, icon, cmd_type, label=None, dataref=None, datare def load_preset(target_dir, yaml_keyset, deck_key_count, preload_labels=False): - with open(os.path.join(target_dir, yaml_keyset)) as stream: + with open(join(target_dir, yaml_keyset)) as stream: try: preset_cfg = safe_load(stream) except yaml.YAMLError as err: @@ -225,7 +228,7 @@ def load_preset(target_dir, yaml_keyset, deck_key_count, preload_labels=False): key.get("commands-off"), key.get("gauge"), key.get("display"), - key.get("special-label"), + key.get("special-labels"), ) # restoring images from cache file (preload_labels flag) @@ -311,16 +314,25 @@ def load_datarefs(presets_all): # taken from https://python-elgato-streamdeck.readthedocs.io/en/stable/examples/basic.html -def render_key_image(deck, icon_filename, label_text, only_uppercase=False): +def render_key_image(deck, plane_conf_dir, icon_filename, label_text, special_labels, only_uppercase=False): + # Ask forgiveness, not permission + # This way we use nested approach to check first the plane specific icon set directory, + # and next the icons/ directory for the asset + icon = imgio.open_icon_asset(plane_conf_dir, icon_filename) + # Resize the source image asset to best-fit the dimensions of a single key, # leaving a margin at the bottom so that we can draw the key title # afterwards. - icon = Image.open(icon_filename) image = PILHelper.create_scaled_image(deck, icon, margins=[0, 0, 0, 0]) # Load a custom TrueType font and use it to overlay the key index, draw key # label onto the image a few pixels from the bottom of the key. draw = ImageDraw.Draw(image) + if special_labels: + for i, spec_label in enumerate(special_labels): + draw = dynamic.load_special_label(spec_label, deck, draw) + + global DEFAULT_FONT if label_text: if only_uppercase and not label_text.isupper(): @@ -332,7 +344,7 @@ def render_key_image(deck, icon_filename, label_text, only_uppercase=False): return PILHelper.to_native_format(deck, image) -def load_images_datarefs(deck, presets_dir, only_uppercase): +def load_images_datarefs(deck, plane_conf_dir, presets_dir, only_uppercase): set_images = {} for _, button in enumerate(presets_dir): if button is None: @@ -344,22 +356,26 @@ def load_images_datarefs(deck, presets_dir, only_uppercase): print("wait... presets for gauge {} already generated, skipping...".format(button.gauge["name"])) continue print("wait... generating gauge presets for {}".format(button.gauge["name"])) - set_images.update(dynamic.load_gauge_images(button.gauge, deck, button.file_names)) + set_images.update(dynamic.load_gauge_images(button.gauge, deck, plane_conf_dir, + button.file_names)) IMAGES_ALREADY_GENERATED[button.gauge["name"]] = "True" continue + # special case - display if button.display: if button.display["name"] in IMAGES_ALREADY_GENERATED: print("wait... presets for display {} already generated, skipping...".format(button.display["name"])) continue print("wait... generating display presets for {}".format(button.display["name"])) - set_images.update(dynamic.load_display_images(button.display, deck, - button.file_names, button.dataref_states)) + set_images.update(dynamic.load_display_images(button.display, deck, plane_conf_dir, + button.file_names, button.dataref_states, + button.special_labels)) IMAGES_ALREADY_GENERATED[button.display["name"]] = "True" continue for i, state_name in enumerate(button.file_names): if state_name not in set_images: - state_image = render_key_image(deck, state_name, button.label, only_uppercase) + state_image = render_key_image(deck, plane_conf_dir, state_name, + button.label, button.special_labels, only_uppercase) # change file_names in preset according to images_all, allowing same icons with different labels # notice how this is executed in the post-processing stage @@ -367,16 +383,21 @@ def load_images_datarefs(deck, presets_dir, only_uppercase): if button.label: state_name = button.label + state_name button.file_names[i] = state_name + if button.special_labels: + prefix_state_name = dynamic.create_special_label_signature(button.special_labels) + state_name = prefix_state_name + button.file_names[i] + button.file_names[i] = state_name set_images[state_name] = state_image return set_images -def load_images_datarefs_all(deck, presets_all, only_uppercase): - set_images_all = {"none.png": render_key_image(deck, get_filename_button_static_png("none"), None, only_uppercase)} +def load_images_datarefs_all(deck, plane_conf_dir, presets_all, only_uppercase): + set_images_all = {"none.png": render_key_image(deck, plane_conf_dir, get_filename_button_static_png("none"), None, + None, only_uppercase=only_uppercase)} for _, dataref_dir in presets_all.items(): - images_single_dir = load_images_datarefs(deck, dataref_dir, only_uppercase) + images_single_dir = load_images_datarefs(deck, plane_conf_dir, dataref_dir, only_uppercase) set_images_all.update(images_single_dir) return set_images_all