示例#1
0
 static void WriteCapabilities(CameraCapabilities capabilities)
 {
     Console.WriteLine($@"{capabilities.Name}:
     {capabilities.BatteryLevel} %
     Configure: {capabilities.CanBeConfigured}
     Preview: {capabilities.CanCapturePreviews}
     Iso: {capabilities.SupportedIsoSpeeds.Concat(" ")}
     Apertures: {capabilities.SupportedApertures.Concat(" ")}
     ShutterSpeeds: {capabilities.SupportedShutterSpeeds.Concat(" ")}");
 }
示例#2
0
        private void Initialize()
        {
            _information = new CameraInfo()
            {
                Description = _camera.Description,
                DriverInfo = _camera.DriverInfo,
                Name = _camera.Name,
                DriverVersion = _camera.DriverVersion,
                SensorName = _camera.SensorName,
                SensorType = _camera.SensorType.ToString()
            };

            _capabilities = new CameraCapabilities()
            {
                MaxBinX = _camera.MaxBinX,
                MaxBinY = _camera.MaxBinY,
                CanAbortExposure = _camera.CanAbortExposure,
                CanAsymmetricBin = _camera.CanAsymmetricBin,
                CanFastReadOut = _camera.CanFastReadout,
                CanGetCoolerPower = _camera.CanGetCoolerPower,
                CanPulseGuide = _camera.CanPulseGuide,
                CanSetCcdTemperature = _camera.CanSetCCDTemperature,
                HasShutter = _camera.HasShutter,
                ElectronsPerAdu = _camera.ElectronsPerADU,
                MaxAdu = _camera.MaxADU,
                MaxExposure = _camera.ExposureMax,
                MinExposure = _camera.ExposureMin,
                PixelSizeX = _camera.PixelSizeX,
                PixelSizeY = _camera.PixelSizeY,
                ResolutionX = _camera.CameraXSize,
                ResolutionY = _camera.CameraYSize,
                Resolution = string.Format("{0} x {1}", _camera.CameraXSize, _camera.CameraYSize)
            };

            try { _capabilities.CanStopExposure = _camera.CanStopExposure; }
            catch (ASCOM.PropertyNotImplementedException e) { _capabilities.CanStopExposure = false; }

            try { _capabilities.HasAdjustableGain = _camera.Gain >= 0 || true; }
            catch (ASCOM.PropertyNotImplementedException e) { _capabilities.HasAdjustableGain = false; }

            try { _capabilities.MaxGain = _camera.GainMax.ToString(); }
            catch (ASCOM.PropertyNotImplementedException e) { _capabilities.MaxGain = "Not supported"; }

            try { _capabilities.MinGain = _camera.GainMin.ToString(); }
            catch (ASCOM.PropertyNotImplementedException e) { _capabilities.MinGain = "Not supported"; }
        }
示例#3
0
        // Connect to server
        private void TCP_Connection()
        {
            // Connect to server
            var tcpClient = new TcpClient(_serverIp.Address.ToString(), PConnection.TCPPort);

            // Get the stream
            _packetStream = new PacketStream(tcpClient.GetStream());

            // Receive and display capabilities
            _capabilities = _packetStream.Receive <CameraCapabilities>();

            spr_ISO.Adapter      = new ArrayAdapter(this, global::Android.Resource.Layout.SimpleListItem1, _capabilities.SupportedIsoSpeeds);
            spr_Aperture.Adapter = new ArrayAdapter(this, global::Android.Resource.Layout.SimpleListItem1, _capabilities.SupportedApertures);
            spr_Shutter.Adapter  = new ArrayAdapter(this, global::Android.Resource.Layout.SimpleListItem1, _capabilities.SupportedShutterSpeeds);

            _connected = true;
        }
示例#4
0
        static void TransferThread()
        {
            // Receive capabilities
            Console.WriteLine("Receiving capabilities...");

            try
            {
                CameraCapabilities capabilities = _packetStream.Receive <CameraCapabilities>();

                // Write Capabilities
                Console.WriteLine();
                WriteCapabilities(capabilities);
                Console.WriteLine();
            }
            catch (Exception e)
            {
                Console.WriteLine("Invalid configuration, skipping it...\n");
                Console.WriteLine(e.ToString());
            }

            Console.WriteLine("Connected to server, you can now send request");

            string input;

            // Send commands
            while ((input = Console.ReadLine()) != "exit")
            {
                string    arg = "";
                PDataType pDataType;
                object    value;
                string[]  split = input.Split(' ');

                // Check invalid command
                if (split.Length < 1)
                {
                    Console.WriteLine("Invalid command");
                    continue;
                }

                arg = split[1];

                switch (input.Split(' ')[0])
                {
                case "picture":
                    pDataType = PDataType.Picture;
                    value     = int.Parse(arg);
                    break;

                case "iso":
                    pDataType = PDataType.ISO;
                    value     = int.Parse(arg);
                    break;

                case "aperture":
                    pDataType = PDataType.Aperture;
                    value     = double.Parse(arg);
                    break;

                case "shutter":
                    pDataType = PDataType.ShutterSpeed;
                    value     = arg;
                    break;

                default:
                    Console.WriteLine("Invalid Command");
                    continue;
                }

                Console.WriteLine("Sending packet...");
                _packetStream.Send(new PPacket(pDataType, value));
                Console.WriteLine("Packet sent");
            }
        }