Beispiel #1
0
        public void TestArrayStatus()
        {
            //Ordered Accelerometers 1,2,3,...,n (ch1,ch2,ch3 gvalues)
            var testdata = new double[] {
                -0.01, 0.65, 0.07,
                -0.02, 0.77, 0.01,
                0, 0.34, 0.04,
                -0.02, 0.3, 0.03,
                0.01, 0.31, 0.05,
                -0.04, 0.33, 0.05,
                0.03, 0.37, 0.06,
                0.02, 0.38, 0.04,
                0.05, 0.31, 0.06,
                0.02, 0.32, 0.05,
                0.02, 0.34, 0.01,
                0, 0.35, 0.04,
                0, 0.34, 0.05,
                0.05, 0.34, 0.04,
                0.01, 0.34, 0.02,
                -0.02, 0.37, 0.03,
                -0.01, 0.34, 0.03,
                -0.01, 0.38, 0.05,
                0.01, 0.35, 0.05,
                -0.01, 0.35, 0.03,
                0.06, -1.03, 0.01,
                0, -1.03, 0.04,
                0.02, -1, -0.01,
                0, -1, -0.07,
                0.01, -0.98, -0.05,
                0.03, -1, -0.07,
                0, -1.02, -0.02,
                0.01, -1.03, -0.04,
                0, -1, -0.02,
                0.02, -1.03, -0.03,
                0.03, -1, -0.04,
                0.05, -1, 0,
                -0.01, -1, -0.04,
                0.01, -0.99, -0.03,
                -0.25, -1.18, -0.31,
                -0.03, -0.99, -0.07,
                0.03, -1.01, -0.01,
                0.02, -1.01, -0.03,
                0.04, -1.02, -0.01,
                -0.06, -1, -0.07,
                0.03, 0.33, 0.04,
                -0.04, -1.05, -0.03
            };
            int RESULT = 0;


            //gvalue = ((value - zero) / gain);
            //value = (gvalue * gain) + zero

            //go through all channels and manually update to test data
            foreach (KeyValuePair <int, Accelerometer> a in Accelerometer.accrs)
            {
                int    n;
                double d, bdata;

                for (int i = 0; i < 3; i++)
                {
                    n     = (a.Value.number - 1) * 3 + i; //acc num 1 based -> -1
                    d     = testdata[n];                  //tracknumber 0 based
                    bdata = d * a.Value.channels[i].gain + a.Value.channels[i].zero;
                    a.Value.channels[i].value = (int)Math.Round(bdata, 0);
                }
            }

            string str = Accelerometer.toHTML();

            int status = Accelerometer.ArrayStatus();

            Assert.IsTrue(status == RESULT);
        }