コード例 #1
0
        public override GenericGadgetSettings OnUpdate(GenericGadgetSettings settings)
        {
            var fixtureSettings = settings as LightingFixtureSettings;

            fixtureSettings.lightingStates = GetLightingStates();
            return(fixtureSettings);
        }
コード例 #2
0
        protected override GenericGadget GadgetCreater(GenericGadgetSettings settings)
        {
            var floatSwitchSettings = settings as FloatSwitchSettings;

            if (floatSwitchSettings == null)
            {
                throw new ArgumentException("Settings must be FloatSwitchSettings");
            }

            if ((floatSwitchSettings.switchFuntion == SwitchFunction.HighLevel) && (floatSwitchSettings.switchType != SwitchType.NormallyClosed))
            {
                Logger.AddWarning("High level switch should be normally closed");
            }
            else if ((floatSwitchSettings.switchFuntion == SwitchFunction.LowLevel) && (floatSwitchSettings.switchType != SwitchType.NormallyClosed))
            {
                Logger.AddWarning("Low level switch should be normally closed");
            }
            else if ((floatSwitchSettings.switchFuntion == SwitchFunction.ATO) && (floatSwitchSettings.switchType != SwitchType.NormallyOpened))
            {
                Logger.AddWarning("ATO switch should be normally opened");
            }

            var floatSwitch = new FloatSwitch(floatSwitchSettings);

            return(floatSwitch);
        }
コード例 #3
0
        protected override GenericGadget GadgetCreater(GenericGadgetSettings settings)
        {
            var pumpSettings = settings as PumpSettings;

            if (pumpSettings == null)
            {
                throw new ArgumentException("Settings must be PumpSettings");
            }
            return(new Pump(pumpSettings));
        }
コード例 #4
0
        public override GenericGadgetSettings OnUpdate(GenericGadgetSettings settings)
        {
            var sensorSettings = settings as GenericAnalogSensorSettings;

            sensorSettings.zeroScaleCalibrationValue  = zeroScaleCalibrationActual;
            sensorSettings.zeroScaleCalibrationValue  = zeroScaleCalibrationValue;
            sensorSettings.fullScaleCalibrationActual = fullScaleCalibrationActual;
            sensorSettings.fullScaleCalibrationValue  = fullScaleCalibrationValue;
            return(sensorSettings);
        }
コード例 #5
0
        protected override GenericGadget GadgetCreater(GenericGadgetSettings settings)
        {
            var switchSettings = settings as SwitchSettings;

            if (switchSettings == null)
            {
                throw new ArgumentException("Settings must be SwitchSettings");
            }
            var sw = new Switch(switchSettings);

            return(sw);
        }
コード例 #6
0
        protected override sealed GenericGadget GadgetCreater(GenericGadgetSettings settings)
        {
            var sensorSettings = settings as GenericAnalogSensorSettings;

            if (sensorSettings == null)
            {
                throw new ArgumentException("Settings must be GenericAnalogSensorSettings");
            }

            var sensor = AnalogSensorCreater(sensorSettings);

            return(sensor);
        }
コード例 #7
0
        protected override GenericGadget GadgetCreater(GenericGadgetSettings settings)
        {
            var fixtureSettings = settings as LightingFixtureSettings;

            if (fixtureSettings == null)
            {
                throw new ArgumentException("Settings must be LightingFixtureSettings");
            }

            LightingFixture fixture;

            if (fixtureSettings.dimmingChannel.IsNotEmpty())
            {
                fixture = new LightingFixtureDimming(fixtureSettings);
            }
            else
            {
                fixture = new LightingFixture(fixtureSettings);
            }

            return(fixture);
        }