コード例 #1
0
ファイル: FuelGauge.cs プロジェクト: BlueFinBima/Helios14
        public FuelGauge()
            : base("Fuel Gauge", new Size(360, 360))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/FuelGauge/fuel_gauge_faceplate.xaml", new Rect(30d, 30d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 6000d, 168d);

            _totalDrum       = new GaugeDrumCounter("{Helios}/Gauges/A-10/Common/drum_tape.xaml", new Point(135d, 95d), "##%00", new Size(10d, 15d), new Size(18d, 28d));
            _totalDrum.Clip  = new RectangleGeometry(new Rect(135d, 95d, 90d, 28d));
            _totalDrum.Value = 0d;
            Components.Add(_totalDrum);

            _leftNeedle = new GaugeNeedle("{Helios}/Gauges/A-10/FuelGauge/fuel_gauge_needle.xaml", new Point(180d, 180d), new Size(90d, 177d), new Point(45d, 132d), 186d);
            Components.Add(_leftNeedle);

            _rightNeedle = new GaugeNeedle("{Helios}/Gauges/A-10/FuelGauge/fuel_gauge_needle.xaml", new Point(180d, 180d), new Size(90d, 177d), new Point(45d, 132d), 174d);
            Components.Add(_rightNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/engine_bezel.png", new Rect(0d, 0d, 360d, 360d)));

            _leftQuantity          = new HeliosValue(this, new BindingValue(0d), "", "left quantity", "Quantity of fuel to display on left needle.", "(0 - 6000)", BindingValueUnits.Pounds);
            _leftQuantity.Execute += new HeliosActionHandler(LeftQuantity_Execute);
            Actions.Add(_leftQuantity);

            _rightQuantity          = new HeliosValue(this, new BindingValue(0d), "", "right quantity", "Quantity of fuel to display on right needle.", "(0 - 6000)", BindingValueUnits.Pounds);
            _rightQuantity.Execute += new HeliosActionHandler(RightQuantity_Execute);
            Actions.Add(_rightQuantity);

            _totalQuantity          = new HeliosValue(this, new BindingValue(0d), "", "total quantity", "Quantity of fuel to display on the totalizer.", "(0 - 99,999)", BindingValueUnits.Pounds);
            _totalQuantity.Execute += new HeliosActionHandler(TotalQuantity_Execute);
            Actions.Add(_totalQuantity);
        }
コード例 #2
0
        public O2Pressure()
            : base("O2Pressure", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0, 0d, 20d, 277d);
            _needleCalibration.Add(new CalibrationPointDouble(2d, 30d));
            _needleCalibration.Add(new CalibrationPointDouble(4d, 58d));
            _needleCalibration.Add(new CalibrationPointDouble(6d, 86d));
            _needleCalibration.Add(new CalibrationPointDouble(8d, 115d));
            _needleCalibration.Add(new CalibrationPointDouble(10d, 137.9d));
            _needleCalibration.Add(new CalibrationPointDouble(12d, 160.7d));
            _needleCalibration.Add(new CalibrationPointDouble(14d, 189d));
            _needleCalibration.Add(new CalibrationPointDouble(16d, 210.1d));
            _needleCalibration.Add(new CalibrationPointDouble(18d, 245d));

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/O2Pressure/o2_pressure_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/Common/small_needle.xaml", center, new Size(23, 164), new Point(11.5, 127), 222d);
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentO2Pressure          = new HeliosValue(this, BindingValue.Empty, "", "Current O2 Pressure", "Current O2 Pressure", "", BindingValueUnits.Numeric);
            _currentO2Pressure.Execute += CurrentO2Pressure_Execute;
            Actions.Add(_currentO2Pressure);
        }
コード例 #3
0
ファイル: EngExhaustTemp.cs プロジェクト: oskargargas/helios
        public EngExhaustTempGauge()
            : base("EngExhaustTempGauge", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(300d, 0d, 900d, 231d);
            _needleCalibration.Add(new CalibrationPointDouble(400d, 29d));
            _needleCalibration.Add(new CalibrationPointDouble(500d, 59));
            _needleCalibration.Add(new CalibrationPointDouble(600d, 88d));
            _needleCalibration.Add(new CalibrationPointDouble(650d, 118d));
            _needleCalibration.Add(new CalibrationPointDouble(700d, 148d));
            _needleCalibration.Add(new CalibrationPointDouble(750d, 177d));
            _needleCalibration.Add(new CalibrationPointDouble(800d, 206d));
            _needleCalibration.Add(new CalibrationPointDouble(850d, 218d));

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/EngExhaustTemp/EngExhaustTemp_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/EngExhaustTemp/EngExhaustTemp_needle.xaml", center, new Size(69d, 178d), new Point(34.5d, 126.5d), 242d);
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/EngExhaustTemp/EngExhaustTemp_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentTemp = new HeliosValue(this, BindingValue.Empty, "", "Engine Exhaust", "Current Temp", "", BindingValueUnits.Numeric);
            _currentTemp.Execute += CurrentFuel_Execute;
            Actions.Add(_currentTemp);
        }
コード例 #4
0
ファイル: Altimeter.cs プロジェクト: BlueFinBima/Helios14
        public Altimeter()
            : base("Altimeter", new Size(364, 376))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/F-16/Altimeter/altimeter_backplate.xaml", new Rect(32d, 38d, 300d, 300d)));

            _tensDrum      = new GaugeDrumCounter("{Helios}/Gauges/F-16/Altimeter/alt_drum_tape.xaml", new Point(71d, 164d), "#", new Size(10d, 15d), new Size(30d, 45d));
            _tensDrum.Clip = new RectangleGeometry(new Rect(71d, 144d, 150d, 81d));
            Components.Add(_tensDrum);

            _drum      = new GaugeDrumCounter("{Helios}/Gauges/F-16/Common/drum_tape.xaml", new Point(101d, 164d), "#%00", new Size(10d, 15d), new Size(30d, 45d));
            _drum.Clip = new RectangleGeometry(new Rect(101d, 144d, 150d, 81d));
            Components.Add(_drum);

            _airPressureDrum       = new GaugeDrumCounter("{Helios}/Gauges/F-16/Common/drum_tape.xaml", new Point(214d, 233d), "###%", new Size(10d, 15d), new Size(15d, 20d));
            _airPressureDrum.Value = 2992d;
            _airPressureDrum.Clip  = new RectangleGeometry(new Rect(214d, 233d, 60d, 20d));
            Components.Add(_airPressureDrum);

            Components.Add(new GaugeImage("{Helios}/Gauges/F-16/Altimeter/altimeter_faceplate.xaml", new Rect(32d, 38d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 1000d, 360d);
            _needle            = new GaugeNeedle("{Helios}/Gauges/F-16/Altimeter/altimeter_needle.xaml", new Point(182d, 188d), new Size(16d, 257d), new Point(8d, 138.5d));
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/F-16/Common/f16_gauge_bezel.png", new Rect(0d, 0d, 364d, 376d)));

            _airPressure = new HeliosValue(this, new BindingValue(0d), "", "air pressure", "Current air pressure calibaration setting for the altimeter.", "", BindingValueUnits.InchesOfMercury);
            _airPressure.SetValue(new BindingValue(29.92), true);
            _airPressure.Execute += new HeliosActionHandler(AirPressure_Execute);
            Actions.Add(_airPressure);

            _altitdue          = new HeliosValue(this, new BindingValue(0d), "", "altitude", "Current altitude of the aricraft.", "", BindingValueUnits.Feet);
            _altitdue.Execute += new HeliosActionHandler(Altitude_Execute);
            Actions.Add(_altitdue);
        }
コード例 #5
0
ファイル: Altimeter.cs プロジェクト: Heliflyer/helios
        public Altimeter()
            : base("Altimeter", new Size(364, 376))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/F-16/Altimeter/altimeter_backplate.xaml", new Rect(32d, 38d, 300d, 300d)));

            _tensDrum = new GaugeDrumCounter("{Helios}/Gauges/F-16/Altimeter/alt_drum_tape.xaml", new Point(71d, 164d), "#", new Size(10d, 15d), new Size(30d, 45d));
            _tensDrum.Clip = new RectangleGeometry(new Rect(71d, 144d, 150d, 81d));
            Components.Add(_tensDrum);

            _drum = new GaugeDrumCounter("{Helios}/Gauges/F-16/Common/drum_tape.xaml", new Point(101d, 164d), "#%00", new Size(10d, 15d), new Size(30d, 45d));
            _drum.Clip = new RectangleGeometry(new Rect(101d, 144d, 150d, 81d));
            Components.Add(_drum);

            _airPressureDrum = new GaugeDrumCounter("{Helios}/Gauges/F-16/Common/drum_tape.xaml", new Point(214d, 233d), "###%", new Size(10d, 15d), new Size(15d, 20d));
            _airPressureDrum.Value = 2992d;
            _airPressureDrum.Clip = new RectangleGeometry(new Rect(214d, 233d, 60d, 20d));
            Components.Add(_airPressureDrum);

            Components.Add(new GaugeImage("{Helios}/Gauges/F-16/Altimeter/altimeter_faceplate.xaml", new Rect(32d, 38d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 1000d, 360d);
            _needle = new GaugeNeedle("{Helios}/Gauges/F-16/Altimeter/altimeter_needle.xaml", new Point(182d, 188d), new Size(16d, 257d), new Point(8d, 138.5d));
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/F-16/Common/f16_gauge_bezel.png", new Rect(0d, 0d, 364d, 376d)));

            _airPressure = new HeliosValue(this, new BindingValue(0d), "", "air pressure", "Current air pressure calibaration setting for the altimeter.", "", BindingValueUnits.InchesOfMercury);
            _airPressure.SetValue(new BindingValue(29.92), true);
            _airPressure.Execute += new HeliosActionHandler(AirPressure_Execute);
            Actions.Add(_airPressure);

            _altitdue = new HeliosValue(this, new BindingValue(0d), "", "altitude", "Current altitude of the aricraft.", "", BindingValueUnits.Feet);
            _altitdue.Execute += new HeliosActionHandler(Altitude_Execute);
            Actions.Add(_altitdue);
        }
コード例 #6
0
ファイル: EngineRpm.cs プロジェクト: oskargargas/helios
        public EngingeRpm()
            : base("EngingeRpm", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 110d, 344.5d);
            _needleCalibration.Add(new CalibrationPointDouble(100d, 315d));

            _needleCalibration1 = new CalibrationPointCollectionDouble(0d, 0d, 110d, 344.5d);
            _needleCalibration1.Add(new CalibrationPointDouble(25d, 6d));  
            _needleCalibration1.Add(new CalibrationPointDouble(65d, 158d));  
            _needleCalibration1.Add(new CalibrationPointDouble(92d, 281d));   
            _needleCalibration1.Add(new CalibrationPointDouble(100d, 318d));

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/EngineRpm/enginerpm_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _twoNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/EngineRpm/enginerpm_needle2.xaml", center, new Size(32, 185), new Point(16, 127), 44);
            Components.Add(_twoNeedle);

            _oneNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/EngineRpm/enginerpm_needle1.xaml", center, new Size(32, 185), new Point(16, 127), 44);
            Components.Add(_oneNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/EngineRpm/enginerpm_bezel.xaml", new Rect(0, 0, 340, 340)));

            _oneE = new HeliosValue(this, BindingValue.Empty, "", "rpm1", "Engine rpm 1", "", BindingValueUnits.Numeric);
            _oneE.Execute += OneEng_Execute;
            Actions.Add(_oneE);

            _twoE = new HeliosValue(this, BindingValue.Empty, "", "rpm2", "Engine rpm 2", "", BindingValueUnits.Numeric);
            _twoE.Execute += TwoEng_Execute;
            Actions.Add(_twoE);

        }
コード例 #7
0
ファイル: FuelGauge.cs プロジェクト: Heliflyer/helios
        public FuelGauge()
            : base("Fuel Gauge", new Size(360, 360))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/FuelGauge/fuel_gauge_faceplate.xaml", new Rect(30d, 30d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 6000d, 168d);

            _totalDrum = new GaugeDrumCounter("{Helios}/Gauges/A-10/Common/drum_tape.xaml", new Point(135d, 95d), "##%00", new Size(10d, 15d), new Size(18d, 28d));
            _totalDrum.Clip = new RectangleGeometry(new Rect(135d, 95d, 90d, 28d));
            _totalDrum.Value = 0d;
            Components.Add(_totalDrum);

            _leftNeedle = new GaugeNeedle("{Helios}/Gauges/A-10/FuelGauge/fuel_gauge_needle.xaml", new Point(180d, 180d), new Size(90d, 177d), new Point(45d, 132d), 186d);
            Components.Add(_leftNeedle);

            _rightNeedle = new GaugeNeedle("{Helios}/Gauges/A-10/FuelGauge/fuel_gauge_needle.xaml", new Point(180d, 180d), new Size(90d, 177d), new Point(45d, 132d), 174d);
            Components.Add(_rightNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/engine_bezel.png", new Rect(0d, 0d, 360d, 360d)));

            _leftQuantity = new HeliosValue(this, new BindingValue(0d), "", "left quantity", "Quantity of fuel to display on left needle.", "(0 - 6000)", BindingValueUnits.Pounds);
            _leftQuantity.Execute += new HeliosActionHandler(LeftQuantity_Execute);
            Actions.Add(_leftQuantity);

            _rightQuantity = new HeliosValue(this, new BindingValue(0d), "", "right quantity", "Quantity of fuel to display on right needle.", "(0 - 6000)", BindingValueUnits.Pounds);
            _rightQuantity.Execute += new HeliosActionHandler(RightQuantity_Execute);
            Actions.Add(_rightQuantity);

            _totalQuantity = new HeliosValue(this, new BindingValue(0d), "", "total quantity", "Quantity of fuel to display on the totalizer.", "(0 - 99,999)", BindingValueUnits.Pounds);
            _totalQuantity.Execute += new HeliosActionHandler(TotalQuantity_Execute);
            Actions.Add(_totalQuantity);
        }
コード例 #8
0
        public TAS()
            : base("TAS", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleTasCalibration = new CalibrationPointCollectionDouble(167d, 0d, 833d, 335d);
            _needleTasCalibration.Add(new CalibrationPointDouble(278d, 46d));
            _needleTasCalibration.Add(new CalibrationPointDouble(417d, 127d));
            _needleTasCalibration.Add(new CalibrationPointDouble(555d, 207d));

            _needleMCalibration = new CalibrationPointCollectionDouble(0.0d, 0d, 3.0d, 335d);
            _needleMCalibration.Add(new CalibrationPointDouble(0.6d, 0d));
            _needleMCalibration.Add(new CalibrationPointDouble(1d, 56d));
            _needleMCalibration.Add(new CalibrationPointDouble(1.8d, 167d));
            _needleTasCalibration.Add(new CalibrationPointDouble(2.0d, 223d));

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/TAS/tas_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentTasNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/TAS/tas_needle.xaml", center, new Size(24, 135), new Point(12, 127), 11d);
            Components.Add(_currentTasNeedle);

            _currentMNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/TAS/m_needle.xaml", center, new Size(32, 185), new Point(16, 127), 11d);
            Components.Add(_currentMNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentTAS          = new HeliosValue(this, BindingValue.Empty, "", "TAS", "Current TAS", "", BindingValueUnits.Numeric);
            _currentTAS.Execute += CurrentTas_Execute;
            Actions.Add(_currentTAS);

            _currentM          = new HeliosValue(this, BindingValue.Empty, "", "M", "Current M", "", BindingValueUnits.Numeric);
            _currentM.Execute += CurrentM_Execute;
            Actions.Add(_currentM);
        }
コード例 #9
0
ファイル: RotarySwitch.cs プロジェクト: Heliflyer/helios
        public RotarySwitch()
            : base("Rotary Switch", new Size(100, 100))
        {
            _swipeCalibration = new CalibrationPointCollectionDouble(-1d, 2d, 1d, 0.5d);
            _swipeCalibration.Add(new CalibrationPointDouble(0.0d, 1d));

            _labelFormat.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(LabelFormat_PropertyChanged);

            _positionValue = new HeliosValue(this, new BindingValue(1), "", "position", "Current position of the switch.", "", BindingValueUnits.Numeric);
            _positionValue.Execute += new HeliosActionHandler(SetPositionAction_Execute);
            Values.Add(_positionValue);
            Actions.Add(_positionValue);
            Triggers.Add(_positionValue);

            _positionNameValue = new HeliosValue(this, new BindingValue("0"), "", "position name", "Name of the current position of the switch.", "", BindingValueUnits.Text);
            Values.Add(_positionNameValue);
            Triggers.Add(_positionNameValue);

            _positions.CollectionChanged += new NotifyCollectionChangedEventHandler(Positions_CollectionChanged);
            _positions.PositionChanged += new EventHandler<RotarySwitchPositionChangeArgs>(PositionChanged);
            _positions.Add(new RotarySwitchPosition(this, 1, "0", 0d));
            _positions.Add(new RotarySwitchPosition(this, 2, "1", 90d));
            _currentPosition = 1;
            _defaultPosition = 1;
        }
コード例 #10
0
ファイル: O2Level.cs プロジェクト: oskargargas/helios
        public O2Level()
            : base("O2Level", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0, 0d, 150d, 158d);
            _needleCalibration.Add(new CalibrationPointDouble(10d, 4d));
            _needleCalibration.Add(new CalibrationPointDouble(50d, 47.8d));
            _needleCalibration.Add(new CalibrationPointDouble(100d, 103d));

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/O2Level/o2_level_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/Common/small_needle.xaml", center, new Size(23, 164), new Point(11.5, 127), 277.5d);
            Components.Add(_currentNeedle);

            _lLungImage = new GaugeImage("{Helios}/Gauges/Mig-21/O2Level/o2_level_blinker_l.xaml", new Rect(136, 194, 25, 63.9));
            Components.Add(_lLungImage);

            _rLungImage = new GaugeImage("{Helios}/Gauges/Mig-21/O2Level/o2_level_blinker_r.xaml", new Rect(180, 194, 25, 63.9));
            Components.Add(_rLungImage);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentO2Level = new HeliosValue(this, BindingValue.Empty, "", "O2 Level", "Current O2 Level", "", BindingValueUnits.Numeric);
            _currentO2Level.Execute += CurrentO2Level_Execute;
            Actions.Add(_currentO2Level);

            _lLungFlag = new HeliosValue(this, new BindingValue(false), "", "Lung Blinkers", "White when working", "True if displayed.", BindingValueUnits.Boolean);
            _lLungFlag.Execute += LFlags_Execute;
            Actions.Add(_lLungFlag);
        }
コード例 #11
0
        public EngingeRpm()
            : base("EngingeRpm", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 110d, 344.5d);
            _needleCalibration.Add(new CalibrationPointDouble(100d, 315d));

            _needleCalibration1 = new CalibrationPointCollectionDouble(0d, 0d, 110d, 344.5d);
            _needleCalibration1.Add(new CalibrationPointDouble(25d, 6d));
            _needleCalibration1.Add(new CalibrationPointDouble(65d, 158d));
            _needleCalibration1.Add(new CalibrationPointDouble(92d, 281d));
            _needleCalibration1.Add(new CalibrationPointDouble(100d, 318d));

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/EngineRpm/enginerpm_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _twoNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/EngineRpm/enginerpm_needle2.xaml", center, new Size(32, 185), new Point(16, 127), 44);
            Components.Add(_twoNeedle);

            _oneNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/EngineRpm/enginerpm_needle1.xaml", center, new Size(32, 185), new Point(16, 127), 44);
            Components.Add(_oneNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/EngineRpm/enginerpm_bezel.xaml", new Rect(0, 0, 340, 340)));

            _oneE          = new HeliosValue(this, BindingValue.Empty, "", "rpm1", "Engine rpm 1", "", BindingValueUnits.Numeric);
            _oneE.Execute += OneEng_Execute;
            Actions.Add(_oneE);

            _twoE          = new HeliosValue(this, BindingValue.Empty, "", "rpm2", "Engine rpm 2", "", BindingValueUnits.Numeric);
            _twoE.Execute += TwoEng_Execute;
            Actions.Add(_twoE);
        }
コード例 #12
0
        public Nosecone()
            : base("Nosecone", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 1d, 300d);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/Nosecone/nosecone_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/Common/generic_needle.xaml", center, new Size(32, 185), new Point(16, 127), 180d);
            Components.Add(_currentNeedle);

            _manualNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/Nosecone/nosecone_outer_needle.xaml", center, new Size(32, 230), new Point(16, 132), 180d);
            Components.Add(_manualNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));


            _currentPosition          = new HeliosValue(this, BindingValue.Empty, "", "Nosecone", "Current Position", "", BindingValueUnits.Numeric);
            _currentPosition.Execute += CurrentPosition_Execute;
            Actions.Add(_currentPosition);

            _manualPosition          = new HeliosValue(this, BindingValue.Empty, "", "Nosecone Manual", "Use Manual Knob controller output", "", BindingValueUnits.Numeric);
            _manualPosition.Execute += ManualPosition_Execute;
            Actions.Add(_manualPosition);
        }
コード例 #13
0
ファイル: Nosecone.cs プロジェクト: oskargargas/helios
        public Nosecone()
            : base("Nosecone", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 1d, 300d);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/Nosecone/nosecone_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/Common/generic_needle.xaml", center, new Size(32, 185), new Point(16, 127), 180d);
            Components.Add(_currentNeedle);

            _manualNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/Nosecone/nosecone_outer_needle.xaml", center, new Size(32, 230), new Point(16, 132), 180d);
            Components.Add(_manualNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));


            _currentPosition = new HeliosValue(this, BindingValue.Empty, "", "Nosecone", "Current Position", "", BindingValueUnits.Numeric);
            _currentPosition.Execute += CurrentPosition_Execute;
            Actions.Add(_currentPosition);

            _manualPosition = new HeliosValue(this, BindingValue.Empty, "", "Nosecone Manual", "Use Manual Knob controller output", "", BindingValueUnits.Numeric);
            _manualPosition.Execute += ManualPosition_Execute;
            Actions.Add(_manualPosition);
        }
コード例 #14
0
ファイル: RadioAltimeter.cs プロジェクト: oskargargas/helios
        public RadioAltimeter()
            : base("RadioAltimeter", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0.0d, 0d, 1000d, 231d);
            _needleCalibration.Add(new CalibrationPointDouble(10d, 22.5d));
            _needleCalibration.Add(new CalibrationPointDouble(20d, 34.6d));
            _needleCalibration.Add(new CalibrationPointDouble(30d, 55.6d));
            _needleCalibration.Add(new CalibrationPointDouble(40d, 73.8d));
            _needleCalibration.Add(new CalibrationPointDouble(50d, 94.2d));
            _needleCalibration.Add(new CalibrationPointDouble(60d, 103.2d));
            _needleCalibration.Add(new CalibrationPointDouble(70d, 114.2d));
            _needleCalibration.Add(new CalibrationPointDouble(80d, 119.6d));
            _needleCalibration.Add(new CalibrationPointDouble(90d, 127d));
            _needleCalibration.Add(new CalibrationPointDouble(100d, 130.5d));
            _needleCalibration.Add(new CalibrationPointDouble(150d, 151.2d));
            _needleCalibration.Add(new CalibrationPointDouble(200d, 160.6d));
            _needleCalibration.Add(new CalibrationPointDouble(250d, 181.9d));
            _needleCalibration.Add(new CalibrationPointDouble(300d, 192.6d));
            _needleCalibration.Add(new CalibrationPointDouble(400d, 210.9d));
            _needleCalibration.Add(new CalibrationPointDouble(500d, 220.6d));
            _needleCalibration.Add(new CalibrationPointDouble(600d, 231d));

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/RadioAltimeter/radalt_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/RadioAltimeter/radalt_needle.xaml", center, new Size(69d, 178d), new Point(34.5d, 126.5d), -120d);
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentRadAlt = new HeliosValue(this, BindingValue.Empty, "", "Current RadAlt", "Current RadAlt", "", BindingValueUnits.Numeric);
            _currentRadAlt.Execute += CurrentRadAlt_Execute;
            Actions.Add(_currentRadAlt);
        }
コード例 #15
0
ファイル: Airspeed.cs プロジェクト: Heliflyer/helios
        public Airspeed()
            : base("Airspeed", new Size(364, 376))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/F-16/Airspeed/asi_faceplate.xaml", new Rect(32d, 38d, 300d, 300d)));

            _machCalibration = new CalibrationPointCollectionDouble(0d, 0d, 1.9d, 270d);
            _machCalibration.Add(new CalibrationPointDouble(0.5d, 60d));

            _machRing = new GaugeNeedle("{Helios}/Gauges/F-16/Airspeed/asi_inner_faceplate.xaml", new Point(182d, 188d), new Size(188d, 188d), new Point(94d, 94d), -90d);
            Components.Add(_machRing);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 850d, 350d);
            _needleCalibration.Add(new CalibrationPointDouble(200d, 135d));
            _needleCalibration.Add(new CalibrationPointDouble(300d, 195d));
            _needleCalibration.Add(new CalibrationPointDouble(400d, 235d));
            _needleCalibration.Add(new CalibrationPointDouble(500d, 267d));

            _needle = new GaugeNeedle("{Helios}/Gauges/F-16/Airspeed/asi_needle.xaml", new Point(182d, 188d), new Size(300d, 300d), new Point(150d, 150d), -90d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/F-16/Common/f16_gauge_bezel.png", new Rect(0d, 0d, 364d, 376d)));

            _airspeed = new HeliosValue(this, new BindingValue(0d), "", "indicated air speed", "Current airspeed of the aricraft.", "", BindingValueUnits.Knots);
            _airspeed.Execute += new HeliosActionHandler(Airspeed_Execute);
            Actions.Add(_airspeed);

            _mach = new HeliosValue(this, new BindingValue(0d), "", "mach", "Current airspeed of the aricraft.", "", BindingValueUnits.Numeric);
            _mach.Execute += new HeliosActionHandler(Mach_Execute);
            Actions.Add(_mach);
        }
コード例 #16
0
ファイル: Accelerometer.cs プロジェクト: Heliflyer/helios
        public Accelerometer()
            : base("Accelerometer", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(-2d, -100d, 4d, 200d);

            Components.Add(new GaugeImage("{Helios}/Gauges/KA-50/Accelerometer/accelerometer_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _lowNeedle = new GaugeNeedle("{Helios}/Gauges/KA-50/Accelerometer/accelerometer_limit_needle.xaml", center, new Size(32, 189), new Point(16, 131));
            Components.Add(_lowNeedle);

            _highNeedle = new GaugeNeedle("{Helios}/Gauges/KA-50/Accelerometer/accelerometer_limit_needle.xaml", center, new Size(32, 189), new Point(16, 131));
            Components.Add(_highNeedle);

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/KA-50/Accelerometer/accelerometer_needle.xaml", center, new Size(32, 185), new Point(16, 127));
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/KA-50/Accelerometer/accelerometer_bezel.xaml", new Rect(0, 0, 340, 340)));

            _lowG = new HeliosValue(this, BindingValue.Empty, "", "Low G", "Lowest G attained", "", BindingValueUnits.Numeric);
            _lowG.Execute += LowG_Execute;
            Actions.Add(_lowG);

            _highG = new HeliosValue(this, BindingValue.Empty, "", "High G", "Highest G attained", "", BindingValueUnits.Numeric);
            _highG.Execute += HighG_Execute;
            Actions.Add(_highG);

            _currentG = new HeliosValue(this, BindingValue.Empty, "", "Current G", "Current G", "", BindingValueUnits.Numeric);
            _currentG.Execute += CurrentG_Execute;
            Actions.Add(_currentG);
        }
コード例 #17
0
        public IAS()
            : base("IAS", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 555.55d, 720d);
            _needleCalibration.Add(new CalibrationPointDouble(83.33d, 108d));
            _needleCalibration.Add(new CalibrationPointDouble(166.67d, 216d));
            _needleCalibration.Add(new CalibrationPointDouble(250d, 324d));
            _needleCalibration.Add(new CalibrationPointDouble(333.34d, 432d));
            _needleCalibration.Add(new CalibrationPointDouble(416.67d, 540d));

            _backCalibration = new CalibrationPointCollectionDouble(0d, 0d, 555.55d, 90d);
            _backCalibration.Add(new CalibrationPointDouble(277, 90d));
            _backCalibration.Add(new CalibrationPointDouble(270, 0d));
            _currentBack = new GaugeNeedle("{Helios}/Gauges/MiG-21/IAS/ias_back.xaml", center, new Size(340, 340), center, -90);
            Components.Add(_currentBack);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/IAS/ias_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/Common/generic_needle.xaml", center, new Size(32, 185), new Point(16, 127));
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentIas          = new HeliosValue(this, BindingValue.Empty, "", "IAS", "Current IAS", "", BindingValueUnits.Numeric);
            _currentIas.Execute += CurrentIas_Execute;
            _currentIas.Execute += CurrentBack_Execute;
            Actions.Add(_currentIas);
        }
コード例 #18
0
        public Airspeed()
            : base("Airspeed", new Size(364, 376))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/F-16/Airspeed/asi_faceplate.xaml", new Rect(32d, 38d, 300d, 300d)));

            _machCalibration = new CalibrationPointCollectionDouble(0d, 0d, 1.9d, 270d);
            _machCalibration.Add(new CalibrationPointDouble(0.5d, 60d));

            _machRing = new GaugeNeedle("{Helios}/Gauges/F-16/Airspeed/asi_inner_faceplate.xaml", new Point(182d, 188d), new Size(188d, 188d), new Point(94d, 94d), -90d);
            Components.Add(_machRing);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 850d, 350d);
            _needleCalibration.Add(new CalibrationPointDouble(200d, 135d));
            _needleCalibration.Add(new CalibrationPointDouble(300d, 195d));
            _needleCalibration.Add(new CalibrationPointDouble(400d, 235d));
            _needleCalibration.Add(new CalibrationPointDouble(500d, 267d));

            _needle = new GaugeNeedle("{Helios}/Gauges/F-16/Airspeed/asi_needle.xaml", new Point(182d, 188d), new Size(300d, 300d), new Point(150d, 150d), -90d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/F-16/Common/f16_gauge_bezel.png", new Rect(0d, 0d, 364d, 376d)));

            _airspeed          = new HeliosValue(this, new BindingValue(0d), "", "indicated air speed", "Current airspeed of the aricraft.", "", BindingValueUnits.Knots);
            _airspeed.Execute += new HeliosActionHandler(Airspeed_Execute);
            Actions.Add(_airspeed);

            _mach          = new HeliosValue(this, new BindingValue(0d), "", "mach", "Current airspeed of the aricraft.", "", BindingValueUnits.Numeric);
            _mach.Execute += new HeliosActionHandler(Mach_Execute);
            Actions.Add(_mach);
        }
コード例 #19
0
        public BatteryCapacity()
            : base("BatteryCapacity", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 100d, 300d);
            _needleCalibration.Add(new CalibrationPointDouble(10d, 36d));
            _needleCalibration.Add(new CalibrationPointDouble(20d, 66d));
            _needleCalibration.Add(new CalibrationPointDouble(30d, 96d));
            _needleCalibration.Add(new CalibrationPointDouble(40d, 126d));
            _needleCalibration.Add(new CalibrationPointDouble(50d, 156d));
            _needleCalibration.Add(new CalibrationPointDouble(60d, 186d));
            _needleCalibration.Add(new CalibrationPointDouble(70d, 216d));
            _needleCalibration.Add(new CalibrationPointDouble(80d, 246d));
            _needleCalibration.Add(new CalibrationPointDouble(90d, 276d));

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/BatteryCapacity/battery_capacity_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/Common/generic_small_gray_needle.xaml", center, new Size(32, 185), new Point(16, 127), 210d);
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentBatteryCapacity          = new HeliosValue(this, BindingValue.Empty, "", "Current Battery Capacity", "Current Battery Capacity", "", BindingValueUnits.Numeric);
            _currentBatteryCapacity.Execute += CurrentBatteryCapacity_Execute;
            Actions.Add(_currentBatteryCapacity);
        }
コード例 #20
0
ファイル: O2Pressure.cs プロジェクト: oskargargas/helios
        public O2Pressure()
            : base("O2Pressure", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0, 0d, 20d, 277d);
            _needleCalibration.Add(new CalibrationPointDouble(2d, 30d));
            _needleCalibration.Add(new CalibrationPointDouble(4d, 58d));
            _needleCalibration.Add(new CalibrationPointDouble(6d, 86d));
            _needleCalibration.Add(new CalibrationPointDouble(8d, 115d));
            _needleCalibration.Add(new CalibrationPointDouble(10d, 137.9d));
            _needleCalibration.Add(new CalibrationPointDouble(12d, 160.7d));
            _needleCalibration.Add(new CalibrationPointDouble(14d, 189d));
            _needleCalibration.Add(new CalibrationPointDouble(16d, 210.1d));
            _needleCalibration.Add(new CalibrationPointDouble(18d, 245d));

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/O2Pressure/o2_pressure_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/Common/small_needle.xaml", center, new Size(23, 164), new Point(11.5, 127), 222d);
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentO2Pressure = new HeliosValue(this, BindingValue.Empty, "", "Current O2 Pressure", "Current O2 Pressure", "", BindingValueUnits.Numeric);
            _currentO2Pressure.Execute += CurrentO2Pressure_Execute;
            Actions.Add(_currentO2Pressure);
        }
コード例 #21
0
        public BAltimeter()
            : base("Barometric Altimeter", new Size(376, 376))
        {
            _tensDrum      = new GaugeDrumCounter("{Helios}/Gauges/FA-18C/Altimeter/alt_drum_tape.xaml", new Point(73d, 129d), "#", new Size(10d, 15d), new Size(31d, 38d));
            _tensDrum.Clip = new RectangleGeometry(new Rect(71d, 144d, 31d, 38d));
            Components.Add(_tensDrum);

            _drum      = new GaugeDrumCounter("{Helios}/Gauges/FA-18C/Common/drum_tape.xaml", new Point(123d, 128d), "#%00", new Size(10d, 15d), new Size(31d, 38d));
            _drum.Clip = new RectangleGeometry(new Rect(123d, 130d, 31d, 38d));
            Components.Add(_drum);

            _airPressureDrum       = new GaugeDrumCounter("{Helios}/Gauges/FA-18C/Common/drum_tape.xaml", new Point(135d, 276d), "###%", new Size(10d, 15d), new Size(24d, 32d));
            _airPressureDrum.Value = 2992d;
            _airPressureDrum.Clip  = new RectangleGeometry(new Rect(135d, 276d, 96d, 32d));
            Components.Add(_airPressureDrum);

            Components.Add(new GaugeImage("{Helios}/Gauges/FA-18C/Altimeter/Altimeter_Faceplate.png", new Rect(0d, 0d, 376d, 376d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 1000d, 360d);
            _needle            = new GaugeNeedle("{Helios}/Gauges/FA-18C/Altimeter/altimeter_needle.xaml", new Point(188d, 188d), new Size(16d, 160d), new Point(8d, 160d));
            Components.Add(_needle);

            //Components.Add(new GaugeImage("{Helios}/Gauges/FA-18C/Common/engine_bezel.png", new Rect(0d, 0d, 376d, 376d)));
            _altitude          = new HeliosValue(this, new BindingValue(0d), "", "altitude", "Current altitude of the aircraft in feet.", "", BindingValueUnits.Feet);
            _altitude.Execute += new HeliosActionHandler(Altitude_Execute);
            Actions.Add(_altitude);

            _airPressure = new HeliosValue(this, new BindingValue(0d), "", "air pressure", "Current air pressure calibaration setting for the altimeter.", "", BindingValueUnits.InchesOfMercury);
            _airPressure.SetValue(new BindingValue(29.92d), true);
            _airPressure.Execute += new HeliosActionHandler(AirPressure_Execute);
            Actions.Add(_airPressure);
        }
コード例 #22
0
        public Tachometer()
            : base("Tachometer", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 110d, 346.5d);

            Components.Add(new GaugeImage("{Helios}/Gauges/KA-50/Tachometer/tachometer_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _needle2 = new GaugeNeedle("{Helios}/Gauges/KA-50/Tachometer/tachometer_needle_2.xaml", center, new Size(25, 152), new Point(12.5, 139.5), 45d);
            Components.Add(_needle2);

            _needle1 = new GaugeNeedle("{Helios}/Gauges/KA-50/Tachometer/tachometer_needle_1.xaml", center, new Size(25, 152), new Point(12.5, 139.5), 45d);
            Components.Add(_needle1);

            Components.Add(new GaugeImage("{Helios}/Gauges/KA-50/Tachometer/tachometer_bezel.xaml", new Rect(0, 0, 340, 340)));

            _rightRpm          = new HeliosValue(this, BindingValue.Empty, "", "Right Engine RPM", "Current RPM of the rotor blades", "", BindingValueUnits.RPMPercent);
            _rightRpm.Execute += RightRPM_Execute;
            Actions.Add(_rightRpm);

            _leftRpm          = new HeliosValue(this, BindingValue.Empty, "", "Left Engine RPM", "Current RPM of the rotor blades", "", BindingValueUnits.RPMPercent);
            _leftRpm.Execute += LeftRPM_Execute;
            Actions.Add(_leftRpm);
        }
コード例 #23
0
ファイル: IAS.cs プロジェクト: oskargargas/helios
        public IAS()
            : base("IAS", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 555.55d, 720d);
            _needleCalibration.Add(new CalibrationPointDouble(83.33d, 108d));
            _needleCalibration.Add(new CalibrationPointDouble(166.67d, 216d));
            _needleCalibration.Add(new CalibrationPointDouble(250d, 324d));
            _needleCalibration.Add(new CalibrationPointDouble(333.34d, 432d));
            _needleCalibration.Add(new CalibrationPointDouble(416.67d, 540d));

            _backCalibration = new CalibrationPointCollectionDouble(0d, 0d, 555.55d, 90d);
            _backCalibration.Add(new CalibrationPointDouble(277, 90d));
            _backCalibration.Add(new CalibrationPointDouble(270, 0d));
            _currentBack = new GaugeNeedle("{Helios}/Gauges/Mig-21/IAS/ias_back.xaml", center, new Size(340, 340), center, -90);
            Components.Add(_currentBack);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/IAS/ias_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/Common/generic_needle.xaml", center, new Size(32, 185), new Point(16, 127));
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentIas = new HeliosValue(this, BindingValue.Empty, "", "IAS", "Current IAS", "", BindingValueUnits.Numeric);
            _currentIas.Execute += CurrentIas_Execute;
            _currentIas.Execute += CurrentBack_Execute;
            Actions.Add(_currentIas);

        }
コード例 #24
0
        public VVI1()
            : base("Flight Instruments", new Size(364, 376))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/VVI/vvi_faceplate.xaml", new Rect(32d, 38d, 300d, 300d)));

            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/Common/needle_a.xaml", new Point(182d, 188d), new Size(22, 165), new Point(11, 130), -90d);
            Components.Add(_needle);

            //Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/gauge_bezel.png", new Rect(0d, 0d, 364d, 376d)));
            //Components.Add(new GaugeImage("{AV-8B}/Images/WQHD/Panel/crystal_reflection_round.png", new Rect(32d, 38d, 300d, 300d)));
            GaugeImage _gauge = new GaugeImage("{AV-8B}/Images/WQHD/Panel/crystal_reflection_round.png", new Rect(32d, 38d, 300d, 300d));

            _gauge.Opacity = 0.4;
            Components.Add(_gauge);

            _verticalVelocity          = new HeliosValue(this, new BindingValue(0d), "Flight Instruments", "vertical velocity", "Veritcal velocity of the aircraft", "(-6,000 to 6,000)", BindingValueUnits.FeetPerMinute);
            _verticalVelocity.Execute += new HeliosActionHandler(VerticalVelocity_Execute);
            Actions.Add(_verticalVelocity);

            _calibrationPoints = new CalibrationPointCollectionDouble(-6000d, -169d, 6000d, 169d);
            _calibrationPoints.Add(new CalibrationPointDouble(-2000d, -81d));
            _calibrationPoints.Add(new CalibrationPointDouble(-1000d, -45d));
            _calibrationPoints.Add(new CalibrationPointDouble(0d, 0d));
            _calibrationPoints.Add(new CalibrationPointDouble(1000d, 45d));
            _calibrationPoints.Add(new CalibrationPointDouble(2000d, 81d));
        }
コード例 #25
0
        public RadioAltimeter()
            : base("RadioAltimeter", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0.0d, 0d, 1000d, 231d);
            _needleCalibration.Add(new CalibrationPointDouble(10d, 22.5d));
            _needleCalibration.Add(new CalibrationPointDouble(20d, 34.6d));
            _needleCalibration.Add(new CalibrationPointDouble(30d, 55.6d));
            _needleCalibration.Add(new CalibrationPointDouble(40d, 73.8d));
            _needleCalibration.Add(new CalibrationPointDouble(50d, 94.2d));
            _needleCalibration.Add(new CalibrationPointDouble(60d, 103.2d));
            _needleCalibration.Add(new CalibrationPointDouble(70d, 114.2d));
            _needleCalibration.Add(new CalibrationPointDouble(80d, 119.6d));
            _needleCalibration.Add(new CalibrationPointDouble(90d, 127d));
            _needleCalibration.Add(new CalibrationPointDouble(100d, 130.5d));
            _needleCalibration.Add(new CalibrationPointDouble(150d, 151.2d));
            _needleCalibration.Add(new CalibrationPointDouble(200d, 160.6d));
            _needleCalibration.Add(new CalibrationPointDouble(250d, 181.9d));
            _needleCalibration.Add(new CalibrationPointDouble(300d, 192.6d));
            _needleCalibration.Add(new CalibrationPointDouble(400d, 210.9d));
            _needleCalibration.Add(new CalibrationPointDouble(500d, 220.6d));
            _needleCalibration.Add(new CalibrationPointDouble(600d, 231d));

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/RadioAltimeter/radalt_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/RadioAltimeter/radalt_needle.xaml", center, new Size(69d, 178d), new Point(34.5d, 126.5d), -120d);
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentRadAlt          = new HeliosValue(this, BindingValue.Empty, "", "Current RadAlt", "Current RadAlt", "", BindingValueUnits.Numeric);
            _currentRadAlt.Execute += CurrentRadAlt_Execute;
            Actions.Add(_currentRadAlt);
        }
コード例 #26
0
ファイル: Tachometer.cs プロジェクト: Heliflyer/helios
        public Tachometer()
            : base("Tachometer", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 110d, 346.5d);

            Components.Add(new GaugeImage("{Helios}/Gauges/KA-50/Tachometer/tachometer_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _needle2 = new GaugeNeedle("{Helios}/Gauges/KA-50/Tachometer/tachometer_needle_2.xaml", center, new Size(25, 152), new Point(12.5, 139.5), 45d);
            Components.Add(_needle2);

            _needle1 = new GaugeNeedle("{Helios}/Gauges/KA-50/Tachometer/tachometer_needle_1.xaml", center, new Size(25, 152), new Point(12.5, 139.5), 45d);
            Components.Add(_needle1);

            Components.Add(new GaugeImage("{Helios}/Gauges/KA-50/Tachometer/tachometer_bezel.xaml", new Rect(0, 0, 340, 340)));

            _rightRpm = new HeliosValue(this, BindingValue.Empty, "", "Right Engine RPM", "Current RPM of the rotor blades", "", BindingValueUnits.RPMPercent);
            _rightRpm.Execute += RightRPM_Execute;
            Actions.Add(_rightRpm);

            _leftRpm = new HeliosValue(this, BindingValue.Empty, "", "Left Engine RPM", "Current RPM of the rotor blades", "", BindingValueUnits.RPMPercent);
            _leftRpm.Execute += LeftRPM_Execute;
            Actions.Add(_leftRpm);


        }
コード例 #27
0
ファイル: RotarySwitch.cs プロジェクト: BlueFinBima/Helios14
        public RotarySwitch()
            : base("Rotary Switch", new Size(100, 100))
        {
            _swipeCalibration = new CalibrationPointCollectionDouble(-1d, 2d, 1d, 0.5d);
            _swipeCalibration.Add(new CalibrationPointDouble(0.0d, 1d));

            _labelFormat.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(LabelFormat_PropertyChanged);

            _positionValue          = new HeliosValue(this, new BindingValue(1), "", "position", "Current position of the switch.", "", BindingValueUnits.Numeric);
            _positionValue.Execute += new HeliosActionHandler(SetPositionAction_Execute);
            Values.Add(_positionValue);
            Actions.Add(_positionValue);
            Triggers.Add(_positionValue);

            _positionNameValue = new HeliosValue(this, new BindingValue("0"), "", "position name", "Name of the current position of the switch.", "", BindingValueUnits.Text);
            Values.Add(_positionNameValue);
            Triggers.Add(_positionNameValue);

            _positions.CollectionChanged += new NotifyCollectionChangedEventHandler(Positions_CollectionChanged);
            _positions.PositionChanged   += new EventHandler <RotarySwitchPositionChangeArgs>(PositionChanged);
            _positions.Add(new RotarySwitchPosition(this, 1, "0", 0d));
            _positions.Add(new RotarySwitchPosition(this, 2, "1", 90d));
            _currentPosition = 1;
            _defaultPosition = 1;
        }
コード例 #28
0
        public HydroPressure()
            : base("HydroPressure", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration1 = new CalibrationPointCollectionDouble(0d, 0d, 300d, 131d);

            _needleCalibration2 = new CalibrationPointCollectionDouble(0d, 0d, 300d, -131);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/HydroPressure/hydropressure_faceplate.xaml", new Rect(15, 15, 310, 310)));

            Point mainneedle   = new Point(266, 266);
            Point secondneedle = new Point(71, 73);

            _oneNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/HydroPressure/hydropressure_needle.xaml", mainneedle, new Size(20, 130), new Point(10, 120), 248);
            Components.Add(_oneNeedle);

            _twoNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/HydroPressure/hydropressure_needle.xaml", secondneedle, new Size(20, 130), new Point(10, 120), 201);
            Components.Add(_twoNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/HydroPressure/hydropressure_needle_cover.xaml", new Rect(235, 235, 70, 70)));
            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/HydroPressure/hydropressure_needle_cover_second.xaml", new Rect(35, 35, 70, 70)));

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _oneE          = new HeliosValue(this, BindingValue.Empty, "", "Pressure Main", "Pressure Main", "", BindingValueUnits.Numeric);
            _oneE.Execute += OneEng_Execute;
            Actions.Add(_oneE);

            _twoE          = new HeliosValue(this, BindingValue.Empty, "", "Pressure Secondary", "Pressure Secondary", "", BindingValueUnits.Numeric);
            _twoE.Execute += TwoEng_Execute;
            Actions.Add(_twoE);
        }
コード例 #29
0
        public Accelerometer()
            : base("Accelerometer", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(-2d, -100d, 4d, 200d);

            Components.Add(new GaugeImage("{Helios}/Gauges/KA-50/Accelerometer/accelerometer_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _lowNeedle = new GaugeNeedle("{Helios}/Gauges/KA-50/Accelerometer/accelerometer_limit_needle.xaml", center, new Size(32, 189), new Point(16, 131));
            Components.Add(_lowNeedle);

            _highNeedle = new GaugeNeedle("{Helios}/Gauges/KA-50/Accelerometer/accelerometer_limit_needle.xaml", center, new Size(32, 189), new Point(16, 131));
            Components.Add(_highNeedle);

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/KA-50/Accelerometer/accelerometer_needle.xaml", center, new Size(32, 185), new Point(16, 127));
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/KA-50/Accelerometer/accelerometer_bezel.xaml", new Rect(0, 0, 340, 340)));

            _lowG          = new HeliosValue(this, BindingValue.Empty, "", "Low G", "Lowest G attained", "", BindingValueUnits.Numeric);
            _lowG.Execute += LowG_Execute;
            Actions.Add(_lowG);

            _highG          = new HeliosValue(this, BindingValue.Empty, "", "High G", "Highest G attained", "", BindingValueUnits.Numeric);
            _highG.Execute += HighG_Execute;
            Actions.Add(_highG);

            _currentG          = new HeliosValue(this, BindingValue.Empty, "", "Current G", "Current G", "", BindingValueUnits.Numeric);
            _currentG.Execute += CurrentG_Execute;
            Actions.Add(_currentG);
        }
コード例 #30
0
        public VVI()
            : base("VVI", new Size(182, 188))
        {
            //Components.Add(new GaugeImage("{Helios}/Gauges/AV-8B/VVI/vvi_faceplate.xaml", new Rect(32d, 38d, 300d, 300d)));
            _needle = new GaugeNeedle("{Helios}/Gauges/AV-8B/Common/needle_a.xaml", new Point(91d, 94d), new Size(11, 82), new Point(5, 65), -90d);
            Components.Add(_needle);

            //Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/gauge_bezel.png", new Rect(0d, 0d, 364d, 376d)));

            _verticalVelocity          = new HeliosValue(this, new BindingValue(0d), "", "vertical velocity", "Veritcal velocity of the aircraft", "(-6,000 to 6,000)", BindingValueUnits.FeetPerMinute);
            _verticalVelocity.Execute += new HeliosActionHandler(VerticalVelocity_Execute);
            Actions.Add(_verticalVelocity);

            _calibrationPoints = new CalibrationPointCollectionDouble(-6000d, -167d, 6000d, 167d);
            _calibrationPoints.Add(new CalibrationPointDouble(-5000d, -153d));
            _calibrationPoints.Add(new CalibrationPointDouble(-4000d, -135d));
            _calibrationPoints.Add(new CalibrationPointDouble(-2000d, -90d));
            _calibrationPoints.Add(new CalibrationPointDouble(-1000d, -57d));
            _calibrationPoints.Add(new CalibrationPointDouble(-500d, -35d));
            _calibrationPoints.Add(new CalibrationPointDouble(0d, 0d));
            _calibrationPoints.Add(new CalibrationPointDouble(500d, 35d));
            _calibrationPoints.Add(new CalibrationPointDouble(1000d, 57d));
            _calibrationPoints.Add(new CalibrationPointDouble(2000d, 90d));
            _calibrationPoints.Add(new CalibrationPointDouble(4000d, 135d));
            _calibrationPoints.Add(new CalibrationPointDouble(5000d, 153d));
        }
コード例 #31
0
ファイル: BatteryCapacity.cs プロジェクト: oskargargas/helios
        public BatteryCapacity()
            : base("BatteryCapacity", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 100d, 300d);
            _needleCalibration.Add(new CalibrationPointDouble(10d, 36d));
            _needleCalibration.Add(new CalibrationPointDouble(20d, 66d));
            _needleCalibration.Add(new CalibrationPointDouble(30d, 96d));
            _needleCalibration.Add(new CalibrationPointDouble(40d, 126d));
            _needleCalibration.Add(new CalibrationPointDouble(50d, 156d));
            _needleCalibration.Add(new CalibrationPointDouble(60d, 186d));
            _needleCalibration.Add(new CalibrationPointDouble(70d, 216d));
            _needleCalibration.Add(new CalibrationPointDouble(80d, 246d));
            _needleCalibration.Add(new CalibrationPointDouble(90d, 276d));

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/BatteryCapacity/battery_capacity_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/Common/generic_small_gray_needle.xaml", center, new Size(32, 185), new Point(16, 127), 210d);
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentBatteryCapacity = new HeliosValue(this, BindingValue.Empty, "", "Current Battery Capacity", "Current Battery Capacity", "", BindingValueUnits.Numeric);
            _currentBatteryCapacity.Execute += CurrentBatteryCapacity_Execute;
            Actions.Add(_currentBatteryCapacity);
        }
コード例 #32
0
ファイル: TAS.cs プロジェクト: oskargargas/helios
        public TAS()
            : base("TAS", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleTasCalibration = new CalibrationPointCollectionDouble(167d, 0d, 833d, 335d);
            _needleTasCalibration.Add(new CalibrationPointDouble(278d, 46d));  
            _needleTasCalibration.Add(new CalibrationPointDouble(417d, 127d)); 
            _needleTasCalibration.Add(new CalibrationPointDouble(555d, 207d));

            _needleMCalibration = new CalibrationPointCollectionDouble(0.0d, 0d, 3.0d, 335d);
            _needleMCalibration.Add(new CalibrationPointDouble(0.6d, 0d));
            _needleMCalibration.Add(new CalibrationPointDouble(1d, 56d));
            _needleMCalibration.Add(new CalibrationPointDouble(1.8d, 167d));
            _needleTasCalibration.Add(new CalibrationPointDouble(2.0d, 223d));

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/TAS/tas_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentTasNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/TAS/tas_needle.xaml", center, new Size(24, 135), new Point(12, 127), 11d);
            Components.Add(_currentTasNeedle);

            _currentMNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/TAS/m_needle.xaml", center, new Size(32, 185), new Point(16, 127), 11d);
            Components.Add(_currentMNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentTAS = new HeliosValue(this, BindingValue.Empty, "", "TAS", "Current TAS", "", BindingValueUnits.Numeric);
            _currentTAS.Execute += CurrentTas_Execute;
            Actions.Add(_currentTAS);

            _currentM = new HeliosValue(this, BindingValue.Empty, "", "M", "Current M", "", BindingValueUnits.Numeric);
            _currentM.Execute += CurrentM_Execute;
            Actions.Add(_currentM);
        }
コード例 #33
0
        public O2Level()
            : base("O2Level", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0, 0d, 150d, 158d);
            _needleCalibration.Add(new CalibrationPointDouble(10d, 4d));
            _needleCalibration.Add(new CalibrationPointDouble(50d, 47.8d));
            _needleCalibration.Add(new CalibrationPointDouble(100d, 103d));

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/O2Level/o2_level_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/Common/small_needle.xaml", center, new Size(23, 164), new Point(11.5, 127), 277.5d);
            Components.Add(_currentNeedle);

            _lLungImage = new GaugeImage("{Helios}/Gauges/MiG-21/O2Level/o2_level_blinker_l.xaml", new Rect(136, 194, 25, 63.9));
            Components.Add(_lLungImage);

            _rLungImage = new GaugeImage("{Helios}/Gauges/MiG-21/O2Level/o2_level_blinker_r.xaml", new Rect(180, 194, 25, 63.9));
            Components.Add(_rLungImage);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentO2Level          = new HeliosValue(this, BindingValue.Empty, "", "O2 Level", "Current O2 Level", "", BindingValueUnits.Numeric);
            _currentO2Level.Execute += CurrentO2Level_Execute;
            Actions.Add(_currentO2Level);

            _lLungFlag          = new HeliosValue(this, new BindingValue(false), "", "Lung Blinkers", "White when working", "True if displayed.", BindingValueUnits.Boolean);
            _lLungFlag.Execute += LFlags_Execute;
            Actions.Add(_lLungFlag);
        }
コード例 #34
0
ファイル: HydroPressure.cs プロジェクト: oskargargas/helios
        public HydroPressure()
            : base("HydroPressure", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration1 = new CalibrationPointCollectionDouble(0d, 0d, 300d, 131d);

            _needleCalibration2 = new CalibrationPointCollectionDouble(0d, 0d, 300d, -131);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/HydroPressure/hydropressure_faceplate.xaml", new Rect(15, 15, 310, 310)));

            Point mainneedle = new Point(266, 266);
            Point secondneedle = new Point(71, 73);

            _oneNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/HydroPressure/hydropressure_needle.xaml", mainneedle, new Size(20, 130), new Point(10, 120), 248);
            Components.Add(_oneNeedle);

            _twoNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/HydroPressure/hydropressure_needle.xaml", secondneedle, new Size(20, 130), new Point(10, 120), 201);
            Components.Add(_twoNeedle);
 
            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/HydroPressure/hydropressure_needle_cover.xaml", new Rect(235, 235, 70, 70)));
            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/HydroPressure/hydropressure_needle_cover_second.xaml", new Rect(35, 35, 70, 70)));

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _oneE = new HeliosValue(this, BindingValue.Empty, "", "Pressure Main", "Pressure Main", "", BindingValueUnits.Numeric);
            _oneE.Execute += OneEng_Execute;
            Actions.Add(_oneE);

            _twoE = new HeliosValue(this, BindingValue.Empty, "", "Pressure Secondary", "Pressure Secondary", "", BindingValueUnits.Numeric);
            _twoE.Execute += TwoEng_Execute;
            Actions.Add(_twoE);
        }
コード例 #35
0
        public EngExhaustTempGauge()
            : base("EngExhaustTempGauge", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(300d, 0d, 900d, 231d);
            _needleCalibration.Add(new CalibrationPointDouble(400d, 29d));
            _needleCalibration.Add(new CalibrationPointDouble(500d, 59));
            _needleCalibration.Add(new CalibrationPointDouble(600d, 88d));
            _needleCalibration.Add(new CalibrationPointDouble(650d, 118d));
            _needleCalibration.Add(new CalibrationPointDouble(700d, 148d));
            _needleCalibration.Add(new CalibrationPointDouble(750d, 177d));
            _needleCalibration.Add(new CalibrationPointDouble(800d, 206d));
            _needleCalibration.Add(new CalibrationPointDouble(850d, 218d));

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/EngExhaustTemp/EngExhaustTemp_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/MiG-21/EngExhaustTemp/EngExhaustTemp_needle.xaml", center, new Size(69d, 178d), new Point(34.5d, 126.5d), 242d);
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/MiG-21/EngExhaustTemp/EngExhaustTemp_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentTemp          = new HeliosValue(this, BindingValue.Empty, "", "Engine Exhaust", "Current Temp", "", BindingValueUnits.Numeric);
            _currentTemp.Execute += CurrentFuel_Execute;
            Actions.Add(_currentTemp);
        }
コード例 #36
0
ファイル: SlipTurn.cs プロジェクト: CaptZeen/helios
        public SlipTurn()
            : base("SlipTurn", new Size(225, 114))
        {
            Point center = new Point(112d, 57d);

            Components.Add(new GaugeImage("{Helios}/Gauges/AV-8B/ADI/adi_slip_bezel.png", new Rect(0d, 0d, 225d, 114d)));

            _slipBallCalibration = new CalibrationPointCollectionDouble(-1d, -50d, 1d, 50d);
            _slipBallNeedle      = new GaugeNeedle("{Helios}/Gauges/AV-8B/ADI/adi_slip_ball.xaml", new Point(112d, 75d), new Size(24d, 24d), new Point(12d, 12d));
            _TurnMarker          = new GaugeNeedle("{Helios}/Gauges/AV-8B/ADI/adi_turn_marker.xaml", new Point(112d, 38d), new Size(14d, 18d), new Point(7d, 9d));
            Components.Add(_slipBallNeedle);
            Components.Add(_TurnMarker);

            _warningFlagNeedle = new GaugeNeedle("{Helios}/Gauges/AV-8B/AOA/aoa_off_flag.xaml", new Point(80d, 20d), new Size(28d, 36d), new Point(0d, 0d), 0d);
            Components.Add(_warningFlagNeedle);


            Components.Add(new GaugeImage("{Helios}/Gauges/AV-8B/ADI/adi_slip_guides.xaml", new Rect(0d, 0d, 225d, 114d)));

            _slipBall          = new HeliosValue(this, new BindingValue(0d), "", "Slip Ball Offset", "Side slip indicator offset from the center of the tube.", "(-1 to 1) -1 full left and 1 is full right.", BindingValueUnits.Numeric);
            _slipBall.Execute += new HeliosActionHandler(SlipBall_Execute);
            Actions.Add(_slipBall);

            _turnIndicator          = new HeliosValue(this, new BindingValue(0d), "", "Turn Indicator Offset", "Turn indicator offset from the center of the gauge.", "(-1 to 1) -1 full left and 1 is full right.", BindingValueUnits.Numeric);
            _turnIndicator.Execute += new HeliosActionHandler(turnIndicator_Execute);
            Actions.Add(_turnIndicator);

            _warningFlag          = new HeliosValue(this, new BindingValue(false), "", "Slip Turn Warning Flag", "Indicates whether the warning flag is displayed.", "True if displayed.", BindingValueUnits.Boolean);
            _warningFlag.Execute += new HeliosActionHandler(OffFlag_Execute);
            Actions.Add(_warningFlag);
        }
コード例 #37
0
        // Base construcor is passed default name and native size
        public AOA()
            : base("Angle of Attack", new Size(300, 300))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/AV-8B/Common/300_Gauge.xaml", new Rect(0d, 0d, 300d, 300d)));

            // Components contains all artifacts that are used to draw the gauge, they are drawn in the order they are added to the collection.
            _warningFlagNeedle = new GaugeNeedle("{Helios}/Gauges/AV-8B/AOA/aoa_off_flag.xaml", new Point(20d, 248d), new Size(70d, 90d), new Point(0d, 178d), 0d);
            Components.Add(_warningFlagNeedle);
            // Add faceplate image to drawing components
            // Source image file (xaml will be vector rendered to appropriate size)
            Components.Add(new GaugeImage("{Helios}/Gauges/AV-8B/AOA/aoa_faceplate.xaml", new Rect(0d, 0d, 300d, 300d)));
            // Rectangle inside gauge where image will be drawn (scaled automatically to fit rectangle)
            //new Rect(32d, 38d, 300d, 300d)));

            // Create needle calibration scale which will be used to represent 0 degrees rotation for 0 input and 270 degrees rotation when input is 30.
            _needleCalibration = new CalibrationPointCollectionDouble(-5d, -36d, 20d, 146d);
            _needleCalibration.Add(new CalibrationPointDouble(0d, 0d));

            // Add needle to drawing components
            // Source image file (xaml will be vector rendered to appropriate size)
            _needle = new GaugeNeedle("{Helios}/Gauges/AV-8B/Common/needle_a.xaml",
                                      // Location on gauge which the needle will be rotated
                                      new Point(150d, 150d),
                                      // Size of needle image (will scale image to this size automatically)
                                      new Size(30d, 128d),
                                      // Center point of needle image to rotate around
                                      new Point(15d, 113d),
                                      // Initial rotation for this needle
                                      173d);
            Components.Add(_needle);
            _warningFlag          = new HeliosValue(this, new BindingValue(false), "", "Warning Flag", "Indicates whether the warning flag is displayed.", "True if displayed.", BindingValueUnits.Boolean);
            _warningFlag.Execute += new HeliosActionHandler(OffFlag_Execute);
            Actions.Add(_warningFlag);
            //Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/gauge_bezel.png", new Rect(0d, 0d, 364d, 376d)));

            // Create Angle of Attack value holder
            // Owning Object
            _aoa = new HeliosValue(this,
                                   // Default Value
                                   new BindingValue(0d),
                                   // Device Hint
                                   "",
                                   // Name
                                   "angle of attack",
                                   // Description
                                   "Current angle of attack of the aircraft.",
                                   // Value Description
                                   "(-5 to 20)",
                                   // Value Unit of Measure
                                   BindingValueUnits.Degrees);
            // Hook event callback for when the Angle of Attack value is updated
            _aoa.Execute += new HeliosActionHandler(AOA_Execute);

            // Add angle of attack value into possible action list for bindings
            Actions.Add(_aoa);
        }
コード例 #38
0
        public edpNoz()
            : base("EDP Nozzle", new Size(12, 48))
        {
            //Components.Add(new GaugeImage("{Helios}/Gauges/AV-8B/Engine Panel/edp_faceplate.xaml", new Rect(0d, 0d, 528d, 302d)));
            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 0.94d, 130d);
            _needle            = new GaugeNeedle("{Helios}/Gauges/AV-8B/Engine Panel/nozzle_needle.xaml", new Point(0d, 0d), new Size(12d, 48d), new Point(6d, 42d), 90d);
            Components.Add(_needle);

            _angle          = new HeliosValue(this, new BindingValue(0d), "", "value", "Current position of Nozzles.", "(0 - 120)", BindingValueUnits.Degrees);
            _angle.Execute += new HeliosActionHandler(Angle_Execute);
            Actions.Add(_angle);
        }
コード例 #39
0
        public edpNoz()
            : base("EDP Nozzle", new Size(80, 80))
        {
            //Components.Add(new GaugeImage("{Helios}/Gauges/AV-8B/EDP Nozzle/edp_noz_faceplate.xaml", new Rect(30d, 30d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 0.94d, 150d);
            _needle            = new GaugeNeedle("{Helios}/Gauges/AV-8B/Common/nozzle_needle.xaml", new Point(40d, 40d), new Size(15d, 36d), new Point(7.6d, 28.1d), 90d);
            Components.Add(_needle);

            _angle          = new HeliosValue(this, new BindingValue(0d), "", "angle", "Current position of Nozzles.", "(0 - 120)", BindingValueUnits.Degrees);
            _angle.Execute += new HeliosActionHandler(Angle_Execute);
            Actions.Add(_angle);
        }
コード例 #40
0
ファイル: HARSSync.cs プロジェクト: Heliflyer/helios
        public HARSSync()
            : base("HARS Sync", new Size(300d, 150d))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/HARS/hars_faceplate.xaml", new Rect(0d, 0d, 300d, 150d)));

            _needleCalibration = new CalibrationPointCollectionDouble(-1d, -80d, 1d, 80d);
            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/HARS/hars_needle.xaml", new Point(150d, 150d), new Size(25d, 125d), new Point(12.5d, 112.5d), 0d);
            _needle.Clip = new RectangleGeometry(new Rect(0d, 0d, 300d, 146d));
            Components.Add(_needle);

            _syncOffset = new HeliosValue(this, new BindingValue(0d), "", "sync offset", "Location of sync needle", "(-1 to 1)", BindingValueUnits.Numeric);
            _syncOffset.Execute += new HeliosActionHandler(Sync_Execute);
            Actions.Add(_syncOffset);
        }
コード例 #41
0
        public VVI() : base("VVI", new Size(364, 376))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/FA-18C/VVI/VVI_Faceplate.png", new Rect(32d, 38d, 300d, 300d)));
            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/Common/needle_a.xaml", new Point(182d, 188d), new Size(22, 165), new Point(11, 130), -90d);
            Components.Add(_needle);

            //Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/gauge_bezel.png", new Rect(0d, 0d, 364d, 376d)));
            _verticalVelocity          = new HeliosValue(this, new BindingValue(0d), "", "vertical velocity", "Veritcal velocity of the aircraft", "(-6,000 to 6,000)", BindingValueUnits.FeetPerMinute);
            _verticalVelocity.Execute += new HeliosActionHandler(VerticalVelocity_Execute);
            Actions.Add(_verticalVelocity);

            _calibrationPoints = new CalibrationPointCollectionDouble(-6000d, -169d, 6000d, 169d);
            _calibrationPoints.Add(new CalibrationPointDouble(0d, 0d));
        }
コード例 #42
0
ファイル: PhidgetsServo.cs プロジェクト: BlueFinBima/Helios14
        public PhidgetsServo(PhidgetsServoBoard servoBoard, int servoNumber)
        {
            _servoNum   = servoNumber;
            _servoBoard = servoBoard;

            _targetPosition          = new HeliosValue(servoBoard, new BindingValue(0d), "Servo " + _servoNum.ToString(), "target position", "Sets the raw target position of this stepper.", "", BindingValueUnits.Numeric);
            _targetPosition.Execute += TargetPosition_Execute;

            _value          = new HeliosValue(servoBoard, new BindingValue(0d), "Servo " + _servoNum.ToString(), "input value", "Sets the input value to be displayed on this stepper.", "Input value will be interpolated with the calibration data and set the target position for the stepper as appropriate.", BindingValueUnits.Numeric);
            _value.Execute += Value_Execute;

            _calibration = new CalibrationPointCollectionDouble(-6000d, 0d, 6000d, 180d);
            _calibration.CalibrationChanged += new EventHandler(_calibration_CalibrationChanged);
        }
コード例 #43
0
        public HARSSync()
            : base("HARS Sync", new Size(300d, 150d))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/HARS/hars_faceplate.xaml", new Rect(0d, 0d, 300d, 150d)));

            _needleCalibration = new CalibrationPointCollectionDouble(-1d, -80d, 1d, 80d);
            _needle            = new GaugeNeedle("{Helios}/Gauges/A-10/HARS/hars_needle.xaml", new Point(150d, 150d), new Size(25d, 125d), new Point(12.5d, 112.5d), 0d);
            _needle.Clip       = new RectangleGeometry(new Rect(0d, 0d, 300d, 146d));
            Components.Add(_needle);

            _syncOffset          = new HeliosValue(this, new BindingValue(0d), "", "sync offset", "Location of sync needle", "(-1 to 1)", BindingValueUnits.Numeric);
            _syncOffset.Execute += new HeliosActionHandler(Sync_Execute);
            Actions.Add(_syncOffset);
        }
コード例 #44
0
ファイル: AOA.cs プロジェクト: Heliflyer/helios
        // Base construcor is passed default name and native size
        public AOA()
            : base("Angle of Attack", new Size(364, 376))
        {
            // Components contains all artifacts that are used to draw the gauge, they are drawn in the order they are added to the collection.

            // Add faceplate image to drawing components
            // Source image file (xaml will be vector rendered to appropriate size)
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/AOA/aoa_faceplate.xaml",
                // Rectangle inside gauge where image will be drawn (scaled automatically to fit rectangle)
                                          new Rect(32d, 38d, 300d, 300d)));

            // Create needle calibration scale which will be used to represent 0 degrees rotation for 0 input and 270 degrees rotation when input is 30.
            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 30d, 270d);

            // Add needle to drawing components
            // Source image file (xaml will be vector rendered to appropriate size)
            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/Common/needle_a.xaml",
                // Location on gauge which the needle will be rotated
                                      new Point(182d, 188d),
                // Size of needle image (will scale image to this size automatically)
                                      new Size(22d, 165d),
                // Center point of needle image to rotate around
                                      new Point(11d, 130d),
                // Initial rotation for this needle
                                      -90d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/gauge_bezel.png", new Rect(0d, 0d, 364d, 376d)));

            // Create Angle of Attack value holder
            // Owning Object
            _aoa = new HeliosValue(this,
                // Default Value
                                   new BindingValue(0d),
                // Device Hint
                                   "",
                // Name
                                   "angle of attack",
                // Description
                                   "Current angle of attack of the aircraft.",
                // Value Description
                                   "(0 - 30)",
                // Value Unit of Measure
                                   BindingValueUnits.Degrees);
            // Hook event callback for when the Angle of Attack value is updated
            _aoa.Execute += new HeliosActionHandler(AOA_Execute);

            // Add angle of attack value into possible action list for bindings
            Actions.Add(_aoa);
        }
コード例 #45
0
ファイル: HARSSync_1.cs プロジェクト: appsou/Helios
        public HARSSync()
            : base("HARS Sync", new Size(137d, 79d))
        {
            Components.Add(new GaugeImage("{A-10C}/Images/A-10C/A-10C_HARS_Scale_Panel.png", new Rect(0d, 0d, 137d, 79d)));

            _needleCalibration = new CalibrationPointCollectionDouble(-1d, -80d, 1d, 80d);
            _needle            = new GaugeNeedle("{Helios}/Gauges/A-10/HARS/hars_needle.xaml", new Point(69d, 120d), new Size(20d, 75d), new Point(10d, 100d), 0d);
            _needle.Clip       = new RectangleGeometry(new Rect(0d, 0d, 137d, 79d));
            Components.Add(_needle);

            _syncOffset          = new HeliosValue(this, new BindingValue(0d), "", "sync offset", "Location of sync needle", "(-1 to 1)", BindingValueUnits.Numeric);
            _syncOffset.Execute += new HeliosActionHandler(Sync_Execute);
            Actions.Add(_syncOffset);
        }
コード例 #46
0
        // Base construcor is passed default name and native size
        public AOA()
            : base("Angle of Attack", new Size(364, 376))
        {
            // Components contains all artifacts that are used to draw the gauge, they are drawn in the order they are added to the collection.

            // Add faceplate image to drawing components
            // Source image file (xaml will be vector rendered to appropriate size)
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/AOA/aoa_faceplate.xaml",
                                          // Rectangle inside gauge where image will be drawn (scaled automatically to fit rectangle)
                                          new Rect(32d, 38d, 300d, 300d)));

            // Create needle calibration scale which will be used to represent 0 degrees rotation for 0 input and 270 degrees rotation when input is 30.
            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 30d, 270d);

            // Add needle to drawing components
            // Source image file (xaml will be vector rendered to appropriate size)
            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/Common/needle_a.xaml",
                                      // Location on gauge which the needle will be rotated
                                      new Point(182d, 188d),
                                      // Size of needle image (will scale image to this size automatically)
                                      new Size(22d, 165d),
                                      // Center point of needle image to rotate around
                                      new Point(11d, 130d),
                                      // Initial rotation for this needle
                                      -90d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/gauge_bezel.png", new Rect(0d, 0d, 364d, 376d)));

            // Create Angle of Attack value holder
            // Owning Object
            _aoa = new HeliosValue(this,
                                   // Default Value
                                   new BindingValue(0d),
                                   // Device Hint
                                   "",
                                   // Name
                                   "angle of attack",
                                   // Description
                                   "Current angle of attack of the aircraft.",
                                   // Value Description
                                   "(0 - 30)",
                                   // Value Unit of Measure
                                   BindingValueUnits.Degrees);
            // Hook event callback for when the Angle of Attack value is updated
            _aoa.Execute += new HeliosActionHandler(AOA_Execute);

            // Add angle of attack value into possible action list for bindings
            Actions.Add(_aoa);
        }
コード例 #47
0
ファイル: PhidgetsServo.cs プロジェクト: Heliflyer/helios
        public PhidgetsServo(PhidgetsServoBoard servoBoard, int servoNumber)
        {
            _servoNum = servoNumber;
            _servoBoard = servoBoard;

            _targetPosition = new HeliosValue(servoBoard, new BindingValue(0d), "Servo " + _servoNum.ToString(), "target position", "Sets the raw target position of this stepper.", "", BindingValueUnits.Numeric);
            _targetPosition.Execute += TargetPosition_Execute;

            _value = new HeliosValue(servoBoard, new BindingValue(0d), "Servo " + _servoNum.ToString(), "input value", "Sets the input value to be displayed on this stepper.", "Input value will be interpolated with the calibration data and set the target position for the stepper as appropriate.", BindingValueUnits.Numeric);
            _value.Execute += Value_Execute;

            _calibration = new CalibrationPointCollectionDouble(-6000d, 0d, 6000d, 180d);
            _calibration.CalibrationChanged += new EventHandler(_calibration_CalibrationChanged);
        }
コード例 #48
0
ファイル: DA200.cs プロジェクト: oskargargas/helios
        public DA200()
            : base("DA200", new Size(340, 340))
        {
            Point center = new Point(170, 170);
            Point bottomCenter = new Point(170, 240);
            Point veryBottomCenter = new Point(170, 310);

            _vvineedleCalibration = new CalibrationPointCollectionDouble(-400d, -135d, 400d, 135d);
            _vvineedleCalibration.Add(new CalibrationPointDouble(-200d, -121d));
            _vvineedleCalibration.Add(new CalibrationPointDouble(-100d, -102d));
            _vvineedleCalibration.Add(new CalibrationPointDouble(-50d, -80d));
            _vvineedleCalibration.Add(new CalibrationPointDouble(-20d, -70d));
            _vvineedleCalibration.Add(new CalibrationPointDouble(-10d, -35d));
            _vvineedleCalibration.Add(new CalibrationPointDouble(0d, 0d));
            _vvineedleCalibration.Add(new CalibrationPointDouble(10d, 35d));
            _vvineedleCalibration.Add(new CalibrationPointDouble(20d, 70d));
            _vvineedleCalibration.Add(new CalibrationPointDouble(50d, 80d));
            _vvineedleCalibration.Add(new CalibrationPointDouble(100d, 102d));
            _vvineedleCalibration.Add(new CalibrationPointDouble(200d, 121d));

            _vviNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/DA200/da200vvi_needle.xaml", center, new Size(32, 185), new Point(16, 127), 270);

            _slipBallCalibration = new CalibrationPointCollectionDouble(-1d, 57d, 1d, -57d);
            _slipBallCalibration.Add(new CalibrationPointDouble(0d, 0d));
            _slipBallNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/DA200/da200_slip_ball.xaml", bottomCenter, new Size(23, 23), new Point(11.5, 11.5));

            _turnneedleCalibration = new CalibrationPointCollectionDouble(-0.04433d, -26d, 0.04433d, 26d);
            _turnNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/DA200/da200bank_needle.xaml", veryBottomCenter, new Size(34, 218), new Point(17, 208));

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/DA200/da200_faceplate.xaml", new Rect(0, 0, 340, 340)));
            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/DA200/da200slip_faceplate.xaml", new Rect(99, 222, 140, 36)));
            Components.Add(_slipBallNeedle);
            Components.Add(_turnNeedle);
            Components.Add(_vviNeedle);
            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _vviE = new HeliosValue(this, BindingValue.Empty, "", "VVI", "Velocity", "", BindingValueUnits.Numeric);
            _vviE.Execute += vvi_Execute;
            Actions.Add(_vviE);

            _slipBallE = new HeliosValue(this, BindingValue.Empty, "", "Slip", "Slip Ball", "", BindingValueUnits.Numeric);
            _slipBallE.Execute += SlipBall_Execute;
            Actions.Add(_slipBallE);

            _turnE = new HeliosValue(this, BindingValue.Empty, "", "Turn", "Turn", "", BindingValueUnits.Numeric);
            _turnE.Execute += turn_Execute;
            Actions.Add(_turnE);

        }
コード例 #49
0
        public RAltimeter()
            : base("RADAR Altimeter", new Size(420, 420))
        {
            //  The first three images are the default images which appear behind the indicators.
            Components.Add(new GaugeImage("{FA-18C}/Images/indicator_off.png", new Rect(108d, 177d, 50d, 50d)));
            Components.Add(new GaugeImage("{FA-18C}/Images/indicator_off.png", new Rect(260d, 177d, 50d, 50d)));
            Components.Add(new GaugeImage("{FA-18C}/Images/Radar Altimeter Blank.png", new Rect(179d, 288d, 56d, 22d)));

            _giRed = new GaugeImage("{FA-18C}/Images/indicator_red.png", new Rect(108d, 177d, 50d, 50d));
            Components.Add(_giRed);
            _redIndicator          = new HeliosValue(this, new BindingValue(0d), "", "RADAR Altimeter Red", "Red Indicator.", "", BindingValueUnits.Boolean);
            _redIndicator.Execute += new HeliosActionHandler(RedIndicator_Execute);
            Values.Add(_redIndicator);
            Actions.Add(_redIndicator);

            _giGreen = new GaugeImage("{FA-18C}/Images/indicator_green.png", new Rect(260d, 177d, 50d, 50d));
            Components.Add(_giGreen);
            _greenIndicator          = new HeliosValue(this, new BindingValue(0d), "", "RADAR Altimeter Green", "Green Indicator.", "", BindingValueUnits.Boolean);
            _greenIndicator.Execute += new HeliosActionHandler(GreenIndicator_Execute);
            Values.Add(_greenIndicator);
            Actions.Add(_greenIndicator);

            _giOff = new GaugeImage("{FA-18C}/Images/Radar Altimeter Off Flag.png", new Rect(179d, 287d, 56d, 24d));
            Components.Add(_giOff);
            _offIndicator          = new HeliosValue(this, new BindingValue(0d), "", "RADAR Altimeter Off", "Off Indicator.", "", BindingValueUnits.Boolean);
            _offIndicator.Execute += new HeliosActionHandler(OffIndicator_Execute);
            Values.Add(_offIndicator);
            Actions.Add(_offIndicator);

            Components.Add(new GaugeImage("{Helios}/Gauges/FA-18C/Altimeter/RADAR_Altimeter_Faceplate.png", new Rect(0d, 0d, 420d, 420d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0.048d, 0d, 1d, 330d);
            _needleCalibration.Add(new CalibrationPointDouble(0.000d, -12d));
            _needle = new GaugeNeedle("{Helios}/Gauges/FA-18C/Altimeter/altimeter_needle.xaml", new Point(210d, 210d), new Size(16d, 250d), new Point(8d, 200d), 0d);
            Components.Add(_needle);
            _minimum_needle = new GaugeNeedle("{Helios}/Gauges/FA-18C/Altimeter/RADAR_Altimeter_Min_Needle.xaml", new Point(210d, 210d), new Size(46d, 205d), new Point(23d, 205d), 0d);
            Components.Add(_minimum_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/FA-18C/Altimeter/RADAR_Altimeter_Cover.png", new Rect(94d, 11d, 89d, 88d)));  // this is the needle cover

            //Components.Add(new GaugeImage("{Helios}/Gauges/FA-18C/Common/engine_bezel.png", new Rect(0d, 0d, 400d, 400d)));

            _altitude          = new HeliosValue(this, new BindingValue(0d), "", "RADAR altitude", "Current RADAR altitude of the aircraft.", "", BindingValueUnits.Feet);
            _altitude.Execute += new HeliosActionHandler(Altitude_Execute);
            Actions.Add(_altitude);
            _min_altitude          = new HeliosValue(this, new BindingValue(0d), "", "RADAR Altimeter Minimum", "Minimum Altitude setting for the aricraft in feet.", "", BindingValueUnits.Feet);
            _min_altitude.Execute += new HeliosActionHandler(Min_Altitude_Execute);
            Actions.Add(_min_altitude);
        }
コード例 #50
0
        public Hydraulic()
            : base("Hydraulic Pressure", new Size(360, 360))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Hydraulic/hydraulic_faceplate.xaml", new Rect(30d, 30d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 4000d, 296d);
            _needle            = new GaugeNeedle("{Helios}/Gauges/A-10/Hydraulic/hydraulic_needle.xaml", new Point(180d, 180d), new Size(58d, 164d), new Point(29d, 135d), 103.5d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/engine_bezel.png", new Rect(0d, 0d, 360d, 360d)));

            _pressure          = new HeliosValue(this, new BindingValue(0d), "", "pressure", "Current pressure for the hydraulic system.", "", BindingValueUnits.PoundsPerSquareInch);
            _pressure.Execute += new HeliosActionHandler(Pressure_Execute);
            Actions.Add(_pressure);
        }
コード例 #51
0
ファイル: OilPressure.cs プロジェクト: Heliflyer/helios
        public OilPressure()
            : base("Oil Pressure", new Size(360, 360))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/OilPressure/eng_oil_pressure_faceplate.xaml", new Rect(30d, 30d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 100d, 270d);
            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/Common/eng_needle.xaml", new Point(180d, 180d), new Size(69d, 161d), new Point(34.5d, 126.5d), 135d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/engine_bezel.png", new Rect(0d, 0d, 360d, 360d)));

            _pressure = new HeliosValue(this, new BindingValue(0d), "", "oil pressure", "Current oil pressure of the aircraft enigne fan.", "(0 - 100)", BindingValueUnits.PoundsPerSquareInch);
            _pressure.Execute += new HeliosActionHandler(Pressure_Execute);
            Actions.Add(_pressure);
        }
コード例 #52
0
ファイル: LiquidOxygen.cs プロジェクト: Heliflyer/helios
        public LiquidOxygen()
            : base("Liquid Oxygen", new Size(360, 360))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/LiquidOxygen/liquid_oxygen_faceplate.xaml", new Rect(30d, 30d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 5d, 180d);
            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/LiquidOxygen/liquid_oxygen_needle.xaml", new Point(180d, 180d), new Size(175d, 74d), new Point(138d, 37d), 0d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/engine_bezel.png", new Rect(0d, 0d, 360d, 360d)));

            _liquidOxygen = new HeliosValue(this, new BindingValue(0d), "", "liquid oxygen", "Remaining liquid oxygen.", "(1-5)", BindingValueUnits.Liters);
            _liquidOxygen.Execute += new HeliosActionHandler(LiquidOxygen_Execute);
            Actions.Add(_liquidOxygen);
        }
コード例 #53
0
ファイル: FuelFlow.cs プロジェクト: Heliflyer/helios
        public FuelFlow()
            : base("Fuel Flow", new Size(360, 360))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/FuelFlow/eng_fuel_flow_faceplate.xaml", new Rect(30d, 30d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 5000d, 300d);
            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/Common/eng_needle.xaml", new Point(180d, 180d), new Size(69d, 161d), new Point(34.5d, 126.5d), 150d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/engine_bezel.png", new Rect(0d, 0d, 360d, 360d)));

            _fuelFlow = new HeliosValue(this, new BindingValue(0d), "", "fuel flow", "Current fuel consumption of the aircraft enigne fan.", "", BindingValueUnits.PoundsPerHour);
            _fuelFlow.Execute += new HeliosActionHandler(FuelFlow_Execute);
            Actions.Add(_fuelFlow);
        }
コード例 #54
0
ファイル: ApuEGT.cs プロジェクト: Heliflyer/helios
        public ApuEGT()
            : base("APU EGT", new Size(360, 360))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/ApuEGT/apu_egt_faceplate.xaml", new Rect(30d, 30d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 1000d, 250d);
            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/Common/eng_needle.xaml", new Point(180d, 180d), new Size(69d, 161d), new Point(34.5d, 126.5d), 90d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/engine_bezel.png", new Rect(0d, 0d, 360d, 360d)));

            _temperature = new HeliosValue(this, new BindingValue(0d), "", "temperature", "Current temperature of the aircraft APU.", "(0 - 1000)", BindingValueUnits.Celsius);
            _temperature.Execute += new HeliosActionHandler(Temperature_Execute);
            Actions.Add(_temperature);
        }
コード例 #55
0
ファイル: ApuRPM.cs プロジェクト: Heliflyer/helios
        public ApuRPM()
            : base("APU RPM", new Size(360, 360))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/ApuRPM/apu_rpm_faceplate.xaml", new Rect(30d, 30d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 120d, 225d);
            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/Common/eng_needle.xaml", new Point(180d, 180d), new Size(69d, 161d), new Point(34.5d, 126.5d), 90d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/engine_bezel.png", new Rect(0d, 0d, 360d, 360d)));

            _rpm = new HeliosValue(this, new BindingValue(0d), "", "rpm", "Current RPM of the APU as a percentage of maxium.", "(0-120)", BindingValueUnits.RPMPercent);
            _rpm.Execute += new HeliosActionHandler(RPM_Execute);
            Actions.Add(_rpm);
        }
コード例 #56
0
ファイル: Hydraulic.cs プロジェクト: Heliflyer/helios
        public Hydraulic()
            : base("Hydraulic Pressure", new Size(360, 360))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Hydraulic/hydraulic_faceplate.xaml", new Rect(30d, 30d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 4000d, 296d);
            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/Hydraulic/hydraulic_needle.xaml", new Point(180d, 180d), new Size(58d, 164d), new Point(29d, 135d), 103.5d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/engine_bezel.png", new Rect(0d, 0d, 360d, 360d)));

            _pressure = new HeliosValue(this, new BindingValue(0d), "", "pressure", "Current pressure for the hydraulic system.", "", BindingValueUnits.PoundsPerSquareInch);
            _pressure.Execute += new HeliosActionHandler(Pressure_Execute);
            Actions.Add(_pressure);
        }
コード例 #57
0
ファイル: OxygenPressure.cs プロジェクト: Heliflyer/helios
        public OxygenPressure()
            : base("Oxygen Supply Pressure", new Size(360, 360))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/OxygenPressure/oxygen_pressure_faceplate.xaml", new Rect(30d, 30d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 500d, 180d);
            _needleCalibration.Add(new CalibrationPointDouble(100d, 90d));
            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/OxygenPressure/oxygen_pressure_needle.xaml", new Point(180d, 180d), new Size(175d, 74d), new Point(138d, 37d), 0d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/engine_bezel.png", new Rect(0d, 0d, 360d, 360d)));

            _liquidOxygen = new HeliosValue(this, new BindingValue(0d), "", "oxygen supply pressure", "Current pressure in the oxygen system.", "(0-500)", BindingValueUnits.PoundsPerSquareInch);
            _liquidOxygen.Execute += new HeliosActionHandler(LiquidOxygen_Execute);
            Actions.Add(_liquidOxygen);
        }
コード例 #58
0
ファイル: FanRPM.cs プロジェクト: Heliflyer/helios
        public FanRPM()
            : base("Fan RPM", new Size(360, 360))
        {
            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/FanRPM/eng_fan_rpm_faceplate.xaml", new Rect(30d, 30d, 300d, 300d)));

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 100d, 330d);
            _needleCalibration.Add(new CalibrationPointDouble(75d, 150d));
            _needle = new GaugeNeedle("{Helios}/Gauges/A-10/Common/eng_needle.xaml", new Point(180d, 180d), new Size(69d, 161d), new Point(34.5d, 126.5d), 30d);
            Components.Add(_needle);

            Components.Add(new GaugeImage("{Helios}/Gauges/A-10/Common/engine_bezel.png", new Rect(0d, 0d, 360d, 360d)));

            _rpm = new HeliosValue(this, new BindingValue(0d), "", "rpm", "Current RPM of the aircraft enigne fan.", "(0 - 100)", BindingValueUnits.RPMPercent);
            _rpm.Execute += new HeliosActionHandler(RPM_Execute);
            Actions.Add(_rpm);
        }
コード例 #59
0
ファイル: RollTrim.cs プロジェクト: Heliflyer/helios
        public RollTrim()
            : base("Trim", new Size(100, 200))
        {
            _needleCalibration = new CalibrationPointCollectionDouble(-0.5d, -90d, 0.5d, 90d);
            _needleCalibration.Add(new CalibrationPointDouble(60d, 108d));

            Components.Add(new GaugeImage("{Helios}/Gauges/F-16/Trim/rolltrim_faceplate.xaml", new Rect(0d, 0d, 100d, 200d)));

            _needle = new GaugeNeedle("{Helios}/Gauges/F-16/Trim/rolltrim_needle.xaml", new Point(93d, 100d), new Size(90d, 14d), new Point(83d, 7d));
            //_needle.Clip = new RectangleGeometry(new Rect(0d, 0d, 100d, 200d));
            Components.Add(_needle);

            _trim = new HeliosValue(this, new BindingValue(0d), "", "roll trim", "Current amount of roll trim currently set.", "(-0.5 to 0.5)", BindingValueUnits.Numeric);
            _trim.SetValue(new BindingValue(29.92), true);
            _trim.Execute += new HeliosActionHandler(Trim_Execute);
            Actions.Add(_trim);
        }
コード例 #60
0
ファイル: Voltmeter.cs プロジェクト: oskargargas/helios
        public Voltmeter()
            : base("Voltmeter", new Size(340, 340))
        {
            Point center = new Point(170, 170);

            _needleCalibration = new CalibrationPointCollectionDouble(0d, 0d, 30d, 267d);
            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/Voltmeter/voltmeter_faceplate.xaml", new Rect(0, 0, 340, 340)));

            _currentNeedle = new GaugeNeedle("{Helios}/Gauges/Mig-21/Common/generic_gray_needle.xaml", center, new Size(69d, 178d), new Point(34.5d, 126.5d), 224.5d);
            Components.Add(_currentNeedle);

            Components.Add(new GaugeImage("{Helios}/Gauges/Mig-21/Common/generic_bezel.xaml", new Rect(0, 0, 340, 340)));

            _currentVolts = new HeliosValue(this, BindingValue.Empty, "", "Volts", "Current volts", "", BindingValueUnits.Numeric);
            _currentVolts.Execute += CurrentFuel_Execute;
            Actions.Add(_currentVolts);
        }