Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PrototypeBackend.BoardConfiguration"/> class.
        /// </summary>
        /// <param name="info">Info.</param>
        /// <param name="context">Context.</param>
        public BoardConfiguration(SerializationInfo info, StreamingContext context)
        {
            OnPinsUpdated = null;
            OnBoardUpdated = null;
            OnSequencesUpdated = null;
            OnSignalsUpdated = null;

            board = new Board ();
            Pins = new List<IPin> ();
            MeasurementCombinations = new List<MeasurementCombination> ();
            Sequences = new List<Sequence> ();

            board = (Board)info.GetValue ("Board", board.GetType ());
            Pins = (List<IPin>)info.GetValue ("Pins", Pins.GetType ());
            MeasurementCombinations = (List<MeasurementCombination>)info.GetValue ("MeasurementCombinations", MeasurementCombinations.GetType ());
            Sequences = (List<Sequence>)info.GetValue ("Sequences", Sequences.GetType ());
            ConfigSavePath = info.GetString ("ConfigSavePath");
            CSVSaveFolderPath = info.GetString ("CSVSaveFolderPath");
            UseMarker = info.GetBoolean ("UseMarker");
            LogRAWValues = info.GetBoolean ("LogRAWValues");

            Separator = info.GetString ("CSVSeparator");
            EmptyValueFilling = info.GetString ("EmptyValueFilling");
            UTCTimestamp = info.GetBoolean ("UTCTimestamp");
            LocalTimestamp = info.GetBoolean ("LocalTimestamp");
            TimeFormat = info.GetString ("TimeFormat");
            FileNameConvention = ((List<string>)info.GetValue ("FileNameConvention", new List<string> ().GetType ())).ToArray<string> ();
            FileNameTimeFormat = info.GetString ("FileNameTimeFormat");
            FileNameDateFormat = info.GetString ("FileNameDateFormat");
            ValueFormatCultur = info.GetString ("ValueFormatCultur");
        }
Пример #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PrototypeBackend.Sequence"/> class.
        /// </summary>
        /// <param name="info">Info.</param>
        /// <param name="context">Context.</param>
        public Sequence(SerializationInfo info, StreamingContext context)
        {
            Pin = new DPin ();
            Pin = (DPin)info.GetValue ("Pin", Pin.GetType ());

            Name = info.GetString ("Name");

            GroupName = info.GetString ("GroupName");

            Chain = new List<SequenceOperation> ();
            Chain = (List<SequenceOperation>)info.GetValue ("Chain", Chain.GetType ());

            Repetitions = info.GetInt32 ("Repetitions");

            Color = new Gdk.Color (info.GetByte ("RED"), info.GetByte ("GREEN"), info.GetByte ("BLUE"));
        }
Пример #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PrototypeBackend.MeasurementCombination"/> class.
        /// </summary>
        /// <param name="info">Info.</param>
        /// <param name="context">Context.</param>
        public MeasurementCombination(SerializationInfo info, StreamingContext context)
        {
            Pins = new List<APin> ();
            Pins = (List<APin>)info.GetValue ("Pins", Pins.GetType ());

            Name = info.GetString ("Name");
            Unit = info.GetString ("Unit");
            Color = new Gdk.Color (info.GetByte ("RED"), info.GetByte ("GREEN"), info.GetByte ("BLUE"));
            MeanValuesCount = info.GetInt32 ("Interval");

            OperationString = info.GetString ("OperationString");
            if (!string.IsNullOrEmpty (OperationString) && Pins.Count > 0 && Pins.All (o => o != null))
            {
                try
                {
                    Operation = OperationCompiler.CompileOperation (OperationString, Pins.Select (o => o.DisplayNumberShort).ToArray<string> ());
                } catch (Exception e)
                {
                    throw e;
                }
            }

            Values = new List<DateTimeValue> ();
        }