protected override bool OnSave(object sender)
        {
            var sensorSettings = new GenericAnalogSensorSettings();

            sensorSettings.name = (string)settings["Name"].setting;
            if (sensorSettings.name == "Enter name")
            {
                MessageBox.Show("Invalid probe name");
                return(false);
            }

            string channelString = (string)settings["Input Channel"].setting;

            if (channelString.IsEmpty())
            {
                MessageBox.Show("Please select an channel");
                return(false);
            }
            sensorSettings.channel = ParseIndividualControl(channelString);

            sensorSettings.lowPassFilterFactor = Convert.ToInt32(settings["LPF Factor"].setting);

            sensorCollection.UpdateSensor(sensorName, sensorSettings);
            sensorName = sensorSettings.name;

            return(true);
        }
        public AnalogSensorSettingsDialog(
            GenericAnalogSensorSettings settings,
            GenericAnalogSensorCollection sensorCollection,
            GenericAnalogInputBase analogInputDriver,
            Window parent)
            : base(settings, sensorCollection, analogInputDriver, parent)
        {
            var t = new SettingsTextBox("LPF Factor");

            t.textBox.text              = sensorName.IsNotEmpty() ? settings.lowPassFilterFactor.ToString() : "5";
            t.textBox.TextChangedEvent += (sender, args) => {
                try {
                    var factor = Convert.ToInt32(args.text);

                    if (factor < 0)
                    {
                        MessageBox.Show("Low passs filter factor can't be negative");
                        args.keepText = false;
                        return;
                    }
                } catch {
                    MessageBox.Show("Improper Low passs filter factor format");
                    args.keepText = false;
                }
            };
            AddSetting(t);

            DrawSettings();
        }
        public TemperatureProbe(GenericAnalogSensorSettings settings) : base(settings)
        {
            var channelName = string.Format("{0}, Temperature Probe", name);

            Driver.AnalogInput.AddChannel(channel, channelName, lowPassFilterFactor);
            sensorDisconnectedAlarmIndex = Alarm.Subscribe("Temperature probe disconnected, " + name);
            Subscribe(Driver.AnalogInput.GetChannelEventPublisherKey(channelName));
        }
        public WaterLevelSensor(GenericAnalogSensorSettings settings) : base(settings)
        {
            var channelName = string.Format("{0}, Water Level Sensor", name);

            Driver.AnalogInput.AddChannel(channel, string.Format("{0}, Water Level Sensor", name), lowPassFilterFactor);
            sensorDisconnectedAlarmIndex = Alarm.Subscribe("Water level sensor disconnected, " + name);
            Subscribe(Driver.AnalogInput.GetChannelEventPublisherKey(channelName));
        }
Пример #5
0
        public PhProbe(GenericAnalogSensorSettings settings) : base(settings)
        {
            dataLogger = Factory.GetDataLogger(string.Format("{0}PhProbe", name.RemoveWhitespace()));
            var channelName = string.Format("{0}, pH Probe", name);

            Driver.PhOrp.AddChannel(channel, channelName, lowPassFilterFactor);
            sensorDisconnectedAlarmIndex = Alarm.Subscribe("pH probe disconnected, " + name);
            Subscribe(Driver.PhOrp.GetChannelEventPublisherKey(channelName));
        }
Пример #6
0
        protected override GenericAnalogSensor AnalogSensorCreater(GenericAnalogSensorSettings settings)
        {
            var sensor = new TemperatureProbe(settings);

            return(sensor);
        }
        protected override GenericAnalogSensor AnalogSensorCreater(GenericAnalogSensorSettings settings)
        {
            var sensor = new WaterLevelSensor(settings);

            return(sensor);
        }