Esempio n. 1
0
        /// <summary>
        /// This function fires when the center trigger on the IP4 is pulled or released
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="EvtArgs"></param>
        void brdr_EventHandlerCenterTrigger(object sender, EVT_CenterTrigger_EventArgs EvtArgs)
        {
            if (m_Reader.IsConnected == false)
            {
                //irda connection is still asleep after a 700 resume
                ChangeStatus(eStatus.Offline);
                return;
            }

            if (EvtArgs.CenterTriggerState.Equals(EVT_CenterTrigger_EventArgs.STATE.PULLED))
            {
                if ((CurrentStatus == eStatus.WriteTag) || (CurrentStatus == eStatus.WriteTagError))
                {
                    //R TAGID
                    //->H112233445566778899001122 HE2001040
                    //  ----- data = EPCID ------ - TAGID -
                    //W TAGID EPCID=H112233445566778899001122 WHERE TAGID=HE2001040
                    //->H112233445566778899001122 HE2001040 WROK

                    //sCurrentCMD = "W TAGID HEX(1:4,12)=H" + sHexCurrentEPCID;//
                    try
                    {
                        //change data
                        vwTag.sFilter     = sFilter;
                        vwTag.iSupplierID = UInt32.Parse(sSupplierID);
                        vwTag.iItemNumber = UInt32.Parse(sItemNumber);
                        if (m_bBoxIDEnabled)
                        {
                            vwTag.BoxID = UInt32.Parse(txtBoxID.Text);
                        }
                        sHexCurrentEPCID = vwTag.GetHex();
                    }
                    catch (SystemException sx)
                    {
                        Add2List("Error in building TagData" + sx.Message);
                        ChangeStatus(eStatus.InvalidTag);
                        return;
                    }
                    //"34AC2FA98811D6F345400001"
                    //Binary: 001101001010110000101111101010011000100000010001110101101111001101000101010000000000000000000001
                    //string: 100001000001000100010100000000010001010111011001100100001101101000011010101000101100100011101100
                    //5J UN 04-997-7473 123456789
                    sCurrentCMD = "W TAGID EPCID=H" + sHexCurrentEPCID + " WHERE TAGID=H" + sHexCurrentTagID;;
                    if (ExecuteCMD(sCurrentCMD))
                    {
                        Add2List("OK");
                    }
                    else
                    {
                        Add2List("failed");
                    }
                }
                else if (CurrentStatus == eStatus.ReadTag | CurrentStatus == eStatus.InvalidTag)
                {
                    sCurrentCMD = "READ TAGID";
                    if (ExecuteCMD(sCurrentCMD))
                    {
                        Add2List("OK");
                    }
                    else
                    {
                        Add2List("failed");
                    }
                }

                else if (CurrentStatus == eStatus.TooManyTags)
                {
                    sCurrentCMD = "READ TAGID";
                    if (ExecuteCMD(sCurrentCMD))
                    {
                        Add2List("OK");
                    }
                    else
                    {
                        Add2List("failed");
                    }
                }
                else if (CurrentStatus == eStatus.ReadBarcode | CurrentStatus == eStatus.BarCodeErr)
                {
                    m_BCreader.ScannerOn = true;
                }
            }
            else if (EvtArgs.CenterTriggerState.Equals(EVT_CenterTrigger_EventArgs.STATE.RELEASED))
            {
                if (CurrentStatus == eStatus.ReadBarcode)
                {
                    m_BCreader.ScannerOn = false;
                }
                //StopRead();
            }
        }