Exemplo n.º 1
0
        public Freeze100Test(IWorker <Action> sharedTestsWorker, ICmdListener <IMukFanVaporizerDataReply03> evaporator03Listener, ICmdListener <IMukFlapWinterSummerReply03Telemetry> mukFlapWinterSummerReply03Listener, Timer sharedTestTimer, IParameterSetter parameterSetter)
        {
            _sharedTestsWorker = sharedTestsWorker;

            _evaporator03Listener = evaporator03Listener;
            _mukFlapWinterSummerReply03Listener = mukFlapWinterSummerReply03Listener;

            _sharedTestTimer = sharedTestTimer;
            _parameterSetter = parameterSetter;

            _sharedTestTimer.Elapsed += SharedTestTimerOnElapsed;

            _evaporator03Listener.DataReceived += Evaporator03ListenerOnDataReceived;

            _isTestCanceledSync = new object();
            _isTestCanceled     = false;

            _isTestRunningSync = new object();
            _isTestRunning     = false;

            _timeSync    = new object();
            _testTimeout = TimeSpan.FromSeconds(5.0);

            _lastReceivedDataSyncMukFanVaporizer03Reply = new object();
            _lastReceivedDataMukFanVaporizer03Reply     = null;

            _testCompleteSync = new object();
            _testComplete     = null;

            _progressChangedSync = new object();
            _progressChanged     = null;
        }
 public MukWarmFloorSetParamsViewModel(IThreadNotifier uiNotifier, IParameterSetter parameterSetter)
 {
     SettableParam519 = new SettableParameterViewModel(519, "5.19 Резерв", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
     SettableParam520 = new SettableParameterViewModel(520, "5.20 Резерв", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
     SettableParam521 = new SettableParameterViewModel(521, "5.21 Резерв", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
     SettableParam522 = new SettableParameterViewModel(522, "5.22 Резерв", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
 }
Exemplo n.º 3
0
        public ParameterVMsHolder(IParametersPresenterXmlBuilder ppBuilder, IPsnParamsList psnParamsList,
                                  IParamListener paramListener, IThreadNotifier uiNotifier, IParameterLogger parameterLogger,
                                  IParameterSetter parameterSetter)
        {
            var paramsPresenter = ppBuilder.BuildParametersPresentationFromXml();
            var parameters      = new Dictionary <string, IParameterViewModel>();

            foreach (var paramDescriptionAndKey in paramsPresenter.Parameters)
            {
                var key           = paramDescriptionAndKey.Key;
                var description   = paramDescriptionAndKey.Value;
                var configuration = psnParamsList.PsnProtocolConfigurationParams[description.Identifier];

                parameters.Add(
                    key, new ParameterViewModelSimple(description.CustomName, configuration.Item2.Name,
                                                      new ParameterGetterViewModelSimple(
                                                          description.Identifier, paramListener, uiNotifier, description.View,
                                                          parameterLogger, configuration.Item2.IsBitSignal,
                                                          configuration.Item1.PartName + ": " + configuration.Item2.Name),
                                                      description.Injection == null
                            ? null
                            : new ParameterSetterViewModelSimple(parameterSetter, uiNotifier, description.Injection)));
            }

            Parameters = parameters;
        }
Exemplo n.º 4
0
        public ParameterSetterViewModelSimple(IParameterSetter parameterSetter, IThreadNotifier uiNotifier,
                                              IParameterInjectionConfiguration injectionConfiguration)
        {
            _uiNotifier     = uiNotifier;
            CustomValueList = injectionConfiguration.PreselectedValueList;

            _lastSet = LastSetStateResult.Unknown;

            // TODO: follow https://reactiveui.net/docs/guidelines/framework/prefer-oaph-over-properties
            var x = this.WhenAnyValue(vm => vm.SelectedValue).Subscribe(val => Value = val.Value);

            _setValue = ReactiveCommand.Create(() =>
            {
                Console.WriteLine($"Setting for param {injectionConfiguration.ZeroBasedParameterNumber} value " +
                                  injectionConfiguration.GetValue(_value));
                parameterSetter.SetParameterAsync(injectionConfiguration.ZeroBasedParameterNumber,
                                                  injectionConfiguration.GetValue(_value), ex =>
                {
                    _uiNotifier.Notify(() =>
                    {
                        if (ex != null)
                        {
                            LastSet = LastSetStateResult.Unsuccess;
                        }
                        else
                        {
                            LastSet = LastSetStateResult.Success;
                        }
                    });
                });
            });
        }
Exemplo n.º 5
0
        public MukVaporizerSetParamsViewModel(IThreadNotifier uiNotifier, IParameterSetter parameterSetter)
        {
            SettableParam324 = new SettableParameterViewModel(324, "Zone зона нечувствительности ПИДа", 65535.0, 0.0,
                                                              null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam325 = new SettableParameterViewModel(325, "Td дифференциальная составляющая", 65535.0, 0.0,
                                                              null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam326 = new SettableParameterViewModel(326, "Kp коеффициент пропорциональности", 65535.0, 0.0,
                                                              null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam327 = new SettableParameterViewModel(327, "T_i интегральная составляющая", 65535.0, 0.0, null,
                                                              "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam328 = new SettableParameterViewModel(328, "T_0 время вызова ПИДа", 65535.0, 0.0, null, "f0",
                                                              new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);

            SettableParam329 = new SettableParameterViewModel(329, "Ручной/автоматический режим. 1 = ручной режим", 1.0,
                                                              0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam330 = new SettableParameterViewModel(330, "Уставка уровень вентилир.в ручном режиме 0 - 4",
                                                              4.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);

            SettableParam331 = new SettableParameterViewModel(331, "Уровень вентилирования 1 в режиме настройки; 0-255",
                                                              255.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam332 = new SettableParameterViewModel(332, "Уровень вентилирования 2 в режиме настройки; 0-255",
                                                              255.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam333 = new SettableParameterViewModel(333, "Уровень вентилирования 3 в режиме настройки; 0-255",
                                                              255.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam334 = new SettableParameterViewModel(334, "Уровень вентилирования 4 в режиме настройки; 0-255",
                                                              255.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam335 = new SettableParameterViewModel(335, "Настроечный параметр регулятора отопления", 65535.0,
                                                              0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
        }
 public void SetParameter(IParameterSetter setter, object parameter)
 {
     if (parameter == null)
     {
         setter.Value = null;
     }
     setter.Value = parameter.ToString();
 }
Exemplo n.º 7
0
 public TabInterfaceBuilder(IThreadNotifier mainWindowUiUiNotifier, ICmdListener <IList <byte> > cmdListenerWinSum03Reply, ICmdListener <IMukFlapAirWinterSummerRequest16Data> cmdListener16Request, IParameterLogger parameterLogger, IParameterSetter parameterSetter)
 {
     _uiNotifier = mainWindowUiUiNotifier;
     _cmdListenerWinSum03Reply = cmdListenerWinSum03Reply;
     _cmdListener16Request     = cmdListener16Request;
     _parameterLogger          = parameterLogger;
     _parameterSetter          = parameterSetter;
 }
Exemplo n.º 8
0
        public SdTabInterfaceBuilder(IThreadNotifier mainWindowUiUiNotifier, ICmdListener <IList <BytesPair> > cmdListenerKsmParams, IParameterLogger parameterLogger, IParameterSetter parameterSetter, AppVersion version)
        {
            _uiNotifier           = mainWindowUiUiNotifier;
            _cmdListenerKsmParams = cmdListenerKsmParams;

            _parameterLogger = parameterLogger;
            _parameterSetter = parameterSetter;
            _version         = version;
        }
		public MukFlapWinterSummerSetParamsViewModel(IThreadNotifier uiNotifier, IParameterSetter parameterSetter) {
			SettableParam827 = new SettableParameterViewModel(827, "Ручной/автоматический режим. 1 = ручной режим", 1.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
			SettableParam828 = new SettableParameterViewModel(828, "Уставка ШИМ на заслонку в ручном режиме 0 - 255", 255.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
			SettableParam829 = new SettableParameterViewModel(829, "H – параметр драйвера 1w", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
			SettableParam830 = new SettableParameterViewModel(830, "I – параметр драйвера 1w", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
			SettableParam831 = new SettableParameterViewModel(831, "J – параметр драйвера 1w", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
			SettableParam832 = new SettableParameterViewModel(832, "A – параметр драйвера 1w", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
			SettableParam833 = new SettableParameterViewModel(833, "E – параметр драйвера 1w", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
			SettableParam834 = new SettableParameterViewModel(834, "C – параметр драйвера 1w", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
			SettableParam835 = new SettableParameterViewModel(835, "D – параметр драйвера 1w", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
		}
Exemplo n.º 10
0
 /// <summary>
 /// Performs processing on a value before it is used to set
 /// the parameter of a IDbCommand.
 /// </summary>
 /// <param name="setter">The interface for setting the value on the IDbCommand.</param>
 /// <param name="parameter">The value to be set</param>
 public void SetParameter(IParameterSetter setter, object parameter)
 {
     try
     {
         DateTime date = (DateTime)parameter;
         setter.Value = date.ToString("yyyy-MM-dd HH:mm:ss.fff");
     }
     catch (Exception)
     {
         setter.Value = null;
     }
 }
		public void SetParameter(IParameterSetter setter, object parameter)
		{
			bool b = Convert.ToBoolean(parameter);
			if (b) 
			{
				setter.Value = YES;
			} 
			else 
			{
				setter.Value = NO;
			}			
		}
        public MukVaporizerFanDataViewModelParamcentric(IThreadNotifier notifier,
                                                        IParameterSetter parameterSetter, IReceiverModbusRtu rtuReceiver,
                                                        ICmdListener <IMukFanVaporizerDataReply03> cmdListenerMukVaporizerReply03,
                                                        ICmdListener <IMukFanVaporizerDataRequest16> cmdListenerMukVaporizerRequest16)
        {
            _notifier = notifier;

            _cmdListenerMukVaporizerReply03 = cmdListenerMukVaporizerReply03;
            _cmdListenerMukVaporizerReply03.DataReceived += CmdListenerMukVaporizerReply03OnDataReceived;

            _cmdListenerMukVaporizerRequest16 = cmdListenerMukVaporizerRequest16;
            _cmdListenerMukVaporizerRequest16.DataReceived += CmdListenerMukVaporizerRequest16OnDataReceived;

            _children = new List <IGroupItem>();

            var pwmParameter = new ReceivableModbusRtuParameterSimpleViewModel("Уставка ШИМ на вентилятор", 3, 3, 0,
                                                                               new BytesPairNullableToStringThroughDoubleConverter(1.0, 0.0, false, true, "f0"));
            var t1Parameter = new ReceivableModbusRtuParameterSimpleViewModel("Температура 1wire адрес 1", 3, 3, 1,
                                                                              new BytesPairNullableToStringThroughOneWireConverter(0.01, 0.0, "f2", new BytesPair(0x85, 0x00)));
            var t2Parameter = new ReceivableModbusRtuParameterSimpleViewModel("Температура 1wire адрес 2", 3, 3, 2,
                                                                              new BytesPairNullableToStringThroughOneWireConverter(0.01, 0.0, "f2", new BytesPair(0x85, 0x00)));
            var inputSignals = new ReceivableModbusRtuParameterSimpleViewModel("Байт входных сигналов (резерв)", 3, 3,
                                                                               3, new BytesPairNullableToStringThroughDoubleConverter(1.0, 0.0, false, true, "f0"));
            var outputSignals = new ReceivableModbusRtuParameterSimpleViewModel("Байт выходных сигналов (резерв)", 3, 3,
                                                                                4, new BytesPairNullableToStringThroughDoubleConverter(1.0, 0.0, false, true, "f0"));
            var pwmCalorifer = new ReceivableModbusRtuParameterSimpleViewModel("ШИМ на калорифер", 3, 3, 5,
                                                                               new BytesPairNullableToStringThroughDoubleConverter(1.0, 0.0, false, true, "f0"));
            var workStage = new ReceivableModbusRtuParameterSimpleViewModel("Этап работы", 3, 3, 6,
                                                                            new BytesPairNullableToStringThroughVaporizerFanWorkstageConverter());


            rtuReceiver.RegisterParamToReceive(pwmParameter);
            rtuReceiver.RegisterParamToReceive(t1Parameter);
            rtuReceiver.RegisterParamToReceive(t2Parameter);
            rtuReceiver.RegisterParamToReceive(inputSignals);
            rtuReceiver.RegisterParamToReceive(outputSignals);
            rtuReceiver.RegisterParamToReceive(pwmCalorifer);
            rtuReceiver.RegisterParamToReceive(workStage);

            _children.Add(pwmParameter);
            _children.Add(t1Parameter);
            _children.Add(t2Parameter);

            _children.Add(inputSignals);
            _children.Add(outputSignals);
            _children.Add(pwmCalorifer);
            _children.Add(workStage);

            MukFanVaporizerDataReply03Text = new AnyCommandPartViewModel();
            Request16TelemetryText         = new AnyCommandPartViewModel();
            MukVaporizerSetParamsVm        = new MukVaporizerSetParamsViewModel(notifier, parameterSetter);
        }
        public SerialChannelWithTimeoutMonitorAndSendReplyAbility(ISerialChannel channel)
        {
            Channel = channel;
            Channel.CommandHearedWithReplyPossibility += SerialChannelOnCommandHearedWithReplyPossibility;
            TimeoutMonitor = new CommandHearedTimerNotThreadSafe(Channel, TimeSpan.FromSeconds(1));
            TimeoutMonitor.Start();

            var replyGenerator = new ReplyGeneratorWithQueueAttempted();

            ReplyGenerator = replyGenerator;
            ReplyAcceptor  = replyGenerator;
            ParamSetter    = replyGenerator;
        }
        public void SetParameter(IParameterSetter setter, object parameter)
        {
            bool b = Convert.ToBoolean(parameter);

            if (b)
            {
                setter.Value = 100;
            }
            else
            {
                setter.Value = 200;
            }
        }
Exemplo n.º 15
0
 public object[] GetParameters(MethodInfo Method, IParameterSetter LastSetter)
 {
     ParameterInfo[] parameters = Method.GetParameters();
     object[]        array      = new object[parameters.Length];
     for (int i = 0; i < parameters.Length; i++)
     {
         if (!this.SetValue(parameters[i], i, ref array[i]))
         {
             LastSetter.GetParameterValue(parameters[i], i, ref array[i]);
         }
     }
     return(array);
 }
Exemplo n.º 16
0
 void ITypeHandlerCallback.SetParameter(IParameterSetter setter, object parameter)
 {
     if (parameter is DateTime)
     {
         DateTime time = (DateTime)parameter;
         if (time == DateTime.MinValue)
         {
             setter.Value = null;
             return;
         }
     }
     setter.Value = parameter;
 }
Exemplo n.º 17
0
 public void SetParameter(IParameterSetter setter, object parameter)
 {
     if (parameter is DateTime)
     {
         DateTime time = (DateTime)parameter;
         if (time == DateTime.MinValue)
         {
             setter.Value = null;
             return;
         }
     }
     setter.Value = parameter;
 }
Exemplo n.º 18
0
 public TabInterfaceBuilder(
     IThreadNotifier mainWindowUiUiNotifier,
     ICmdListener <IMukFanVaporizerDataReply03> cmdListenerEvaporator03Reply,
     ICmdListener <IMukFanVaporizerDataRequest16> cmdListenerEvaporator16Request,
     IParameterLogger parameterLogger,
     IParameterSetter parameterSetter)
 {
     _uiNotifier = mainWindowUiUiNotifier;
     _cmdListenerEvaporator03Reply   = cmdListenerEvaporator03Reply;
     _cmdListenerEvaporator16Request = cmdListenerEvaporator16Request;
     _parameterLogger = parameterLogger;
     _parameterSetter = parameterSetter;
 }
Exemplo n.º 19
0
 public void SetParameter(IParameterSetter setter, object parameter)
 {
     if (parameter is DateTime)
     {
         DateTime time = (DateTime)parameter;
         if (time == DateTime.MinValue)
         {
             setter.Value = null;
             return;
         }
     }
     setter.Value = parameter;
 }
Exemplo n.º 20
0
        public MukWarmFloorDataViewModel(IThreadNotifier notifier, IParameterSetter parameterSetter, ICmdListener <IMukWarmFloorReply03Data> reply03Listener, ICmdListener <IMukWarmFloorRequest16Data> request16Listener)
        {
            _notifier          = notifier;
            _reply03Listener   = reply03Listener;
            _request16Listener = request16Listener;

            Reply03BytesTextVm   = new AnyCommandPartViewModel();
            Request16BytesTextVm = new AnyCommandPartViewModel();

            MukWarmFloorSetParamsVm = new MukWarmFloorSetParamsViewModel(notifier, parameterSetter);

            _reply03Listener.DataReceived   += Reply03ListenerOnDataReceived;
            _request16Listener.DataReceived += Request16ListenerOnDataReceived;
        }
        public MukAirExhausterDataViewModel(IThreadNotifier notifier, IParameterSetter parameterSetter, ICmdListener <IMukAirExhausterReply03Data> cmdListenerMukAirExhausterReply03, ICmdListener <IMukFanAirExhausterRequest16Data> cmdListenerMukAirExhausterRequest16)
        {
            _notifier = notifier;
            _cmdListenerMukAirExhausterReply03   = cmdListenerMukAirExhausterReply03;
            _cmdListenerMukAirExhausterRequest16 = cmdListenerMukAirExhausterRequest16;

            Reply03TelemetryText   = new AnyCommandPartViewModel();
            Request16TelemetryText = new AnyCommandPartViewModel();

            MukAirExhausterSetParamsVm = new MukAirExhausterSetParamsViewModel(notifier, parameterSetter);

            _cmdListenerMukAirExhausterReply03.DataReceived   += CmdListenerMukAirExhausterReply03OnDataReceived;
            _cmdListenerMukAirExhausterRequest16.DataReceived += CmdListenerMukAirExhausterRequest16OnDataReceived;
        }
 public SettableDropdownParameterViewModel(
     int paramIndex,
     string name,
     TRaw?defaultValue,
     IBuilderOneToOne <TRaw, string> stringBuilder,
     List <IRawAndConvertedValues <TRaw, string> > dropItems,
     string toolTipText,
     IParameterSetter parameterSetter,
     IThreadNotifier uiNotifier,
     IBuilderOneToOne <TRaw, BytesPair> sendConverter)
     : base(paramIndex, name, defaultValue, stringBuilder, toolTipText, parameterSetter, uiNotifier, sendConverter)
 {
     DropItems = dropItems;
 }
Exemplo n.º 23
0
 public object[] GetParameters(MethodInfo Method, IParameterSetter LastSetter)
 {
     ParameterInfo[] Params = Method.GetParameters();
     object[]        Values = new object[Params.Length];
     //TODO: Update to iterate backwards
     for (int i = 0; i < Params.Length; ++i)
     {
         if (!SetValue(Params[i], i, ref Values[i]))
         {
             LastSetter.GetParameterValue(Params[i], i, ref Values[i]);
         }
     }
     return(Values);
 }
Exemplo n.º 24
0
        public TabInterfaceBuilderFc(
            IThreadNotifier mainWindowUiUiNotifier,
            ICmdListener <IRequestF0> cmdListenerFcRequest,
            ICmdListener <IReplyF0> cmdListenerFcReply,
            IParameterLogger parameterLogger,
            IParameterSetter parameterSetter)
        {
            _uiNotifier = mainWindowUiUiNotifier;

            _cmdListenerFcRequest = cmdListenerFcRequest;
            _cmdListenerFcReply   = cmdListenerFcReply;

            _parameterLogger = parameterLogger;
            _parameterSetter = parameterSetter;
        }
Exemplo n.º 25
0
        public MukFridgeSetParamsViewModel(IThreadNotifier uiNotifier, IParameterSetter parameterSetter)
        {
            SettableParam415 = new SettableParameterViewModel(415, "Zone зона нечувствительности ПИДа", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam416 = new SettableParameterViewModel(416, "Td дифференциальная составляющая", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam417 = new SettableParameterViewModel(417, "Kp коеффициент пропорциональности", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam418 = new SettableParameterViewModel(418, "T_i интегральная составляющая", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam419 = new SettableParameterViewModel(419, "T_0 время вызова ПИДа", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);

            SettableParam420 = new SettableParameterViewModel(420, "Ручной/автоматический режим. 1 = ручной режим", 1.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam421 = new SettableParameterViewModel(421, "Уставка уровень вентилир.в ручном режиме 0 - 3", 3.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);

            SettableParam422 = new SettableParameterViewModel(422, "Ограничение  максимального ШИМа в режиме настройки", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam423 = new SettableParameterViewModel(423, "Ограничение  максимального ШИМа стоянки в режиме настройки", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
            SettableParam424 = new SettableParameterViewModel(424, "Ограничение  минимального ШИМа", 65535.0, 0.0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, uiNotifier, null);
        }
Exemplo n.º 26
0
        public MukFridgeFanDataViewModel(
            IThreadNotifier notifier,
            IParameterSetter parameterSetter,
            ICmdListener <IMukCondensorFanReply03Data> cmdListenerMukFridgeFanReply03,
            ICmdListener <IMukCondenserRequest16Data> cmdListenerMukCondenserRequest16)
        {
            _notifier = notifier;
            _cmdListenerMukFridgeFanReply03   = cmdListenerMukFridgeFanReply03;
            _cmdListenerMukCondenserRequest16 = cmdListenerMukCondenserRequest16;

            Reply03DataText = new AnyCommandPartViewModel();

            Request16DataText    = new AnyCommandPartViewModel();
            MukFridgeSetParamsVm = new MukFridgeSetParamsViewModel(notifier, parameterSetter);

            _cmdListenerMukFridgeFanReply03.DataReceived   += CmdListenerMukFridgeFanReply03OnDataReceived;
            _cmdListenerMukCondenserRequest16.DataReceived += CmdListenerMukCondenserRequest16OnDataReceived;
        }
Exemplo n.º 27
0
        public MukFlapDataViewModel(
            ISharedMainViewModel mainVm,
            IThreadNotifier notifier,
            IParameterSetter parameterSetter,
            ICmdListener <IMukFlapOuterAirReply03Telemetry> cmdListenerMukFlapOuterAirReply03,
            ICmdListener <IMukFlapOuterAirRequest16Data> cmdListenerMukFlapOuterAirRequest16)
        {
            MainVm    = mainVm;
            _notifier = notifier;
            _cmdListenerMukFlapOuterAirReply03   = cmdListenerMukFlapOuterAirReply03;
            _cmdListenerMukFlapOuterAirRequest16 = cmdListenerMukFlapOuterAirRequest16;
            Reply03TelemetryText   = new AnyCommandPartViewModel();
            Request16TelemetryText = new AnyCommandPartViewModel();

            MukFlapOuterAirSetParamsVm = new MukFlapOuterAirSetParamsViewModel(notifier, parameterSetter);
            _cmdListenerMukFlapOuterAirReply03.DataReceived   += CmdListenerMukFlapOuterAirReply03OnDataReceived;
            _cmdListenerMukFlapOuterAirRequest16.DataReceived += CmdListenerMukFlapOuterAirRequest16OnDataReceived;
        }
Exemplo n.º 28
0
        /// <summary>
        /// Performs processing on a value before it is used to set
        /// the parameter of a IDbCommand.
        /// </summary>
        /// <param name="setter">The interface for setting the value on the IDbCommand.</param>
        /// <param name="parameter">The value to be set</param>
        public void SetParameter(IParameterSetter setter, object parameter)
        {
            if (parameter == null)
            {
                setter.Value = string.Empty;
            }
            else
            {
                // 设置parameter的其它属性,本例为size.

                if (setter.DataParameter is System.Data.SqlClient.SqlParameter)
                {
                    // SQL Server
                    ((System.Data.SqlClient.SqlParameter)setter.DataParameter).Size = int.MaxValue;
                }

                setter.Value = parameter;
            }
        }
Exemplo n.º 29
0
        public SettableAnyParameterViewModel(int paramIndex, string name, double maxValue, double minValue, double?doubleValue, string stringFormat, IDoubleBytesPairConverter doubleBytesPairConverter, IParameterSetter parameterSetter, IThreadNotifier uiNotifier)
        {
            _doubleBytesPairConverter = doubleBytesPairConverter;
            _parameterSetter          = parameterSetter;
            _uiNotifier  = uiNotifier;
            ParamIndex   = paramIndex;
            Name         = name;
            MaxValue     = maxValue;
            MinValue     = minValue;
            DoubleValue  = doubleValue;
            StringFormat = stringFormat;

            _receivedDoubleValue = null;
            _isEnabled           = true;
            _lastOperationColor  = Colors.Transparent;

            _resetCommand = new RelayCommand(Reset, () => _receivedDoubleValue.HasValue);
            _setCommand   = new RelayCommand(Set, () => _doubleValue.HasValue && IsEnabled);
        }
Exemplo n.º 30
0
 public SendableParameterBase(
     int paramIndex,
     string name,
     TRaw?defaultValue,
     IBuilderOneToOne <TRaw, string> stringBuilder,
     string toolTipText,
     IParameterSetter parameterSetter,
     IThreadNotifier uiNotifier,
     IBuilderOneToOne <TRaw, BytesPair> sendConverter)
     : base(paramIndex.ToString(), name, defaultValue, stringBuilder, toolTipText)
 {
     _isEnabled       = true;
     _paramIndex      = paramIndex;
     _parameterSetter = parameterSetter;
     _uiNotifier      = uiNotifier;
     _sendConverter   = sendConverter;
     //_resetCommand = new RelayCommand(Reset, () => ReceivedValueFormatted.HasValue);
     _setCommand = new DependedCommand(Set, () => FormattedValue != null && IsEnabled);
     _setCommand.AddDependOnProp(this, () => FormattedValue);
     _setCommand.AddDependOnProp(this, () => IsEnabled);
     _lastOperationColor = Colors.Transparent;
 }
 public SettableTemperatureParameterViewModel(
     int paramIndex,
     string name,
     double maxValue,
     double minValue,
     double?formattedValue,
     string stringFormat,
     IDoubleBytesPairConverter doubleBytesPairConverter,
     IParameterSetter parameterSetter,
     IThreadNotifier uiNotifier,
     string toolTipText)
     : base(
         paramIndex,
         name,
         maxValue,
         minValue,
         formattedValue,
         stringFormat,
         doubleBytesPairConverter,
         parameterSetter,
         uiNotifier,
         toolTipText)
 {
 }
Exemplo n.º 32
0
 public DynamicMethodCall(object obj, MethodInfo method, IParameterSetter setter)
 {
     _obj = obj;
     _method = method;
     ParamList.Add(setter);
 }
Exemplo n.º 33
0
 public IAsyncResult BeginExecute(IParameterSetter Params, AsyncCallback callback, object obj)
 {
     Exec2 exec = new Exec2(Execute);
     return exec.BeginInvoke(Params, callback, null);
 }
Exemplo n.º 34
0
 public void SetParameter(IParameterSetter setter, object parameter)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 35
0
 public object Execute(IParameterSetter Params)
 {
     return _method.Invoke(_obj, GetParameterList(Method, Params));
 }
Exemplo n.º 36
0
 public IAsyncResult BeginExecute(IParameterSetter paramSetter, AsyncCallback callback, Object obj)
 {
     return new ExecParam(Execute).BeginInvoke(paramSetter, callback, obj);
 }
Exemplo n.º 37
0
 public DelegateMethodCall(Delegate func, IParameterSetter paramSetter)
 {
     Func = func;
     CollParam.Add(paramSetter);
 }
Exemplo n.º 38
0
 public object[] GetParameters(MethodInfo Method, IParameterSetter LastSetter)
 {
     ParameterInfo[] Params = Method.GetParameters();
     object[] Values = new object[Params.Length];
     //TODO: Update to iterate backwards
     for(int i=0; i<Params.Length; ++i)
     {
         if (!SetValue(Params[i], i, ref Values[i]))
             LastSetter.GetParameterValue(Params[i], i, ref Values[i]);
     }
     return Values;
 }
Exemplo n.º 39
0
 public Object Execute(IParameterSetter paramSetter)
 {
     return MethodInfo.Invoke(_Obj, GetParameterList(MethodInfo, paramSetter));
 }
Exemplo n.º 40
0
 public DynamicMethodCall(Object obj, MethodInfo methodInfo, IParameterSetter paramSetter)
 {
     _Obj = obj;
     MethodInfo = methodInfo;
     CollParam.Add(paramSetter);
 }
Exemplo n.º 41
0
 public Object Execute(IParameterSetter paramSetter)
 {
     return Func.DynamicInvoke(GetParameterList(MethodInfo, paramSetter));
 }
 public void SetParameter(IParameterSetter setter, object parameter)
 {
     if (parameter == null)
         setter.Value = null;
     setter.Value = parameter.ToString();
 }
Exemplo n.º 43
0
 protected object[] GetParameterList(MethodInfo Method, IParameterSetter Params)
 {
     ParamList.reset();
     object[] objParams = ParamList.GetParameters(Method, Params);
     return objParams;
 }
Exemplo n.º 44
0
 public object Execute(IParameterSetter Params)
 {
     return f.DynamicInvoke(GetParameterList(Method, Params));
 }
Exemplo n.º 45
0
 protected Object[] GetParameterList(MethodInfo methodInfo, IParameterSetter paramSetter)
 {
     CollParam.Reset();
     return CollParam.GetParameters(methodInfo, paramSetter);
 }
		public void SetParameter(IParameterSetter setter, object parameter)
		{
			setter.Value = parameter.ToString();
		}
Exemplo n.º 47
0
 public void Add(IParameterSetter setter)
 {
     _List.Add(setter);
 }
Exemplo n.º 48
0
        public KsmDataViewModel(IThreadNotifier notifier, IParameterSetter parameterSetter, ICmdListener <IList <BytesPair> > cmdListenerKsmParams)
        {
            _notifier             = notifier;
            _cmdListenerKsmParams = cmdListenerKsmParams;
            _itemsToWrite         = new BlockingCollection <Tuple <int, ushort, Action <Exception> > >();
            _parameterVmList      = new List <IReceivableParameter>
            {
                new KsmReadonlyParamViewModel(0, "Датчик 1wire №1", new TextFormatterSensor(0.01, 0.0, new BytesPair(0x85, 0x00), "f2", "хз", "обрыв")), new KsmReadonlyParamViewModel(1, "Датчик 1wire №2 ", new TextFormatterSensor(0.01, 0.0, new BytesPair(0x85, 0x00), "f2", "хз", "обрыв")), new KsmReadonlyParamViewModel(2, "Датчик 1wire №3", new TextFormatterSensor(0.01, 0.0, new BytesPair(0x85, 0x00), "f2", "хз", "обрыв")), new KsmReadonlyParamViewModel(3, "Датчик 1wire №4", new TextFormatterSensor(0.01, 0.0, new BytesPair(0x85, 0x00), "f2", "хз", "обрыв")), new KsmReadonlyParamViewModel(4, "Датчик 1wire №5", new TextFormatterSensor(0.01, 0.0, new BytesPair(0x85, 0x00), "f2", "хз", "обрыв")), new KsmBitsParameterViewModel(5, "PIC порт A", new TextFormatterBits(UnknownBits), new List <IKsmBitParameterViewModel>
                {
                    new KsmBitParameterViewModel(4, "PA.4 = 0. Подогрев картера, включение"),
                }),
                new KsmBitsParameterViewModel(6, "PIC порт C", new TextFormatterBits(UnknownBits), new List <IKsmBitParameterViewModel>
                {
                    new KsmBitParameterViewModel(2, "PC.2 = 0: Клапан разгрузки кондиционера, включение"),
                    new KsmBitParameterViewModel(6, "PC.6 = 0: Включение реле разрешения подачи питания на компрессор"),
                }),
                new KsmBitsParameterViewModel(7, "Диагностика контроллера (ErrorsFlags)", new TextFormatterBits(UnknownBits), null),
                new KsmReadonlyParamViewModel(8, "Этап работы", new TextFormatterSimple("f2", "хз")),
                new KsmBitsParameterViewModel(9, "Регистр аварий в режиме включено", new TextFormatterBits(UnknownBits), null),
                new KsmBitsParameterViewModel(10, "Регистр аварий в режиме резерв", new TextFormatterBits(UnknownBits), null),
                new KsmBitsParameterViewModel(11, "Регистр аварий в режиме отстой", new TextFormatterBits(UnknownBits), null),
                new KsmBitsParameterViewModel(12, "Регистр аварий в режиме обслуживание", new TextFormatterBits(UnknownBits), null),
                new KsmBitsParameterViewModel(13, "Регистр аварий в режиме мойка", new TextFormatterBits(UnknownBits), null),
                new KsmBitsParameterViewModel(14, "Регистр аварий в режиме ручной", new TextFormatterBits(UnknownBits), null),
                new KsmBitsParameterViewModel(15, "Регистр аварий в режиме выключено", new TextFormatterBits(UnknownBits), null),
                new KsmBitsParameterViewModel(16, "Состояние обмена 1 (ErrorsResponse), 1 = ошибка обмена", new TextFormatterBits(UnknownBits), new List <IKsmBitParameterViewModel>
                {
                    new KsmBitParameterViewModel(0, "b.0 - вычитка текущих данных из МУК заслонки наружного воздуха"),
                    new KsmBitParameterViewModel(1, "b.1 - запись команд в МУК заслонки наружного воздуха"),
                    new KsmBitParameterViewModel(2, "b.2 - вычитка текущих данных из МУК испарителя"),
                    new KsmBitParameterViewModel(3, "b.3 - запись команд в МУК испарителя"),
                    new KsmBitParameterViewModel(4, "b.4 - вычитка текущих данных из МУК конденсатора"),
                    new KsmBitParameterViewModel(5, "b.5 - запись команд в МУК конденсатора"),
                    new KsmBitParameterViewModel(6, "b.6 - вычитка текущих данных из МУК теплого пола"),
                    new KsmBitParameterViewModel(7, "b.7 - запись команд в МУК теплого пола")
                }),
                new KsmBitsParameterViewModel(17, "Состояние обмена 2 (ErrorsResponse), 1 = ошибка обмена", new TextFormatterBits(UnknownBits), new List <IKsmBitParameterViewModel>
                {
                    new KsmBitParameterViewModel(0, "b.0 - обмен с БС-СМ"),
                    new KsmBitParameterViewModel(1, "b.1 - обмен с БВС"),
                    new KsmBitParameterViewModel(2, "b.2 - запись данных в РПД"),
                    new KsmBitParameterViewModel(3, "b.3 - вычитка корректируемого параметра из программы технического абонента"),
                    new KsmBitParameterViewModel(4, "b.4 - отсылка текущих данных техническому абоненту")
                }),
                new KsmReadonlyParamViewModel(18, "Уставка ШИМ на клапан", new TextFormatterSimple("f2", "хз")),
                new KsmReadonlyParamViewModel(19, "Ручной принудительный режим", new TextFormatterSimple("f2", "хз")),
                new KsmBitsParameterViewModel(20, "PIC порт B", new TextFormatterBits(UnknownBits), new List <IKsmBitParameterViewModel>
                {
                    new KsmBitParameterViewModel(1, "PB.1 = 1: аварийное отключение"),
                })
            };

            for (int i = 21; i < 27; ++i)
            {
                _parameterVmList.Add(new KsmReadonlyParamViewModel(i, "Параметр " + i, new TextFormatterSimple("f2", "хз")));
            }

            _parameterVmList.Add(new KsmReadonlyParamViewModel(27, "Версия ПО", new TextFormatterDotted("хз")));

            _parameterVmList.Add(new SettableParameterViewModel(28, "Максимальный ШИМ (PWMmax_cool)", 255, 0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, notifier, null));
            _parameterVmList.Add(new SettableParameterViewModel(29, "Минимальный ШИМ (PWMmin_cool)", 255, 0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, notifier, null));

            _parameterVmList.Add(new SettableParameterViewModel(30, "Дельта + (plus_cool)", 65535, 0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, notifier, null));
            _parameterVmList.Add(new SettableParameterViewModel(31, "Дельта - (minus_cool)", 65535, 0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, notifier, null));

            _parameterVmList.Add(new SettableParameterViewModel(32, "Компрессор,  почасовой счетчик работы", 65535, 0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, notifier, null));
            _parameterVmList.Add(new SettableParameterViewModel(33, "Вентилятор конденсатора, почасовой счетчик работы", 65535, 0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, notifier, null));
            _parameterVmList.Add(new SettableParameterViewModel(34, "Отопитель 380 в., почасовой счетчик работы", 65535, 0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, notifier, null));
            _parameterVmList.Add(new SettableParameterViewModel(35, "Вентилятор приточного воздуха, почасовой счетчик работы", 65535, 0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, notifier, null));
            _parameterVmList.Add(new SettableParameterViewModel(36, "Дельта уставки температуры, отладка, ЦМР 0.1 0 = -2.5, 50 = +2.5", 65535, 0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, notifier, null));

            var converter   = new WarmOrCoolForcedModeToStringConverter();
            var bpConverter = new BuilderOneToOneFunc <BytesPair, string>(bp =>
            {
                try
                {
                    //Console.WriteLine("Need to convert " + bp.HighFirstSignedValue + " to WarmOrCoolForcedMode");
                    return(converter.Build((WarmOrCoolForcedMode)bp.HighFirstSignedValue));
                }
                catch
                {
                    //Console.WriteLine("Cannot convert value " + bp + " to WarmOrCoolForcedMode");
                    return(converter.Build(WarmOrCoolForcedMode.Unknown));
                }
            });

            _parameterVmList.Add(new WarmOrCoolForcedModeViewModel(37, "Принудительный режим обогрев/охлаждение", null, bpConverter,
                                                                   new List <IRawAndConvertedValues <BytesPair, string> >
            {
                new RawAndConvertedValuesSimple <BytesPair, string>(new BytesPair(0, 0), converter.Build(WarmOrCoolForcedMode.AutomaticMode)),
                new RawAndConvertedValuesSimple <BytesPair, string>(new BytesPair(0, 1), converter.Build(WarmOrCoolForcedMode.Cool100Percent)),
                new RawAndConvertedValuesSimple <BytesPair, string>(new BytesPair(0, 2), converter.Build(WarmOrCoolForcedMode.Cool50Percent)),
                new RawAndConvertedValuesSimple <BytesPair, string>(new BytesPair(0, 3), converter.Build(WarmOrCoolForcedMode.Ventilation)),
                new RawAndConvertedValuesSimple <BytesPair, string>(new BytesPair(0, 4), converter.Build(WarmOrCoolForcedMode.Warm100Percent)),
                new RawAndConvertedValuesSimple <BytesPair, string>(new BytesPair(0, 5), converter.Build(WarmOrCoolForcedMode.Warm50Percent))
            },
                                                                   "Режим работы", parameterSetter, _notifier, new BuilderOneToOneFunc <BytesPair, BytesPair>(bp => bp)));

            for (int i = 38; i < 50; ++i)
            {
                _parameterVmList.Add(new SettableParameterViewModel(i, "Параметр", 65535, 0, null, "f0", new DoubleBytesPairConverterSimpleUshort(), parameterSetter, notifier, null));
            }

            DataAsText = new AnyCommandPartViewModel();
            _cmdListenerKsmParams.DataReceived += CmdListenerKsmParamsOnDataReceived;
        }
Exemplo n.º 49
0
 public DelegateMethodCall(Delegate f, IParameterSetter Params)
 {
     _f = f;
     ParamList.Add(Params);
 }