示例#1
0
        public void SetupSequence()
        {
            conf = new BoardConfiguration();
            conf.AddPin(new DPin()
            {
                Number = 0
            });
            conf.AddPin(new DPin()
            {
                Number = 1
            });

            conf.AddSequence(new Sequence()
            {
                Pin   = conf.DigitalPins [0],
                Chain = new List <SequenceOperation> ()
                {
                    new SequenceOperation()
                    {
                        Duration = TimeSpan.FromSeconds(1),
                        State    = DPinState.HIGH
                    },
                    new SequenceOperation()
                    {
                        Duration = TimeSpan.FromSeconds(1),
                        State    = DPinState.HIGH
                    }
                }
            });
        }
示例#2
0
        public void GroupTest()
        {
            var conf = new BoardConfiguration();

            for (uint i = 0; i < 10; i++)
            {
                conf.AddPin(new DPin()
                {
                    Number = i
                });
                conf.AddSequence(new Sequence()
                {
                    Pin       = conf.DigitalPins [(int)i],
                    GroupName = i.ToString()
                });
            }

            Assert.AreEqual(10, conf.SequenceGroups.Count);

            conf.RemoveSequence(5);
            Assert.AreEqual(9, conf.SequenceGroups.Count);

            conf.Sequences [2].GroupName = conf.Sequences [0].GroupName;
            Assert.AreEqual(8, conf.SequenceGroups.Count);
        }
示例#3
0
        public void Setup()
        {
            conf = new BoardConfiguration();

            for (int i = 0; i < 5; i++)
            {
                conf.AddPin(new APin()
                {
                    Number = (uint)i
                });
                conf.AddPin(new DPin()
                {
                    Number = (uint)i
                });
            }
        }
示例#4
0
        public void SetupMeasurementCombination()
        {
            conf = new BoardConfiguration();
            conf.AddPin(new APin()
            {
                Number = 0
            });
            conf.AddPin(new APin()
            {
                Number = 1
            });

            conf.AddMeasurementCombination(new MeasurementCombination()
            {
                Pins = new List <APin> ()
                {
                    conf.AnalogPins [0], conf.AnalogPins [1]
                },
            });
        }
示例#5
0
        public void CSVMappingTest()
        {
            var con = new BoardConfiguration();

            con.AddPin(new APin()
            {
                Number = 1, Name = "Pin1"
            });
            con.AddPin(new APin()
            {
                Number = 2, Name = "Pin2"
            });
            con.AddPin(new APin()
            {
                Number = 3, Name = "Pin3"
            });

            var res = con.CreateMapping();

            Assert.AreEqual(3, res.Keys.Count);
            Assert.AreEqual(0, res [con.Pins [0].DisplayName]);
            Assert.AreEqual(1, res [con.Pins [1].DisplayName]);
            Assert.AreEqual(2, res [con.Pins [2].DisplayName]);

            con.AddMeasurementCombination(new MeasurementCombination()
            {
                Pins = new System.Collections.Generic.List <APin> ()
                {
                    con.Pins [0] as APin, con.Pins [1] as APin
                },
                Name = "MeCom"
            });

            res = con.CreateMapping();

            Assert.AreEqual(4, res.Keys.Count);
            Assert.AreEqual(3, res [con.MeasurementCombinations [0].DisplayName]);
        }
示例#6
0
        public void SerializeBoardConfigTest1()
        {
            var conf = new BoardConfiguration();

            conf.AddPin(new APin()
            {
                Number = 42
            });

            Formator.Serialize(MemStream, conf);
            MemStream.Seek(0, SeekOrigin.Begin);

            var confClone = (BoardConfiguration)Formator.Deserialize(MemStream);

            Assert.AreEqual(conf.Pins[0], confClone.Pins[0]);
        }
示例#7
0
        public void SerializeBoardConfigTest2()
        {
            var conf = new BoardConfiguration();

            conf.Board.AnalogReferenceVoltageType = "INTERNAL";
            conf.Board.AnalogReferenceVoltage     = 4.24;

            var pin = new APin()
            {
                Number = 42
            };

            var MeCom = new MeasurementCombination();

            MeCom.AddPin(pin);


            conf.AddPin(pin);
            conf.AddMeasurementCombination(MeCom);


            Formator.Serialize(MemStream, conf);
            MemStream.Seek(0, SeekOrigin.Begin);

            var confClone = (BoardConfiguration)Formator.Deserialize(MemStream);

            Assert.AreEqual(conf.Pins[0], confClone.Pins[0]);
            Assert.AreEqual(conf.MeasurementCombinations[0], confClone.MeasurementCombinations[0]);
            Assert.AreEqual(4.24, conf.Board.AnalogReferenceVoltage, 0.000000001);
            Assert.AreEqual(4.24, confClone.Board.AnalogReferenceVoltage, 0.000000001);
            Assert.AreEqual("INTERNAL", conf.Board.AnalogReferenceVoltageType);
            Assert.AreEqual("INTERNAL", confClone.Board.AnalogReferenceVoltageType);
            Assert.AreSame(conf.Pins[0], conf.MeasurementCombinations[0].Pins[0]);
            Assert.AreSame(confClone.Pins[0], confClone.MeasurementCombinations[0].Pins[0]);

            conf.Pins[0].Name = "Dulli";
            Assert.AreEqual(conf.Pins[0].Name, conf.MeasurementCombinations[0].Pins[0].Name);
            Assert.AreEqual(19, confClone.AvailableDigitalPins.Length);
            Assert.AreEqual(6, confClone.AvailableAnalogPins.Length);

            conf.ClearPins();
            Assert.AreEqual(0, conf.Pins.Count);
            Assert.AreEqual(0, conf.MeasurementCombinations.Count);
        }
示例#8
0
        public void DPinCloneTest2()
        {
            string name = "TestPin";

            conf = new BoardConfiguration();
            conf.AddPin(new DPin()
            {
                Number = 5,
                Name   = name
            });


            conf.ClonePin(conf.DigitalPins [0]);

            Assert.AreEqual(2, conf.DigitalPins.Count);
            Assert.AreEqual(name, conf.DigitalPins [0].Name);
            Assert.AreEqual(name, conf.DigitalPins [1].Name);

            conf.DigitalPins [0].Name = string.Empty;
            Assert.AreEqual(name, conf.DigitalPins [1].Name);
        }