Exemplo n.º 1
0
        public virtual bool ConnectReader()
        {
            reader.OnTagReported += Reader_OnTagReported;
            bool result = reader.Connect(readerIp, Xindeco.Device.Model.ConnectType.TCP, WindowsFormsSynchronizationContext.Current);

            if (result)
            {
                Xindeco.Device.Model.ReaderConfig config = new Xindeco.Device.Model.ReaderConfig();
                config.SearchMode = SysConfig.ReaderConfig.SearchMode;
                config.Session    = SysConfig.ReaderConfig.Session;
                if (config.AntennaList == null)
                {
                    config.AntennaList = new List <Xindeco.Device.Model.ReaderAntenna>();
                }
                if (SysConfig.ReaderConfig.UseAntenna1)
                {
                    config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(1, true, SysConfig.ReaderConfig.AntennaPower1));
                }
                else
                {
                    config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(1, false, SysConfig.ReaderConfig.AntennaPower1));
                }

                if (SysConfig.ReaderConfig.UseAntenna2)
                {
                    config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(2, true, SysConfig.ReaderConfig.AntennaPower2));
                }
                else
                {
                    config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(2, false, SysConfig.ReaderConfig.AntennaPower2));
                }

                if (SysConfig.ReaderConfig.UseAntenna3)
                {
                    config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(3, true, SysConfig.ReaderConfig.AntennaPower3));
                }
                else
                {
                    config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(3, false, SysConfig.ReaderConfig.AntennaPower3));
                }

                if (SysConfig.ReaderConfig.UseAntenna4)
                {
                    config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(4, true, SysConfig.ReaderConfig.AntennaPower4));
                }
                else
                {
                    config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(4, false, SysConfig.ReaderConfig.AntennaPower4));
                }
                reader.SetParameter(config);
            }
            return(result);
        }
Exemplo n.º 2
0
        public virtual bool ConnectReader()
        {
            if (SysConfig.mReaderType == READER_TYPE.READER_IMP)
            {
                reader.OnTagReported += Reader_OnTagReported;
                bool result = reader.Connect(readerIp, Xindeco.Device.Model.ConnectType.TCP, WindowsFormsSynchronizationContext.Current);
                if (result)
                {
                    Xindeco.Device.Model.ReaderConfig config = new Xindeco.Device.Model.ReaderConfig();
                    config.SearchMode = SysConfig.ReaderConfig.SearchMode;
                    config.Session    = SysConfig.ReaderConfig.Session;
                    if (config.AntennaList == null)
                    {
                        config.AntennaList = new List <Xindeco.Device.Model.ReaderAntenna>();
                    }
                    if (SysConfig.ReaderConfig.UseAntenna1)
                    {
                        config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(1, true, SysConfig.ReaderConfig.AntennaPower1));
                    }
                    else
                    {
                        config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(1, false, SysConfig.ReaderConfig.AntennaPower1));
                    }

                    if (SysConfig.ReaderConfig.UseAntenna2)
                    {
                        config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(2, true, SysConfig.ReaderConfig.AntennaPower2));
                    }
                    else
                    {
                        config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(2, false, SysConfig.ReaderConfig.AntennaPower2));
                    }

                    if (SysConfig.ReaderConfig.UseAntenna3)
                    {
                        config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(3, true, SysConfig.ReaderConfig.AntennaPower3));
                    }
                    else
                    {
                        config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(3, false, SysConfig.ReaderConfig.AntennaPower3));
                    }

                    if (SysConfig.ReaderConfig.UseAntenna4)
                    {
                        config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(4, true, SysConfig.ReaderConfig.AntennaPower4));
                    }
                    else
                    {
                        config.AntennaList.Add(new Xindeco.Device.Model.ReaderAntenna(4, false, SysConfig.ReaderConfig.AntennaPower4));
                    }
                    reader.SetParameter(config);
                }
                return(result);
            }
            if (SysConfig.mReaderType == READER_TYPE.READER_TM)
            {
                bool re = false;
                try
                {
                    Reader.SetSerialTransport("tcp", SerialTransportTCP.CreateSerialReader);
                    mReaderTM          = Reader.Create(string.Format("tcp://{0}", SysConfig.mReaderTmIp));
                    mReaderTM.TagRead += tagsReportedTM;

                    mReaderTM.Connect();

                    configTM(SysConfig.mReaderTmPower);

                    re = true;
                }
                catch (Exception)
                {
                    re = false;
                }

                return(re);
            }
            return(false);
        }