コード例 #1
0
ファイル: AstroData.cs プロジェクト: pprasit/Project
        private static void SubFrameChecking(DEVICENAME DeviceName, StationHandler ExistingStation)
        {
            try
            {
                int STARTX      = Convert.ToInt32(ExistingStation.GetInformation(DeviceName, IMAGING.IMAGING_STARTX).Value);
                int STARTY      = Convert.ToInt32(ExistingStation.GetInformation(DeviceName, IMAGING.IMAGING_STARTX).Value);
                int CAMERAXSIZE = Convert.ToInt32(ExistingStation.GetInformation(DeviceName, IMAGING.IMAGING_CCD_CAMERAXSIZE).Value);
                int CAMERAYSIZE = Convert.ToInt32(ExistingStation.GetInformation(DeviceName, IMAGING.IMAGING_CCD_CAMERAYSIZE).Value);
                int NUMX        = Convert.ToInt32(ExistingStation.GetInformation(DeviceName, IMAGING.IMAGING_STARTX).Value);
                int NUMY        = Convert.ToInt32(ExistingStation.GetInformation(DeviceName, IMAGING.IMAGING_STARTX).Value);
                int BINX        = Convert.ToInt32(ExistingStation.GetInformation(DeviceName, IMAGING.IMAGING_CCD_BINX).Value);
                int BINY        = Convert.ToInt32(ExistingStation.GetInformation(DeviceName, IMAGING.IMAGING_CCD_BINY).Value);

                if (STARTX > 0 && STARTY > 0 && NUMX < CAMERAXSIZE && NUMY < CAMERAYSIZE && BINX > 1 && BINY > 1)
                {
                    ExistingStation.NewIMAGINGInformation(DeviceName, IMAGING.IMAGING_CCD_ISSUBFRAMEON, true, DateTime.UtcNow);
                }
                else
                {
                    ExistingStation.NewIMAGINGInformation(DeviceName, IMAGING.IMAGING_CCD_ISSUBFRAMEON, false, DateTime.UtcNow);
                }
            }
            catch
            {
                ExistingStation.NewIMAGINGInformation(DeviceName, IMAGING.IMAGING_CCD_ISSUBFRAMEON, false, DateTime.UtcNow);
            }
        }
コード例 #2
0
ファイル: AstroData.cs プロジェクト: pprasit/Project
        public static void NewIMAGINGInformation(STATIONNAME StationName, DEVICENAME DeviceName, dynamic FieldName, Object Value, DateTime DataTimestamp)
        {
            StationHandler ExistingStation = KeeperData.FirstOrDefault(Item => Item.StationName == StationName);

            if (ExistingStation != null)
            {
                ExistingStation.NewIMAGINGInformation(DeviceName, FieldName, Value, DataTimestamp);

                switch (FieldName)
                {
                case IMAGING.IMAGING_CCD_ACTIVE_IMAGE_FILENAME: ActiveFileName(Value.ToString()); break;

                case IMAGING.IMAGING_CCD_DOWNLOAD_STATUS: if (Value.ToString() == "Completed")
                    {
                        LoadFITSImage(StationName, DeviceName, ExistingStation);
                    }
                    break;

                case IMAGING.IMAGING_PREVIEW_DOWNLOAD_STATUS: if (Value.ToString() == "Completed")
                    {
                        LoadPerviewImage(StationName, DeviceName, ExistingStation);
                    }
                    break;

                case IMAGING.IMAGING_STARTX: SubFrameChecking(DeviceName, ExistingStation); break;

                case IMAGING.IMAGING_STARTY: SubFrameChecking(DeviceName, ExistingStation); break;

                case IMAGING.IMAGING_NUMX: SubFrameChecking(DeviceName, ExistingStation); break;

                case IMAGING.IMAGING_NUMY: SubFrameChecking(DeviceName, ExistingStation); break;

                case IMAGING.IMAGING_CCD_BINX: SubFrameChecking(DeviceName, ExistingStation); break;

                case IMAGING.IMAGING_CCD_BINY: SubFrameChecking(DeviceName, ExistingStation); break;
                }
            }
        }
コード例 #3
0
ファイル: AstroData.cs プロジェクト: pprasit/Project
        private static void LoadFITSImage(STATIONNAME StationName, DEVICENAME DeviceName, StationHandler ExistingStation)
        {
            Image <Gray, UInt16> ImageData = null;

            Task PreviewTask = Task.Run(async() =>
            {
                if (Client == null)
                {
                    Client                = new FtpClient("192.168.2.217");
                    Client.Credentials    = new NetworkCredential("astronetbot", "P@ssw0rd");
                    Client.ConnectTimeout = 1000;
                }

                if (!Client.IsConnected)
                {
                    Client.Connect();
                }

                String FilePath = "/files/" + StationName.ToString() + "/FITS/" + FileName;

                if (Client.FileExists(FilePath))
                {
                    Client.DownloadFile(@"FITS/" + FileName, FilePath);

                    ImageData = FITSHandler.ReadFITSFile(@"FITS/" + FileName);

                    if (ImageData != null)
                    {
                        ExistingStation.NewIMAGINGInformation(DeviceName, IMAGING.IMAGING_CCD_IMAGEARRAY16, ImageData.Data, DateTime.UtcNow);
                    }
                }
                else
                {
                    await Task.Delay(1000);
                    LoadFITSImage(StationName, DeviceName, ExistingStation);
                }
            });

            /*
             * String PathName = null;
             *
             * switch (StationName)
             * {
             *  case STATIONNAME.AIRFORCE: PathName = @"c:\FTP\AF\Lastest.FITS"; break;
             *  case STATIONNAME.ASTROPARK: PathName = @"c:\FTP\ASP\Lastest.FITS"; break;
             *  case STATIONNAME.CHACHOENGSAO: PathName = @"c:\FTP\CCO\Lastest.FITS"; break;
             *  case STATIONNAME.NAKHONRATCHASIMA: PathName = @"c:\FTP\NKA\Lastest.FITS"; break;
             *  case STATIONNAME.CHINA: PathName = @"c:\FTP\CHA\Lastest.FITS"; break;
             *  case STATIONNAME.AUSTRALIA: PathName = @"c:\FTP\AUS\Lastest.FITS"; break;
             *  case STATIONNAME.USA: PathName = @"c:\FTP\USA\Lastest.FITS"; break;
             * }
             *
             * if (PathName != null)
             * {
             *  Task ImagingTask = Task.Run(() =>
             *  {
             *      ImageData = FITSHandler.ReadFITSFile(PathName);
             *
             *      if (ImageData != null)
             *          ExistingStation.NewIMAGINGInformation(DeviceName, IMAGING.IMAGING_CCD_IMAGEARRAY16, ImageData.Data, DateTime.UtcNow);
             *  });
             * }
             */
        }