示例#1
0
        public void TestParseResult()
        {
            DbAccessorHelper.Init(new MsDbAccessor(connstr));// 配置
            // X U 0 0 3 0 0 2
            var bts = ValueHelper.StrToToHexByte("32 55 30 30 33 30 30 32");
            var s   = new Sensor()
            {
                ModuleNo = 2
            };

            s.AddParameter(new SensorParam(new FormulaParam())
            {
                Value = 0.002
            });
            var res = new SensorAcqResult
            {
                Response = bts,
                Sensor   = s
            };

            var sa = new FTM50SSmallLaserSensorAdapter();

            sa.ParseResult(ref res);
            var data = res.Data;

            Assert.IsNotNull(data);
            Assert.AreEqual(3.002, data.RawValues[0], 0.0000001);
            Assert.AreEqual(3000.000, data.PhyValues[0], 0.0000001);
            bts = ValueHelper.StrToToHexByte("32 55 30 46 33 59 30 32");
            Trace.WriteLine(res.Data.JsonResultData);
            res.Response = bts;
            try
            {
                sa.ParseResult(ref res);
            }
            catch
            {
            }

            Assert.AreEqual((int)Errors.ERR_DATA_PARSEFAILED, res.ErrorCode);
            Trace.WriteLine(res.Data.JsonResultData);
            bts          = ValueHelper.StrToToHexByte("32 56 30 46 33 59 30 32");
            res.Response = bts;
            sa.ParseResult(ref res);
            Assert.AreEqual((int)Errors.ERR_INVALID_DATA, res.ErrorCode);
            Trace.WriteLine(res.Data.JsonResultData);
        }
示例#2
0
        public void TestRequest()
        {
            var sa = new FTM50SSmallLaserSensorAdapter();
            var r  = this.GetSensorAcqResult();

            var s = new Sensor
            {
                ModuleNo = 2
            };

            r.Sensor = s;
            sa.Request(ref r);
            var bts = r.Request;

            Assert.AreEqual(0xcc, bts[0]);
            Assert.AreEqual(0x02, bts[1]);
        }