Example #1
0
        /// <summary>
        /// Provides a description of the sensor providing the requested property
        /// </summary>
        /// <param name="PropertyName">Name of the property whose sensor description is required</param>
        /// <returns>The sensor description string</returns>
        /// <remarks>
        /// PropertyName must be one of the sensor properties,
        /// properties that are not implemented must throw the MethodNotImplementedException
        /// </remarks>
        public string SensorDescription(string PropertyName)
        {
            if (MyDriverType == 0)
            {
                return(MySSObservingConditions.SensorDescription(PropertyName));
            }
            else
            {
                switch (PropertyName.Trim().ToLowerInvariant())
                {
                case "averageperiod":
                    return("Average period in hours, immediate values are only available");

                case "dewpoint":
                case "humidity":
                case "pressure":
                case "rainrate":
                case "skybrightness":
                case "skyquality":
                case "starfwhm":
                case "skytemperature":
                case "temperature":
                case "winddirection":
                case "windgust":
                case "windspeed":
                    LogMessage("SensorDescription", "{0} - not implemented", PropertyName);
                    throw new MethodNotImplementedException("SensorDescription(" + PropertyName + ")");

                default:
                    LogMessage("SensorDescription", "{0} - unrecognised", PropertyName);
                    throw new ASCOM.InvalidValueException("SensorDescription(" + PropertyName + ")");
                }
            }
        }
        private void GetDataButton_Click(object sender, EventArgs e)
        {
            try
            {
                UpdateValue(CloudCoverValue, () =>
                {
                    CloudCoverValue.Text       = driver.CloudCover.ToString(CultureInfo.InvariantCulture);
                    CloudCoverDateTime.Text    = driver.TimeSinceLastUpdate("CloudCover").ToString(CultureInfo.InvariantCulture);
                    CloudCoverDescription.Text = driver.SensorDescription("CloudCover");
                });

                UpdateValue(DewPointValue, () =>
                {
                    DewPointValue.Text       = driver.DewPoint.ToString(CultureInfo.InvariantCulture);
                    DewPointDateTime.Text    = driver.TimeSinceLastUpdate("DewPoint").ToString(CultureInfo.InvariantCulture);
                    DewPointDescription.Text = driver.SensorDescription("DewPoint");
                });
                UpdateValue(HumidityValue, () =>
                {
                    HumidityValue.Text       = driver.Humidity.ToString(CultureInfo.InvariantCulture);
                    HumidityDateTime.Text    = driver.TimeSinceLastUpdate("Humidity").ToString(CultureInfo.InvariantCulture);
                    HumidityDescription.Text = driver.SensorDescription("Humidity");
                });
                UpdateValue(PressureValue, () =>
                {
                    PressureValue.Text       = driver.Pressure.ToString(CultureInfo.InvariantCulture);
                    PressureDateTime.Text    = driver.TimeSinceLastUpdate("Pressure").ToString(CultureInfo.InvariantCulture);
                    PressureDescription.Text = driver.SensorDescription("Pressure");
                });
                UpdateValue(RainRateValue, () =>
                {
                    RainRateValue.Text       = driver.RainRate.ToString(CultureInfo.InvariantCulture);
                    RainRateDateTime.Text    = driver.TimeSinceLastUpdate("RainRate").ToString(CultureInfo.InvariantCulture);
                    RainRateDescription.Text = driver.SensorDescription("RainRate");
                });
                UpdateValue(SkyBrightnessValue, () =>
                {
                    SkyBrightnessValue.Text       = driver.SkyBrightness.ToString(CultureInfo.InvariantCulture);
                    SkyBrightnessDateTime.Text    = driver.TimeSinceLastUpdate("SkyBrightness").ToString(CultureInfo.InvariantCulture);
                    SkyBrightnessDescription.Text = driver.SensorDescription("SkyBrightness");
                });
                UpdateValue(SkyQualityValue, () =>
                {
                    SkyQualityValue.Text       = driver.SkyQuality.ToString(CultureInfo.InvariantCulture);
                    SkyQualityDateTime.Text    = driver.TimeSinceLastUpdate("SkyQuality").ToString(CultureInfo.InvariantCulture);
                    SkyQualityDescription.Text = driver.SensorDescription("SkyQuality");
                });
                UpdateValue(StarFwhmValue, () =>
                {
                    StarFwhmValue.Text       = driver.StarFWHM.ToString(CultureInfo.InvariantCulture);
                    StarFwhmDateTime.Text    = driver.TimeSinceLastUpdate("StarFwhm").ToString(CultureInfo.InvariantCulture);
                    StarFwhmDescription.Text = driver.SensorDescription("StarFwhm");
                });
                UpdateValue(SkyTemperatureValue, () =>
                {
                    SkyTemperatureValue.Text       = driver.SkyTemperature.ToString(CultureInfo.InvariantCulture);
                    SkyTemperatureDateTime.Text    = driver.TimeSinceLastUpdate("SkyTemperature").ToString(CultureInfo.InvariantCulture);
                    SkyTemperatureDescription.Text = driver.SensorDescription("SkyTemperature");
                });
                UpdateValue(TemperatureValue, () =>
                {
                    TemperatureValue.Text       = driver.Temperature.ToString(CultureInfo.InvariantCulture);
                    TemperatureDateTime.Text    = driver.TimeSinceLastUpdate("Temperature").ToString(CultureInfo.InvariantCulture);
                    TemperatureDescription.Text = driver.SensorDescription("Temperature");
                });
                UpdateValue(WindDirectionValue, () =>
                {
                    WindDirectionValue.Text       = driver.WindDirection.ToString(CultureInfo.InvariantCulture);
                    WindDirectionDateTime.Text    = driver.TimeSinceLastUpdate("WindDirection").ToString(CultureInfo.InvariantCulture);
                    WindDirectionDescription.Text = driver.SensorDescription("WindDirection");
                });
                UpdateValue(WindGustValue, () =>
                {
                    WindGustValue.Text       = driver.WindGust.ToString(CultureInfo.InvariantCulture);
                    WindGustDateTime.Text    = driver.TimeSinceLastUpdate("WindGust").ToString(CultureInfo.InvariantCulture);
                    WindGustDescription.Text = driver.SensorDescription("WindGust");
                });
                UpdateValue(WindSpeedValue, () =>
                {
                    WindSpeedValue.Text       = driver.WindSpeed.ToString(CultureInfo.InvariantCulture);
                    WindSpeedDateTime.Text    = driver.TimeSinceLastUpdate("WindSpeed").ToString(CultureInfo.InvariantCulture);
                    WindSpeedDescription.Text = driver.SensorDescription("WindSpeed");
                });
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }