Example #1
0
        public DeviceSettings(RFIDReader rfid)
        {
            _Parser = new ConfigParser();
            _ReaderAPI = rfid;
            setDefaults();

            //Construct access/post filter with no limit
            _Range = new RssiRangeFilter();
            _AccessFilter = new AccessFilter();
            _AccessFilter.UseRSSIRangeFilter = true;
            _AccessFilter.RssiRangeFilter = _Range;
            _PostFilter = new PostFilter();
            _PostFilter.UseRSSIRangeFilter = true;
            _PostFilter.RssiRangeFilter = _Range;

            //Will trigger inventory with trigger button
            _TriggerInfo = new TriggerInfo();
            _TriggerInfo.StartTrigger.Type = START_TRIGGER_TYPE.START_TRIGGER_TYPE_HANDHELD;
            _TriggerInfo.StartTrigger.Handheld.HandheldEvent = HANDHELD_TRIGGER_EVENT_TYPE.HANDHELD_TRIGGER_PRESSED;
            _TriggerInfo.StopTrigger.Type = STOP_TRIGGER_TYPE.STOP_TRIGGER_TYPE_HANDHELD_WITH_TIMEOUT;
            _TriggerInfo.StopTrigger.Handheld.HandheldEvent = HANDHELD_TRIGGER_EVENT_TYPE.HANDHELD_TRIGGER_RELEASED;

            //Read user membank sequence
            _Op = new TagAccess.Sequence.Operation();
            _Op.AccessOperationCode = ACCESS_OPERATION_CODE.ACCESS_OPERATION_READ;
            _Op.ReadAccessParams.MemoryBank = MEMORY_BANK.MEMORY_BANK_USER;
            _Op.ReadAccessParams.ByteCount = 4;
            _Op.ReadAccessParams.ByteOffset = 0;
            _Op.ReadAccessParams.AccessPassword = 0;
        }
Example #2
0
        //get the connection details
        public bool FunctionRFIDConnection_Parking()
        {
            try
            {
                Parking_readerAPI = new RFIDReader(strParkingIPaddress, Convert.ToUInt32(strParkingPort), 0);
                Parking_readerAPI.Connect();
            }
            catch (Exception ex)
            {
                //MessageBox.Show("Exception : Network Problem or Connection Already Exists...");
                lblErrorMessage.Text = "Exception : Network Problem or Connection Already Exists...";
                //if (ex.Message == "Connect")
                //{
                //    lblErrorMessage.Text = "Exception : Connection Already Exists...";
                //    tnrNetworkConnection.Enabled = false;
                //}
                //else
                //{
                //    lblErrorMessage.Text = "Exception : Network Problem...";
                //}
                btnParkingAreaReaderDisconnect.Enabled = false;
                btnParkingAreaReaderConnect.Enabled    = true;

                return(false);
            }
            try
            {
                if (Parking_readerAPI.IsConnected)
                {
                    Parking_readerAPI.Actions.TagAccess.OperationSequence.DeleteAll();

                    TagAccess.Sequence.Operation op = new TagAccess.Sequence.Operation();
                    op.AccessOperationCode = ACCESS_OPERATION_CODE.ACCESS_OPERATION_READ;

                    op.ReadAccessParams.ByteCount = 0;

                    Parking_readerAPI.Actions.TagAccess.OperationSequence.Add(op);
                    Parking_readerAPI.Actions.TagAccess.OperationSequence.PerformSequence();
                }

                //Parking_readerAPI.Config.GPO[1].PortState = GPOs.GPO_PORT_STATE.TRUE;
                //Parking_readerAPI.Config.GPO[2].PortState = GPOs.GPO_PORT_STATE.TRUE;
                //Parking_readerAPI.Config.GPO[3].PortState = GPOs.GPO_PORT_STATE.TRUE;

                //Thread.Sleep(500);

                //Parking_readerAPI.Config.GPO[1].PortState = GPOs.GPO_PORT_STATE.FALSE;
                //Parking_readerAPI.Config.GPO[2].PortState = GPOs.GPO_PORT_STATE.FALSE;
                //Parking_readerAPI.Config.GPO[3].PortState = GPOs.GPO_PORT_STATE.FALSE;

                tmrParkingArea.Enabled = true;
                nwflag = 0;
                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Exception : " + ex.Message.ToString());
                return(false);
            }
        }
Example #3
0
        public DeviceSettings(RFIDReader rfid)
        {
            _Parser    = new ConfigParser();
            _ReaderAPI = rfid;
            setDefaults();

            //Construct access/post filter with no limit
            _Range        = new RssiRangeFilter();
            _AccessFilter = new AccessFilter();
            _AccessFilter.UseRSSIRangeFilter = true;
            _AccessFilter.RssiRangeFilter    = _Range;
            _PostFilter = new PostFilter();
            _PostFilter.UseRSSIRangeFilter = true;
            _PostFilter.RssiRangeFilter    = _Range;

            //Will trigger inventory with trigger button
            _TriggerInfo = new TriggerInfo();
            _TriggerInfo.StartTrigger.Type = START_TRIGGER_TYPE.START_TRIGGER_TYPE_HANDHELD;
            _TriggerInfo.StartTrigger.Handheld.HandheldEvent = HANDHELD_TRIGGER_EVENT_TYPE.HANDHELD_TRIGGER_PRESSED;
            _TriggerInfo.StopTrigger.Type = STOP_TRIGGER_TYPE.STOP_TRIGGER_TYPE_HANDHELD_WITH_TIMEOUT;
            _TriggerInfo.StopTrigger.Handheld.HandheldEvent = HANDHELD_TRIGGER_EVENT_TYPE.HANDHELD_TRIGGER_RELEASED;

            //Read user membank sequence
            _Op = new TagAccess.Sequence.Operation();
            _Op.AccessOperationCode             = ACCESS_OPERATION_CODE.ACCESS_OPERATION_READ;
            _Op.ReadAccessParams.MemoryBank     = MEMORY_BANK.MEMORY_BANK_USER;
            _Op.ReadAccessParams.ByteCount      = 4;
            _Op.ReadAccessParams.ByteOffset     = 0;
            _Op.ReadAccessParams.AccessPassword = 0;
        }
        //get the connection details
        public bool FunctionRFIDConnection_Parking()
        {
            try
            {
                Parking_readerAPI = new RFIDReader(strReaderIPaddress, Convert.ToUInt32(strReaderPort), 0);
                Parking_readerAPI.Connect();
            }
            catch (Exception ex)
            {
                //MessageBox.Show("Exception : Network Problem or Connection Already Exists...");
                lblErrorMessageText.Text = "Exception : Connection Already Exists...";
                classLog.writeLog("Error @: Connection Already Exists with the reader. Please check.");
                btnDisconnect.Enabled = false;
                btnConnect.Enabled    = true;

                return(false);
            }
            try
            {
                if (Parking_readerAPI.IsConnected)
                {
                    Parking_readerAPI.Actions.TagAccess.OperationSequence.DeleteAll();

                    TagAccess.Sequence.Operation op = new TagAccess.Sequence.Operation();
                    op.AccessOperationCode = ACCESS_OPERATION_CODE.ACCESS_OPERATION_READ;

                    op.ReadAccessParams.ByteCount = 0;

                    Parking_readerAPI.Actions.TagAccess.OperationSequence.Add(op);
                    Parking_readerAPI.Actions.TagAccess.OperationSequence.PerformSequence();
                }

                //Parking_readerAPI.Config.GPO[1].PortState = GPOs.GPO_PORT_STATE.TRUE;
                //Parking_readerAPI.Config.GPO[2].PortState = GPOs.GPO_PORT_STATE.TRUE;
                //Parking_readerAPI.Config.GPO[3].PortState = GPOs.GPO_PORT_STATE.TRUE;

                //Thread.Sleep(500);

                //Parking_readerAPI.Config.GPO[1].PortState = GPOs.GPO_PORT_STATE.FALSE;
                //Parking_readerAPI.Config.GPO[2].PortState = GPOs.GPO_PORT_STATE.FALSE;
                //Parking_readerAPI.Config.GPO[3].PortState = GPOs.GPO_PORT_STATE.FALSE;
                Parking_readerAPI.Config.GPO[classGlobalVariables.AntenaSet1Loc_RedLight_GPIO_PortNo].PortState = GPOs.GPO_PORT_STATE.TRUE;
                Parking_readerAPI.Config.GPO[classGlobalVariables.AntenaSet2Loc_RedLight_GPIO_PortNo].PortState = GPOs.GPO_PORT_STATE.TRUE;

                timerReader.Enabled = true;
                nwflag = 0;
                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Exception : " + ex.Message.ToString());
                return(false);
            }
        }
Example #5
0
        //get the connection details
        public bool FunctionRFIDConnection_PortEntry()
        {
            try
            {
                PortEntry_readerAPI = new RFIDReader(strPortEntryIPaddress, Convert.ToUInt32(strPortEntryPort), 0);
                PortEntry_readerAPI.Connect();
            }
            catch (Exception ex)
            {
                lblErrorMessage.Text = "Exception : Network Problem or Connection Already Exists...";
                btnPortEntryAreaReaderDisconnect.Enabled = false;
                btnPortEntryAreaReaderConnect.Enabled    = true;
                return(false);
            }
            try
            {
                if (PortEntry_readerAPI.IsConnected)
                {
                    PortEntry_readerAPI.Actions.TagAccess.OperationSequence.DeleteAll();

                    TagAccess.Sequence.Operation op = new TagAccess.Sequence.Operation();
                    op.AccessOperationCode = ACCESS_OPERATION_CODE.ACCESS_OPERATION_READ;

                    op.ReadAccessParams.ByteCount = 0;

                    PortEntry_readerAPI.Actions.TagAccess.OperationSequence.Add(op);
                    PortEntry_readerAPI.Actions.TagAccess.OperationSequence.PerformSequence();
                }

                tmrPortEntryArea.Enabled = true;
                nwflag = 0;
                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Exception : " + ex.Message.ToString());
                return(false);
            }
        }
        //get the connection details
        public bool FunctionRFIDConnection_Parking()
        {
            try
            {
                Parking_readerAPI = new RFIDReader(strParkingIPaddress, Convert.ToUInt32(strParkingPort), 0);
                Parking_readerAPI.Connect();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Exception : Connection Already Exists...");
                return(false);
            }
            try
            {
                if (Parking_readerAPI.IsConnected)
                {
                    Parking_readerAPI.Actions.TagAccess.OperationSequence.DeleteAll();

                    TagAccess.Sequence.Operation op = new TagAccess.Sequence.Operation();
                    op.AccessOperationCode = ACCESS_OPERATION_CODE.ACCESS_OPERATION_READ;

                    op.ReadAccessParams.ByteCount = 0;

                    Parking_readerAPI.Actions.TagAccess.OperationSequence.Add(op);
                    Parking_readerAPI.Actions.TagAccess.OperationSequence.PerformSequence();
                }

                tmrParkingArea.Enabled = true;

                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Exception : " + ex.Message.ToString());
                return(false);
            }
        }
        /// <summary>
        /// 打开读取器连接
        /// </summary>
        /// <returns></returns>
        public ReturnMessage OpenReaderConnection()
        {
            ReturnMessage returnMsg = new ReturnMessage();

            if (m_RFIDReader == null)
            {
                returnMsg.CallStatus  = false;
                returnMsg.CallMessage = "读取器开启失败 : 读取器对象为空.";
                //日志记录
                DeclaimerReaderLog.Error("[读取器开启失败 : 读取器对象为空.] ==== [" + DateTime.Now.ToString() + "]");
            }

            try
            {
                if (!m_RFIDReader.IsConnected)
                {
                    //连接操作
                    m_RFIDReader.Connect();
                    //允许开始读取
                    IsAllowStartRead = true;
                    //设置功率
                    returnMsg = SetReaderPower(this.ReaderPowerList);
                    //日志记录
                    DeclaimerReaderLog.Info("[" + returnMsg.CallMessage + "] ==== [" + DateTime.Now.ToString() + "]");
                    SetReaderAntennas(this.ReaderAntennasList);
                }

                m_IsReading = false;

                if (m_RFIDReader != null)
                {
                    m_RFIDReader.Actions.TagAccess.OperationSequence.DeleteAll();
                    TagAccess.Sequence.Operation op = new TagAccess.Sequence.Operation();
                    op.AccessOperationCode             = ACCESS_OPERATION_CODE.ACCESS_OPERATION_READ;
                    op.ReadAccessParams.MemoryBank     = (MEMORY_BANK)3; // 3 user区
                    op.ReadAccessParams.ByteCount      = 0;
                    op.ReadAccessParams.ByteOffset     = 0;
                    op.ReadAccessParams.AccessPassword = 0;
                    m_RFIDReader.Actions.TagAccess.OperationSequence.Add(op);
                }

                try
                {
                    TagStorageSettings tagStorageSettings = m_RFIDReader.Config.GetTagStorageSettings();
                    tagStorageSettings.DiscardTagsOnInventoryStop = true;
                    m_RFIDReader.Config.SetTagStorageSettings(tagStorageSettings);

                    /*
                     *  Events Registration
                     */
                    m_RFIDReader.Events.AttachTagDataWithReadEvent = false;
                    //读取回调
                    m_RFIDReader.Events.ReadNotify += new Events.ReadNotifyHandler(Events_ReadNotify);
                    //状态回调
                    //m_RFIDReader.Events.StatusNotify += new Events.StatusNotifyHandler(Events_StatusNotify);
                    m_RFIDReader.Events.NotifyBufferFullWarningEvent = true;
                    m_RFIDReader.Events.NotifyBufferFullEvent        = true;
                    m_RFIDReader.Events.NotifyReaderDisconnectEvent  = true;
                    m_RFIDReader.Events.NotifyAccessStartEvent       = true;
                    m_RFIDReader.Events.NotifyAccessStopEvent        = true;
                    m_RFIDReader.Events.NotifyInventoryStartEvent    = true;
                    m_RFIDReader.Events.NotifyInventoryStopEvent     = true;
                    m_RFIDReader.Events.NotifyReaderExceptionEvent   = true;
                    m_RFIDReader.Events.NotifyHandheldTriggerEvent   = false;
                }
                catch (OperationFailureException ofe)
                {
                    returnMsg.CallStatus  = false;
                    returnMsg.CallMessage = "Connect Configuration : " + ofe.VendorMessage;
                    //日志记录
                    DeclaimerReaderLog.Error("[" + returnMsg.CallMessage + "] ==== [" + DateTime.Now.ToString() + "]");
                }
            }
            catch (OperationFailureException ofe)
            {
                returnMsg.CallStatus  = false;
                returnMsg.CallMessage = "Connect Error : " + ofe.StatusDescription;
                //日志记录
                DeclaimerReaderLog.Error("[" + returnMsg.CallMessage + "] ==== [" + DateTime.Now.ToString() + "]");
            }
            return(returnMsg);
        }