From 673f41b1ed1e8b42360b89e98fded0ccb830eca2 Mon Sep 17 00:00:00 2001 From: McMicha Date: Fri, 25 Jan 2019 23:54:29 +0100 Subject: [PATCH] Add new P-51D-30-NA.lua --- .../ExportsModules/P-51D-30-NA.lua | 331 ++++++++++++++++++ 1 file changed, 331 insertions(+) create mode 100644 Scripts/DCS-ExportScript/ExportsModules/P-51D-30-NA.lua diff --git a/Scripts/DCS-ExportScript/ExportsModules/P-51D-30-NA.lua b/Scripts/DCS-ExportScript/ExportsModules/P-51D-30-NA.lua new file mode 100644 index 0000000..57587fd --- /dev/null +++ b/Scripts/DCS-ExportScript/ExportsModules/P-51D-30-NA.lua @@ -0,0 +1,331 @@ +-- P-51D-30-NA Export + +ExportScript.FoundDCSModule = true +ExportScript.Version.P51D30NA = "1.2.0" + +ExportScript.ConfigEveryFrameArguments = +{ + --[[ + every frames arguments + based of "mainpanel_init.lua" + Example (http://www.lua.org/manual/5.1/manual.html#pdf-string.format) + [DeviceID] = "Format" + [4] = "%.4f", <- floating-point number with 4 digits after point + [19] = "%0.1f", <- floating-point number with 1 digit after point + [129] = "%1d", <- decimal number + [5] = "%.f", <- floating point number rounded to a decimal number + ]] + -- Flight Instruments + [11] = "%.4f", -- AirspeedNeedle {0,50,100,150,200,250,300,350,400,450,500,550,600,650,700} {0.0,0.05,0.10,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7} + [29] = "%.4f", -- Variometer {-6000,-4000,-2000,2000,4000,6000} {-0.6,-0.4,-0.2,0.2,0.4,0.6} + -- Altimeter + [97] = "%.4f", -- Altimeter_Pressure {28.1, 31.0}{0.0, 1.0} + [96] = "%.4f", -- Altimeter_10000_footPtr {0.0, 100000.0}{0.0, 1.0} + [24] = "%.4f", -- Altimeter_1000_footPtr {0.0, 10000.0}{0.0, 1.0} + [25] = "%.4f", -- Altimeter_100_footPtr{0.0, 1000.0}{0.0, 1.0} + -- Artificial horizon + [15] = "%.4f", -- AHorizon_Pitch {1.0, -1.0} + [14] = "%.4f", -- AHorizon_Bank {1.0, -1.0} + [16] = "%.1f", -- AHorizon_PitchShift {-1.0, 1.0} + [20] = "%.1f", -- AHorizon_Caged {0.0, 1.0} + -- directional gyro + [12] = "%.4f", -- GyroHeading + -- turn indicator + [27] = "%.4f", -- TurnNeedle {-1.0, 1.0} + [28] = "%.4f", -- Slipball {-1.0, 1.0} + -- oxygen pressure indicator + [34] = "%.4f", -- Oxygen_Pressure {0.0, 500.0} {0.0, 1.0} + [33] = "%.4f", -- Oxygen_Flow_Blinker + -- fuel system + [155] = "%.4f", -- Fuel_Tank_Left {0.0,5.0,15.0,30.0,45.0,60.0,75.0,92.0} {0.0,0.2,0.36,0.52,0.65,0.77,0.92,1.0} + [156] = "%.4f", -- Fuel_Tank_Right {0.0,5.0,15.0,30.0,45.0,60.0,75.0,92.0} {0.0,0.2,0.36,0.52,0.65,0.77,0.92,1.0} + [160] = "%.4f", -- Fuel_Tank_Fuselage {0.0,10.0,20.0,30.0,40.0,50.0,60.0,70.0,80.0,85.0} {0.0,0.12,0.28,0.40,0.51,0.62,0.72,0.83,0.96,1.0} + [32] = "%.4f", -- Fuel_Pressure {0.0, 25.0} {0.0, 1.0} + -- A-11 clock + [4] = "%.4f", -- CLOCK_currtime_hours {0.0, 12.0}{0.0, 1.0} + [5] = "%.4f", -- CLOCK_currtime_minutes {0.0, 60.0}{0.0, 1.0} + [6] = "%.4f", -- CLOCK_currtime_seconds {0.0, 60.0}{0.0, 1.0} + -- AN5730 remote compass + [1] = "%.4f", -- CompassHeading + [2] = "%.4f", -- CommandedCourse + [3] = "%.4f", -- CommandedCourseKnob + -- TailRadarWarning + [161] = "%.f", -- Lamp TailRadarWarning + -- SCR-522A Control panel + [122] = "%.f", -- A_channel_light + [123] = "%.f", -- B_channel_light + [124] = "%.f", -- C_channel_light + [125] = "%.f", -- D_channel_light + [126] = "%.f", -- Transmit_light + -- hydraulic pressure + [78] = "%.4f", -- Hydraulic_Pressure {0.0, 2000.0} {0.0, 1.0} + -- Landing gears handle + [150] = "%.4f", -- Landing_Gear_Handle + [151] = "%.4f", -- Landing_Gear_Handle_Indoor + [80] = "%.f", -- LandingGearGreenLight + [82] = "%.f", -- LandingGearRedLight + -- gauges + [10] = "%.4f", -- Manifold_Pressure {10.0, 75.0} {0.0, 1.0} + [23] = "%.4f", -- Engine_RPM {0.0, 4500.0} {0.0, 1.0} + [9] = "%.4f", -- Vacuum_Suction {0.0, 10.0} {0.0, 1.0} + [21] = "%.4f", -- Carb_Temperature {-80, 150} {-0, 1} + [22] = "%.4f", -- Coolant_Temperature {-80, 150} {-0, 1} + [30] = "%.4f", -- Oil_Temperature {0.0, 100.0} {0, 1.0} + [31] = "%.4f", -- Oil_Pressure {0.0, 200.0} {0, 1.0} + [164] = "%.1f", -- Left_Fluor_Light + [165] = "%.1f", -- Right_Fluor_Light + [59] = "%.f", -- Hight_Blower_Lamp + -- Trimmer + [170] = "%.4f", -- Aileron_Trimmer {-1.0, 1.0} + [172] = "%.4f", -- Rudder_Trimmer {-1.0, 1.0} + [171] = "%.4f", -- Elevator_Trimmer {-1.0, 1.0} + [174] = "%.4f", -- Control_Lock_Bracket + [175] = "%.4f", -- Accelerometer_main {-5.0, 12.0} {0.0, 1.0} + [177] = "%.4f", -- Accelerometer_min {-5.0, 12.0} {0.0, 1.0} + [178] = "%.4f", -- Accelerometer_max {-5.0, 12.0} {0.0, 1.0} + [101] = "%.4f", -- Ammeter {0.0, 150.0} {0.0, 1.0} + -- light + [185] = "%.1f", -- Left_cockpit_light + [186] = "%.1f", -- Right_cockpit_light + [190] = "%.4f", -- warEmergencyPowerLimWire + ------------- + --[181] = "%.4f", -- Panel_Shake_Z + --[180] = "%.4f", -- Panel_Shake_Y + --[189] = "%.4f", -- Panel_Rot_X + --[162] = "%.1f", -- Canopy_Trucks + --[163] = "%.1f", -- Canopy_Visibility + -- Stick + --[50] = "%.4f", -- StickPitch + --[51] = "%.4f", -- StickBank + -- RudderPedals + --[54] = "%.4f", -- RudderPedals + --[55] = "%.4f", -- Left_Wheel_Brake + --[56] = "%.4f", -- Right_Wheel_Brake + -- K-14 gunsight + [36] = "%.4f", -- sightRange + --[188] = "%.4f", -- K_14_Shake_Z + --[187] = "%.4f", -- K_14_Shake_Y + ------------- + --[45] = "%.4f", -- ThrottleTwistGrip + ------------- + [77] = "%.4f", -- Rocket_Counter + ------------- + --[413] = "%.1f", -- WindShieldDamages + --[412] = "%.1f", -- WindShieldOil +} + +ExportScript.ConfigArguments = +{ + --[[ + arguments for export in low tick interval + based on "clickabledata.lua" + ]] + -- Right Swich Panel + [102] = "%d", -- Generator Connect/Disconnect + [103] = "%d", -- Battery Connect/Disconnect + [104] = "%d", -- Gun Heating ON/OFF + [105] = "%d", -- Pitot Heating ON/OFF + [106] = "%d", -- Wing Position Lights Bright/Off/Dim + [107] = "%d", -- Tail Position Lights Bright/Off/Dim + [108] = "%d", -- Red Recognition Light Key/Off/Steady + [109] = "%d", -- Green Recognition Light Key/Off/Steady + [110] = "%d", -- Amber Recognition Light Key/Off/Steady + [111] = "%d", -- Recognition Lights Key + [112] = "%d", -- Circuit Protectors Reset + [100] = "%.4f", -- Right Fluorescent Light (rotary) + [90] = "%.4f", -- Left Fluorescent Light (rotary) + -- Flight Instrument panel + [3] = "%.4f", -- Course Set (rotary) + [13] = "%.4f", -- Heading Set/Cage (rotary) + [179] = "%d", -- Heading Set/Cage Button + [17] = "%.4f", -- Pitch Adjustment (rotary) + [18] = "%.4f", -- Cage (rotary) + [19] = "%d", -- Cage Button + [8] = "%d", -- Winding/Adjustment Clock Button + [7] = "%.4f", -- Winding/Adjustment Clock (rotary) + [26] = "%.4f", -- Set Pressure (rotary) + -- SCR-522A Control panel + [117] = "%d", -- Radio ON/OFF + [118] = "%d", -- A Channel Activate + [119] = "%d", -- B Channel Activate + [120] = "%d", -- C Channel Activate + [121] = "%d", -- D Channel Activate + [127] = "%.4f", -- Radio Lights Dimmer (rotary) + [116] = "%.4f", -- Radio Audio Volume (rotary) + [44] = "%d", -- Microphone On + [200] = "%d", -- Arm rest + [129] = "%d", -- Switch Locking Lever + [128] = "%d", -- Radio Mode Transmit/Receive/Remote + ------------- + [71] = "%.4f", -- Cockpit Lights (rotary) + [66] = "%0.1f", -- Ignition Off/Right/Left/Both + [67] = "%d", -- Gun control Gun And Camera On/Gun And Camera OFF/Camera On + [72] = "%d", -- Silence Landing Gear Warning Horn Cut Off + -- Bomb Arm/Chemical + [69] = "%d", -- Left Bomb Arm/Chemical + [70] = "%d", -- Right Bomb Arm/Chemical + -- Release Mode + [68] = "%0.1f", -- Release Mode, Bombs and Rockets Safe/Bombs Train Release/Bombs Both Release/Rockets Arm + [73] = "%0.1f", -- Rockets Release Mode Off/Single/Auto + [74] = "%d", -- Rockets Delay Switch Delay/Int + [75] = "%0.4f", -- Rockets Counter Control + -- Engine Control Panel + [58] = "%d", -- Supercharger Switch Cover + [57] = "%0.1f", -- Supercharger AUTO/LOW/HIGH + [60] = "%d", -- High Blower Lamp Test + [61] = "%d", -- Fuel Booster On/Off + [62] = "%d", -- Oil Dilute Activate + [63] = "%d", -- Starter Activate + [64] = "%d", -- Starter Switch Cover + [65] = "%d", -- Primer Activate + -- Oxygen Regulator + [131] = "%d", -- Auto-Mix On-Off + [130] = "%0.4f", -- Oxygen Emergency By-pass + -- Fuel system + [85] = "%0.1f", -- Fuel Selector Valve, Select Right Combat Tank/Select Left Main Tank/Select Fuselage Tank/Select Right Main Tank/Select Left Combat Tank + [86] = "%d", -- Fuel Shut-Off Valve ON/OFF + -- AN/APS-13 + [114] = "%d", -- ail Warning Radar Power ON/OFF + [115] = "%d", -- Tail Warning Radar Test + [113] = "%.4f", -- Tail Warning Radar Light Control (rotary) + ------------- + [79] = "%d", -- Hydraulic Release Knob + [94] = "%.4f", -- Flaps Control Handle (rotary) + [84] = "%d", -- Parking Brake Handle + [81] = "%d", -- Safe Landing Gear Light Test + [83] = "%d", -- Unsafe Landing Gear Light Test + -- Detrola receiver + [137] = "%.4f", -- Detrola Frequency Selector (rotary) + [138] = "%.4f", -- Detrola Volume (rotary) + -- canopy + [147] = "%.4f", -- Canopy Hand Crank (rotary) + [149] = "%d", -- Canopy Emergency Release Handle + -- AN/ARA-8 + [152] = "%0.1f", -- Homing Adapter Mode TRANSMIT/COMM./HOMING + [153] = "%d", -- Homing Adapter Power On/Off + [154] = "%d", -- Homing Adapter's Circuit Breaker + -- SCR-695 + [139] = "%0.1f", -- IFF Code Selector Code 1/2/3/4/5/6 + [140] = "%d", -- IFF Power On/Off + [141] = "%d", -- IFF TIME/OFF/ON + [142] = "%d", -- IFF Detonator Circuit On/Off + [143] = "%d", -- IFF Distress Signal On/Off + [145] = "%d", -- IFF Detonator Left + [146] = "%d", -- IFF Detonator Right + -- Trimmers + [91] = "%.4f", -- Aileron Trim (rotary) + [92] = "%.4f", -- Elevator Trim (rotary) + [93] = "%.4f", -- Rudder Trim (rotary) + ------------- + [157] = "%.4f", -- Defroster (rotary) + [158] = "%.4f", -- Cold Air (rotary) + [159] = "%.4f", -- Hot Air (rotary) + ------------- + [89] = "%d", -- Landing Light On/Off + [168] = "%d", -- Coolant Control Cover + [87] = "%0.1f", -- Close Coolant Control/Automatic Coolant Control/Open Coolant Control + [169] = "%d", -- Oil Control Cover + [88] = "%0.1f", -- Close Oil Control/Automatic Oil Control/Open Oil Control + [134] = "%0.1f", -- Carburetor Cold Air Control (rotary) + [135] = "%0.1f", -- Carburetor Warm Air Control (rotary) + [47] = "%0.1f", -- Mixture Control Select IDLE CUT OFF/RUN/EMERGENCY FULL RICH + [43] = "%.4f", -- Throttle (rotary) + [46] = "%.4f", -- Propeller RPM (rotary) + [173] = "%d", -- Surface Control Lock Plunger. Left Button - Lock Stick in the Forward Position', Right Button - Lock Stick in the Neutral Position + [48] = "%.4f", -- Lock Throttle (rotary) + [49] = "%.4f", -- Lock Propeller & Mixture (rotary) + [176] = "%d", -- G-meter reset + [183] = "%d", -- Mirror +} + +----------------------------- +-- HIGH IMPORTANCE EXPORTS -- +-- done every export event -- +----------------------------- + +-- Pointed to by ProcessIkarusDCSHighImportance +function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice) + --[[ + every frame export to Ikarus + Example from A-10C + Get Radio Frequencies + get data from device + local lUHFRadio = GetDevice(54) + ExportScript.Tools.SendData("ExportID", "Format") + ExportScript.Tools.SendData(2000, string.format("%7.3f", lUHFRadio:get_frequency()/1000000)) -- <- special function for get frequency data + ExportScript.Tools.SendData(2000, ExportScript.Tools.RoundFreqeuncy((UHF_RADIO:get_frequency()/1000000))) -- ExportScript.Tools.RoundFreqeuncy(frequency (MHz|KHz), format ("7.3"), PrefixZeros (false), LeastValue (0.025)) + ]] +end + +function ExportScript.ProcessDACConfigHighImportance(mainPanelDevice) + --[[ + every frame export to DAC + Example from A-10C + Get Radio Frequencies + get data from device + local UHF_RADIO = GetDevice(54) + ExportScript.Tools.SendDataDAC("ExportID", "Format") + ExportScript.Tools.SendDataDAC("ExportID", "Format", HardwareConfigID) + ExportScript.Tools.SendDataDAC("2000", string.format("%7.3f", UHF_RADIO:get_frequency()/1000000)) + ExportScript.Tools.SendDataDAC("2000", ExportScript.Tools.RoundFreqeuncy((UHF_RADIO:get_frequency()/1000000))) -- ExportScript.Tools.RoundFreqeuncy(frequency (MHz|KHz), format ("7.3"), PrefixZeros (false), LeastValue (0.025)) + ]] +end + +----------------------------------------------------- +-- LOW IMPORTANCE EXPORTS -- +-- done every gExportLowTickInterval export events -- +----------------------------------------------------- + +-- Pointed to by ExportScript.ProcessIkarusDCSConfigLowImportance +function ExportScript.ProcessIkarusDCSConfigLowImportance(mainPanelDevice) + --[[ + export in low tick interval to Ikarus + Example from A-10C + Get Radio Frequencies + get data from device + local lUHFRadio = GetDevice(54) + ExportScript.Tools.SendData("ExportID", "Format") + ExportScript.Tools.SendData(2000, string.format("%7.3f", lUHFRadio:get_frequency()/1000000)) -- <- special function for get frequency data + ExportScript.Tools.SendData(2000, ExportScript.Tools.RoundFreqeuncy((UHF_RADIO:get_frequency()/1000000))) -- ExportScript.Tools.RoundFreqeuncy(frequency (MHz|KHz), format ("7.3"), PrefixZeros (false), LeastValue (0.025)) + ]] +end + +function ExportScript.ProcessDACConfigLowImportance(mainPanelDevice) + --[[ + every frame export to hardware + Example from A-10C + Get Radio Frequencies + get data from device + local UHF_RADIO = GetDevice(54) + ExportScript.Tools.SendDataDAC("ExportID", "Format") + ExportScript.Tools.SendDataDAC("ExportID", "Format", HardwareConfigID) + ExportScript.Tools.SendDataDAC("2000", string.format("%7.3f", UHF_RADIO:get_frequency()/1000000)) + ExportScript.Tools.SendDataDAC("2000", ExportScript.Tools.RoundFreqeuncy((UHF_RADIO:get_frequency()/1000000))) -- ExportScript.Tools.RoundFreqeuncy(frequency (MHz|KHz), format ("7.3"), PrefixZeros (false), LeastValue (0.025)) + ]] + + --===================================================================================== + --[[ + ExportScript.Tools.WriteToLog('list_cockpit_params(): '..ExportScript.Tools.dump(list_cockpit_params())) + ExportScript.Tools.WriteToLog('CMSP: '..ExportScript.Tools.dump(list_indication(7))) + + -- list_indication get tehe value of cockpit displays + local ltmp1 = 0 + for ltmp2 = 0, 20, 1 do + ltmp1 = list_indication(ltmp2) + ExportScript.Tools.WriteToLog(ltmp2..': '..ExportScript.Tools.dump(ltmp1)) + end + ]] +--[[ + -- getmetatable get function name from devices + local ltmp1 = 0 + for ltmp2 = 1, 70, 1 do + ltmp1 = GetDevice(ltmp2) + ExportScript.Tools.WriteToLog(ltmp2..': '..ExportScript.Tools.dump(ltmp1)) + ExportScript.Tools.WriteToLog(ltmp2..' (metatable): '..ExportScript.Tools.dump(getmetatable(ltmp1))) + end +]] +end + +----------------------------- +-- Custom functions -- +-----------------------------