示例#1
0
        public void TestRequestInclinometr()
        {
            ISensorAdapter ci = new Inclination_ROD_SensorAdapter();
            // 00 16 20 f0 01 42 a4
            // 8432
            Sensor s = new Sensor();

            s.ModuleNo = 8432;
            int err;
            var r = this.GetSensorAcqResult();

            r.Sensor = s;
            ci.Request(ref r);
            var buff = r.Request;

            Assert.AreEqual(7, buff.Length);
            Assert.AreEqual(buff[0], 0x00);
            Assert.AreEqual(buff[1], 0x16);
            Assert.AreEqual(buff[2], 0x20);
            Assert.AreEqual(buff[3], 0xf0);
            Assert.AreEqual(buff[4], 0x01);
            Assert.AreEqual(buff[5], 0x42);
            Assert.AreEqual(buff[6], 0xa4);

            ci = new Inclination_BOX_SensorAdapter();
            // 00 16 20 f0 01 42 a4
            // 8432
            s          = new Sensor();
            s.ModuleNo = 8432;
            r.Sensor   = s;
            ci.Request(ref r);
            buff = r.Request;
            Assert.AreEqual(7, buff.Length);
            Assert.AreEqual(buff[0], 0x00);
            Assert.AreEqual(buff[1], 0x15);
            Assert.AreEqual(buff[2], 0x20);
            Assert.AreEqual(buff[3], 0xf0);
            Assert.AreEqual(buff[4], 0x01);
            Assert.AreEqual(buff[5], 0x06);
            Assert.AreEqual(buff[6], 0xa4);
        }
示例#2
0
        public void TestParseInclinometrResponse()
        {
            DbAccessorHelper.Init(new MsDbAccessor(connstr));// 配置
            ISensorAdapter ci = new Inclination_ROD_SensorAdapter();
            string         bs = "001626c68184def28aa5120d61ffdacfbeffc22929f831";

            byte[] buff = ValueHelper.ToBytes(bs);
            var    r    = new SensorAcqResult()
            {
                ErrorCode = (int)Errors.SUCCESS,
                Response  = buff,
                Sensor    = new Sensor()
                {
                    ModuleNo    = 9926,
                    TableColums = "Angle_X,Angle_Y"
                }
            };

            ci.ParseResult(ref r);
            var data = r.Data;

            Assert.IsNotNull(r.Data);
            Assert.AreEqual(-2.437186f, data.RawValues[0]);
            Assert.AreEqual(-4.052695f, data.RawValues[1]);

            ci         = new Inclination_BOX_SensorAdapter();
            bs         = "001626c68184def28aa5120d61ffdacfbeffc22929f831";
            buff       = ValueHelper.ToBytes(bs);
            r.Response = buff;
            try
            {
                ci.ParseResult(ref r);
            }
            catch
            {
                throw;
            }

            Assert.IsNotNull(data);
            r.Response = null;
            ci.ParseResult(ref r);
            Assert.IsNotNull(data);
            bs         = "001626c68184def28aa5120d61ffdacfbeffc22929";
            buff       = ValueHelper.ToBytes(bs);
            r.Response = buff;
            ci.ParseResult(ref r);
            Assert.IsNotNull(data);


            bs   = "001526c68184def28aa5120d61ffdacfbeffc229290752";
            buff = ValueHelper.StrToToHexByte("00 15 22 28 81 8F EA 0D 71 0E 40 0F CB FF F5 08 77 FF F9 6B 7B 78 9E");
            r    = new SensorAcqResult()
            {
                ErrorCode = (int)Errors.SUCCESS,
                Response  = buff,
                Sensor    = new Sensor()
                {
                    ModuleNo    = 8744,
                    TableColums = "Angle_X,Angle_Y"
                }
            };
            ci.ParseResult(ref r);
            data = r.Data;
            Assert.IsNotNull(data);
            Assert.AreEqual(-0.718729f, data.RawValues[0], 0.000001);
            Assert.AreEqual(-0.431237f, data.RawValues[1], 0.000001);
        }