private AnalogSignal CreateAltitudeCoarseSinOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Outputs",
                CollectionName     = "Analog Outputs",
                FriendlyName       = "Altitude - Coarse",
                Id                 = "101081_Altitude_Coarse_To_Instrument",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = -10.00, //volts
                IsVoltage          = true,
                MinValue           = -10,
                MaxValue           = 10
            };

            return(thisSignal);
        }
        private AnalogSignal CreatePitchInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Inputs",
                CollectionName     = "Analog Inputs",
                FriendlyName       = "Pitch (Degrees, -90.0=nadir, 0.0=level, +90.0=zenith)",
                Id                 = "HenkF16ADISupportBoard_Pitch_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0.0,   //degees
                IsAngle            = true,
                MinValue           = -90.0, //degrees
                MaxValue           = 90.0   //degrees
            };

            return(thisSignal);
        }
        public static StepperMotor CreateStepperMotorControlWithBoundaryPositionSensing
        (
            AnalogSignal goToPositionSignal,
            int numStepsInTravelRange,
            DigitalSignal minPositionReachedSignal,
            DigitalSignal maxPositionReachedSignal,
            AnalogSignal outputLine
        )
        {
            var stepper = new StepperMotor
            {
                GoToPositionSignal       = goToPositionSignal,
                NumStepsInRangeOfTravel  = numStepsInTravelRange,
                MinPositionReachedSignal = minPositionReachedSignal,
                MaxPositionReachedSignal = maxPositionReachedSignal,
                PhysicalOutput           = outputLine
            };

            return(stepper);
        }
        private AnalogSignal CreateNozzlePositionInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Inputs",
                CollectionName     = "Analog Inputs",
                FriendlyName       = "Nozzle Position (0-100%)",
                Id                 = "101088_Nozzle_Position_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0,
                IsPercentage       = true,
                MinValue           = 0,
                MaxValue           = 100
            };

            return(thisSignal);
        }
        private AnalogSignal CreateRollInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Inputs",
                CollectionName     = "Analog Inputs",
                FriendlyName       = "Roll (Degrees)",
                Id                 = "12871_Roll_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0,
                IsAngle            = true,
                MinValue           = -180,
                MaxValue           = 180
            };

            return(thisSignal);
        }
        private AnalogSignal CreateFuelFlowPoundsPerHourOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Outputs",
                CollectionName     = "Analog Outputs",
                FriendlyName       = "Fuel Flow (pounds per hour)",
                Id                 = "3239_Fuel_Flow_Pounds_Per_Hour_To_Instrument",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = -10.00, //volts
                IsVoltage          = true,
                MinValue           = 0,
                MaxValue           = 99999
            };

            return(thisSignal);
        }
        private AnalogSignal CreateRateOfTurnOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Outputs",
                CollectionName     = "Analog Outputs",
                FriendlyName       = "Rate of Turn Indicator",
                Id                 = "12871_Rate_Of_Turn_To_Instrument",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0.00, //volts
                IsVoltage          = true,
                MinValue           = -10,
                MaxValue           = 10
            };

            return(thisSignal);
        }
        private AnalogSignal CreateRateOfTurnInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Inputs",
                CollectionName     = "Analog Inputs",
                FriendlyName       = "Rate of Turn Indicator (% Deflection)",
                Id                 = "12871_Rate_Of_Turn_Indicator_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0,
                IsPercentage       = true,
                MinValue           = -1,
                MaxValue           = 1
            };

            return(thisSignal);
        }
Example #9
0
        private AnalogSignal CreateRPMInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Inputs",
                CollectionName     = "Analog Inputs",
                FriendlyName       = "RPM",
                Id                 = "100207_RPM_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                IsPercentage       = true,
                State              = 0,
                MinValue           = 0,
                MaxValue           = 110
            };

            return(thisSignal);
        }
Example #10
0
        private AnalogSignal CreateInclinometerInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Inputs",
                CollectionName     = "Analog Inputs",
                FriendlyName       = "Inclinometer Position (% Deflection)",
                Id                 = "12871_Inclinometer_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0,
                IsPercentage       = true,
                MinValue           = -1,
                MaxValue           = 1
            };

            return(thisSignal);
        }
Example #11
0
        private AnalogSignal CreateHorizontalCommandBarOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Outputs",
                CollectionName     = "Analog Outputs",
                FriendlyName       = "Horizontal Command Bar",
                Id                 = "12871_Horizontal_Command_Bar_To_Instrument",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 6.00, //volts
                IsVoltage          = true,
                MinValue           = -10,
                MaxValue           = 10
            };

            return(thisSignal);
        }
Example #12
0
        private AnalogSignal CreatePitchInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Inputs",
                CollectionName     = "Analog Inputs",
                FriendlyName       = "Pitch (Degrees)",
                Id                 = "10033501_Pitch_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0,
                IsAngle            = true,
                MinValue           = -90,
                MaxValue           = 90
            };

            return(thisSignal);
        }
Example #13
0
        private AnalogSignal CreateHorizontalCommandBarInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Inputs",
                CollectionName     = "Analog Inputs",
                FriendlyName       = "Horizontal Command Bar (% Deflection)",
                Id                 = "12871_Horizontal_Command_Bar_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0,
                IsPercentage       = true,
                MinValue           = -1,
                MaxValue           = 1
            };

            return(thisSignal);
        }
        private AnalogSignal CreateHydraulicPressureAInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Inputs",
                CollectionName     = "Analog Inputs",
                FriendlyName       = "Hydraulic Pressure A",
                Id                 = "19581_Hydraulic_Pressure_A_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0,
                IsSine             = true,
                MinValue           = 0,
                MaxValue           = 4000
            };

            return(thisSignal);
        }
        private AnalogSignal CreateForeRightOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Outputs",
                CollectionName     = "Analog Outputs",
                FriendlyName       = "F/R",
                Id                 = "100294_FR_To_Instrument",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = -10.00, //volts
                IsVoltage          = true,
                MinValue           = -10,
                MaxValue           = 10
            };

            return(thisSignal);
        }
        private AnalogSignal CreateCounterOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Outputs",
                CollectionName     = "Analog Outputs",
                FriendlyName       = nameof(Counter),
                Id                 = "9001584_Counter_To_Instrument",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = -10.00, //volts
                IsVoltage          = true,
                MinValue           = -10,
                MaxValue           = 10
            };

            return(thisSignal);
        }
        private AnalogSignal CreateVerticalVelocityOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Outputs",
                CollectionName     = "Analog Outputs",
                FriendlyName       = "Vertical Velocity",
                Id                 = "10058102_Vertical_Velocity_To_Instrument",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = -10.00, //volts
                IsVoltage          = true,
                MinValue           = -10,
                MaxValue           = 10
            };

            return(thisSignal);
        }
        private AnalogSignal CreateCompassInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Inputs",
                CollectionName     = "Analog Inputs",
                FriendlyName       = "Magnetic Heading (Degrees)",
                Id                 = "101079_Compass__Magnetic_Heading_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0,
                IsAngle            = true,
                MinValue           = 0,
                MaxValue           = 360
            };

            return(thisSignal);
        }
        private AnalogSignal CreateVerticalCommandBarInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category       = "Inputs",
                CollectionName = "Analog Inputs",
                FriendlyName   =
                    "Vertical Command Bar (Degrees, -1.0=100% deflected left; 0.0=centered, +1.0=100% deflected right )",
                Id                 = "HenkF16ADISupportBoard_Vertical_Command_Bar_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0.0f, //centered
                MinValue           = -1.0, //percent deflected left
                MaxValue           = 1.0   //percent deflected right
            };

            return(thisSignal);
        }
        private AnalogSignal CreateRateOfTurnInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category       = "Inputs",
                CollectionName = "Analog Inputs",
                FriendlyName   =
                    "Rate of Turn Indicator (% Deflection, -1.0=100% deflected left; 0.0=centered, +1.0=100% deflected right)",
                Id                 = "HenkF16ADISupportBoard_Rate_Of_Turn_Indicator_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0,
                IsPercentage       = true,
                MinValue           = -1.0, //-100% (left deflected)
                MaxValue           = 1.0   //+100% (right deflected)
            };

            return(thisSignal);
        }
        private AnalogSignal CreateHydPressureBSINOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Outputs",
                CollectionName     = "Analog Outputs",
                FriendlyName       = "Hydraulic Pressure B (SIN)",
                Id                 = "19581_Hydraulic_Pressure_B_SIN_To_Instrument",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0.00, //volts
                IsVoltage          = true,
                IsSine             = true,
                MinValue           = -10,
                MaxValue           = 10
            };

            return(thisSignal);
        }
        private AnalogSignal CreateRollInputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category       = "Inputs",
                CollectionName = "Analog Inputs",
                FriendlyName   =
                    "Roll (Degrees, -180.0=inverted left bank, -90.0=left bank, 0.0=wings level, +90.0=right bank, +180.0=inverted right bank)",
                Id                 = "HenkF16ADISupportBoard_Roll_From_Sim",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0.0,    //degrees
                IsAngle            = true,
                MinValue           = -180.0, //degrees
                MaxValue           = 180.0   //degrees
            };

            return(thisSignal);
        }
        private AnalogSignal CreateRateOfTurnOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category       = "Outputs",
                CollectionName = "Analog Outputs",
                FriendlyName   =
                    "Rate of Turn Indicator (Percent Deflection, 0.0=100% deflected left, 0.5=centered, 1.0=100% deflected right)",
                Id                 = "HenkF16ADISupportBoard_Rate_Of_Turn_To_SDI",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                IsPercentage       = true,
                State              = 0.50, //50%
                MinValue           = 0.0,  //0%
                MaxValue           = 1.0   //100%
            };

            return(thisSignal);
        }
Example #24
0
        private AnalogSignal CreateRollSinOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Outputs",
                CollectionName     = "Analog Outputs",
                FriendlyName       = "Roll (SIN)",
                Id                 = "101084_Roll_SIN_To_Instrument",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 0.00, //volts;
                IsVoltage          = true,
                IsSine             = true,
                MinValue           = -10,
                MaxValue           = 10
            };

            return(thisSignal);
        }
        private AnalogSignal CreateVerticalCommandBarOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category       = "Outputs",
                CollectionName = "Analog Outputs",
                FriendlyName   =
                    "Vertical Glideslope Indicator Position (Percent Deflection, 0.0=100% deflected righ, 0.5=centered, 1.0=100% deflected left)",
                Id                 = "HenkF16ADISupportBoard_Vertical_GS_Bar_To_SDI",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                IsPercentage       = true,
                State              = 0.5, //50%
                MinValue           = 0.0, //0%
                MaxValue           = 1.0  //100%
            };

            return(thisSignal);
        }
Example #26
0
        private AnalogSignal CreatePitchCosOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Outputs",
                CollectionName     = "Analog Outputs",
                FriendlyName       = "Pitch (COS)",
                Id                 = "101084_Pitch_COS_To_Instrument",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = +10.00, //volts
                IsVoltage          = true,
                IsCosine           = true,
                MinValue           = -10,
                MaxValue           = 10
            };

            return(thisSignal);
        }
Example #27
0
        private AnalogSignal CreateCabinPressureAltitudeCosOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Outputs",
                CollectionName     = "Analog Outputs",
                FriendlyName       = "Cabin Pressure Altitude (COS)",
                Id                 = "246102_Cabin_Pressure_Altitude_COS_To_Instrument",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = +10.00, //volts
                IsVoltage          = true,
                IsSine             = true,
                MinValue           = -10,
                MaxValue           = 10
            };

            return(thisSignal);
        }
Example #28
0
        private AnalogSignal CreateCompassCOSOutputSignal()
        {
            var thisSignal = new AnalogSignal
            {
                Category           = "Outputs",
                CollectionName     = "Analog Outputs",
                FriendlyName       = "Compass (COS)",
                Id                 = "HS070D51341_Compass__COS_To_Instrument",
                Index              = 0,
                Source             = this,
                SourceFriendlyName = FriendlyName,
                SourceAddress      = null,
                State              = 10.00, //volts
                IsVoltage          = true,
                IsCosine           = true,
                MinValue           = -10,
                MaxValue           = 10
            };

            return(thisSignal);
        }
Example #29
0
        private void AddPerformanceMonitoringSignals()
        {
            _loopDurationSignal =
                new AnalogSignal
            {
                Category           = "Metrics",
                CollectionName     = "Performance",
                FriendlyName       = "Loop Duration (ms)",
                Id                 = "SIMLINKUP__PERFORMANCE__LOOP_DURATION",
                Index              = 0,
                PublisherObject    = this,
                Source             = this,
                SourceFriendlyName = nameof(SimLinkup),
                IsAngle            = false,
                IsPercentage       = false,
                MinValue           = 0,
                MaxValue           = 1000
            };
            ScriptingContext[_loopDurationSignal.Id] = _loopDurationSignal;


            _loopFrequencySignal =
                new AnalogSignal
            {
                Category           = "Metrics",
                CollectionName     = "Performance",
                FriendlyName       = "Loop Frequency (Hz)",
                Id                 = "SIMLINKUP__PERFORMANCE__LOOP_FREQUENCY",
                Index              = 0,
                PublisherObject    = this,
                Source             = this,
                SourceFriendlyName = nameof(SimLinkup),
                IsAngle            = false,
                IsPercentage       = false,
                MinValue           = 0,
                MaxValue           = 1000
            };
            ScriptingContext[_loopFrequencySignal.Id] = _loopFrequencySignal;
        }
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            Form1 form = new Form1();

            IAnalogSignal signal = new AnalogSignal()
            {
                Name  = "Signal",
                Value = "35"
            };

            IAnalogSignalService service = new AnalogSignalService();

            AnalogSignalView view = new AnalogSignalView();

            AnalogSignalPresenter presenter = new AnalogSignalPresenter(signal, view, service);


            form.AddAnalogSignalView(view);
            Application.Run(form);
        }