Exemple #1
0
        public override byte[] GetForBmpi(DynamicModelToBmpi modelToBmpi)
        {
            modelToBmpi.lat_sns    = 0;
            modelToBmpi.lon_sns    = 0;
            modelToBmpi.H_sns      = out_Hotn;
            modelToBmpi.Day        = (ushort)DateTime.Now.Day;
            modelToBmpi.Month      = (ushort)DateTime.Now.Month;
            modelToBmpi.Year       = (ushort)DateTime.Now.Year;
            modelToBmpi.Minute     = (ushort)DateTime.Now.Minute;
            modelToBmpi.Hour       = (ushort)DateTime.Now.Hour;
            modelToBmpi.Second     = (ushort)DateTime.Now.Second;
            modelToBmpi.FPU_sns    = 0;
            modelToBmpi.Vputev_sns = 0;            //??
            modelToBmpi.Vy_sns     = out_Vy;
            modelToBmpi.Vxg        = (float)(out_Wxg / 1.852);
            modelToBmpi.Vzg        = (float)(out_Wzg / 1.852);

            modelToBmpi.lat_ins    = 0;
            modelToBmpi.lon_ins    = 0;
            modelToBmpi.Vputev_ins = 0;           //??
            modelToBmpi.PU         = out_Kurs;    //??
            modelToBmpi.PsiIst     = out_Kurs;
            modelToBmpi.Uwind      = (float)(in_WindPwrHorz * 3.6);
            modelToBmpi.AlfaWind   = in_WindDir;
            modelToBmpi.FPUmagn    = 0;      //??
            modelToBmpi.PSImagn    = 0;      //??
            modelToBmpi.Snos       = 0;      //??
            modelToBmpi.Teta       = out_Tang;
            modelToBmpi.Gamma      = out_Kren;
            modelToBmpi.OmegaZ     = out_omegaz;
            modelToBmpi.OmegaX     = out_omegax;
            modelToBmpi.OmegaY     = out_omegay;
            modelToBmpi.JX         = 0;     //??
            modelToBmpi.JZ         = 0;     //??
            modelToBmpi.JY         = 0;     //??
            modelToBmpi.JYg        = 0;     //??

            modelToBmpi.Hotn_QFE = in_Hbar; //??
            modelToBmpi.Hotn_QNH = in_Hbar; //??
            modelToBmpi.Vpr      = out_Vprib;
            modelToBmpi.Hbar_abs = in_Hbar;
            modelToBmpi.Vist     = out_Vx;
            modelToBmpi.Tvozd    = 0;

            modelToBmpi.Hrv = in_Hbar;

            modelToBmpi.lat_vpp        = 0;
            modelToBmpi.lon_vpp        = 0;
            modelToBmpi.Hzad           = 0;
            modelToBmpi.TOffset_Minute = 0;
            modelToBmpi.TOffset_Hour   = 0;
            modelToBmpi.TOffset_Second = 0;
            return(ConvertHelper.ObjectToByte(modelToBmpi));
        }
Exemple #2
0
        public override byte[] GetForBmpi(DynamicModelToBmpi modelToBmpi)
        {
            modelToBmpi.lat_sns    = KinematicsState.Pos.Latitude;
            modelToBmpi.lon_sns    = KinematicsState.Pos.Longitude;
            modelToBmpi.H_sns      = KinematicsState.Pos.Elevation;
            modelToBmpi.Day        = (ushort)DateTime.Now.Day;
            modelToBmpi.Month      = (ushort)DateTime.Now.Month;
            modelToBmpi.Year       = (ushort)DateTime.Now.Year;
            modelToBmpi.Minute     = (ushort)DateTime.Now.Minute;
            modelToBmpi.Hour       = (ushort)DateTime.Now.Hour;
            modelToBmpi.Second     = (ushort)DateTime.Now.Second;
            modelToBmpi.FPU_sns    = 0;
            modelToBmpi.Vputev_sns = 0;            //??
            modelToBmpi.Vy_sns     = (float)VhclOutp.InstrumentsState.VyVar;
            modelToBmpi.Vxg        = (float)(VhclOutp.InstrumentsState.VsurfX * 1.944);
            modelToBmpi.Vzg        = (float)(VhclOutp.InstrumentsState.VsurfZ * 1.944);

            modelToBmpi.lat_ins    = KinematicsState.Pos.Latitude;
            modelToBmpi.lon_ins    = KinematicsState.Pos.Longitude;
            modelToBmpi.Vputev_ins = 0;                               //??
            modelToBmpi.PU         = (float)KinematicsState.Angs.Psi; //??
            modelToBmpi.PsiIst     = (float)KinematicsState.Angs.Psi;
            modelToBmpi.Uwind      = (float)(VhclInp.AirState.WindSpeed.X * 3.6);
            modelToBmpi.AlfaWind   = 0;
            modelToBmpi.FPUmagn    = 0;      //??
            modelToBmpi.PSImagn    = 0;      //??
            modelToBmpi.Snos       = 0;      //??
            modelToBmpi.Teta       = (float)KinematicsState.Angs.Fi;
            modelToBmpi.Gamma      = (float)KinematicsState.Angs.Gam;
            modelToBmpi.OmegaZ     = (float)KinematicsState.Rotation.Z;
            modelToBmpi.OmegaX     = (float)KinematicsState.Rotation.X;
            modelToBmpi.OmegaY     = (float)KinematicsState.Rotation.Y;
            modelToBmpi.JX         = (float)KinematicsState.Accel.X;
            modelToBmpi.JZ         = (float)KinematicsState.Accel.Z;
            modelToBmpi.JY         = (float)KinematicsState.Accel.Y;
            modelToBmpi.JYg        = 0;                                  //??

            modelToBmpi.Hotn_QFE = (float)KinematicsState.Pos.Elevation; //??
            modelToBmpi.Hotn_QNH = (float)KinematicsState.Pos.Elevation; //??
            modelToBmpi.Vpr      = (float)VhclOutp.InstrumentsState.IAS;
            modelToBmpi.Hbar_abs = (float)KinematicsState.Pos.Elevation;
            modelToBmpi.Vist     = (float)VhclOutp.InstrumentsState.TAS;
            modelToBmpi.Tvozd    = (float)VhclOutp.InstrumentsState.AirPars.TAT;

            modelToBmpi.Hrv = (float)KinematicsState.Pos.Elevation;;

            modelToBmpi.lat_vpp        = 0;
            modelToBmpi.lon_vpp        = 0;
            modelToBmpi.Hzad           = 0;
            modelToBmpi.TOffset_Minute = 0;
            modelToBmpi.TOffset_Hour   = 0;
            modelToBmpi.TOffset_Second = 0;
            return(ConvertHelper.ObjectToByte(modelToBmpi));
        }
Exemple #3
0
        private void InitObject()
        {
            _config               = Config.Instance();
            _udpHelper            = new UdpHelper();
            _deviceControlElement = DeviceControlElement.GetInstance();
            _deviceControlElement.AddJoystick(_config.Default.DefaultControlElement.Rus.Guid);
            _deviceControlElement.AddJoystick(_config.Default.DefaultControlElement.Rud.Guid);
            _dynamicModelToBmpi     = new DynamicModelToBmpi();
            _aircraftPosition       = new AircraftPosition();
            _dynamicModelToVaps     = new DynamicModelToVaps();
            _modelState             = new ModelState();
            _channelRadar           = new ChannelRadar();
            _channelThermalEffect   = new ChannelThermalEffect();
            _channelTvHeadEffect    = new ChannelTvHeadEffect();
            _ethernetControlElement = new EthernetControlElement();
            _cLSEControl            = new CLSEControl();
            _cLSEState           = new CLSEState();
            _parametersOfControl = new ParametersOfControl();
            _lptp       = new Lptp();
            _commandPue = new CommandPue();

            if (_typeModel == 0)
            {
                _controlElement = new ControlElementKa52();
                _dynamicModel   = new ModelKa52();
            }
            _startPosition = new StartPosition();
            _landing       = new Landing();
            _route         = new Route();

            uint   version       = 0;
            uint   release       = 0;
            uint   releaseDay    = 0;
            uint   releaseMonth  = 0;
            uint   releaseYear   = 0;
            IntPtr pversion      = GetIntPtr(version);
            IntPtr prelease      = GetIntPtr(release);
            IntPtr preleaseDay   = GetIntPtr(releaseDay);
            IntPtr preleaseMonth = GetIntPtr(releaseMonth);
            IntPtr preleaseYear  = GetIntPtr(releaseYear);

            GetDllVersion(pversion, prelease, preleaseDay, preleaseMonth, preleaseYear);
            version      = (uint)Marshal.ReadInt32(pversion);
            release      = (uint)Marshal.ReadInt32(prelease);
            releaseDay   = (uint)Marshal.ReadInt32(preleaseDay);
            releaseMonth = (uint)Marshal.ReadInt32(preleaseMonth);
            releaseYear  = (uint)Marshal.ReadInt32(preleaseYear);
            Init("ConfigBrunner.xml");
        }
 public virtual byte[] GetForBmpi(DynamicModelToBmpi modelToBmpi)
 {
     return(new byte[1]);
 }