Exemplo n.º 1
0
        public void ParseRsp(ProtocolStruct Data)
        {
            switch (Data.Code)
            {
            case PassiveRcp.RCP_CMD_PARA:
                if (Data.Length > 0 && Data.Type == 0)
                {
                    PBasicParameters ppTemp = new PBasicParameters();
                    ppTemp.AddRange(Data.Payload);
                    ShowBasicParametersPnfo(ppTemp);
                    SystemPub.ADRcp.CommMode = ppTemp.WorkMode == 2 ? CommMode.ACTIVE : CommMode.PASSIVE;
                    if (UserSettings.Communication == UserSettings.CommType.USB)
                    {
                        if (!SystemPub.ADRcp.SendBytePkt(PassiveRcp.GetOutCard(SystemPub.ADRcp.Address)))
                        {
                        }
                    }
                }
                else if (Data.Type == 0)
                {
                    SystemPub.ADRcp.CommMode = cmbWorkMode.SelectedIndex == 1 ? CommMode.ACTIVE : CommMode.PASSIVE;
                    if (UserSettings.Communication == UserSettings.CommType.USB || grbOutType.Visible)
                    {
                        if (!SystemPub.ADRcp.SendBytePkt(PassiveRcp.SetOutCard(SystemPub.ADRcp.Address, (byte)(cmbOutType.SelectedIndex + 1), (byte)((cmbOutLen.SelectedIndex * 2) + 6), (byte)(chkEnter.Checked ? 1 : 0))))
                        {
                        }
                    }
                }
                break;

            case PassiveRcp.RCP_CMD_OUTCARD:
                if (Data.Length > 0)
                {
                    cmbOutType.SelectedIndex = Data.Payload[0] - 1;
                    cmbOutLen.Text           = Data.Payload[1].ToString();
                    chkEnter.Checked         = Data.Payload[2] > 0 ? true : false;
                }
                break;
            }
        }
Exemplo n.º 2
0
        private PBasicParameters GetBasicParametersPnfo()
        {
            PBasicParameters bpiTemp = new PBasicParameters();

            bpiTemp.PowerSize = (byte)cmbPowerSize.SelectedIndex;

            bpiTemp.HoppingEnable = (byte)cmbFreqHopping.SelectedIndex;
            bpiTemp.FixedFreq     = (byte)cmbFixedFreq.SelectedIndex;

            int intStep = (cmbHopping6.SelectedIndex - cmbHopping1.SelectedIndex) / 5;

            if (intStep < 1)
            {
                intStep = 1;
            }
            bpiTemp.Hopping1 = (byte)cmbHopping1.SelectedIndex;
            bpiTemp.Hopping2 = (byte)(cmbHopping1.SelectedIndex + intStep);
            bpiTemp.Hopping3 = (byte)(cmbHopping1.SelectedIndex + intStep * 2);
            bpiTemp.Hopping4 = (byte)(cmbHopping1.SelectedIndex + intStep * 3);
            bpiTemp.Hopping5 = (byte)(cmbHopping1.SelectedIndex + intStep * 4);
            bpiTemp.Hopping6 = (byte)cmbHopping6.SelectedIndex;

            bpiTemp.WorkMode     = (byte)(cmbWorkMode.SelectedIndex + 1);
            bpiTemp.ReadInterval = (byte)nudReadInterval.Value;
            bpiTemp.Trigger      = (byte)(cmbTrigger.SelectedIndex);

            //lstByte.Add( Convert.ToByte(5));
            bpiTemp.OutputMode = (byte)(cmbOutputMode.SelectedIndex + 1);

            bpiTemp.ByteOffset  = (byte)nudByteOffset.Value;
            bpiTemp.OutInterval = (byte)nudOutInterval.Value;
            bpiTemp.PulseWidth  = (byte)nudPulseWidth.Value;
            bpiTemp.PulsePeriod = (byte)nudPulsePeriod.Value;
            int intAntenna = 0;

            if (chkAntenna1.Checked)
            {
                intAntenna = intAntenna | 1;
            }
            if (chkAntenna2.Checked)
            {
                intAntenna = intAntenna | 2;
            }
            if (chkAntenna3.Checked)
            {
                intAntenna = intAntenna | 4;
            }
            if (chkAntenna4.Checked)
            {
                intAntenna = intAntenna | 8;
            }

            bpiTemp.Antenna = (byte)intAntenna;


            switch (cmbCardType.SelectedIndex)
            {
            case 0:
                bpiTemp.CardType = 1;
                break;

            case 1:
                bpiTemp.CardType = 16;
                break;

            case 2:
                bpiTemp.CardType = 32;
                break;

            case 3:
                bpiTemp.CardType = 64;
                break;

            case 4:
                bpiTemp.CardType = 17;
                break;

            default:
                bpiTemp.CardType = 16;
                break;
            }
            bpiTemp.SameIDinterval = (byte)nudSameIDinterval.Value;
            bpiTemp.Buzzer         = (byte)cmbBuzzer.SelectedIndex;

            bpiTemp.Area      = (byte)(cmbArea.SelectedIndex + 2);
            bpiTemp.StartWord = (byte)cmbStartWord.SelectedIndex;
            bpiTemp.Length    = (byte)(cmbLength.SelectedIndex + 1);

            bpiTemp.Encrypt  = (byte)cmbEncrypt.SelectedIndex;
            bpiTemp.Password = Convert.ToInt32(utxtPassword.Text);

            bpiTemp.MaxTag = (byte)(cmbMaxTag.SelectedIndex + 10);

            return(bpiTemp);
        }
Exemplo n.º 3
0
        private bool ShowBasicParametersPnfo(PBasicParameters info)
        {
            try
            {
                cmbPowerSize.SelectedIndex = info.PowerSize;

                cmbFreqHopping.SelectedIndex = info.HoppingEnable;

                cmbFixedFreq.SelectedIndex = info.FixedFreq;

                cmbHopping1.SelectedIndex = info.Hopping1;

                cmbHopping6.SelectedIndex = info.Hopping6;

                cmbWorkMode.SelectedIndex = info.WorkMode - 1;

                nudReadInterval.Value = info.ReadInterval;

                cmbTrigger.SelectedIndex = info.Trigger;

                cmbOutputMode.SelectedIndex = info.OutputMode - 1;

                nudByteOffset.Value = info.ByteOffset;

                nudOutInterval.Value = info.OutInterval;

                nudPulseWidth.Value = info.PulseWidth;

                nudPulsePeriod.Value = info.PulsePeriod;

                int intAntenna = info.Antenna;

                chkAntenna1.Checked = Convert.ToBoolean(intAntenna & 1);
                chkAntenna2.Checked = Convert.ToBoolean(intAntenna & 2);
                chkAntenna3.Checked = Convert.ToBoolean(intAntenna & 4);
                chkAntenna4.Checked = Convert.ToBoolean(intAntenna & 8);

                switch (info.CardType)
                {
                case 1:
                    cmbCardType.SelectedIndex = 0;
                    break;

                case 16:
                    cmbCardType.SelectedIndex = 1;
                    break;

                case 32:
                    cmbCardType.SelectedIndex = 2;
                    break;

                case 64:
                    cmbCardType.SelectedIndex = 3;
                    break;

                case 17:
                    cmbCardType.SelectedIndex = 4;
                    break;

                default:
                    MessageBox.Show("CardType Set Error!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    break;
                }

                nudSameIDinterval.Value = info.SameIDinterval;

                cmbBuzzer.SelectedIndex = info.Buzzer;

                cmbArea.SelectedIndex = info.Area >= 2 ? (info.Area - 2) : 0;

                cmbStartWord.SelectedIndex = info.StartWord;

                cmbLength.SelectedIndex = info.Length - 1;

                cmbEncrypt.SelectedIndex = info.Encrypt;

                utxtPassword.Text = info.Password.ToString("0000");

                cmbMaxTag.SelectedIndex = info.MaxTag - 10;
                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            return(false);
        }