mcmicha 3e545e6c53 Changes for the DCS Version 1.5.2
This is the last version for HT.
2016-01-24 17:06:15 +01:00

555 lines
26 KiB
Lua

-- P-51D Export
-- Version 0.9.9 BETA
gES_FoundDCSModule = true
gES_GlassCockpitConfigEveryFrameArguments =
{
--[[
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
]]
-- 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] = "%.41f", -- 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] = "%.1f", -- Lamp TailRadarWarning
-- SCR-522A Control panel
[122] = "%.1f", -- A_channel_light
[123] = "%.1f", -- B_channel_light
[124] = "%.1f", -- C_channel_light
[125] = "%.1f", -- D_channel_light
[126] = "%.1f", -- 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] = "%.1f", -- LandingGearGreenLight
[82] = "%.1f", -- 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] = "%.1f", -- 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
}
gES_GlassCockpitConfigArguments =
{
--[[
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 --
-----------------------------
function ProcessGlassCockpitDCSConfigHighImportance(mainPanelDevice)
--[[
every frame export to GlassCockpit
Example from A-10C
Get Radio Frequencies
get data from device
local lUHFRadio = GetDevice(54)
SendData("ExportID", "Format")
SendData(2000, string.format("%7.3f", lUHFRadio:get_frequency()/1000000)) <- special function for get frequency data
]]
if gES_GlassCockpitType == 1 then
-- HELIOS Version 1.3
-- WriteToLog('in ProcessGlassCockpitDCSConfigHighImportance - HELIOS: '..t)
local MainPanel = GetDevice(0)
local AirspeedNeedle = MainPanel:get_argument_value(11)*1000
local Altimeter_10000_footPtr = MainPanel:get_argument_value(96)*100000
local Variometer = MainPanel:get_argument_value(29)
local TurnNeedle = MainPanel:get_argument_value(27)
local Slipball = MainPanel:get_argument_value(28)
local CompassHeading = MainPanel:get_argument_value(1)
local CommandedCourse = MainPanel:get_argument_value(2)
local Manifold_Pressure = MainPanel:get_argument_value(10)
local Engine_RPM = MainPanel:get_argument_value(23)
local AHorizon_Pitch = MainPanel:get_argument_value(15)
local AHorizon_Bank = MainPanel:get_argument_value(14)
local AHorizon_PitchShift = MainPanel:get_argument_value(16) * 10.0 * math.pi/180.0
local AHorizon_Caged = MainPanel:get_argument_value(20)
local GyroHeading = MainPanel:get_argument_value(12)
local vaccum_suction = MainPanel:get_argument_value(9)
local carburator_temp = MainPanel:get_argument_value(21)
local coolant_temp = MainPanel:get_argument_value(22)
local Acelerometer = MainPanel:get_argument_value(175)
local OilTemperature = MainPanel:get_argument_value(30)
local OilPressure = MainPanel:get_argument_value(31)
local FuelPressure = MainPanel:get_argument_value(32)
local Clock_hours = MainPanel:get_argument_value(4)
local Clock_minutes = MainPanel:get_argument_value(5)
local Clock_seconds = MainPanel:get_argument_value(6)
local LandingGearGreenLight = MainPanel:get_argument_value(80)
local LandingGearRedLight = MainPanel:get_argument_value(82)
local Hight_Blower_Lamp = MainPanel:get_argument_value(59)
local Acelerometer_Min = MainPanel:get_argument_value(177)
local Acelerometer_Max = MainPanel:get_argument_value(178)
local Ammeter = MainPanel:get_argument_value(101)
local hydraulic_Pressure = MainPanel:get_argument_value(78)
local Oxygen_Flow_Blinker = MainPanel:get_argument_value(33)
local Oxygen_Pressure = MainPanel:get_argument_value(34)
local Fuel_Tank_Left = MainPanel:get_argument_value(155)
local Fuel_Tank_Right = MainPanel:get_argument_value(156)
local Fuel_Tank_Fuselage = MainPanel:get_argument_value(160)
local Tail_radar_warning = MainPanel:get_argument_value(161)
local Channel_A = MainPanel:get_argument_value(122)
local Channel_B = MainPanel:get_argument_value(123)
local Channel_C = MainPanel:get_argument_value(124)
local Channel_D = MainPanel:get_argument_value(125)
local transmit_light = MainPanel:get_argument_value(126)
local RocketCounter = MainPanel:get_argument_value(77)
--- preparing landing gear and High Blower lights, all together, in only one value
local gear_lights = 0
if LandingGearGreenLight > 0 then gear_lights = gear_lights +100 end
if LandingGearRedLight > 0 then gear_lights = gear_lights +10 end
if Hight_Blower_Lamp > 0 then gear_lights = gear_lights +1 end
------------------------------------------------------------
--- preparing radio lights, all together, in only one value
local radio_active = 0
if Channel_A > 0 then radio_active = 1 end
if Channel_B >0 then radio_active= 2 end
if Channel_C >0 then radio_active= 3 end
if Channel_D >0 then radio_active= 4 end
if transmit_light >0 then radio_active = radio_active + 10 end
------------------------------------------------------------
---- sending P51 and tf51 data across fc2 interface
----Please comment out the appropriate entries in the table 'gES_GlassCockpitConfigEveryFrameArguments'.
SendData("1", string.format("%.5f", math.floor((AHorizon_Pitch+1)*1000) + ((AHorizon_Bank+1)/100) ) ) -- pitch
SendData("2", string.format("%.3f", math.floor(Oxygen_Flow_Blinker*100) + (Oxygen_Pressure/100) ) ) -- bank
SendData("3", string.format("%.4f", math.floor(OilTemperature*100) + (vaccum_suction/100) ) ) -- yaw
SendData("4", string.format("%.3f", math.floor(Altimeter_10000_footPtr) + (AHorizon_Caged/100) ) ) -- barometric altitude
SendData("5", string.format("%.5f", math.floor(Clock_hours*1000000) + (Tail_radar_warning/100) ) ) -- radar altitude
SendData("6", string.format("%.5f", math.floor(CompassHeading*1000) + (CommandedCourse/100) ) ) -- adf
SendData("7", string.format("%.4f", math.floor(Clock_seconds*100) + (hydraulic_Pressure/100) ) ) -- rmi
SendData("8", string.format("%.2f", math.floor(GyroHeading*1000) + (radio_active/100) ) ) -- heading
SendData("9", string.format("%.4f", math.floor(Engine_RPM*100) + (Manifold_Pressure/100) ) ) -- left rpm
SendData("10", string.format("%.4f", math.floor(Fuel_Tank_Left*100) + (Fuel_Tank_Right/100) ) ) -- right rpm
SendData("11", string.format("%.4f", math.floor(carburator_temp*100) + (coolant_temp/100) ) ) -- left temp
SendData("12", string.format("%.4f", math.floor(gear_lights) + (Acelerometer_Min/100 ) ) ) -- right temp
SendData("13", string.format("%.2f", Variometer) ) -- vvi
SendData("14", string.format("%.5f", math.floor(AirspeedNeedle)+ (RocketCounter/100) ) ) -- ias
SendData("15", string.format("%.4f", math.floor(OilPressure*100) + (FuelPressure/100) ) ) -- distance to way
SendData("16", string.format("%.3f", math.floor(Acelerometer*1000) + (Acelerometer_Max/100 ) ) ) -- aoa
SendData("17", string.format("%.4f", math.floor((TurnNeedle+1)*100) + ((Slipball+1)/100) ) ) -- glide
SendData("18", string.format("%.4f", math.floor(Fuel_Tank_Fuselage*100) + (Ammeter/100) ) ) -- side
elseif gES_GlassCockpitType == 2 then
-- HawgTouch version 1.6
-- WriteToLog('in ProcessGlassCockpitDCSConfigHighImportance - HawgTouch: '..t)
-- ADI AN5736
-- Artificial horizon
--[15] = "%.4f", -- AHorizon_Pitch {1.0, -1.0}
--[14] = "%.4f", -- AHorizon_Bank {1.0, -1.0}
--[16] = "%.1f", -- AHorizon_PitchShift
--[20] = "%.1f", -- AHorizon_Caged
SendData(2000, string.format("%0.4f;%0.4f",
mainPanelDevice:get_argument_value(15),
mainPanelDevice:get_argument_value(14)))
-- turn indicator AN5820
--[27] = "%.4f", -- TurnNeedle {-1.0, 1.0}
--[28] = "%.4f", -- Slipball {-1.0, 1.0}
SendData(2001, string.format("%0.4f;%0.4f",
mainPanelDevice:get_argument_value(27),
mainPanelDevice:get_argument_value(28)))
-- directional gyro AN5735
--[12] = "%.1f", -- GyroHeading {0.0, 1.0}
-- Vacuum_Suction AN5771-5
--[9] = "%.4f", -- Vacuum_Suction {0.0, 1.0}
-- F-2 Airspeed Indicator
-- [11] = "%.2f", -- 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}
-- Altimeter AN5760-2
--[96] = "%.1f", -- Altimeter_10000_footPtr {0.0, 1.0}
--[24] = "%.1f", -- Altimeter_1000_footPtr {0.0, 1.0}
--[25] = "%.1f", -- Altimeter_100_footPtr {0.0, 1.0}
--[97] = "%.1f", -- Altimeter_Pressure {28.1, 31.0} {0.0, 1.0}
SendData(2002, string.format("%0.4f;%0.4f;%0.4f;%0.4f",
mainPanelDevice:get_argument_value(96),
mainPanelDevice:get_argument_value(24),
mainPanelDevice:get_argument_value(25),
mainPanelDevice:get_argument_value(97)))
-- Rate of Climb Indicator AN5825
--[29] = "%.1f", -- Variometer {0.0, 1.0}
-- D-10 Manifold Pressure Indicator
--[10] = "%.4f", -- Manifold_Pressure {10.0, 75.0} {0.0, 1.0}
-- Tachometer
--[23] = "%.4f", -- Engine_RPM {0.0, 4500.0} {0.0, 1.0}
-- AN5790-6 Carburetor Air Temperature Indicator
--[21] = "%.4f", -- Carb_Temperature {-80, 150} {-0, 1}
-- Coolant Temperature Indicator
--[22] = "%.4f", -- Carb_Temperature {-80, 150} {-0, 1}
-- Engine Gauge
--[30] = "%.4f", -- Oil_Temperature {0.0, 100.0} {0.0, 1.0}
--[31] = "%.4f", -- Oil_Pressure {0.0, 200.0} {0.0, 1.0}
--[32] = "%.1f", -- Fuel_Pressure {0.0, 25.0} -- PSI {0.0, 1.0}
SendData(2003, string.format("%0.4f;%0.4f;%0.4f",
mainPanelDevice:get_argument_value(30),
mainPanelDevice:get_argument_value(31),
mainPanelDevice:get_argument_value(32)))
-- Remote Indicator Compass
-- AN5730 remote compass
--[1] = "%.4f", -- CompassHeading {0.0, 1.0}
--[2] = "%.4f", -- CommandedCourse {0.0, 1.0}
SendData(2004, string.format("%0.4f;%0.4f",
mainPanelDevice:get_argument_value(1),
mainPanelDevice:get_argument_value(2)))
-- A-11 clock
--[4] = "%.4f", -- CLOCK_currtime_hours {0.0, 1.0}
--[5] = "%.4f", -- CLOCK_currtime_minutes {0.0, 1.0}
--[6] = "%.4f", -- CLOCK_currtime_seconds {0.0, 1.0}
SendData(2005, string.format("%0.4f;%0.4f;%0.4f",
mainPanelDevice:get_argument_value(4),
mainPanelDevice:get_argument_value(5),
mainPanelDevice:get_argument_value(6)))
-- Oxygen Flow Indicator
--[33] = "%.1f", -- Oxygen_Flow_Blinker {0.0, 1.0}
-- Oxygen Pressure Gauge
--[34] = "%.1f", -- Oxygen_Pressure {0.0, 500.0} {0.0, 1.0}
-- Hydraulic Pressure Gauge
--[78] = "%.4f", -- Hydraulic_Pressure {0.0, 2000.0} -- PSI {0.0, 1.0}
-- Fuel Gauges
-- Left Wing Main Tank
--[155] = "%.2f", -- Fuel_Tank_Left {0.0, 5.0, 15.0, 30.0, 45.0, 60.0, 75.0, 92.0} -- US GAL {0.0, 0.2, 0.36, 0.52, 0.65, 0.77, 0.92, 1.0}
-- Fuselage Tank
--[160] = "%.2f", -- Fuel_Tank_Fuselage {0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 85.0} -- US GAL {0.0, 0.12, 0.28, 0.40, 0.51, 0.62, 0.72, 0.83, 0.96, 1.0}
-- Right Wing Main Tank
--[156] = "%.2f", -- Fuel_Tank_Right {0.0, 5.0, 15.0, 30.0, 45.0, 60.0, 75.0, 92.0} -- US GAL {0.0, 0.2, 0.36, 0.52, 0.65, 0.77, 0.92, 1.0}
-- AN-5745 accelerometer indicator
--[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}
SendData(2006, string.format("%0.4f;%0.4f;%0.4f",
mainPanelDevice:get_argument_value(175),
mainPanelDevice:get_argument_value(177),
mainPanelDevice:get_argument_value(178)))
-- Landing Gear Warning Lights
--[80] = "%.1f", -- LandingGearGreenLight
--[82] = "%.1f", -- LandingGearRedLight
SendData(2007, string.format("%.1f;%.1f",
mainPanelDevice:get_argument_value(80),
mainPanelDevice:get_argument_value(82)))
-- AMMETER
--[101] = "%.4f", -- Ammeter {0.0, 150.0} {0.0, 1.0}
end
end
function ProcessHARDWAREConfigHighImportance(mainPanelDevice)
--[[
every frame export to hardware
Example from A-10C
Get Radio Frequencies
get data from device
local UHF_RADIO = GetDevice(54)
SendDataHW("ExportID", "Format")
SendDataHW("ExportID", "Format", HardwareConfigID)
SendDataHW("2000", string.format("%7.3f", UHF_RADIO:get_frequency()/1000000))
SendDataHW("2000", string.format("%7.3f", UHF_RADIO:get_frequency()/1000000), 2) -- export to Hardware '2' Config
]]
-- no dimming lights
-- TailRadarWarning
SendDataHW("161", mainPanelDevice:get_argument_value(161) > 0.3 and 1 or 0) -- Lamp TailRadarWarning
-- SCR-522A Control panel
SendDataHW("122", mainPanelDevice:get_argument_value(122) > 0.3 and 1 or 0) -- A_channel_light
SendDataHW("123", mainPanelDevice:get_argument_value(123) > 0.3 and 1 or 0) -- B_channel_light
SendDataHW("124", mainPanelDevice:get_argument_value(124) > 0.3 and 1 or 0) -- C_channel_light
SendDataHW("125", mainPanelDevice:get_argument_value(125) > 0.3 and 1 or 0) -- D_channel_light
SendDataHW("126", mainPanelDevice:get_argument_value(126) > 0.3 and 1 or 0) -- Transmit_light
-- Landing gears
SendDataHW("80", mainPanelDevice:get_argument_value(80) > 0.3 and 1 or 0) -- LandingGearGreenLight
SendDataHW("82", mainPanelDevice:get_argument_value(82) > 0.3 and 1 or 0) -- LandingGearRedLight
-- Engine
SendDataHW("59", mainPanelDevice:get_argument_value(59) > 0.3 and 1 or 0) -- Hight_Blower_Lamp
-- Cockpit Lights
SendDataHW("164", mainPanelDevice:get_argument_value(164) > 0.3 and 1 or 0) -- Left_Fluor_Light
SendDataHW("165", mainPanelDevice:get_argument_value(165) > 0.3 and 1 or 0) -- Right_Fluor_Light
SendDataHW("185", mainPanelDevice:get_argument_value(185) > 0.3 and 1 or 0) -- Left_cockpit_light
SendDataHW("186", mainPanelDevice:get_argument_value(186) > 0.3 and 1 or 0) -- Right_cockpit_light
--[[
-- dimming lights
-- TailRadarWarning
SendDataHW("161", string.format("%.1f", mainPanelDevice:get_argument_value(161))) -- Lamp TailRadarWarning
-- SCR-522A Control panel
SendDataHW("122", string.format("%.1f", mainPanelDevice:get_argument_value(122))) -- A_channel_light
SendDataHW("123", string.format("%.1f", mainPanelDevice:get_argument_value(123))) -- B_channel_light
SendDataHW("124", string.format("%.1f", mainPanelDevice:get_argument_value(124))) -- C_channel_light
SendDataHW("125", string.format("%.1f", mainPanelDevice:get_argument_value(125))) -- D_channel_light
SendDataHW("126", string.format("%.1f", mainPanelDevice:get_argument_value(126))) -- Transmit_light
-- Landing gears
SendDataHW("80", string.format("%.1f", mainPanelDevice:get_argument_value(80))) -- LandingGearGreenLight
SendDataHW("82", string.format("%.1f", mainPanelDevice:get_argument_value(82))) -- LandingGearRedLight
-- Engine
SendDataHW("59", string.format("%.1f", mainPanelDevice:get_argument_value(59))) -- Hight_Blower_Lamp
-- Cockpit Lights
SendDataHW("164", string.format("%.1f", mainPanelDevice:get_argument_value(164))) -- Left_Fluor_Light
SendDataHW("165", string.format("%.1f", mainPanelDevice:get_argument_value(165))) -- Right_Fluor_Light
SendDataHW("185", string.format("%.1f", mainPanelDevice:get_argument_value(185))) -- Left_cockpit_light
SendDataHW("186", string.format("%.1f", mainPanelDevice:get_argument_value(186))) -- Right_cockpit_light
]]
end
-----------------------------------------------------
-- LOW IMPORTANCE EXPORTS --
-- done every gExportLowTickInterval export events --
-----------------------------------------------------
function ProcessGlassCockpitDCSConfigLowImportance(mainPanelDevice)
--[[
export in low tick interval to GlassCockpit
Example from A-10C
Get Radio Frequencies
get data from device
local lUHFRadio = GetDevice(54)
SendData("ExportID", "Format")
SendData(2000, string.format("%7.3f", lUHFRadio:get_frequency()/1000000)) <- special function for get frequency data
]]
--[[
local lDETROLA = GetDevice(24)
WriteToLog('lDETROLA: '..dump(lDETROLA:is_on()))
WriteToLog('lDETROLA: '..dump(lDETROLA:get_frequency()))
--SendData(2000, string.format("%7.3f", lDETROLA:get_frequency()/1000000))
local lINTERCOM = GetDevice(31)
WriteToLog('lINTERCOM: '..dump(lINTERCOM:is_communicator_available()))
WriteToLog('lINTERCOM: '..dump(lINTERCOM:get_noise_level()))
WriteToLog('lINTERCOM: '..dump(lINTERCOM:get_signal_level()))
]]
--[[
local ltmp1 = 0
for ltmp2 = 1, 35, 1 do
ltmp1 = GetDevice(ltmp2)
WriteToLog(ltmp2..': '..dump(ltmp1))
WriteToLog(ltmp2..' (metatable): '..dump(getmetatable(ltmp1)))
end
]]
end
function ProcessHARDWAREConfigLowImportance(mainPanelDevice)
--[[
export in low tick interval to hardware
Example from A-10C
Landing Gear
mainPanelDevice, basis panel
SendDataHW("2004", mainPanelDevice:get_argument_value(659)) -- GEAR_N_SAFE
SendDataHW("2005", mainPanelDevice:get_argument_value(660)) -- GEAR_L_SAFE
SendDataHW("2006", mainPanelDevice:get_argument_value(661)) -- GEAR_R_SAFE
]]
--[[
WriteToLog('list_cockpit_params(): '..dump(list_cockpit_params()))
local ltmp1 = 0
for ltmp2 = 1, 10, 1 do
ltmp1 = list_indication(ltmp2)
WriteToLog(ltmp2..': '..dump(ltmp1))
--WriteToLog(ltmp2..' (metatable): '..dump(getmetatable(ltmp1)))
end
]]
end