Esempio n. 1
0
        public void Test_reading_resistance()
        {
            var reading = new TenmaReader.Reading("109973802");

            //Debug.WriteLine($"{reading.value} {reading.units}");
            Assert.AreEqual(reading.units, "kΩ");
            Assert.AreEqual(reading.value, 0.997);
        }
Esempio n. 2
0
        public void Test_reading_voltage()
        {
            var reading = new TenmaReader.Reading("04954;80:");

            //Debug.WriteLine($"{reading.value} {reading.units} ({reading.multiplier})");
            Assert.AreEqual(reading.units, "V");
            Assert.AreEqual(reading.value, 4.954);
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            // I measured these in real life with the meter

            var codesAndValues = new List <Tuple <string, double> >
            {
                // voltage (V)
                Tuple.Create("00114;80:", +0.114),
                Tuple.Create("00112;80:", +0.112),
                Tuple.Create("00097;80:", +0.097),
                Tuple.Create("00014;80:", +0.014),
                Tuple.Create("00001;80:", +0.001),
                Tuple.Create("00004;808", +0.004),
                Tuple.Create("00000;<0:", -0.000),
                Tuple.Create("00000;80:", +0.000),
                Tuple.Create("10627;80:", +06.27),
                Tuple.Create("10626;<0:", -06.26),
                Tuple.Create("11643;80:", +16.43),
                Tuple.Create("40025;808", +002.5 * 1e-3),
                Tuple.Create("40034;808", +003.4 * 1e-3),

                // capacitance (nF)
                Tuple.Create("000726802", 0.072),
                Tuple.Create("011246802", 1.124),
                Tuple.Create("155366802", 55.36),
                Tuple.Create("421886802", 21.88),
                Tuple.Create("510136802", 101.3 * 1e3),

                // resistance (Ohms)
                Tuple.Create("000033802", 000.3),
                Tuple.Create("000183802", 001.8),
                Tuple.Create("015943802", 159.4),
                Tuple.Create("107843802", 0.784 * 1e3),
                Tuple.Create("107823802", 0.782 * 1e3),
                Tuple.Create("121733802", 2.173 * 1e3),
                Tuple.Create("155393802", 5.539 * 1e3),
                Tuple.Create("209493802", 09.49 * 1e3),
                Tuple.Create("210403802", 10.40 * 1e3),
                Tuple.Create("304733802", 047.3 * 1e3),
                Tuple.Create("426223802", 2.622 * 1e6),
                Tuple.Create("560003902", double.PositiveInfinity),

                // temperature (C)
                Tuple.Create("000224800", +22.0),
                Tuple.Create("000234800", +23.0),

                // low current (mA)
                Tuple.Create("00000?<0:", -0.00),
                Tuple.Create("00000?80:", +0.00),

                // high current (A)
                Tuple.Create("000009<08", -0.00),
                Tuple.Create("000009808", +0.00),

                // frequency (Hz)
                Tuple.Create("000002802", 0.0),
                Tuple.Create("000252802", 25.0),
                Tuple.Create("428702802", 28.70 * 1e6),
            };

            foreach (var codeAndValue in codesAndValues)
            {
                var    reading       = new TenmaReader.Reading(codeAndValue.Item1);
                double measuredValue = codeAndValue.Item2;
                double error         = Math.Abs(reading.value - (float)measuredValue);
                if (error > 1e-12)
                {
                    Console.WriteLine($"{reading.code} ERROR: {measuredValue} != {reading.value}");
                }
                else
                {
                    Console.WriteLine($"{reading.code} = {reading}");
                }
            }
        }