├── documentation ├── manual.pdf ├── KPCrew Flows.xlsx ├── images │ ├── approach.PNG │ ├── arrdata.PNG │ ├── arrmetar.PNG │ ├── depatis.PNG │ ├── depbrief.PNG │ ├── depclrnc.PNG │ ├── takeoff.PNG │ ├── B738prefs.PNG │ ├── DFLTprefs.PNG │ ├── appaircraft.PNG │ ├── appbriefing.PNG │ ├── appground.PNG │ ├── briefflight.PNG │ ├── briefings.PNG │ ├── depreturn.PNG │ ├── deprouting.PNG │ ├── flightclimb.PNG │ ├── flightload.PNG │ ├── flighttaxi.PNG │ ├── flowindow.PNG │ ├── runningflow.PNG │ ├── sopwindow.PNG │ ├── controlwindow.png │ ├── loadsavebrief.PNG │ ├── loadsaveprefs.PNG │ └── preferenceswindow.PNG └── KPCrew v2.3 Flows.pdf ├── MSFS ├── pmdg-aircraft-73x-checklist │ ├── README.md │ ├── layout.json │ └── manifest.json └── README.md ├── aircraft ├── E175.acf.tex ├── E195.acf.tex └── README.md ├── scripts └── README.md ├── modules ├── README.md ├── kpcrew │ ├── briefings │ │ ├── README.md │ │ ├── briefings_MD88.lua │ │ └── briefings_C750.lua │ ├── sops │ │ └── README.md │ ├── checklists │ │ ├── README.md │ │ └── Checklist.lua │ ├── procedures │ │ ├── README.md │ │ ├── State.lua │ │ ├── Procedure.lua │ │ └── Background.lua │ ├── preferences │ │ ├── README.md │ │ ├── prefs_A33L.lua │ │ ├── prefs_E55P.lua │ │ ├── prefs_PC12.lua │ │ ├── prefs_TMPL.lua │ │ ├── prefs_C750.lua │ │ ├── prefs_EPIC.lua │ │ ├── prefs_SF50.lua │ │ ├── prefs_A3TL.lua │ │ ├── prefs_EVIC.lua │ │ ├── prefs_A306.lua │ │ ├── prefs_A359.lua │ │ ├── prefs_MD82.lua │ │ ├── prefs_MD88.lua │ │ ├── prefs_E1FF.lua │ │ ├── prefs_B732.lua │ │ ├── prefs_B733.lua │ │ ├── prefs_DFLT.lua │ │ ├── prefs_MD11.lua │ │ ├── prefs_C172.lua │ │ ├── prefs_B738.lua │ │ ├── prefs_B744.lua │ │ └── prefs_B7x7.lua │ ├── README.md │ ├── systems │ │ ├── C172 │ │ │ ├── sysMacros.lua │ │ │ ├── sysMCP.lua │ │ │ ├── sysAice.lua │ │ │ ├── sysEFIS.lua │ │ │ ├── sysFMC.lua │ │ │ ├── sysAir.lua │ │ │ ├── sysFuel.lua │ │ │ ├── sysRadios.lua │ │ │ ├── sysGeneral.lua │ │ │ ├── sysControls.lua │ │ │ ├── sysElectric.lua │ │ │ ├── sysHydraulic.lua │ │ │ ├── sysLights.lua │ │ │ └── sysEngines.lua │ │ ├── README.md │ │ ├── PC12 │ │ │ ├── sysMacros.lua │ │ │ ├── sysMCP.lua │ │ │ ├── sysEFIS.lua │ │ │ ├── sysFMC.lua │ │ │ ├── sysRadios.lua │ │ │ ├── sysControls.lua │ │ │ ├── sysEngines.lua │ │ │ ├── sysAice.lua │ │ │ ├── sysAir.lua │ │ │ ├── sysHydraulic.lua │ │ │ ├── sysGeneral.lua │ │ │ ├── sysFuel.lua │ │ │ └── sysLights.lua │ │ ├── TMPL │ │ │ ├── sysMacros.lua │ │ │ ├── sysMCP.lua │ │ │ ├── sysEFIS.lua │ │ │ ├── sysFMC.lua │ │ │ ├── sysRadios.lua │ │ │ ├── sysControls.lua │ │ │ ├── sysEngines.lua │ │ │ ├── sysAice.lua │ │ │ ├── sysAir.lua │ │ │ ├── sysElectric.lua │ │ │ ├── sysHydraulic.lua │ │ │ ├── sysGeneral.lua │ │ │ ├── sysFuel.lua │ │ │ └── sysLights.lua │ │ ├── activities.lua │ │ ├── B742 │ │ │ ├── sysFMC.lua │ │ │ └── sysAice.lua │ │ ├── B744 │ │ │ ├── sysFMC.lua │ │ │ └── sysAice.lua │ │ ├── ERJF │ │ │ ├── sysFMC.lua │ │ │ ├── sysAir.lua │ │ │ ├── sysElectric.lua │ │ │ ├── sysAice.lua │ │ │ └── sysHydraulic.lua │ │ ├── InopSwitch.lua │ │ ├── A306 │ │ │ ├── sysFMC.lua │ │ │ └── sysHydraulic.lua │ │ ├── B777 │ │ │ ├── sysFMC.lua │ │ │ └── sysHydraulic.lua │ │ ├── B7x7 │ │ │ ├── sysFMC.lua │ │ │ └── sysHydraulic.lua │ │ ├── MD11 │ │ │ ├── sysFMC.lua │ │ │ ├── sysAice.lua │ │ │ ├── sysHydraulic.lua │ │ │ └── sysAir.lua │ │ ├── SimpleAnnunciator.lua │ │ ├── C750 │ │ │ ├── sysFMC.lua │ │ │ ├── sysRadios.lua │ │ │ ├── sysGeneral.lua │ │ │ ├── sysEFIS.lua │ │ │ └── sysControls.lua │ │ ├── MD88 │ │ │ ├── sysEFIS.lua │ │ │ ├── sysFMC.lua │ │ │ ├── sysRadios.lua │ │ │ ├── sysEngines.lua │ │ │ ├── sysAice.lua │ │ │ ├── sysHydraulic.lua │ │ │ ├── sysLights.lua │ │ │ ├── sysControls.lua │ │ │ └── sysAir.lua │ │ ├── E55P │ │ │ ├── sysMCP.lua │ │ │ ├── sysEFIS.lua │ │ │ ├── sysFMC.lua │ │ │ ├── sysRadios.lua │ │ │ └── sysHydraulic.lua │ │ ├── EPIC │ │ │ ├── sysMCP.lua │ │ │ ├── sysEFIS.lua │ │ │ ├── sysFMC.lua │ │ │ ├── sysElectric.lua │ │ │ ├── sysHydraulic.lua │ │ │ ├── sysGeneral.lua │ │ │ ├── sysRadios.lua │ │ │ ├── sysControls.lua │ │ │ ├── sysEngines.lua │ │ │ └── sysAir.lua │ │ ├── EVIC │ │ │ ├── sysMCP.lua │ │ │ ├── sysEFIS.lua │ │ │ ├── sysFMC.lua │ │ │ ├── sysAice.lua │ │ │ ├── sysElectric.lua │ │ │ ├── sysHydraulic.lua │ │ │ ├── sysGeneral.lua │ │ │ ├── sysRadios.lua │ │ │ ├── sysControls.lua │ │ │ ├── sysEngines.lua │ │ │ ├── sysAir.lua │ │ │ └── sysMacros.lua │ │ ├── SF50 │ │ │ ├── sysMCP.lua │ │ │ ├── sysEFIS.lua │ │ │ ├── sysFMC.lua │ │ │ ├── sysHydraulic.lua │ │ │ ├── sysFuel.lua │ │ │ ├── sysRadios.lua │ │ │ ├── sysEngines.lua │ │ │ ├── sysElectric.lua │ │ │ ├── sysAir.lua │ │ │ ├── sysGeneral.lua │ │ │ └── sysControls.lua │ │ ├── MD82 │ │ │ ├── sysEFIS.lua │ │ │ ├── sysFMC.lua │ │ │ ├── sysAice.lua │ │ │ ├── sysHydraulic.lua │ │ │ ├── sysRadios.lua │ │ │ └── sysControls.lua │ │ ├── A3TL │ │ │ ├── sysFMC.lua │ │ │ ├── sysRadios.lua │ │ │ └── sysEFIS.lua │ │ ├── E1FF │ │ │ ├── sysMCP.lua │ │ │ ├── sysEFIS.lua │ │ │ ├── sysFMC.lua │ │ │ ├── sysEngines.lua │ │ │ ├── sysAice.lua │ │ │ ├── sysRadios.lua │ │ │ ├── sysLights.lua │ │ │ ├── sysControls.lua │ │ │ └── sysFuel.lua │ │ ├── CustomAnnunciator.lua │ │ ├── A359 │ │ │ └── sysFMC.lua │ │ ├── A33L │ │ │ ├── sysRadios.lua │ │ │ ├── sysAir.lua │ │ │ ├── sysFMC.lua │ │ │ └── sysEFIS.lua │ │ ├── DFLT │ │ │ └── sysFMC.lua │ │ ├── KeepPressedSwitchCmd.lua │ │ ├── TwoStateDrefSwitch.lua │ │ ├── B738 │ │ │ └── sysRadios.lua │ │ ├── Annunciator.lua │ │ └── TwoStateToggleSwitch.lua │ ├── hardware │ │ └── README.md │ └── xmlhandler │ │ └── README.md └── kpcrew_prefs │ ├── README.md │ └── General.preferences └── .gitignore /documentation/manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/manual.pdf -------------------------------------------------------------------------------- /documentation/KPCrew Flows.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/KPCrew Flows.xlsx -------------------------------------------------------------------------------- /documentation/images/approach.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/approach.PNG -------------------------------------------------------------------------------- /documentation/images/arrdata.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/arrdata.PNG -------------------------------------------------------------------------------- /documentation/images/arrmetar.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/arrmetar.PNG -------------------------------------------------------------------------------- /documentation/images/depatis.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/depatis.PNG -------------------------------------------------------------------------------- /documentation/images/depbrief.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/depbrief.PNG -------------------------------------------------------------------------------- /documentation/images/depclrnc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/depclrnc.PNG -------------------------------------------------------------------------------- /documentation/images/takeoff.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/takeoff.PNG -------------------------------------------------------------------------------- /documentation/KPCrew v2.3 Flows.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/KPCrew v2.3 Flows.pdf -------------------------------------------------------------------------------- /documentation/images/B738prefs.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/B738prefs.PNG -------------------------------------------------------------------------------- /documentation/images/DFLTprefs.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/DFLTprefs.PNG -------------------------------------------------------------------------------- /documentation/images/appaircraft.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/appaircraft.PNG -------------------------------------------------------------------------------- /documentation/images/appbriefing.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/appbriefing.PNG -------------------------------------------------------------------------------- /documentation/images/appground.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/appground.PNG -------------------------------------------------------------------------------- /documentation/images/briefflight.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/briefflight.PNG -------------------------------------------------------------------------------- /documentation/images/briefings.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/briefings.PNG -------------------------------------------------------------------------------- /documentation/images/depreturn.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/depreturn.PNG -------------------------------------------------------------------------------- /documentation/images/deprouting.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/deprouting.PNG -------------------------------------------------------------------------------- /documentation/images/flightclimb.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/flightclimb.PNG -------------------------------------------------------------------------------- /documentation/images/flightload.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/flightload.PNG -------------------------------------------------------------------------------- /documentation/images/flighttaxi.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/flighttaxi.PNG -------------------------------------------------------------------------------- /documentation/images/flowindow.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/flowindow.PNG -------------------------------------------------------------------------------- /documentation/images/runningflow.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/runningflow.PNG -------------------------------------------------------------------------------- /documentation/images/sopwindow.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/sopwindow.PNG -------------------------------------------------------------------------------- /documentation/images/controlwindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/controlwindow.png -------------------------------------------------------------------------------- /documentation/images/loadsavebrief.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/loadsavebrief.PNG -------------------------------------------------------------------------------- /documentation/images/loadsaveprefs.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/loadsaveprefs.PNG -------------------------------------------------------------------------------- /documentation/images/preferenceswindow.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prokopiu/kpcrew/HEAD/documentation/images/preferenceswindow.PNG -------------------------------------------------------------------------------- /MSFS/pmdg-aircraft-73x-checklist/README.md: -------------------------------------------------------------------------------- 1 | # pmdg-aircraft-73x-checklist folder 2 | 3 | Automated ingame checklist for the MPDG B73x. 4 | CVurrently only for the 737-800. -------------------------------------------------------------------------------- /aircraft/E175.acf.tex: -------------------------------------------------------------------------------- 1 | E175F 2048 2048 32856 2 | HSI 1580 720 2010 1300 3 | ND 1530 1360 2010 1990 4 | EICAS 0 1310 560 2048 5 | CDU 590 1410 880 1680 6 | -------------------------------------------------------------------------------- /aircraft/E195.acf.tex: -------------------------------------------------------------------------------- 1 | E175F 2048 2048 32856 2 | HSI 1580 720 2010 1300 3 | ND 1530 1360 2010 1990 4 | EICAS 0 1310 560 2048 5 | CDU 590 1410 880 1680 6 | -------------------------------------------------------------------------------- /scripts/README.md: -------------------------------------------------------------------------------- 1 | # FlyWithLua scripts folder 2 | This folder contains lua files that must go to the [x-plane]/resources/plugins/FlyWithLua/Scripts folderand are the "main" program for KPCrew or KPHARDWARE. 3 | -------------------------------------------------------------------------------- /modules/README.md: -------------------------------------------------------------------------------- 1 | # FlyWithLua modules folder 2 | This folder contains lua files that must go to the [x-plane]/resources/plugins/FlyWithLua/Modules folder. This is all the functionality for KPCrew and KPHARDWARE. 3 | -------------------------------------------------------------------------------- /modules/kpcrew/briefings/README.md: -------------------------------------------------------------------------------- 1 | # briefings folder 2 | 3 | Contains all logic for general or aircraft type specific briefing items. This includes logic to load an aircraft, flap settings or calculate weights etc... 4 | -------------------------------------------------------------------------------- /modules/kpcrew/sops/README.md: -------------------------------------------------------------------------------- 1 | # SOP folder 2 | 3 | Holds all logic for definition and execution of a SOP. The aircraft specific SOPs will be individual lua modules in this folder. They are selected by kpcrew23.lua at startup. 4 | -------------------------------------------------------------------------------- /modules/kpcrew_prefs/README.md: -------------------------------------------------------------------------------- 1 | # kpcrew_prefs folder 2 | Will hold all the personal preference files, briefing files and simbrief downloads the user chooses to save. 3 | For a new setup I included one file to get the folder created. 4 | -------------------------------------------------------------------------------- /modules/kpcrew/checklists/README.md: -------------------------------------------------------------------------------- 1 | # checklist folder 2 | 3 | Contains all logic to define, show and execute a checklist. "Checklists" are based on the general "Flow" but are a sub-type with different behaviour compared tp "Procedures" 4 | -------------------------------------------------------------------------------- /modules/kpcrew/procedures/README.md: -------------------------------------------------------------------------------- 1 | # procedures folder 2 | 3 | Contains all logic to define, show and execute a procedure. "Procedures" are based on the general "Flow" but are a sub-type with different behaviour compared to "Checklists" 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | sync.ffs_db 2 | scripts/AutoExposure.lua 3 | scripts/AutoExposure.lua.off 4 | scripts/AutoExposure.lua 5 | modules/kpcrew/briefings/briefings_MD82 - Copy.lua 6 | modules/kpcrew/sops/SOP_MD88.lua.off 7 | scripts/DK_Toliss_Callout.lua 8 | -------------------------------------------------------------------------------- /MSFS/pmdg-aircraft-73x-checklist/layout.json: -------------------------------------------------------------------------------- 1 | { 2 | "content": [ 3 | { 4 | "path": "SimObjects/Airplanes/PMDG 737-800/Checklist/B738_Checklist.xml", 5 | "size": 67096, 6 | "date": 133047793660000000 7 | } 8 | ] 9 | } -------------------------------------------------------------------------------- /modules/kpcrew/preferences/README.md: -------------------------------------------------------------------------------- 1 | # preferences folder 2 | Contains all logic to handle preferences in KPCrew. 3 | Preferences can also be briefings or background variables and there are definitions for aircraft specific preference groups. 4 | -------------------------------------------------------------------------------- /modules/kpcrew/README.md: -------------------------------------------------------------------------------- 1 | # kpcrew folder 2 | 3 | This folder holds ALL submodules needed to run KPCrew and KPHARDWARE. They are collected in one subfolder for easy install/uninstall. 4 | 5 | It also contains external dependencies such as xml2lua etc... 6 | -------------------------------------------------------------------------------- /modules/kpcrew/briefings/briefings_MD88.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific briefing values and functions - RotateSim MD88 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2024 Kosta Prokopiu 5 | 6 | require("kpcrew.briefings.briefings_DFLT") 7 | 8 | kc_acf_name = "Rotate MD-88" 9 | 10 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysMacros.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- macros 3 | 4 | -- @classmod sysMacros 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | local sysMacros = { 8 | } 9 | 10 | require "kpcrew.systems.DFLT.sysMacros" 11 | 12 | return sysMacros 13 | 14 | -------------------------------------------------------------------------------- /aircraft/README.md: -------------------------------------------------------------------------------- 1 | # Aircaft folder 2 | 3 | will contain additional and supplementary files for x-plane aircraft such as special Xchecklist fiels that match the SOP of the aircraft and can be used individually. 4 | 5 | If you want to use the Xchecklist file place in the folder of the respective aircraft 6 | -------------------------------------------------------------------------------- /modules/kpcrew/hardware/README.md: -------------------------------------------------------------------------------- 1 | # hardware folder 2 | 3 | This folder will contain hardware specific modules to use with KPHARDWARE. At the moment it only contains the Honeycomb devices. 4 | There are two profiles to be used with the AFC Bridge and special lua files that execute commands matching the Honeycomb devices. 5 | 6 | Optional if you want to use this. 7 | -------------------------------------------------------------------------------- /MSFS/README.md: -------------------------------------------------------------------------------- 1 | # MSFS folder 2 | 3 | My approach to having something similar to kpcrew in MSFS. PMDG and other vendors do not work out the ingame checklists of MSFS to automatically execute procedures. I have read up on the SDK and it is possible to have procedures and checklist to be fairly automated if you wish, My first checklist takes the Zibo kpcrew SOP and I started to transfer it to an ingame checklist. -------------------------------------------------------------------------------- /modules/kpcrew_prefs/General.preferences: -------------------------------------------------------------------------------- 1 | general:assistance=4 2 | general:weight_kgs=true 3 | general:baro_mode_hpa=true 4 | general:def_trans_alt=5000 5 | general:def_trans_lvl=50 6 | general:speakChecklist=false 7 | general:flowAutoOpen=false 8 | general:flowAutoClose=false 9 | general:flowAutoJump=false 10 | general:xpdrusa=false 11 | general:simbriefuser=" " 12 | general:vatsimMetar=false 13 | -------------------------------------------------------------------------------- /MSFS/pmdg-aircraft-73x-checklist/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": [], 3 | "content_type": "CHECKLIST", 4 | "title": "737 Checklist", 5 | "manufacturer": "Boeing", 6 | "creator": "prokopiu", 7 | "package_version": "1.0", 8 | "minimum_game_version": "1.33.8", 9 | "release_notes": { 10 | "neutral": { 11 | "LastUpdate": "Nov 2023", 12 | "OlderHistory": "" 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /modules/kpcrew/systems/README.md: -------------------------------------------------------------------------------- 1 | # systems folder 2 | 3 | This is a pivotal folder for KPCrew and KPHARDWARE. It contains standardized logic elements to depict switches and annunciators in KPHARDWARE and execute/check item lines in SOPs (procedures and checklists). 4 | 5 | - sysAice.lua 6 | - sysAir.lua 7 | - sysControls.lua 8 | - sysEFIS.lua 9 | - sysElectric.lua 10 | - sysEngines.lua 11 | - sysFMC.lua 12 | - sysFuel.lua 13 | - sysGeneral.lua 14 | - sysHydraulic.lua 15 | - sysLights.lua 16 | - sysMCP.lua 17 | - sysRadios.lua 18 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysMacros.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Macros 3 | 4 | -- @classmod sysMacros 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local sysMacros = { 9 | } 10 | 11 | sysMacros = require("kpcrew.systems.DFLT.sysMacros") 12 | 13 | logMsg("TMPL sysMacros") 14 | 15 | -- c&d setup 16 | function kc_macro_state_cold_and_dark() 17 | logMsg("MD82 kc_macro_state_cold_and_dark") 18 | end 19 | 20 | function kc_macro_state_turnaround() 21 | logMsg("MD82 kc_macro_state_turnaround") 22 | end 23 | 24 | return sysMacros -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysMacros.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Macros 3 | 4 | -- @classmod sysMacros 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local sysMacros = { 9 | } 10 | 11 | sysMacros = require("kpcrew.systems.DFLT.sysMacros") 12 | 13 | logMsg("TMPL sysMacros") 14 | 15 | -- c&d setup 16 | function kc_macro_state_cold_and_dark() 17 | logMsg("MD82 kc_macro_state_cold_and_dark") 18 | end 19 | 20 | function kc_macro_state_turnaround() 21 | logMsg("MD82 kc_macro_state_turnaround") 22 | end 23 | 24 | return sysMacros -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_A33L.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - A33L 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2025 Kosta Prokopiu 5 | 6 | local A33LGroup = kcPreferenceGroup:new("aircraft","A33L AIRCRAFT PREFERENCES") 7 | A33LGroup:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | A33LGroup:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | A33LGroup:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | 11 | activePrefSet:addGroup(A33LGroup) 12 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_E55P.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - E55P 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2024 Kosta Prokopiu 5 | 6 | local E55PGroup = kcPreferenceGroup:new("aircraft","TMPL AIRCRAFT PREFERENCES") 7 | E55PGroup:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | E55PGroup:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | E55PGroup:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | 11 | activePrefSet:addGroup(E55PGroup) 12 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_PC12.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - PC12 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2025 Kosta Prokopiu 5 | 6 | local PC12Group = kcPreferenceGroup:new("aircraft","PC12 AIRCRAFT PREFERENCES") 7 | PC12Group:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | PC12Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | PC12Group:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | 11 | activePrefSet:addGroup(PC12Group) 12 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_TMPL.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - TMPL 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2025 Kosta Prokopiu 5 | 6 | local TMPLGroup = kcPreferenceGroup:new("aircraft","TMPL AIRCRAFT PREFERENCES") 7 | TMPLGroup:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | TMPLGroup:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | TMPLGroup:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | 11 | activePrefSet:addGroup(TMPLGroup) 12 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_C750.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - Default aircraft 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2025 Kosta Prokopiu 5 | 6 | local C750Group = kcPreferenceGroup:new("aircraft","C750 AIRCRAFT PREFERENCES") 7 | C750Group:add(kcPreference:new("mcp_def_spd", 0, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | C750Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | C750Group:add(kcPreference:new("mcp_def_alt", 0100, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | 11 | activePrefSet:addGroup(C750Group) 12 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_EPIC.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - EPIC Aerobask 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2025 Kosta Prokopiu 5 | 6 | local EPICGroup = kcPreferenceGroup:new("aircraft","EPIC AIRCRAFT PREFERENCES") 7 | EPICGroup:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | EPICGroup:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | EPICGroup:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | 11 | activePrefSet:addGroup(EPICGroup) 12 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_SF50.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - Laminar SF50 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2025 Kosta Prokopiu 5 | 6 | local SF50Group = kcPreferenceGroup:new("aircraft","DFLT AIRCRAFT PREFERENCES") 7 | SF50Group:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | SF50Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | SF50Group:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | 11 | activePrefSet:addGroup(SF50Group) 12 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_A3TL.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - A3TL ToLiss Airbusses 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2025 Kosta Prokopiu 5 | 6 | local A3TLGroup = kcPreferenceGroup:new("aircraft","TMPL AIRCRAFT PREFERENCES") 7 | A3TLGroup:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | A3TLGroup:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | A3TLGroup:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | 11 | 12 | activePrefSet:addGroup(A3TLGroup) 13 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/activities.lua: -------------------------------------------------------------------------------- 1 | -- activities related functionality 2 | -- some new features and ideas thanks to patrickl92 3 | 4 | typeInop = -1 5 | typeOnOffTgl = 0 6 | typeAnnunciator = 1 7 | typeActuator = 2 8 | 9 | modeOff = 0 10 | modeOn = 1 11 | modeToggle = 2 12 | 13 | actNone = -1 14 | actWithCmd = 0 15 | actWithDref = 1 16 | actTglCmd = 2 17 | actCustom = 3 18 | 19 | toggleNone = -1 20 | toggleCmd = 0 21 | toggleDref = 1 22 | toggleCustom = 2 23 | 24 | statusNone = -1 25 | statusDref = 0 26 | statusCustom = 1 27 | 28 | cmdDown = 0 29 | cmdUp = 1 30 | cmdLeft = 0 31 | cmdRight = 1 32 | 33 | slowDown = 10 34 | slowUp = 11 -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_EVIC.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - EVIC 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2025 Kosta Prokopiu 5 | 6 | local EVICGroup = kcPreferenceGroup:new("aircraft","EVIC AIRCRAFT PREFERENCES") 7 | EVICGroup:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | EVICGroup:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | EVICGroup:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | EVICGroup:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle,"Initial Power-Up|APU|GPU")) 11 | 12 | activePrefSet:addGroup(EVICGroup) 13 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_A306.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - iniBuilds A306 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2022 Kosta Prokopiu 5 | local A306Group = kcPreferenceGroup:new("aircraft","DFLT AIRCRAFT PREFERENCES") 6 | A306Group:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 7 | A306Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 8 | A306Group:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 9 | A306Group:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle,"Initial Power-Up|APU|GPU")) 10 | 11 | activePrefSet:addGroup(A306Group) 12 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_A359.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - Default aircraft 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2022 Kosta Prokopiu 5 | local DFLTGroup = kcPreferenceGroup:new("aircraft","DFLT AIRCRAFT PREFERENCES") 6 | DFLTGroup:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 7 | DFLTGroup:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 8 | DFLTGroup:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 9 | DFLTGroup:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle,"Initial Power-Up|APU|GPU")) 10 | 11 | activePrefSet:addGroup(DFLTGroup) 12 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_MD82.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - Laminar MD82 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2024 Kosta Prokopiu 5 | 6 | local MD82Group = kcPreferenceGroup:new("aircraft","MD82 AIRCRAFT PREFERENCES") 7 | MD82Group:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | MD82Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | MD82Group:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | MD82Group:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle,"Initial Power-Up|APU|GPU")) 11 | 12 | activePrefSet:addGroup(MD82Group) 13 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_MD88.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - Rotate MD88 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2024 Kosta Prokopiu 5 | 6 | local MD88Group = kcPreferenceGroup:new("aircraft","MD88 AIRCRAFT PREFERENCES") 7 | MD88Group:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | MD88Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | MD88Group:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | MD88Group:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle,"Initial Power-Up|APU|GPU")) 11 | 12 | activePrefSet:addGroup(MD88Group) 13 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_E1FF.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - X-Crafts Free E-Jets 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2024 Kosta Prokopiu 5 | 6 | local E1FFGroup = kcPreferenceGroup:new("aircraft","FREE E175/E195 PREFERENCES") 7 | E1FFGroup:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | E1FFGroup:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | E1FFGroup:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | E1FFGroup:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle,"Initial Power-Up|APU|GPU")) 11 | 12 | activePrefSet:addGroup(E1FFGroup) 13 | -------------------------------------------------------------------------------- /modules/kpcrew/procedures/State.lua: -------------------------------------------------------------------------------- 1 | -- Procedure of setting a state 2 | -- 3 | -- @classmod State 4 | -- @author Kosta Prokopiu 5 | -- @copyright 2022 Kosta Prokopiu 6 | local kcState = { 7 | } 8 | 9 | local Flow = require "kpcrew.Flow" 10 | 11 | -- Instantiate a new State 12 | -- @tparam string name Name of the set (also used as title) 13 | function kcState:new(name, speakname, finalstatement) 14 | kcState.__index = kcState 15 | setmetatable(kcState, { 16 | __index = Flow 17 | }) 18 | local obj = Flow:new(name, speakname, finalStatement) 19 | setmetatable(obj, kcState) 20 | 21 | obj.className = "State" 22 | obj.finalStatement = finalstatement 23 | obj.spokenName = speakname 24 | 25 | return obj 26 | end 27 | 28 | return kcState -------------------------------------------------------------------------------- /modules/kpcrew/systems/B742/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- FMC related functionality 3 | 4 | local sysFMC = { 5 | } 6 | 7 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 8 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 9 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 10 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 11 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 12 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 13 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 14 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 15 | local InopSwitch = require "kpcrew.systems.InopSwitch" 16 | 17 | return sysFMC -------------------------------------------------------------------------------- /modules/kpcrew/systems/B744/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- FMC related functionality 3 | 4 | local sysFMC = { 5 | } 6 | 7 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 8 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 9 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 10 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 11 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 12 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 13 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 14 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 15 | local InopSwitch = require "kpcrew.systems.InopSwitch" 16 | 17 | return sysFMC -------------------------------------------------------------------------------- /modules/kpcrew/systems/ERJF/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- FMC related functionality 3 | 4 | local sysFMC = { 5 | } 6 | 7 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 8 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 9 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 10 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 11 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 12 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 13 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 14 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 15 | local InopSwitch = require "kpcrew.systems.InopSwitch" 16 | 17 | return sysFMC -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_B732.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - FlyJsim B732 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2022 Kosta Prokopiu 5 | local B732Group = kcPreferenceGroup:new("aircraft","B732 PREFERENCES") 6 | B732Group:setInitialOpen(false) 7 | B732Group:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | B732Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | B732Group:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | B732Group:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle,"Initial Power-Up|APU|GPU")) 11 | B732Group:add(kcPreference:new("takeoff_cmda", false, kcPreference.typeToggle,"On TO turn on A/P|ON|OFF")) 12 | 13 | activePrefSet:addGroup(B732Group) 14 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_B733.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - IXEG B733 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2023 Kosta Prokopiu 5 | local B733Group = kcPreferenceGroup:new("aircraft","B733 PREFERENCES") 6 | B733Group:setInitialOpen(false) 7 | B733Group:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | B733Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | B733Group:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | B733Group:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle,"Initial Power-Up|APU|GPU")) 11 | B733Group:add(kcPreference:new("takeoff_cmda", false, kcPreference.typeToggle,"On TO turn on A/P|ON|OFF")) 12 | 13 | activePrefSet:addGroup(B733Group) 14 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_DFLT.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - Default aircraft 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2025 Kosta Prokopiu 5 | 6 | local DFLTGroup = kcPreferenceGroup:new("aircraft","DFLT AIRCRAFT PREFERENCES") 7 | DFLTGroup:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 8 | DFLTGroup:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 9 | DFLTGroup:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 10 | 11 | -- DFLTGroup:add(kcPreference:new("powerup_ext", false, kcPreference.typeToggle,"Power Up|With EXT PWR|Without EXT PWR")) 12 | -- DFLTGroup:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle,"Initial Power-Up|With APU|With GPU/BATT")) 13 | 14 | activePrefSet:addGroup(DFLTGroup) 15 | -------------------------------------------------------------------------------- /modules/kpcrew/checklists/Checklist.lua: -------------------------------------------------------------------------------- 1 | -- Checklist with checklist items 2 | -- A checklist registers a number of cheklist challenge/response items 3 | -- 4 | -- @classmod Checklist 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local kcChecklist = { 8 | } 9 | 10 | local Flow = require "kpcrew.Flow" 11 | 12 | -- Instantiate a new Checklist 13 | -- @tparam string name Name of the set (also used as title) 14 | function kcChecklist:new(name, speakname, finalstatement) 15 | kcChecklist.__index = kcChecklist 16 | setmetatable(kcChecklist, { 17 | __index = Flow 18 | }) 19 | local obj = Flow:new(name, speakname, finalStatement) 20 | setmetatable(obj, kcChecklist) 21 | 22 | obj.className = "Checklist" 23 | obj.finalStatement = finalstatement 24 | obj.spokenName = speakname 25 | 26 | return obj 27 | end 28 | 29 | return kcChecklist 30 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/InopSwitch.lua: -------------------------------------------------------------------------------- 1 | -- Switch placeholder with no function 2 | -- use when aircraft does not support standard elements 3 | 4 | -- @classmod InopSwitch 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local khInopSwitch = {} 8 | 9 | local Switch = require "kpcrew.systems.Switch" 10 | 11 | -- Constructor for InopSwitch 12 | -- @tparam string name of element 13 | -- @treturn Switch the created element 14 | function khInopSwitch:new(name) 15 | 16 | khInopSwitch.__index = khInopSwitch 17 | setmetatable(khInopSwitch, { 18 | __index = Switch 19 | }) 20 | 21 | local obj = Switch:new(name,"",0) 22 | setmetatable(obj, khInopSwitch) 23 | 24 | return obj 25 | end 26 | 27 | -- return the current element dataref value 28 | -- @treturn 0 29 | function khInopSwitch:getStatus() 30 | return 0 31 | end 32 | 33 | return khInopSwitch -------------------------------------------------------------------------------- /modules/kpcrew/systems/A306/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysFMC = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | 20 | return sysFMC -------------------------------------------------------------------------------- /modules/kpcrew/systems/B777/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysFMC = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | 20 | return sysFMC -------------------------------------------------------------------------------- /modules/kpcrew/systems/B7x7/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysFMC = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | 20 | return sysFMC -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD11/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | local sysFMC = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | 20 | return sysFMC -------------------------------------------------------------------------------- /modules/kpcrew/procedures/Procedure.lua: -------------------------------------------------------------------------------- 1 | -- Procedure of activities during a specific phase of flight 2 | -- A procedure registers a number of activities/tasks to be executed and checked 3 | -- 4 | -- @classmod Procedure 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local kcProcedure = { 8 | } 9 | 10 | local Flow = require "kpcrew.Flow" 11 | 12 | -- Instantiate a new Procedure 13 | -- @tparam string name Name of the set (also used as title) 14 | function kcProcedure:new(name, speakname, finalstatement) 15 | kcProcedure.__index = kcProcedure 16 | setmetatable(kcProcedure, { 17 | __index = Flow 18 | }) 19 | local obj = Flow:new(name, speakname, finalStatement) 20 | setmetatable(obj, kcProcedure) 21 | 22 | obj.className = "Procedure" 23 | obj.finalStatement = finalstatement 24 | obj.spokenName = speakname 25 | 26 | return obj 27 | end 28 | 29 | return kcProcedure -------------------------------------------------------------------------------- /modules/kpcrew/systems/SimpleAnnunciator.lua: -------------------------------------------------------------------------------- 1 | -- simple annunciator on/off 2 | 3 | -- @classmod SimpleAnnunciator 4 | -- @author Kosta Prokopiu 5 | -- @copyright 2022 Kosta Prokopiu 6 | local khSimpleAnnunciator = { 7 | } 8 | 9 | local Annunciator = require "kpcrew.systems.Annunciator" 10 | 11 | -- Constructor for on off annunciator 12 | -- @tparam string name of element 13 | -- @tparam string dataref for elements status 14 | -- @tparam int index of element dataref (set -1 if only accessible via dateref_array to reach [0]) 15 | -- @treturn Annunciator the created base element 16 | function khSimpleAnnunciator:new(name, statusDref, statusDrefIdx) 17 | 18 | khSimpleAnnunciator.__index = khSimpleAnnunciator 19 | setmetatable(khSimpleAnnunciator, { 20 | __index = Annunciator 21 | }) 22 | 23 | local obj = Annunciator:new(name, statusDref, statusDrefIdx) 24 | setmetatable(obj, khSimpleAnnunciator) 25 | 26 | return obj 27 | end 28 | 29 | return khSimpleAnnunciator -------------------------------------------------------------------------------- /modules/kpcrew/systems/C750/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysFMC = require("kpcrew.systems.DFLT.sysFMC") 20 | 21 | return sysFMC 22 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD88/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- Rotate MD88 airplane 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEFIS = require("kpcrew.systems.DFLT.sysEFIS") 20 | 21 | return sysEFIS -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD88/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- Rotate MD88 Airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysFMC = require("kpcrew.systems.DFLT.sysFMC") 20 | 21 | return sysFMC -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysMCP.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- MCP functionality 3 | 4 | -- @classmod sysMCP 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysMCP = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | require "kpcrew.systems.DFLT.sysMCP" 22 | 23 | return sysMCP -------------------------------------------------------------------------------- /modules/kpcrew/systems/C750/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- C750 airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD88/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- Rotate MD88 airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysAice.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- Anti Ice functionality 3 | 4 | -- @classmod sysAice 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2023 Kosta Prokopiu 7 | local sysAice = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | require "kpcrew.systems.DFLT.sysAice" 22 | 23 | return sysAice -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysEFIS = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | require "kpcrew.systems.DFLT.sysEFIS" 22 | 23 | return sysEFIS -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysFMC = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | require "kpcrew.systems.DFLT.sysFMC" 22 | 23 | return sysFMC -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysAir.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- Air and Pneumatics functionality 3 | 4 | -- @classmod sysAir 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | local sysAir = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | require "kpcrew.systems.DFLT.sysAir" 22 | 23 | return sysAir -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysFuel.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- Fuel related functionality 3 | 4 | -- @classmod sysFuel 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysFuel = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | require "kpcrew.systems.DFLT.sysFuel" 22 | 23 | return sysFuel -------------------------------------------------------------------------------- /modules/kpcrew/systems/E55P/sysMCP.lua: -------------------------------------------------------------------------------- 1 | -- E55P airplane 2 | -- MCP functionality 3 | 4 | -- @classmod sysMCP 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysMCP = require("kpcrew.systems.DFLT.sysMCP") 20 | 21 | logMsg("E55P sysMCP") 22 | 23 | return sysMCP -------------------------------------------------------------------------------- /modules/kpcrew/systems/EPIC/sysMCP.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- MCP functionality 3 | 4 | -- @classmod sysMCP 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysMCP = require("kpcrew.systems.DFLT.sysMCP") 20 | 21 | logMsg("TMPL sysMCP") 22 | 23 | return sysMCP -------------------------------------------------------------------------------- /modules/kpcrew/systems/EVIC/sysMCP.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- MCP functionality 3 | 4 | -- @classmod sysMCP 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysMCP = require("kpcrew.systems.DFLT.sysMCP") 20 | 21 | logMsg("TMPL sysMCP") 22 | 23 | return sysMCP -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysMCP.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- MCP functionality 3 | 4 | -- @classmod sysMCP 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysMCP = require("kpcrew.systems.DFLT.sysMCP") 20 | 21 | logMsg("TMPL sysMCP") 22 | 23 | return sysMCP -------------------------------------------------------------------------------- /modules/kpcrew/systems/SF50/sysMCP.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- MCP functionality 3 | 4 | -- @classmod sysMCP 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysMCP = require("kpcrew.systems.DFLT.sysMCP") 20 | 21 | logMsg("TMPL sysMCP") 22 | 23 | return sysMCP -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysMCP.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- MCP functionality 3 | 4 | -- @classmod sysMCP 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysMCP = require("kpcrew.systems.DFLT.sysMCP") 20 | 21 | logMsg("TMPL sysMCP") 22 | 23 | return sysMCP -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysRadios = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | require "kpcrew.systems.DFLT.sysRadios" 22 | 23 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD88/sysEngines.lua: -------------------------------------------------------------------------------- 1 | -- Rotate MD88 airplane 2 | -- Engine related functionality 3 | 4 | -- @classmod sysEngines 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEngines = require("kpcrew.systems.DFLT.sysEngines") 20 | 21 | return sysEngines -------------------------------------------------------------------------------- /modules/kpcrew/systems/E55P/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- E55P airplane 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEFIS = require("kpcrew.systems.DFLT.sysEFIS") 20 | 21 | logMsg("E55P sysEFIS") 22 | 23 | return sysEFIS -------------------------------------------------------------------------------- /modules/kpcrew/systems/EPIC/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEFIS = require("kpcrew.systems.DFLT.sysEFIS") 20 | 21 | logMsg("TMPL sysEFIS") 22 | 23 | return sysEFIS -------------------------------------------------------------------------------- /modules/kpcrew/systems/EVIC/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEFIS = require("kpcrew.systems.DFLT.sysEFIS") 20 | 21 | logMsg("TMPL sysEFIS") 22 | 23 | return sysEFIS -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD82/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- MD82 airplane 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEFIS = require("kpcrew.systems.DFLT.sysEFIS") 20 | 21 | logMsg("MD82 sysEFIS") 22 | 23 | return sysEFIS -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEFIS = require("kpcrew.systems.DFLT.sysEFIS") 20 | 21 | logMsg("TMPL sysEFIS") 22 | 23 | return sysEFIS -------------------------------------------------------------------------------- /modules/kpcrew/systems/SF50/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEFIS = require("kpcrew.systems.DFLT.sysEFIS") 20 | 21 | logMsg("TMPL sysEFIS") 22 | 23 | return sysEFIS -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEFIS = require("kpcrew.systems.DFLT.sysEFIS") 20 | 21 | logMsg("TMPL sysEFIS") 22 | 23 | return sysEFIS -------------------------------------------------------------------------------- /modules/kpcrew/xmlhandler/README.md: -------------------------------------------------------------------------------- 1 | # XML Handlers 2 | This directory contains a list of handlers used by the XML parser to process a XML producing different results. 3 | There are currently 3 available handlers: 4 | 5 | - tree: generates a lua table from an XML content string (the most common used handler). 6 | - print: generates a simple event trace which outputs messages to the terminal during the XML parsing, usually for debugging purposes. 7 | - dom: generates a DOM-like node tree structure with a single ROOT node parent. 8 | 9 | # Usage 10 | To get a handler instance you must call, for instance, `handler = require("xmlhandler.tree")`. 11 | Then, you have to use one the handler instance when getting an instance of the XML parser using `parser = xml2lua.parser(handler)`. 12 | Notice the module `xml2lua` should have been loaded before using `require("xml2lua")`. 13 | This way, the handler is called internally when the `parser:parse(xml)` function is called. 14 | 15 | Check the documentation on the root directory for complete examples. -------------------------------------------------------------------------------- /modules/kpcrew/systems/A3TL/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- ToLiss Airbusses 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysFMC = require("kpcrew.systems.DFLT.sysFMC") 20 | 21 | logMsg("A3TL sysFMC") 22 | 23 | return sysFMC 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysGeneral.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- aircraft general systems 3 | 4 | -- @classmod sysGeneral 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysGeneral = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | require "kpcrew.systems.DFLT.sysGeneral" 22 | 23 | return sysGeneral -------------------------------------------------------------------------------- /modules/kpcrew/systems/E55P/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- E55P airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysFMC = require("kpcrew.systems.DFLT.sysFMC") 20 | 21 | logMsg("E55P sysFMC") 22 | 23 | return sysFMC 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/EPIC/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysFMC = require("kpcrew.systems.DFLT.sysFMC") 20 | 21 | logMsg("TMPL sysFMC") 22 | 23 | return sysFMC 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/EVIC/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysFMC = require("kpcrew.systems.DFLT.sysFMC") 20 | 21 | logMsg("TMPL sysFMC") 22 | 23 | return sysFMC 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD82/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- MD82 airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysFMC = require("kpcrew.systems.DFLT.sysFMC") 20 | 21 | logMsg("MD82 sysFMC") 22 | 23 | return sysFMC 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysFMC = require("kpcrew.systems.DFLT.sysFMC") 20 | 21 | logMsg("TMPL sysFMC") 22 | 23 | return sysFMC 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/SF50/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysFMC = require("kpcrew.systems.DFLT.sysFMC") 20 | 21 | logMsg("TMPL sysFMC") 22 | 23 | return sysFMC 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysFMC = require("kpcrew.systems.DFLT.sysFMC") 20 | 21 | logMsg("TMPL sysFMC") 22 | 23 | return sysFMC 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/E1FF/sysMCP.lua: -------------------------------------------------------------------------------- 1 | -- E1FF X-Crafts Freeware airplane 2 | -- MCP functionality 3 | 4 | -- @classmod sysMCP 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysMCP = require("kpcrew.systems.DFLT.sysMCP") 20 | 21 | logMsg("TMPL sysMCP") 22 | 23 | return sysMCP -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD88/sysAice.lua: -------------------------------------------------------------------------------- 1 | -- Rotate MD88 airplane 2 | -- Anti Ice functionality 3 | 4 | -- @classmod sysAice 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local sysAice = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysAice = require("kpcrew.systems.DFLT.sysAice") 23 | 24 | return sysAice -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | logMsg("TMPL sysRadios") 22 | 23 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | logMsg("TMPL sysRadios") 22 | 23 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysControls.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- Flight Controls functionality 3 | 4 | -- @classmod sysControls 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | local sysControls = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | require "kpcrew.systems.DFLT.sysControls" 22 | 23 | return sysControls -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysElectric.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- Electric system functionality 3 | 4 | -- @classmod sysElectric 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysElectric = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | require "kpcrew.systems.DFLT.sysElectric" 22 | 23 | return sysElectric -------------------------------------------------------------------------------- /modules/kpcrew/systems/E1FF/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- E1FF X-Crafts Freeware airplane 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEFIS = require("kpcrew.systems.DFLT.sysEFIS") 20 | 21 | logMsg("TMPL sysEFIS") 22 | 23 | return sysEFIS -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysHydraulic = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | require "kpcrew.systems.DFLT.sysHydraulic" 22 | 23 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/systems/E1FF/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- E1FF X-Crafts Freeware airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysFMC = require("kpcrew.systems.DFLT.sysFMC") 20 | 21 | logMsg("TMPL sysFMC") 22 | 23 | return sysFMC 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysControls.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Flight Controls functionality 3 | 4 | -- @classmod sysControls 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysControls = require("kpcrew.systems.DFLT.sysControls") 20 | 21 | logMsg("TMPL sysControls") 22 | 23 | return sysControls -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysEngines.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Engine related functionality 3 | 4 | -- @classmod sysEngines 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEngines = require("kpcrew.systems.DFLT.sysEngines") 20 | 21 | logMsg("TMPL sysEngines") 22 | 23 | return sysEngines 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysControls.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Flight Controls functionality 3 | 4 | -- @classmod sysControls 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysControls = require("kpcrew.systems.DFLT.sysControls") 20 | 21 | logMsg("TMPL sysControls") 22 | 23 | return sysControls -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysEngines.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Engine related functionality 3 | 4 | -- @classmod sysEngines 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEngines = require("kpcrew.systems.DFLT.sysEngines") 20 | 21 | logMsg("TMPL sysEngines") 22 | 23 | return sysEngines 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/EPIC/sysElectric.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Electric system functionality 3 | 4 | -- @classmod sysElectric 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysElectric = require("kpcrew.systems.DFLT.sysElectric") 20 | 21 | logMsg("TMPL sysElectric") 22 | 23 | return sysElectric 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/EPIC/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysHydraulic = require("kpcrew.systems.DFLT.sysHydraulic") 20 | 21 | logMsg("TMPL sysHydraulic") 22 | 23 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/systems/EVIC/sysAice.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Anti Ice functionality 3 | 4 | -- @classmod sysAice 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local sysAice = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysAice = require("kpcrew.systems.DFLT.sysAice") 23 | 24 | logMsg("TMPL sysAice") 25 | 26 | return sysAice -------------------------------------------------------------------------------- /modules/kpcrew/systems/EVIC/sysElectric.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Electric system functionality 3 | 4 | -- @classmod sysElectric 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysElectric = require("kpcrew.systems.DFLT.sysElectric") 20 | 21 | logMsg("TMPL sysElectric") 22 | 23 | return sysElectric 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/EVIC/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysHydraulic = require("kpcrew.systems.DFLT.sysHydraulic") 20 | 21 | logMsg("TMPL sysHydraulic") 22 | 23 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD82/sysAice.lua: -------------------------------------------------------------------------------- 1 | -- MD82 airplane 2 | -- Anti Ice functionality 3 | 4 | -- @classmod sysAice 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local sysAice = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysAice = require("kpcrew.systems.DFLT.sysAice") 23 | 24 | logMsg("MD82 sysAice") 25 | 26 | return sysAice -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD82/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- MD82 airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysHydraulic = require("kpcrew.systems.DFLT.sysHydraulic") 20 | 21 | logMsg("MD82 sysHydraulic") 22 | 23 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysAice.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Anti Ice functionality 3 | 4 | -- @classmod sysAice 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local sysAice = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysAice = require("kpcrew.systems.DFLT.sysAice") 23 | 24 | logMsg("TMPL sysAice") 25 | 26 | return sysAice -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysAir.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Air and Pneumatics functionality 3 | 4 | -- @classmod sysAir 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local sysAir = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysAir = require("kpcrew.systems.DFLT.sysAir") 23 | 24 | logMsg("TMPL sysAir") 25 | 26 | return sysAir -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysHydraulic = require("kpcrew.systems.DFLT.sysHydraulic") 20 | 21 | logMsg("TMPL sysHydraulic") 22 | 23 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/systems/SF50/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysHydraulic = require("kpcrew.systems.DFLT.sysHydraulic") 20 | 21 | logMsg("TMPL sysHydraulic") 22 | 23 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysAice.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Anti Ice functionality 3 | 4 | -- @classmod sysAice 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local sysAice = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysAice = require("kpcrew.systems.DFLT.sysAice") 23 | 24 | logMsg("TMPL sysAice") 25 | 26 | return sysAice -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysAir.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Air and Pneumatics functionality 3 | 4 | -- @classmod sysAir 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local sysAir = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysAir = require("kpcrew.systems.DFLT.sysAir") 23 | 24 | logMsg("TMPL sysAir") 25 | 26 | return sysAir -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysElectric.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Electric system functionality 3 | 4 | -- @classmod sysElectric 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysElectric = require("kpcrew.systems.DFLT.sysElectric") 20 | 21 | logMsg("TMPL sysElectric") 22 | 23 | return sysElectric 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysHydraulic = require("kpcrew.systems.DFLT.sysHydraulic") 20 | 21 | logMsg("TMPL sysHydraulic") 22 | 23 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_MD11.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - Rotate MD-11 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2024 Kosta Prokopiu 5 | local MD11Group = kcPreferenceGroup:new("aircraft","MD11 PREFERENCES") 6 | MD11Group:setInitialOpen(false) 7 | MD11Group:add(kcPreference:new("efis_mins_dh", true, kcPreference.typeToggle, "EFIS MINS Mode|RADIO (DH)|BARO (DA)")) 8 | MD11Group:add(kcPreference:new("mcp_def_spd", 250, kcPreference.typeInt, "MCP Initial Speed|5")) 9 | MD11Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 10 | MD11Group:add(kcPreference:new("mcp_def_alt", 10000, kcPreference.typeInt, "MCP Initial Altitude|100")) 11 | MD11Group:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle, "Initial Power-Up|APU|GPU")) 12 | MD11Group:add(kcPreference:new("efis_mtr", false, kcPreference.typeToggle, "EFIS Meters|MTRS|FEET")) 13 | MD11Group:add(kcPreference:new("efis_fpv", false, kcPreference.typeToggle, "EFIS Flight Path Vector|ON|OFF")) 14 | 15 | activePrefSet:addGroup(MD11Group) 16 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/E1FF/sysEngines.lua: -------------------------------------------------------------------------------- 1 | -- E1FF X-Crafts Freeware airplane 2 | -- Engine related functionality 3 | 4 | -- @classmod sysEngines 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEngines = require("kpcrew.systems.DFLT.sysEngines") 20 | 21 | logMsg("TMPL sysEngines") 22 | 23 | return sysEngines 24 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/E1FF/sysAice.lua: -------------------------------------------------------------------------------- 1 | -- E1FF X-Crafts Freeware airplane 2 | -- Anti Ice functionality 3 | 4 | -- @classmod sysAice 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local sysAice = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysAice = require("kpcrew.systems.DFLT.sysAice") 23 | 24 | logMsg("TMPL sysAice") 25 | 26 | return sysAice -------------------------------------------------------------------------------- /modules/kpcrew/systems/EPIC/sysGeneral.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- aircraft general systems 3 | 4 | -- @classmod sysGeneral 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local sysGeneral = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysGeneral = require("kpcrew.systems.DFLT.sysGeneral") 23 | 24 | logMsg("TMPL sysGeneral") 25 | 26 | return sysGeneral -------------------------------------------------------------------------------- /modules/kpcrew/systems/ERJF/sysAir.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- Air and Pneumatics functionality 3 | 4 | local sysAir = { 5 | } 6 | 7 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 8 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 9 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 10 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 11 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 12 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 13 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 14 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 15 | local InopSwitch = require "kpcrew.systems.InopSwitch" 16 | local drefAirANC = "sim/cockpit/warnings/annunciators/bleed_air_off" 17 | 18 | -- VACUUM annunciator 19 | sysAir.vacuumAnc = CustomAnnunciator:new("vacuum", 20 | function () 21 | if get(drefAirANC,0) == 1 or get(drefAirANC,1) == 1 then 22 | return 1 23 | else 24 | return 0 25 | end 26 | end) 27 | 28 | return sysAir -------------------------------------------------------------------------------- /modules/kpcrew/systems/EVIC/sysGeneral.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- aircraft general systems 3 | 4 | -- @classmod sysGeneral 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local sysGeneral = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysGeneral = require("kpcrew.systems.DFLT.sysGeneral") 23 | 24 | logMsg("TMPL sysGeneral") 25 | 26 | return sysGeneral -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysGeneral.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- aircraft general systems 3 | 4 | -- @classmod sysGeneral 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local sysGeneral = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysGeneral = require("kpcrew.systems.DFLT.sysGeneral") 23 | 24 | logMsg("TMPL sysGeneral") 25 | 26 | return sysGeneral -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysGeneral.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- aircraft general systems 3 | 4 | -- @classmod sysGeneral 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local sysGeneral = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysGeneral = require("kpcrew.systems.DFLT.sysGeneral") 23 | 24 | logMsg("TMPL sysGeneral") 25 | 26 | return sysGeneral -------------------------------------------------------------------------------- /modules/kpcrew/systems/ERJF/sysElectric.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- Electric system functionality 3 | 4 | local sysElectric = { 5 | } 6 | 7 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 8 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 9 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 10 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 11 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 12 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 13 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 14 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 15 | local InopSwitch = require "kpcrew.systems.InopSwitch" 16 | 17 | -- LOW VOLTAGE annunciator 18 | sysElectric.lowVoltageAnc = SimpleAnnunciator:new("lowvoltage","sim/cockpit2/annunciators/low_voltage",0) 19 | 20 | -- APU RUNNING annunciator 21 | sysElectric.apuRunningAnc = SimpleAnnunciator:new("apurunning","sim/cockpit2/electrical/APU_running",0) 22 | 23 | return sysElectric -------------------------------------------------------------------------------- /modules/kpcrew/systems/CustomAnnunciator.lua: -------------------------------------------------------------------------------- 1 | -- interface for an Custom Annunciator with scripting 2 | 3 | -- @classmod CustomAnnunciator 4 | -- @author Kosta Prokopiu 5 | -- @copyright 2022 Kosta Prokopiu 6 | local khCustomAnnunciator = { 7 | } 8 | 9 | local Annunciator = require "kpcrew.systems.Annunciator" 10 | 11 | -- new switch object 12 | -- Constructor for custom scroipt annunciator 13 | -- @tparam string name of element 14 | -- @tparam function logic for setting annunciator 1 or 0 15 | -- @treturn Annunciator the created base element 16 | function khCustomAnnunciator:new(name, funcStatus) 17 | 18 | khCustomAnnunciator.__index = khCustomAnnunciator 19 | setmetatable(khCustomAnnunciator, { 20 | __index = Annunciator 21 | }) 22 | 23 | local obj = Annunciator:new(name, "", 0) 24 | setmetatable(obj, khCustomAnnunciator) 25 | 26 | obj.funcStatus = funcStatus 27 | 28 | return obj 29 | end 30 | 31 | -- return custom status 32 | -- @treturn status value 33 | function khCustomAnnunciator:getStatus() 34 | return self.funcStatus() 35 | end 36 | 37 | return khCustomAnnunciator -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysFuel.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Fuel related functionality 3 | 4 | -- @classmod sysFuel 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | local drefFuelPressLow = "sim/cockpit2/annunciators/fuel_pressure_low" 19 | 20 | sysFuel = require("kpcrew.systems.DFLT.sysFuel") 21 | 22 | logMsg("TMPL sysFuel") 23 | 24 | return sysFuel -------------------------------------------------------------------------------- /modules/kpcrew/systems/SF50/sysFuel.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Fuel related functionality 3 | 4 | -- @classmod sysFuel 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | local drefFuelPressLow = "sim/cockpit2/annunciators/fuel_pressure_low" 19 | 20 | sysFuel = require("kpcrew.systems.DFLT.sysFuel") 21 | 22 | logMsg("TMPL sysFuel") 23 | 24 | return sysFuel -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysFuel.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Fuel related functionality 3 | 4 | -- @classmod sysFuel 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | local drefFuelPressLow = "sim/cockpit2/annunciators/fuel_pressure_low" 19 | 20 | sysFuel = require("kpcrew.systems.DFLT.sysFuel") 21 | 22 | logMsg("TMPL sysFuel") 23 | 24 | return sysFuel -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysLights.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- aircraft lights specific functionality 3 | -- ** default element for kphardware - must be in all classes of this system 4 | 5 | -- @classmod sysLights 6 | -- @author Kosta Prokopiu 7 | -- @copyright 2022 Kosta Prokopiu 8 | local sysLights = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | require "kpcrew.systems.DFLT.sysLights" 23 | 24 | return sysLights -------------------------------------------------------------------------------- /modules/kpcrew/systems/B742/sysAice.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- Anti Ice functionality 3 | 4 | local sysAice = { 5 | } 6 | 7 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 8 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 9 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 10 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 11 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 12 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 13 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 14 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 15 | local InopSwitch = require "kpcrew.systems.InopSwitch" 16 | 17 | local drefAiceWing = "sim/cockpit/switches/anti_ice_surf_heat" 18 | local drefAiceEng = "sim/cockpit/switches/anti_ice_inlet_heat" 19 | 20 | -- ANTI ICE annunciator 21 | sysAice.antiiceAnc = CustomAnnunciator:new("antiice", 22 | function () 23 | if get(drefAiceWing) > 0 or get(drefAiceEng) > 0 then 24 | return 1 25 | else 26 | return 0 27 | end 28 | end) 29 | 30 | return sysAice -------------------------------------------------------------------------------- /modules/kpcrew/systems/B744/sysAice.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- Anti Ice functionality 3 | 4 | local sysAice = { 5 | } 6 | 7 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 8 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 9 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 10 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 11 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 12 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 13 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 14 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 15 | local InopSwitch = require "kpcrew.systems.InopSwitch" 16 | 17 | local drefAiceWing = "sim/cockpit/switches/anti_ice_surf_heat" 18 | local drefAiceEng = "sim/cockpit/switches/anti_ice_inlet_heat" 19 | 20 | -- ANTI ICE annunciator 21 | sysAice.antiiceAnc = CustomAnnunciator:new("antiice", 22 | function () 23 | if get(drefAiceWing) > 0 or get(drefAiceEng) > 0 then 24 | return 1 25 | else 26 | return 0 27 | end 28 | end) 29 | 30 | return sysAice -------------------------------------------------------------------------------- /modules/kpcrew/systems/ERJF/sysAice.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- Anti Ice functionality 3 | 4 | local sysAice = { 5 | } 6 | 7 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 8 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 9 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 10 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 11 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 12 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 13 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 14 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 15 | local InopSwitch = require "kpcrew.systems.InopSwitch" 16 | 17 | local drefAiceWing = "sim/cockpit/switches/anti_ice_surf_heat" 18 | local drefAiceEng = "sim/cockpit/switches/anti_ice_inlet_heat" 19 | 20 | -- ANTI ICE annunciator 21 | sysAice.antiiceAnc = CustomAnnunciator:new("antiice", 22 | function () 23 | if get(drefAiceWing) > 0 or get(drefAiceEng) > 0 then 24 | return 1 25 | else 26 | return 0 27 | end 28 | end) 29 | 30 | return sysAice -------------------------------------------------------------------------------- /modules/kpcrew/procedures/Background.lua: -------------------------------------------------------------------------------- 1 | -- Procedure with background items 2 | -- 3 | -- @classmod Background 4 | -- @author Kosta Prokopiu 5 | -- @copyright 2022 Kosta Prokopiu 6 | local kcBackground = { 7 | } 8 | 9 | local Flow = require "kpcrew.Flow" 10 | 11 | -- Instantiate a new Background flow 12 | -- @tparam string name Name of the set (also used as title) 13 | function kcBackground:new(name, speakname, finalstatement) 14 | kcBackground.__index = kcBackground 15 | setmetatable(kcBackground, { 16 | __index = Flow 17 | }) 18 | local obj = Flow:new(name, speakname, finalStatement) 19 | setmetatable(obj, kcBackground) 20 | 21 | obj.className = "Background" 22 | obj.finalStatement = finalstatement 23 | obj.spokenName = speakname 24 | 25 | return obj 26 | end 27 | 28 | -- reset procedure and all below items 29 | function kcBackground:reset() 30 | self:setState(Flow.RUN) 31 | self.activeItemIndex = 0 32 | self.nameSpoken = false 33 | self.finalSpoken = false 34 | -- reset all items in procedure 35 | for _, item in ipairs(self.items) do 36 | item:reset() 37 | end 38 | end 39 | 40 | return kcBackground -------------------------------------------------------------------------------- /modules/kpcrew/systems/A359/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- A350 airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysFMC = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | --------- Switch datarefs common 22 | 23 | 24 | --------- Annunciator datarefs common 25 | 26 | 27 | --------- Switch commands common 28 | 29 | 30 | --------- Actuator definitions 31 | 32 | 33 | return sysFMC -------------------------------------------------------------------------------- /modules/kpcrew/systems/E1FF/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- E1FF X-Crafts Freeware airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | logMsg("E1FF sysRadios") 22 | 23 | sysRadios.stby = 1 24 | sysRadios.alt = 2 25 | sysRadios.ta = 2 26 | sysRadios.tara = 3 27 | 28 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_C172.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - C172 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2023 Kosta Prokopiu 5 | local C172Group = kcPreferenceGroup:new("aircraft","C172 AIRCRAFT PREFERENCES") 6 | C172Group:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 7 | C172Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 8 | C172Group:add(kcPreference:new("mcp_def_alt", 4500, kcPreference.typeInt, "MCP Initial Altitude|100")) 9 | 10 | C172Group:add(kcPreference:new("has_apu", false, kcPreference.typeToggle,"Airplane APU|Has APU|Has no APU")) 11 | C172Group:add(kcPreference:new("has_gpu", false, kcPreference.typeToggle,"Airplane GPU|Has GPU|Has no GPU")) 12 | C172Group:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle,"Initial Power-Up|With APU|With GPU/BATT")) 13 | 14 | C172Group:add(kcPreference:new("has_retgear", true, kcPreference.typeToggle,"Airplane Gear|Is retractable|is fixed gear")) 15 | C172Group:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 16 | 17 | 18 | activePrefSet:addGroup(C172Group) 19 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/C750/sysGeneral.lua: -------------------------------------------------------------------------------- 1 | -- C750 airplane 2 | -- aircraft general systems 3 | 4 | -- @classmod sysGeneral 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysGeneral = require("kpcrew.systems.DFLT.sysGeneral") 20 | 21 | -- Antiskid 22 | sysGeneral.antiSkid = TwoStateToggleSwitch:new("antiskid","laminar/CitX/hydraulics/antiskid",0, 23 | "laminar/CitX/hydraulics/cmd_antiskid_toggle") 24 | 25 | return sysGeneral -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD88/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- Rotate MD88 airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysHydraulic = require("kpcrew.systems.DFLT.sysHydraulic") 20 | 21 | -- HYD Electric Pump 22 | sysHydraulic.elecHydPumpGroup = TwoStateDrefSwitch:new("elechydpump","Rotate/md80/hydraulic/hyd_switch_electric",0) 23 | 24 | return sysHydraulic 25 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_B738.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - Zibo Mod B738 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2022 Kosta Prokopiu 5 | local B738Group = kcPreferenceGroup:new("aircraft","B738 PREFERENCES") 6 | B738Group:setInitialOpen(false) 7 | B738Group:add(kcPreference:new("efis_mins_dh", true, kcPreference.typeToggle, "EFIS MINS Mode|RADIO (DH)|BARO (DA)")) 8 | B738Group:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 9 | B738Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 10 | B738Group:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 11 | B738Group:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle, "Initial Power-Up|APU|GPU")) 12 | B738Group:add(kcPreference:new("efis_mtr", false, kcPreference.typeToggle, "EFIS Meters|MTRS|FEET")) 13 | B738Group:add(kcPreference:new("efis_fpv", false, kcPreference.typeToggle, "EFIS Flight Path Vector|ON|OFF")) 14 | B738Group:add(kcPreference:new("takeoff_cmda", true, kcPreference.typeToggle, "On T/O turn|CMDA ON|leave CMDA OFF")) 15 | 16 | activePrefSet:addGroup(B738Group) 17 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_B744.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - mSparks B744 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2022 Kosta Prokopiu 5 | local B744Group = kcPreferenceGroup:new("aircraft","B744 PREFERENCES") 6 | B744Group:setInitialOpen(false) 7 | B744Group:add(kcPreference:new("efis_mins_dh", true, kcPreference.typeToggle, "EFIS MINS Mode|RADIO (DH)|BARO (DA)")) 8 | B744Group:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 9 | B744Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 10 | B744Group:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 11 | B744Group:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle, "Initial Power-Up|APU|GPU")) 12 | B744Group:add(kcPreference:new("efis_mtr", false, kcPreference.typeToggle, "EFIS Meters|MTRS|FEET")) 13 | B744Group:add(kcPreference:new("efis_fpv", false, kcPreference.typeToggle, "EFIS Flight Path Vector|ON|OFF")) 14 | B744Group:add(kcPreference:new("takeoff_cmda", true, kcPreference.typeToggle, "On T/O turn|CMDA ON|leave CMDA OFF")) 15 | 16 | activePrefSet:addGroup(B744Group) 17 | -------------------------------------------------------------------------------- /modules/kpcrew/preferences/prefs_B7x7.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific preferences - FF B767... 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2022 Kosta Prokopiu 5 | local B7x7Group = kcPreferenceGroup:new("aircraft","B7x7 PREFERENCES") 6 | B7x7Group:setInitialOpen(false) 7 | B7x7Group:add(kcPreference:new("efis_mins_dh", true, kcPreference.typeToggle, "EFIS MINS Mode|RADIO (DH)|BARO (DA)")) 8 | B7x7Group:add(kcPreference:new("mcp_def_spd", 100, kcPreference.typeInt, "MCP Initial Speed|5")) 9 | B7x7Group:add(kcPreference:new("mcp_def_hdg", 001, kcPreference.typeInt, "MCP Initial Heading|1")) 10 | B7x7Group:add(kcPreference:new("mcp_def_alt", 4900, kcPreference.typeInt, "MCP Initial Altitude|100")) 11 | B7x7Group:add(kcPreference:new("powerup_apu", false, kcPreference.typeToggle, "Initial Power-Up|APU|GPU")) 12 | B7x7Group:add(kcPreference:new("efis_mtr", false, kcPreference.typeToggle, "EFIS Meters|MTRS|FEET")) 13 | B7x7Group:add(kcPreference:new("efis_fpv", false, kcPreference.typeToggle, "EFIS Flight Path Vector|ON|OFF")) 14 | B7x7Group:add(kcPreference:new("takeoff_cmda", true, kcPreference.typeToggle, "On T/O turn|CMDA ON|leave CMDA OFF")) 15 | 16 | activePrefSet:addGroup(B7x7Group) 17 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD88/sysLights.lua: -------------------------------------------------------------------------------- 1 | -- Rotate MD88 airplane 2 | -- Aircraft lights specific functionality 3 | 4 | -- @classmod sysLights 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysLights = require("kpcrew.systems.DFLT.sysLights") 20 | 21 | -- Beacons or Anticollision Lights, single, onoff, command driven 22 | sysLights.beaconSwitch = TwoStateDrefSwitch:new("beacon","Rotate/md80/lights/anticollision_light_switch",0) 23 | 24 | return sysLights -------------------------------------------------------------------------------- /modules/kpcrew/systems/ERJF/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- Hydraulic system functionality 3 | 4 | local sysHydraulic = { 5 | } 6 | 7 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 8 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 9 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 10 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 11 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 12 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 13 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 14 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 15 | local InopSwitch = require "kpcrew.systems.InopSwitch" 16 | 17 | local drefHydPressure1 = "sim/cockpit2/hydraulics/indicators/hydraulic_pressure_1" 18 | local drefHydPressure2 = "sim/cockpit2/hydraulics/indicators/hydraulic_pressure_2" 19 | 20 | -- LOW HYDRAULIC annunciator 21 | sysHydraulic.hydraulicLowAnc = CustomAnnunciator:new("hydrauliclow", 22 | function () 23 | if get(drefHydPressure1,0) == 1 or get(drefHydPressure2,0) == 1 then 24 | return 1 25 | else 26 | return 0 27 | end 28 | end) 29 | 30 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/systems/A33L/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- Laminar A330 variants airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | logMsg("A33L sysRadios") 22 | 23 | sysRadios.xpdrSwitch = TwoStateDrefSwitch:new("xpdrmode","laminar/A333/transponder/ta_ra_knob_pos",0) 24 | sysRadios.stby = 0 25 | sysRadios.alt = 0 26 | sysRadios.ta = 1 27 | sysRadios.tara = 2 28 | 29 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD11/sysAice.lua: -------------------------------------------------------------------------------- 1 | -- Rotate MD-11 airplane 2 | -- Anti Ice functionality 3 | 4 | -- @classmod sysAice 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | local sysAice = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | 20 | local drefAiceWing = "sim/cockpit/switches/anti_ice_surf_heat" 21 | local drefAiceEng = "sim/cockpit/switches/anti_ice_inlet_heat" 22 | 23 | -- ANTI ICE annunciator 24 | sysAice.antiiceAnc = CustomAnnunciator:new("antiice", 25 | function () 26 | if get(drefAiceWing) > 0 or get(drefAiceEng) > 0 then 27 | return 1 28 | else 29 | return 0 30 | end 31 | end) 32 | 33 | return sysAice -------------------------------------------------------------------------------- /modules/kpcrew/systems/DFLT/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysFMC = { 8 | } 9 | 10 | logMsg("DFLT sysFMC") 11 | 12 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 13 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 14 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 15 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 16 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 17 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 18 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 19 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 20 | local InopSwitch = require "kpcrew.systems.InopSwitch" 21 | 22 | 23 | -- Intertial reference System 24 | sysFMC.irs1 = InopSwitch:new("irs1") 25 | sysFMC.irs2 = InopSwitch:new("irs1") 26 | sysFMC.irs3 = InopSwitch:new("irs1") 27 | sysFMC.irsGroup = SwitchGroup:new("irsgroup") 28 | sysFMC.irsGroup:addSwitch(sysFMC.irs1) 29 | sysFMC.irsGroup:addSwitch(sysFMC.irs2) 30 | sysFMC.irsGroup:addSwitch(sysFMC.irs3) 31 | 32 | 33 | return sysFMC -------------------------------------------------------------------------------- /modules/kpcrew/systems/KeepPressedSwitchCmd.lua: -------------------------------------------------------------------------------- 1 | -- Begin pressing the button (via command) end end when stop has been given 2 | 3 | -- @classmod khKeepPressedSwitchCmd 4 | -- @author Kosta Prokopiu 5 | -- @copyright 2022 Kosta Prokopiu 6 | local khKeepPressedSwitchCmd = {} 7 | 8 | local Switch = require "kpcrew.systems.Switch" 9 | 10 | -- Constructor for toggle switch 11 | -- @tparam string name of element 12 | -- @tparam string dataref for elemnts status 13 | -- @tparam int index of element dataref 14 | -- @tparam string cmd command string to execute 15 | -- @treturn Switch the created base element 16 | function khKeepPressedSwitchCmd:new(name, statusDref, statusDrefIdx, cmd) 17 | 18 | khKeepPressedSwitchCmd.__index = khKeepPressedSwitchCmd 19 | setmetatable(khKeepPressedSwitchCmd, { 20 | __index = Switch 21 | }) 22 | 23 | local obj = Switch:new(name,statusDref,statusDrefIdx) 24 | setmetatable(obj, khKeepPressedSwitchCmd) 25 | 26 | obj.cmd = cmd 27 | 28 | return obj 29 | end 30 | 31 | -- actuate and hold knob until stopped with repeatOff 32 | function khKeepPressedSwitchCmd:repeatOn() 33 | command_begin(self.cmd) 34 | end 35 | 36 | -- stop the repeat action 37 | function khKeepPressedSwitchCmd:repeatOff() 38 | command_end(self.cmd) 39 | end 40 | 41 | return khKeepPressedSwitchCmd 42 | 43 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/TwoStateDrefSwitch.lua: -------------------------------------------------------------------------------- 1 | -- switch with mode on/off and toggle function via dataref 2 | -- 3 | -- @classmod TwoStateDrefSwitch 4 | -- @author Kosta Prokopiu 5 | -- @copyright 2022 Kosta Prokopiu 6 | local khTwoStateDrefSwitch = {} 7 | 8 | local Switch = require "kpcrew.systems.Switch" 9 | 10 | -- provide the dataref with switch state, dref to set mode in 11 | -- @tparam string name of element 12 | -- @tparam string dataref for elemnts status 13 | -- @tparam int index of element dataref 14 | -- @treturn Switch the created base element 15 | function khTwoStateDrefSwitch:new(name, dataref, datarefidx) 16 | 17 | khTwoStateDrefSwitch.__index = khTwoStateDrefSwitch 18 | setmetatable(khTwoStateDrefSwitch, { 19 | __index = Switch 20 | }) 21 | 22 | local obj = Switch:new(name, dataref, datarefidx) 23 | setmetatable(obj, khTwoStateDrefSwitch) 24 | 25 | return obj 26 | end 27 | 28 | -- actuate the switch with given mode 29 | -- @tparam int action 0=off 1=on 2=tgl 30 | function khTwoStateDrefSwitch:actuate(action) 31 | if action ~= modeToggle then 32 | if self:getStatus() ~= action then 33 | self:setValue(action) 34 | end 35 | else 36 | if self:getStatus() ~= 0 then 37 | self:setValue(0) 38 | else 39 | self:setValue(1) 40 | end 41 | end 42 | end 43 | 44 | return khTwoStateDrefSwitch 45 | 46 | 47 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/A3TL/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- ToLiss Airbusses 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | logMsg("A3TL sysRadios") 22 | 23 | sysRadios.xpdrSwitch = TwoStateDrefSwitch:new ("xpdrmode","AirbusFBW/XPDRPower",0) 24 | 25 | sysRadios.xpdrCode = TwoStateDrefSwitch:new ("xpdrcode","sim/cockpit2/radios/actuators/transponder_code",0) 26 | 27 | sysRadios.stby = 0 28 | sysRadios.alt = 2 29 | sysRadios.ta = 3 30 | sysRadios.tara = 4 31 | 32 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD11/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | local sysHydraulic = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | 20 | local drefHydPressure1 = "sim/cockpit2/hydraulics/indicators/hydraulic_pressure_1" 21 | local drefHydPressure2 = "sim/cockpit2/hydraulics/indicators/hydraulic_pressure_2" 22 | 23 | sysHydraulic.hydTestSwitch = TwoStateToggleSwitch:new("","Rotate/aircraft/controls/hyd_pres_test",0, 24 | "Rotate/aircraft/controls_c/hyd_pres_test_grd") 25 | 26 | -- LOW HYDRAULIC annunciator 27 | sysHydraulic.hydraulicLowAnc = InopSwitch:new("hydrauliclow") 28 | 29 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD82/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- MD82 airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | logMsg("MD82 sysRadios") 22 | 23 | sysRadios.xpdrSwitch = TwoStateDrefSwitch:new("xpdrmode","sim/cockpit2/radios/actuators/transponder_mode",0) 24 | sysRadios.xpdrCode = TwoStateDrefSwitch:new("xpdrcode","sim/cockpit2/radios/actuators/transponder_code",0) 25 | 26 | sysRadios.stby = 1 27 | sysRadios.alt = 3 28 | sysRadios.ta = 3 29 | sysRadios.tara = 3 30 | 31 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/PC12/sysLights.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Aircraft lights specific functionality 3 | 4 | -- @classmod sysLights 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | local drefLandingLights = "sim/cockpit2/switches/landing_lights_switch" 20 | local drefGenericLights = "sim/cockpit2/switches/generic_lights_switch" 21 | local drefInstrLights = "sim/cockpit2/switches/instrument_brightness_ratio" 22 | local drefPanelLights = "sim/cockpit2/switches/panel_brightness_ratio" 23 | 24 | sysLights = require("kpcrew.systems.DFLT.sysLights") 25 | 26 | logMsg("TMPL sysLights") 27 | 28 | return sysLights 29 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/TMPL/sysLights.lua: -------------------------------------------------------------------------------- 1 | -- TMPL airplane 2 | -- Aircraft lights specific functionality 3 | 4 | -- @classmod sysLights 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | local drefLandingLights = "sim/cockpit2/switches/landing_lights_switch" 20 | local drefGenericLights = "sim/cockpit2/switches/generic_lights_switch" 21 | local drefInstrLights = "sim/cockpit2/switches/instrument_brightness_ratio" 22 | local drefPanelLights = "sim/cockpit2/switches/panel_brightness_ratio" 23 | 24 | sysLights = require("kpcrew.systems.DFLT.sysLights") 25 | 26 | logMsg("TMPL sysLights") 27 | 28 | return sysLights 29 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/E1FF/sysLights.lua: -------------------------------------------------------------------------------- 1 | -- E1FF X-Crafts Freeware airplane 2 | -- Aircraft lights specific functionality 3 | 4 | -- @classmod sysLights 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | local drefLandingLights = "sim/cockpit2/switches/landing_lights_switch" 20 | local drefGenericLights = "sim/cockpit2/switches/generic_lights_switch" 21 | local drefInstrLights = "sim/cockpit2/switches/instrument_brightness_ratio" 22 | local drefPanelLights = "sim/cockpit2/switches/panel_brightness_ratio" 23 | 24 | sysLights = require("kpcrew.systems.DFLT.sysLights") 25 | 26 | logMsg("TMPL sysLights") 27 | 28 | return sysLights 29 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/E55P/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- E55P airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | logMsg("E55P sysRadios") 22 | 23 | sysRadios.xpdrSwitch = TwoStateDrefSwitch:new("xpdrmode","sim/cockpit2/radios/actuators/transponder_mode",0) 24 | sysRadios.xpdrCode = TwoStateDrefSwitch:new("xpdrcode","sim/cockpit2/radios/actuators/transponder_code",0) 25 | 26 | sysRadios.off = 0 27 | sysRadios.stby = 1 28 | sysRadios.alt = 3 29 | sysRadios.ta = 3 30 | sysRadios.tara = 3 31 | 32 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/EPIC/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- EPIC airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | logMsg("EPIC sysRadios") 22 | 23 | sysRadios.xpdrSwitch = TwoStateDrefSwitch:new("xpdrmode","sim/cockpit2/radios/actuators/transponder_mode",0) 24 | sysRadios.xpdrCode = TwoStateDrefSwitch:new("xpdrcode","sim/cockpit2/radios/actuators/transponder_code",0) 25 | 26 | sysRadios.off = 0 27 | sysRadios.stby = 1 28 | sysRadios.alt = 3 29 | sysRadios.ta = 3 30 | sysRadios.tara = 3 31 | 32 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/EVIC/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- EVIC airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | logMsg("EVIC sysRadios") 22 | 23 | sysRadios.xpdrSwitch = TwoStateDrefSwitch:new("xpdrmode","sim/cockpit2/radios/actuators/transponder_mode",0) 24 | sysRadios.xpdrCode = TwoStateDrefSwitch:new("xpdrcode","sim/cockpit2/radios/actuators/transponder_code",0) 25 | 26 | sysRadios.off = 0 27 | sysRadios.stby = 1 28 | sysRadios.alt = 3 29 | sysRadios.ta = 3 30 | sysRadios.tara = 3 31 | 32 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/SF50/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- SF50 airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | logMsg("SF50 sysRadios") 22 | 23 | sysRadios.xpdrSwitch = TwoStateDrefSwitch:new("xpdrmode","sim/cockpit2/radios/actuators/transponder_mode",0) 24 | sysRadios.xpdrCode = TwoStateDrefSwitch:new("xpdrcode","sim/cockpit2/radios/actuators/transponder_code",0) 25 | 26 | sysRadios.off = 0 27 | sysRadios.stby = 1 28 | sysRadios.alt = 3 29 | sysRadios.ta = 3 30 | sysRadios.tara = 3 31 | 32 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/B738/sysRadios.lua: -------------------------------------------------------------------------------- 1 | -- B738 airplane 2 | -- Radio functionality 3 | 4 | -- @classmod sysRadios 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysRadios = require("kpcrew.systems.DFLT.sysRadios") 20 | 21 | sysRadios.xpdrSwitch = MultiStateCmdSwitch:new ("xpdrmode","laminar/B738/knob/transponder_pos",0, 22 | "laminar/B738/knob/transponder_mode_dn","laminar/B738/knob/transponder_mode_up",0,5,true) 23 | 24 | sysRadios.xpdrCode = TwoStateDrefSwitch:new ("xpdrcode","sim/cockpit2/radios/actuators/transponder_code",0) 25 | 26 | sysRadios.stby = 1 27 | sysRadios.alt = 3 28 | sysRadios.ta = 4 29 | sysRadios.tara = 5 30 | 31 | return sysRadios -------------------------------------------------------------------------------- /modules/kpcrew/systems/SF50/sysEngines.lua: -------------------------------------------------------------------------------- 1 | -- SF50 airplane 2 | -- Engine related functionality 3 | 4 | -- @classmod sysEngines 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEngines = require("kpcrew.systems.DFLT.sysEngines") 20 | 21 | logMsg("SF50 sysEngines") 22 | 23 | -- ignition 24 | sysEngines.engIgnition1 = TwoStateCmdSwitch:new("ignition1","laminar/SF50/ignition_position",0, 25 | "laminar/SF50/ignition_up","laminar/SF50/ignition_down","nocommand") 26 | sysEngines.engIgnitionGroup = SwitchGroup:new("ignitions") 27 | sysEngines.engIgnitionGroup:addSwitch(sysEngines.engIgnition1) 28 | 29 | 30 | -- laminar/SF50/eng_start_stop_toggle 31 | 32 | return sysEngines 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/EPIC/sysControls.lua: -------------------------------------------------------------------------------- 1 | -- EPIC airplane 2 | -- Flight Controls functionality 3 | 4 | -- @classmod sysControls 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysControls = require("kpcrew.systems.DFLT.sysControls") 20 | 21 | logMsg("EPIC sysControls") 22 | 23 | sysControls.flaps_pos = {[0] = 0, [1] = 0.5, [2] = 1, [3] = 1, [4] = 1, [5] = 1, [6] = 1, [7] = 1, [8] = 1} 24 | sysControls.flaps_spd = {[0] = 190, [1] = 190, [2] = 150, [3] = 150, [4] = 150, [5] = 150, [6] = 150, [7] = 150, [8] = 150} 25 | sysControls.flaps_name= {[0] = "UP", [1] = "TO", [2] = "LAND", [3] = "35", [4] = "35", [5] = "35", [6] = "35", [7] = "35", [8] = "35"} 26 | 27 | return sysControls -------------------------------------------------------------------------------- /modules/kpcrew/systems/EVIC/sysControls.lua: -------------------------------------------------------------------------------- 1 | -- EVIC airplane 2 | -- Flight Controls functionality 3 | 4 | -- @classmod sysControls 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysControls = require("kpcrew.systems.DFLT.sysControls") 20 | 21 | logMsg("EVIC sysControls") 22 | 23 | sysControls.flaps_pos = {[0] = 0, [1] = 0.5, [2] = 1, [3] = 1, [4] = 1, [5] = 1, [6] = 1, [7] = 1, [8] = 1} 24 | sysControls.flaps_spd = {[0] = 180, [1] = 180, [2] = 130, [3] = 130, [4] = 130, [5] = 130, [6] = 130, [7] = 130, [8] = 130} 25 | sysControls.flaps_name= {[0] = "UP", [1] = "T/O", [2] = "FULL", [3] = "35", [4] = "35", [5] = "35", [6] = "35", [7] = "35", [8] = "35"} 26 | 27 | return sysControls -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD88/sysControls.lua: -------------------------------------------------------------------------------- 1 | -- Rotate MD88 airplane 2 | -- Flight Controls functionality 3 | 4 | -- @classmod sysControls 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | local sysControls = { 20 | trimCenter = 2, 21 | trimLeft = 1, 22 | trimRight = 0, 23 | 24 | flapsUp = 0, 25 | flapsDown = 1, 26 | 27 | trimUp = 0, 28 | trimDown = 1, 29 | 30 | flaps_pos = {[0] = 0, [1] = 0.125, [2] = 0.25, [3] = 0.375, [4] = 0.5, [5] = 0.625, [6] = 0.75, [7] = 0.875, [8] = 1}, 31 | flaps_spd = {[0] = 999, [1] = 999, [2] = 999, [3] = 999, [4] = 999, [5] = 999, [6] = 999, [7] = 999, [8] = 999} 32 | } 33 | 34 | sysControls = require("kpcrew.systems.DFLT.sysControls") 35 | 36 | return sysControls -------------------------------------------------------------------------------- /modules/kpcrew/systems/EPIC/sysEngines.lua: -------------------------------------------------------------------------------- 1 | -- EPIC airplane 2 | -- Engine related functionality 3 | 4 | -- @classmod sysEngines 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEngines = require("kpcrew.systems.DFLT.sysEngines") 20 | 21 | logMsg("EPIC sysEngines") 22 | 23 | -- ignition 24 | sysEngines.engIgnition1 = TwoStateToggleSwitch:new("ignition1","aerobask/pb_igniter",0, 25 | "aerobask/igniter_toggle") 26 | -- sysEngines.engIgnition1 = TwoStateToggleSwitch:new("ignition1","sim/cockpit2/engine/actuators/auto_ignite_on",-1, 27 | -- "aerobask/igniter_toggle") 28 | sysEngines.engIgnitionGroup = SwitchGroup:new("ignitions") 29 | sysEngines.engIgnitionGroup:addSwitch(sysEngines.engIgnition1) 30 | 31 | return sysEngines 32 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/EVIC/sysEngines.lua: -------------------------------------------------------------------------------- 1 | -- EVIC airplane 2 | -- Engine related functionality 3 | 4 | -- @classmod sysEngines 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEngines = require("kpcrew.systems.DFLT.sysEngines") 20 | 21 | logMsg("EVIC sysEngines") 22 | 23 | -- ignition 24 | sysEngines.engIgnition1 = TwoStateToggleSwitch:new("ignition1","aerobask/pb_igniter",-1, 25 | "aerobask/igniter_toggle") 26 | -- sysEngines.engIgnition1 = TwoStateToggleSwitch:new("ignition1","sim/cockpit2/engine/actuators/auto_ignite_on",-1, 27 | -- "aerobask/igniter_toggle") 28 | sysEngines.engIgnitionGroup = SwitchGroup:new("ignitions") 29 | sysEngines.engIgnitionGroup:addSwitch(sysEngines.engIgnition1) 30 | 31 | return sysEngines 32 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/C750/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- Laminar C750 airplane 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEFIS = require("kpcrew.systems.DFLT.sysEFIS") 20 | 21 | sysEFIS.mapRange_5 = 0 22 | sysEFIS.mapRange10 = 1 23 | sysEFIS.mapRange20 = 2 24 | sysEFIS.mapRange40 = 3 25 | sysEFIS.mapRange80 = 4 26 | sysEFIS.mapRange160 = 5 27 | sysEFIS.mapRange320 = 6 28 | sysEFIS.mapRange640 = 6 29 | 30 | sysEFIS.mapModeAPP = 0 31 | sysEFIS.mapModeVOR = 1 32 | sysEFIS.mapModeMAP = 2 33 | sysEFIS.mapModePLAN = 4 34 | 35 | sysEFIS.voradfVOR = 1 36 | sysEFIS.voradfOFF = 0 37 | sysEFIS.voradfADF = -1 38 | 39 | sysEFIS.minsTypeRadio = 0 40 | sysEFIS.minsTypeBaro = 1 41 | 42 | return sysEFIS -------------------------------------------------------------------------------- /modules/kpcrew/systems/A306/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysHydraulic = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | 20 | local drefHydPressure1 = "sim/cockpit2/hydraulics/indicators/hydraulic_pressure_1" 21 | local drefHydPressure2 = "sim/cockpit2/hydraulics/indicators/hydraulic_pressure_2" 22 | 23 | -- HYD Electric Pump 24 | sysHydraulic.elecHydPumpGroup = TwoStateDrefSwitch:new("hydpump","sim/cockpit2/switches/electric_hydraulic_pump_on",0) 25 | 26 | -- LOW HYDRAULIC annunciator 27 | sysHydraulic.hydraulicLowAnc = CustomAnnunciator:new("hydrauliclow", 28 | function () 29 | if get(drefHydPressure1,0) == 1 or get(drefHydPressure2,0) == 1 then 30 | return 1 31 | else 32 | return 0 33 | end 34 | end) 35 | 36 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/systems/B777/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysHydraulic = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | 20 | local drefHydPressure1 = "sim/cockpit2/hydraulics/indicators/hydraulic_pressure_1" 21 | local drefHydPressure2 = "sim/cockpit2/hydraulics/indicators/hydraulic_pressure_2" 22 | 23 | -- HYD Electric Pump 24 | sysHydraulic.elecHydPumpGroup = TwoStateDrefSwitch:new("hydpump","sim/cockpit2/switches/electric_hydraulic_pump_on",0) 25 | 26 | -- LOW HYDRAULIC annunciator 27 | sysHydraulic.hydraulicLowAnc = CustomAnnunciator:new("hydrauliclow", 28 | function () 29 | if get(drefHydPressure1,0) == 1 or get(drefHydPressure2,0) == 1 then 30 | return 1 31 | else 32 | return 0 33 | end 34 | end) 35 | 36 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/systems/B7x7/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- DFLT airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysHydraulic = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | 20 | local drefHydPressure1 = "sim/cockpit2/hydraulics/indicators/hydraulic_pressure_1" 21 | local drefHydPressure2 = "sim/cockpit2/hydraulics/indicators/hydraulic_pressure_2" 22 | 23 | -- HYD Electric Pump 24 | sysHydraulic.elecHydPumpGroup = TwoStateDrefSwitch:new("hydpump","sim/cockpit2/switches/electric_hydraulic_pump_on",0) 25 | 26 | -- LOW HYDRAULIC annunciator 27 | sysHydraulic.hydraulicLowAnc = CustomAnnunciator:new("hydrauliclow", 28 | function () 29 | if get(drefHydPressure1,0) == 1 or get(drefHydPressure2,0) == 1 then 30 | return 1 31 | else 32 | return 0 33 | end 34 | end) 35 | 36 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/systems/E1FF/sysControls.lua: -------------------------------------------------------------------------------- 1 | -- E1FF X-Crafts Freeware airplane 2 | -- Flight Controls functionality 3 | 4 | -- @classmod sysControls 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysControls = require("kpcrew.systems.DFLT.sysControls") 20 | 21 | logMsg("E1FF sysControls") 22 | 23 | sysControls.flaps_pos = {[0] = 0, [1] = 0.166, [2] = 0.333, [3] = 0.5, [4] = 0.666, [5] = 0.833, [6] = 1, [7] = 1, [8] = 1} 24 | sysControls.flaps_spd = {[0] = 230, [1] = 215, [2] = 200, [3] = 190, [4] = 180, [5] = 165, [6] = 165, [7] = 165, [8] = 165} 25 | sysControls.flaps_name= {[0] = "UP", [1] = "1", [2] = "2", [3] = "3", [4] = "4", [5] = "5", [6] = "FULL", [7] = "FULL", [8] = "FULL"} 26 | 27 | 28 | return sysControls -------------------------------------------------------------------------------- /modules/kpcrew/systems/SF50/sysElectric.lua: -------------------------------------------------------------------------------- 1 | -- SF50 airplane 2 | -- Electric system functionality 3 | 4 | -- @classmod sysElectric 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysElectric = require("kpcrew.systems.DFLT.sysElectric") 20 | 21 | logMsg("SF50 sysElectric") 22 | 23 | -- ---- Engine Generators 24 | sysElectric.genSwitchGroup = SwitchGroup:new("generators") 25 | sysElectric.gen1Switch = TwoStateDrefSwitch:new("gen1", 26 | "sim/cockpit/electrical/generator_on",-1) 27 | sysElectric.genSwitchGroup:addSwitch(sysElectric.gen1Switch) 28 | sysElectric.gen2Switch = TwoStateDrefSwitch:new("gen2", 29 | "sim/cockpit/electrical/generator_on",1) 30 | sysElectric.genSwitchGroup:addSwitch(sysElectric.gen2Switch) 31 | 32 | 33 | return sysElectric 34 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/A33L/sysAir.lua: -------------------------------------------------------------------------------- 1 | -- Laminar A330 variants airplane 2 | -- Air and Pneumatics functionality 3 | 4 | -- @classmod sysAir 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysAir = require("kpcrew.systems.DFLT.sysAir") 20 | 21 | logMsg("A33L sysAir") 22 | 23 | 24 | -- BLEED AIR 25 | sysAir.engBleedGroup = SwitchGroup:new("EngBleeds") 26 | sysAir.bleedEng1Switch = TwoStateToggleSwitch:new("bleed1","laminar/A333/buttons/eng_bleed_1_pos",0, 27 | "sim/bleed_air/engine_1_toggle") 28 | sysAir.bleedEng2Switch = TwoStateToggleSwitch:new("bleed2","laminar/A333/buttons/eng_bleed_2_pos",0, 29 | "sim/bleed_air/engine_2_toggle") 30 | sysAir.engBleedGroup:addSwitch(sysAir.bleedEng1Switch) 31 | sysAir.engBleedGroup:addSwitch(sysAir.bleedEng2Switch) 32 | 33 | return sysAir -------------------------------------------------------------------------------- /modules/kpcrew/systems/Annunciator.lua: -------------------------------------------------------------------------------- 1 | -- interface for an Annunciator 2 | -- 3 | -- @classmod Annunciator 4 | -- @author Kosta Prokopiu 5 | -- @copyright 2022 Kosta Prokopiu 6 | local khAnnunciator = { 7 | } 8 | 9 | -- Base constructor for any annunciator 10 | -- @tparam string name of element 11 | -- @tparam string dataref for elemnts status 12 | -- @tparam int index of element dataref (set -1 if only accessible via dateref_array to reach [0]) 13 | -- @treturn Annunciator the created base element 14 | function khAnnunciator:new(name, statusDref, statusDrefIdx) 15 | khAnnunciator.__index = khAnnunciator 16 | 17 | local obj = {} 18 | setmetatable(obj, khAnnunciator) 19 | 20 | obj.name = name 21 | obj.statusDref = statusDref 22 | obj.statusDrefIdx = statusDrefIdx 23 | 24 | return obj 25 | end 26 | 27 | -- Get name of switch object 28 | -- @treturn string name of element 29 | function khAnnunciator:getName() 30 | return self.name 31 | end 32 | 33 | -- return the current element dataref value 34 | -- @treturn dataref value 35 | function khAnnunciator:getStatus() 36 | -- logMsg (self.name) 37 | -- if index = 0 then it is a single dataref, pull with get 38 | if self.statusDrefIdx == 0 then 39 | return get(self.statusDref) 40 | end 41 | -- if the index is -1 then pull as array element index [0] 42 | -- otherwise pull as array element with given index 43 | if self.statusDrefIdx < 0 then 44 | return get(self.statusDref,0) 45 | else 46 | return get(self.statusDref,self.statusDrefIdx) 47 | end 48 | end 49 | 50 | return khAnnunciator -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD88/sysAir.lua: -------------------------------------------------------------------------------- 1 | -- Rotate MD88 airplane 2 | -- Air and Pneumatics functionality 3 | 4 | -- @classmod sysAir 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | 8 | local sysAir = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysAir = require("kpcrew.systems.DFLT.sysAir") 23 | 24 | -- APU Bleed 25 | sysAir.apuBleedSwitch = TwoStateDrefSwitch:new("apubleed","Rotate/md80/air/APU_bleed_air_switch",0) 26 | 27 | -- BLEED AIR 28 | sysAir.bleedEng1Switch = TwoStateDrefSwitch:new("bleed1","Rotate/md80/air/xfeed_valve_left",0) 29 | sysAir.bleedEng2Switch = TwoStateDrefSwitch:new("bleed2","Rotate/md80/air/xfeed_valve_right",0) 30 | sysAir.engBleedGroup = SwitchGroup:new("EngBleeds") 31 | sysAir.engBleedGroup:addSwitch(sysAir.bleedEng1Switch) 32 | sysAir.engBleedGroup:addSwitch(sysAir.bleedEng2Switch) 33 | 34 | return sysAir -------------------------------------------------------------------------------- /modules/kpcrew/systems/SF50/sysAir.lua: -------------------------------------------------------------------------------- 1 | -- SF50 airplane 2 | -- Air and Pneumatics functionality 3 | 4 | -- @classmod sysAir 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local sysAir = { 9 | } 10 | 11 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 12 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 13 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 14 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 15 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 16 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 17 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 18 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 19 | local InopSwitch = require "kpcrew.systems.InopSwitch" 20 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 21 | 22 | sysAir = require("kpcrew.systems.DFLT.sysAir") 23 | 24 | logMsg("SF50 sysAir") 25 | 26 | -- BLEED AIR 27 | sysAir.bleedEng1Switch = TwoStateDrefSwitch:new("bleed1","sim/cockpit2/switches/custom_slider_on",20) 28 | sysAir.bleedEng2Switch = InopSwitch:new("bleed2") 29 | sysAir.engBleedGroup = SwitchGroup:new("EngBleeds") 30 | sysAir.engBleedGroup:addSwitch(sysAir.bleedEng1Switch) 31 | sysAir.engBleedGroup:addSwitch(sysAir.bleedEng2Switch) 32 | 33 | -- Oxygen Supply 34 | sysAir.oxygenMaster = TwoStateDrefSwitch:new("oxygen","sim/cockpit2/oxygen/actuators/demand_flow_setting",0) 35 | 36 | return sysAir -------------------------------------------------------------------------------- /modules/kpcrew/systems/SF50/sysGeneral.lua: -------------------------------------------------------------------------------- 1 | -- SF50 airplane 2 | -- aircraft general systems 3 | 4 | -- @classmod sysGeneral 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysGeneral = require("kpcrew.systems.DFLT.sysGeneral") 20 | 21 | logMsg("SF50 sysGeneral") 22 | 23 | sysGeneral.clock = TwoStateCustomSwitch:new("clock","sim/cockpit2/clock_timer/chrono_running",-1, 24 | function () 25 | set_array("sim/cockpit2/clock_timer/chrono_running",0,1) 26 | end, 27 | function () 28 | set_array("sim/cockpit2/clock_timer/chrono_running",0,0) 29 | end, 30 | function () 31 | set_array("sim/cockpit2/clock_timer/chrono_time",0,0) 32 | end, 33 | function () 34 | if get("sim/cockpit2/clock_timer/chrono_running",0) == 1 then 35 | return 1 36 | else 37 | return 0 38 | end 39 | end) 40 | 41 | return sysGeneral -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD82/sysControls.lua: -------------------------------------------------------------------------------- 1 | -- MD82 airplane 2 | -- Flight Controls functionality 3 | 4 | -- @classmod sysControls 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysControls = require("kpcrew.systems.DFLT.sysControls") 20 | 21 | logMsg("MD82 sysControls") 22 | 23 | sysControls.flaps_pos = {[0] = 0, [1] = 0.2, [2] = 0.4, [3] = 0.6, [4] = 0.8, [5] = 1, [6] = 1, [7] = 1, [8] = 1} 24 | -- sysControls.flaps_pos = {[0] = 0, [1] = 0.2, [2] = 0.4, [3] = 0.6, [4] = 0.8, [5] = 1, [6] = 1, [7] = 1, [8] = 1} 25 | sysControls.flaps_spd = {[0] = 999, [1] = 999, [2] = 999, [3] = 999, [4] = 999, [5] = 999, [6] = 999, [7] = 999, [8] = 999} 26 | sysControls.flaps_name= {[0] = "UP", [1] = "0", [2] = "11", [3] = "15", [4] = "28", [5] = "40", [6] = "40", [7] = "40", [8] = "40"} 27 | 28 | return sysControls -------------------------------------------------------------------------------- /modules/kpcrew/systems/EPIC/sysAir.lua: -------------------------------------------------------------------------------- 1 | -- EPIC airplane 2 | -- Air and Pneumatics functionality 3 | 4 | -- @classmod sysAir 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysAir = require("kpcrew.systems.DFLT.sysAir") 20 | 21 | logMsg("EPIC sysAir") 22 | 23 | -- BLEED AIR 24 | sysAir.bleedEng1Switch = TwoStateToggleSwitch:new("bleed1","aerobask/lt_press_air",0, 25 | "aerobask/press_air_toggle") 26 | sysAir.bleedEng2Switch = InopSwitch:new("bleed2") 27 | sysAir.engBleedGroup = SwitchGroup:new("EngBleeds") 28 | sysAir.engBleedGroup:addSwitch(sysAir.bleedEng1Switch) 29 | sysAir.engBleedGroup:addSwitch(sysAir.bleedEng2Switch) 30 | 31 | -- Oxygen Supply 32 | sysAir.oxygenMaster = TwoStateCmdSwitch:new("oxygen","aerobask/knob_cab_oxy",0, 33 | "aerobask/cabin_oxygen_on","aerobask/cabin_oxygen_off","nocommand") 34 | 35 | return sysAir -------------------------------------------------------------------------------- /modules/kpcrew/systems/EVIC/sysAir.lua: -------------------------------------------------------------------------------- 1 | -- EVIC airplane 2 | -- Air and Pneumatics functionality 3 | 4 | -- @classmod sysAir 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysAir = require("kpcrew.systems.DFLT.sysAir") 20 | 21 | logMsg("EVIC sysAir") 22 | 23 | -- BLEED AIR 24 | sysAir.bleedEng1Switch = TwoStateToggleSwitch:new("bleed1","aerobask/lt_press_air",0, 25 | "aerobask/press_air_toggle") 26 | sysAir.bleedEng2Switch = InopSwitch:new("bleed2") 27 | sysAir.engBleedGroup = SwitchGroup:new("EngBleeds") 28 | sysAir.engBleedGroup:addSwitch(sysAir.bleedEng1Switch) 29 | sysAir.engBleedGroup:addSwitch(sysAir.bleedEng2Switch) 30 | 31 | -- Oxygen Supply 32 | sysAir.oxygenMaster = TwoStateCmdSwitch:new("oxygen","aerobask/knob_cab_oxy",0, 33 | "aerobask/cabin_oxygen_on","aerobask/cabin_oxygen_off","nocommand") 34 | 35 | return sysAir -------------------------------------------------------------------------------- /modules/kpcrew/systems/SF50/sysControls.lua: -------------------------------------------------------------------------------- 1 | -- SF50 airplane 2 | -- Flight Controls functionality 3 | 4 | -- @classmod sysControls 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysControls = require("kpcrew.systems.DFLT.sysControls") 20 | 21 | logMsg("SF50 sysControls") 22 | 23 | sysControls.flaps_pos = {[0] = 0, [1] = 0.5, [2] = 1, [3] = 1, [4] = 1, [5] = 1, [6] = 1, [7] = 1, [8] = 1} 24 | sysControls.flaps_spd = {[0] = 190, [1] = 190, [2] = 150, [3] = 150, [4] = 150, [5] = 150, [6] = 150, [7] = 150, [8] = 150} 25 | sysControls.flaps_name= {[0] = "UP", [1] = "50%", [2] = "100%", [3] = "35", [4] = "35", [5] = "35", [6] = "35", [7] = "35", [8] = "35"} 26 | 27 | sysControls.rudderDeflection = SimpleAnnunciator:new("rudderdeflection","sim/cockpit2/controls/total_heading_ratio",0) 28 | 29 | return sysControls -------------------------------------------------------------------------------- /modules/kpcrew/systems/TwoStateToggleSwitch.lua: -------------------------------------------------------------------------------- 1 | -- Element which toggles between on and off via a single command 2 | 3 | -- @classmod TwoStateToggleSwitch 4 | -- @author Kosta Prokopiu 5 | -- @copyright 2022 Kosta Prokopiu 6 | local khTwoStateToggleSwitch = {} 7 | 8 | local Switch = require "kpcrew.systems.Switch" 9 | 10 | -- Constructor for toggle switch 11 | -- @tparam string name of element 12 | -- @tparam string dataref for elemnts status 13 | -- @tparam int index of element dataref 14 | -- @tparam string tglcmd command string for toggle command in XP 15 | -- @treturn Switch the created base element 16 | function khTwoStateToggleSwitch:new(name, statusDref, statusDrefIdx, tglcmd) 17 | 18 | khTwoStateToggleSwitch.__index = khTwoStateToggleSwitch 19 | setmetatable(khTwoStateToggleSwitch, { 20 | __index = Switch 21 | }) 22 | 23 | local obj = Switch:new(name,statusDref,statusDrefIdx) 24 | setmetatable(obj, khTwoStateToggleSwitch) 25 | 26 | obj.tglcmd = tglcmd 27 | 28 | return obj 29 | end 30 | 31 | -- execute a switch action on, off or togle between the states on and off 32 | -- @tparam int action code (modeOn, modeOff, modeToggle [0,1,2]) 33 | function khTwoStateToggleSwitch:actuate(action) 34 | if action == modeOn then 35 | if self:getStatus() ~= modeOn then 36 | command_once(self.tglcmd) 37 | end 38 | end 39 | if action == modeOff then 40 | if self:getStatus() ~= modeOff then 41 | command_once(self.tglcmd) 42 | end 43 | end 44 | if action == modeToggle then 45 | command_once(self.tglcmd) 46 | end 47 | end 48 | 49 | return khTwoStateToggleSwitch 50 | 51 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/E55P/sysHydraulic.lua: -------------------------------------------------------------------------------- 1 | -- E55P airplane 2 | -- Hydraulic system functionality 3 | 4 | -- @classmod sysHydraulic 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysHydraulic = require("kpcrew.systems.DFLT.sysHydraulic") 20 | 21 | logMsg("E55P sysHydraulic") 22 | 23 | -- ----- HYD Engine Pumps 24 | sysHydraulic.engHydPumpGroup = SwitchGroup:new("enghydpumps") 25 | sysHydraulic.engHydPump1 = TwoStateCmdSwitch:new("enghydpump1","aerobask/hyd/sw_pump1",0, 26 | "aerobask/hyd/pump1_up","aerobask/hyd/pump1_dn","nocommand") 27 | sysHydraulic.engHydPumpGroup:addSwitch(sysHydraulic.engHydPump1) 28 | sysHydraulic.engHydPump2 = TwoStateCmdSwitch:new("enghydpump2","aerobask/hyd/sw_pump2",0, 29 | "aerobask/hyd/pump2_up","aerobask/hyd/pump2_dn","nocommand") 30 | sysHydraulic.engHydPumpGroup:addSwitch(sysHydraulic.engHydPump2) 31 | 32 | return sysHydraulic -------------------------------------------------------------------------------- /modules/kpcrew/systems/A3TL/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- ToLiss Airbusses 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEFIS = require("kpcrew.systems.DFLT.sysEFIS") 20 | 21 | logMsg("A3TL sysEFIS") 22 | 23 | -- MINS SET 24 | sysEFIS.minsPilot = InopSwitch:new("minspilot") 25 | 26 | -- WX 27 | sysEFIS.wxrPilot = TwoStateCustomSwitch:new("wxrpilot","AirbusFBW/WXPowerSwitch",0, 28 | function () 29 | set("AirbusFBW/WXPowerSwitch",0) 30 | set("AirbusFBW/WXSwitchPWS",2) 31 | end, 32 | function () 33 | set("AirbusFBW/WXPowerSwitch",1) 34 | set("AirbusFBW/WXSwitchPWS",0) 35 | end, 36 | function () 37 | end, 38 | function () 39 | if get("AirbusFBW/WXPowerSwitch") ~= 1 then 40 | return 1 41 | else 42 | return 0 43 | end 44 | end) 45 | sysEFIS.wxrCopilot = InopSwitch:new("wxrcopilot") 46 | 47 | return sysEFIS -------------------------------------------------------------------------------- /modules/kpcrew/systems/C172/sysEngines.lua: -------------------------------------------------------------------------------- 1 | -- C172 airplane 2 | -- Engine related functionality 3 | 4 | -- @classmod sysEngines 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2022 Kosta Prokopiu 7 | local sysEngines = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 20 | 21 | require "kpcrew.systems.DFLT.sysEngines" 22 | 23 | -- Starter Switches 24 | sysEngines.engStart1Switch = InopSwitch:new("starter1") 25 | sysEngines.engStart2Switch = InopSwitch:new("starter2") 26 | sysEngines.engStart3Switch = InopSwitch:new("starter3") 27 | sysEngines.engStart4Switch = InopSwitch:new("starter4") 28 | sysEngines.engStarterGroup = SwitchGroup:new("engstarters") 29 | sysEngines.engStarterGroup:addSwitch(sysEngines.engStart1Switch) 30 | sysEngines.engStarterGroup:addSwitch(sysEngines.engStart2Switch) 31 | sysEngines.engStarterGroup:addSwitch(sysEngines.engStart3Switch) 32 | sysEngines.engStarterGroup:addSwitch(sysEngines.engStart4Switch) 33 | 34 | return sysEngines -------------------------------------------------------------------------------- /modules/kpcrew/systems/E1FF/sysFuel.lua: -------------------------------------------------------------------------------- 1 | -- E1FF X-Crafts Freeware airplane 2 | -- Fuel related functionality 3 | 4 | -- @classmod sysFuel 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | local drefFuelPressLow = "sim/cockpit2/annunciators/fuel_pressure_low" 19 | 20 | sysFuel = require("kpcrew.systems.DFLT.sysFuel") 21 | 22 | logMsg("E1FF sysFuel") 23 | 24 | sysFuel.fuelCrossFeed = TwoStateCustomSwitch:new("crossfeed","sim/cockpit2/fuel/fuel_tank_transfer_to",0, 25 | function () 26 | set("sim/cockpit2/fuel/fuel_tank_transfer_to",1) 27 | end, 28 | function () 29 | set("sim/cockpit2/fuel/fuel_tank_transfer_to",0) 30 | end, 31 | function () 32 | set("sim/cockpit2/fuel/fuel_tank_transfer_to",3) 33 | end, 34 | function () 35 | if get("sim/cockpit2/fuel/fuel_tank_transfer_to") ~= 0 then 36 | return 1 37 | else 38 | return 0 39 | end 40 | end) 41 | 42 | return sysFuel -------------------------------------------------------------------------------- /modules/kpcrew/systems/C750/sysControls.lua: -------------------------------------------------------------------------------- 1 | -- C750 airplane 2 | -- Flight Controls functionality 3 | 4 | -- @classmod sysControls 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysControls = require("kpcrew.systems.DFLT.sysControls") 20 | 21 | sysControls.flaps_pos = {[0] = 0, [1] = 0.25, [2] = 0.5, [3] = 0.75, [4] = 1.0, [5] = 1.0, [6] = 1.0, [7] = 1.0, [8] = 1.0} 22 | sysControls.flaps_spd = {[0] = 250, [1] = 240, [2] = 240, [3] = 200, [4] = 170, [5] = 170, [6] = 170, [7] = 170, [8] = 170} 23 | sysControls.flaps_name= {[0] = "UP", [1] = "SLAT", [2] = "5", [3] = "15", [4] = "FULL", [5] = "FULL", [6] = "FULL", [7] = "FULL", [8] = "FULL"} 24 | 25 | logMsg("C750 sysControls") 26 | 27 | -- YAW Damper 28 | sysControls.yawDamper = TwoStateToggleSwitch:new("yawdamper","sim/cockpit2/switches/yaw_damper_on",0, 29 | "laminar/CitX/autopilot/cmd_yd_toggle") 30 | 31 | return sysControls -------------------------------------------------------------------------------- /modules/kpcrew/briefings/briefings_C750.lua: -------------------------------------------------------------------------------- 1 | -- Aircraft specific briefing values and functions - Laminar C750 2 | -- 3 | -- @author Kosta Prokopiu 4 | -- @copyright 2025 Kosta Prokopiu 5 | 6 | require("kpcrew.briefings.briefings_DFLT") 7 | 8 | kc_acf_name = "Laminar Citation X 750" 9 | 10 | kc_has_irs = false -- Aircraft has IRS that must be aligned 11 | kc_has_hyd_elec_pmps= true -- Aircraft has electric hydraulic pumps 12 | kc_has_beacon = false 13 | kc_has_autobrake = false -- Aircraft has autobrake 14 | 15 | kc_NumFlapsTO = 3 16 | kc_TakeoffFlaps = "UP|5|15" 17 | kc_TakeoffFlapsInd = "0|2|3" 18 | kc_TakeoffPacks = "ON|OFF" 19 | kc_TakeoffBleeds = "OFF|ON" 20 | kc_TakeoffApModes = "NAV/VNAV|HDG/FLCH" 21 | kc_apptypes = "ILS CAT 1|VOR|NDB|RNAV|VISUAL|TOUCH AND GO|CIRCLING" 22 | kc_NumFlapsLDG = 2 23 | kc_LandingFlaps = "15|FULL|" 24 | kc_LandingFlapsInd = "3|4" 25 | kc_LandingAutoBrake = "NO A/B|" 26 | kc_StartSequence = "2 THEN 1|1 THEN 2" 27 | 28 | kc_fuel_ld_button = false -- Load the aircraft fuel from kpxbrief 29 | kc_pld_ld_button = false -- Load the aircraft payload from kpxbrief 30 | 31 | -- Weights (lb/kg) Citation X, CE-750 32 | -- Max Ramp 36,400/16.510 33 | -- Max Takeoff 36,100/14.242 34 | -- Max Landing 31,800/14.424 35 | -- Zero Fuel 24,400/11.067 36 | -- BOW 22,100/10.024 37 | -- Max Payload 2,300/1.043 38 | -- Useful Load 14,300/6.486 39 | -- Executive Payload 1,800/816 40 | -- Max Fuel 12,931/5.865 41 | -- Avail Payload Max Fuel 1,369/620 42 | -- Avail Fuel Max Payload 12,000/5.443 43 | -- Avail Fuel Exec Payload 12,500/5.669 44 | 45 | -- Altitudes 46 | kc_max_altitude = 32000 -- Max Altitude 47 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/A33L/sysFMC.lua: -------------------------------------------------------------------------------- 1 | -- Laminar A330 variants airplane 2 | -- FMC related functionality 3 | 4 | -- @classmod sysFMC 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysFMC = require("kpcrew.systems.DFLT.sysFMC") 20 | 21 | logMsg("A33L sysFMC") 22 | 23 | -- Intertial reference System 24 | sysFMC.irs1 = TwoStateToggleSwitch:new("irs1","laminar/A333/buttons/adirs/ir1_knob_pos",0, 25 | "laminar/A333/buttons/adirs/ir1_toggle") 26 | sysFMC.irs2 = TwoStateToggleSwitch:new("irs1","laminar/A333/buttons/adirs/ir2_knob_pos",0, 27 | "laminar/A333/buttons/adirs/ir2_toggle") 28 | sysFMC.irs3 = TwoStateToggleSwitch:new("irs1","laminar/A333/buttons/adirs/ir3_knob_pos",0, 29 | "laminar/A333/buttons/adirs/ir3_toggle") 30 | sysFMC.irsGroup = SwitchGroup:new("irsgroup") 31 | sysFMC.irsGroup:addSwitch(sysFMC.irs1) 32 | sysFMC.irsGroup:addSwitch(sysFMC.irs2) 33 | sysFMC.irsGroup:addSwitch(sysFMC.irs3) 34 | 35 | return sysFMC 36 | -------------------------------------------------------------------------------- /modules/kpcrew/systems/MD11/sysAir.lua: -------------------------------------------------------------------------------- 1 | -- MD11 airplane 2 | -- Air and Pneumatics functionality 3 | 4 | -- @classmod sysAir 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2024 Kosta Prokopiu 7 | local sysAir = { 8 | } 9 | 10 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 11 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 12 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 13 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 14 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 15 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 16 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 17 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 18 | local InopSwitch = require "kpcrew.systems.InopSwitch" 19 | 20 | local drefAirANC = "sim/cockpit/warnings/annunciators/bleed_air_off" 21 | 22 | -- ======= Switches 23 | 24 | -- APU AIR 25 | sysAir.apuAir = TwoStateToggleSwitch:new("","Rotate/aircraft/systems/air_apu_on_lt",0, 26 | "Rotate/aircraft/controls_c/apu_air") 27 | 28 | -- MASK 29 | sysAir.maskGuard = TwoStateToggleSwitch:new("","Rotate/aircraft/controls/mask_deploy_grd",0, 30 | "Rotate/aircraft/controls_c/mask_deploy_grd") 31 | 32 | -- ======= Annunciators 33 | 34 | -- Trim air anc 35 | sysAir.trimAirAnc = SimpleAnnunciator:new("trimAir","Rotate/aircraft/systems/air_trim_air_off_lt",0) 36 | 37 | -- VACUUM annunciator 38 | sysAir.vacuumAnc = CustomAnnunciator:new("vacuum", 39 | function () 40 | if get(drefAirANC,0) == 1 or get(drefAirANC,1) == 1 then 41 | return 1 42 | else 43 | return 0 44 | end 45 | end) 46 | 47 | return sysAir -------------------------------------------------------------------------------- /modules/kpcrew/systems/EVIC/sysMacros.lua: -------------------------------------------------------------------------------- 1 | -- EVIC airplane 2 | -- Macros 3 | 4 | -- @classmod sysMacros 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | sysMacros = require("kpcrew.systems.DFLT.sysMacros") 9 | 10 | logMsg("EVIC sysMacros") 11 | 12 | -- custom cold & dark activities 13 | function kc_macro_custom_cold_dark() 14 | end 15 | 16 | -- custom turnaround items 17 | function kc_macro_custom_turnaround() 18 | end 19 | 20 | -- Start engines 21 | function kc_bck_start_engine(trigger) 22 | local delayvar = "engstartdelay" 23 | if kc_procvar_exists(delayvar) == false then 24 | kc_procvar_initialize_count(delayvar,-1) 25 | end 26 | if kc_procvar_get(delayvar) == -1 then 27 | kc_procvar_set(delayvar,15) 28 | if trigger == "engstart1" then 29 | command_begin("sim/starters/engage_start_run_1") 30 | end 31 | else 32 | if kc_procvar_get(delayvar) <= 0 then 33 | kc_procvar_set(trigger,false) 34 | kc_procvar_set(delayvar,-1) 35 | if trigger == "engstart1" then 36 | command_end("sim/starters/engage_start_run_1") 37 | end 38 | else 39 | kc_procvar_set(delayvar,kc_procvar_get(delayvar)-1) 40 | end 41 | end 42 | end 43 | 44 | function kc_macro_lights_for_takeoff() 45 | -- set the lights when entering the runway 46 | kc_macro_lights_before_taxi() 47 | sysLights.taxiSwitch:actuate(0) 48 | sysLights.landLightGroup:actuate(1) 49 | sysLights.strobesSwitch:actuate(1) 50 | if kc_is_daylight() then 51 | sysLights.domeLightSwitch:actuate(0) 52 | sysLights.panelLightGroup:actuate(0) 53 | sysLights.instrLightGroup:actuate(1) 54 | else 55 | sysLights.domeLightSwitch:actuate(0) 56 | sysLights.panelLightGroup:actuate(0.5) 57 | sysLights.instrLightGroup:actuate(0.6) 58 | end 59 | end 60 | 61 | return sysMacros -------------------------------------------------------------------------------- /modules/kpcrew/systems/A33L/sysEFIS.lua: -------------------------------------------------------------------------------- 1 | -- Laminar A330 variants airplane 2 | -- EFIS functionality 3 | 4 | -- @classmod sysEFIS 5 | -- @author Kosta Prokopiu 6 | -- @copyright 2025 Kosta Prokopiu 7 | 8 | local TwoStateDrefSwitch = require "kpcrew.systems.TwoStateDrefSwitch" 9 | local TwoStateCmdSwitch = require "kpcrew.systems.TwoStateCmdSwitch" 10 | local TwoStateCustomSwitch = require "kpcrew.systems.TwoStateCustomSwitch" 11 | local SwitchGroup = require "kpcrew.systems.SwitchGroup" 12 | local SimpleAnnunciator = require "kpcrew.systems.SimpleAnnunciator" 13 | local CustomAnnunciator = require "kpcrew.systems.CustomAnnunciator" 14 | local TwoStateToggleSwitch = require "kpcrew.systems.TwoStateToggleSwitch" 15 | local MultiStateCmdSwitch = require "kpcrew.systems.MultiStateCmdSwitch" 16 | local InopSwitch = require "kpcrew.systems.InopSwitch" 17 | local KeepPressedSwitchCmd = require "kpcrew.systems.KeepPressedSwitchCmd" 18 | 19 | sysEFIS = require("kpcrew.systems.DFLT.sysEFIS") 20 | 21 | logMsg("A33L sysEFIS") 22 | 23 | -- WX 24 | sysEFIS.wxrPilot = TwoStateCustomSwitch:new("wxrpilot","laminar/A333/switches/weather_radar_pos",0, 25 | function () 26 | command_once("laminar/A333/switches/weather_radar_left") 27 | command_once("laminar/A333/switches/weather_radar_left") 28 | end, 29 | function () 30 | command_once("laminar/A333/switches/weather_radar_left") 31 | command_once("laminar/A333/switches/weather_radar_left") 32 | command_once("laminar/A333/switches/weather_radar_right") 33 | end, 34 | function () 35 | end, 36 | function () 37 | if get("laminar/A333/switches/weather_radar_pos") ~= 0 then 38 | return 1 39 | else 40 | return 0 41 | end 42 | end) 43 | sysEFIS.wxrCopilot = InopSwitch:new("wxrcopilot") 44 | 45 | return sysEFIS --------------------------------------------------------------------------------