public ConfigureAntenna(LakeChabotReader reader)
        {
            if (null == reader)
            {
                throw new ArgumentNullException("reader", "Null reader passed to ConfigureAntenna CTOR()");
            }

            if (reader.Mode != rfidReader.OperationMode.BoundToReader)
            {
                throw new ArgumentOutOfRangeException("reader", "Unbound reader passed to ConfigureAntenna()");
            }

            InitializeComponent( );

            //applyAtStartupCheckBox.Checked = !String.IsNullOrEmpty( RFID_Explorer.Properties.Settings.Default.antennaSettings );

            this.reader         = reader;
            this.timer          = new Timer( );
            this.timer.Interval = 5000;
            this.timer.Tick    += new EventHandler(timer_Tick);


//clark not sure. Wait firmware support this function.
#if (LBT)
            //RfPowerThreshold  Clark 2011.2.10 Cpoied from R1000 Tracer
            UInt32 oem_Data = 0;
            reader.MacReadOemData
            (
                (ushort)enumOEM_ADDR.ENUM_OEM_ADDR_RF_REVPWR_THRESHOLD,    //0x000000AE,
                ref oem_Data
            );

            numericUpDownRfPowerThreshold.Value = oem_Data;
#endif
        }
示例#2
0
        private string ShowOemData
        (
            UInt16 Offset
        )
        {
            UInt32 OemData = 0;

            UInt32 [] pOemData = null;
            UInt32    uiLength = 0;

            rfid.Constants.Result result = rfid.Constants.Result.OK;

            if (rfid.Constants.Result.OK != reader.MacReadOemData(Offset, ref OemData))
            {
                return(null);
            }

            uiLength  = (0 == (OemData & 0xFF) / 4) ? 1 : (OemData & 0xFF) / 4;
            uiLength += (uint)((0 == (OemData & 0xFF) % 4) ? 0 : 1);

            pOemData = new UInt32[uiLength];
            Array.Clear(pOemData, 0, pOemData.Length);

            pOemData[0] = OemData;
            //Offset++; //Point to  data address
            for (int i = 1; i < uiLength; i++)
            {
                result = reader.MacReadOemData((UInt16)(Offset + i), ref pOemData[i]);

                if (rfid.Constants.Result.OK != result)
                {
                    return(null);
                }
            }

            //return Source_OEMData.uint32ArrayToString(pOemData, 0);
            return(CGlobalFunc.uint32ArrayToString(pOemData, uiLength));
        }
示例#3
0
        public ConfigureSettingsControl(LakeChabotReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader", "Null reader passed to ConfigureGeneral CTOR()");
            }

            if (reader.Mode != rfidReader.OperationMode.BoundToReader)
            {
                throw new ArgumentOutOfRangeException("reader", "Unbound reader passed to ConfigureGeneral()");
            }

            InitializeComponent( );

            this.reader = reader;

            _timer          = new Timer( );
            _timer.Interval = 5000;
            _timer.Tick    += new EventHandler(timer_Tick);

            string startupPowerState      = Properties.Settings.Default.startupPowerState;
            string startupOpMode          = Properties.Settings.Default.startupOperationalMode;
            int    startupAlgorithmNumber = Properties.Settings.Default.startupInventoryAlgorithm;

            rfid.Constants.Result result = rfid.Constants.Result.OK;


            //Interface radiobutton=============================================================
            UInt32 oemData = 0;

            rfid.Constants.Result status = reader.MacReadOemData((ushort)enumOEM_ADDR.HOST_IF_SEL,
                                                                 ref oemData);

            if (oemData == (uint)enumPORT.ENUM_PORT_USB)
            {
                rBtn_USB.Checked  = true;
                rBtn_UART.Checked = false;
            }
            else
            {
                rBtn_USB.Checked  = false;
                rBtn_UART.Checked = true;
            }


            // regionComboBox=============================================================
            ENUM_REGION_RESULT enumMatch = ENUM_REGION_RESULT.FAIL;

            this.macRegion = new Source_MacRegion();
            result         = macRegion.load(LakeChabotReader.MANAGED_ACCESS, this.reader.ReaderHandle);


            do
            {
                if (rfid.Constants.Result.OK != result)
                {
                    enumMatch = ENUM_REGION_RESULT.FAIL;
                    break;
                }


                UInt32 shift = 1;

                foreach (rfid.Constants.MacRegion item in Enum.GetValues(typeof(rfid.Constants.MacRegion)))
                {
                    do
                    {
                        if ((this.macRegion.MacRegionSupport & shift) <= 0)
                        {
                            break;
                        }

                        //Add support region to regionComboBox.
                        if (item == rfid.Constants.MacRegion.CUSTOMER)//Customer region uses string.
                        {
                            result = reader.API_MacGetCustomerRegion(ref strCustomerRegion);

                            switch (result)
                            {
                            case rfid.Constants.Result.OK:
                                regionComboBox.Items.Add(strCustomerRegion);

                                if (item == this.macRegion.MacRegion)
                                {
                                    enumMatch = ENUM_REGION_RESULT.CUSTOMER_OK;
                                }
                                break;

                            case rfid.Constants.Result.NOT_SUPPORTED:
                                //Only hide the option.
                                if (item == this.macRegion.MacRegion)
                                {
                                    enumMatch = ENUM_REGION_RESULT.CUSTOMER_NON_SUPPORTED;
                                }
                                break;

                            case rfid.Constants.Result.FAILURE:
                            default:
                                enumMatch = ENUM_REGION_RESULT.CUSTOMER_FAIL;
                                break;
                            }
                        }
                        else
                        {
                            //Other region uses enum.
                            regionComboBox.Items.Add(item);

                            //Check match region between support and current region setting.
                            if (item == this.macRegion.MacRegion)
                            {
                                enumMatch = ENUM_REGION_RESULT.OK;
                            }
                        }
                    }while(false);

                    shift <<= 0x01;
                }
            }while(false);

            switch (enumMatch)
            {
            case ENUM_REGION_RESULT.OK:
                regionComboBox.SelectedIndex = regionComboBox.Items.IndexOf(this.macRegion.MacRegion);
                break;

            case ENUM_REGION_RESULT.FAIL:
                RegionError("Read region unsuccessfully");
                break;

            case ENUM_REGION_RESULT.CUSTOMER_OK:
                //Customer region uses string.
                regionComboBox.SelectedIndex = regionComboBox.Items.IndexOf(strCustomerRegion);
                break;

            case ENUM_REGION_RESULT.CUSTOMER_NON_SUPPORTED:
                RegionError("Not support customer region");
                break;

            case ENUM_REGION_RESULT.CUSTOMER_FAIL:
                RegionError("Get customer region fail");
                break;

            case ENUM_REGION_RESULT.NOT_MATCH:
                RegionError("Region deosn't match \"RegionSupport\".");
                break;
            }



            // profileComboBox=============================================================
            this.profileList = new Source_LinkProfileList(LakeChabotReader.MANAGED_ACCESS,
                                                          this.reader.ReaderHandle);

            this.profileList.load( );

            int count = 0;

            foreach (Source_LinkProfile linkProfile in profileList)
            {
                profileComboBox.Items.Add(count + " : " + linkProfile.ToString( ));

                ++count;
            }

            profileComboBox.SelectedIndex = ( int )profileList.getActiveProfileIndex( );

            this.profileComboBox.SelectedIndexChanged += new System.EventHandler(this.profileComboBox_SelectedIndexChanged);



            // Currently out of sync with 'new' model ~ no explicit read done
            // here or source provided ~ done via reader call...
            foreach (rfid.Constants.SingulationAlgorithm item in Enum.GetValues(typeof(rfid.Constants.SingulationAlgorithm)))
            {
                algorithmComboBox.Items.Add(item);
            }
            algorithmComboBox.Items.Remove(rfid.Constants.SingulationAlgorithm.UNKNOWN);

            // skipping err checking on these shortcut methods...

            Source_QueryParms queryParms = new Source_QueryParms( );

            queryParms.load(LakeChabotReader.MANAGED_ACCESS, reader.ReaderHandle);

            algorithmComboBox.SelectedIndex = algorithmComboBox.Items.IndexOf
                                              (
                queryParms.SingulationAlgorithm
                                              );

            algorithmComboBox.SelectedIndexChanged += new System.EventHandler(this.algorithmComboBox_SelectedIndexChanged);
        }
        public ConfigureSettingsControl(LakeChabotReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader", "Null reader passed to ConfigureGeneral CTOR()");
            }

            if (reader.Mode != rfidReader.OperationMode.BoundToReader)
            {
                throw new ArgumentOutOfRangeException("reader", "Unbound reader passed to ConfigureGeneral()");
            }

            InitializeComponent( );

            this.reader = reader;

            _timer          = new Timer( );
            _timer.Interval = 5000;
            _timer.Tick    += new EventHandler(timer_Tick);

            string startupPowerState      = Properties.Settings.Default.startupPowerState;
            string startupOpMode          = Properties.Settings.Default.startupOperationalMode;
            int    startupAlgorithmNumber = Properties.Settings.Default.startupInventoryAlgorithm;


            //Interface radiobutton=============================================================

            do
            {
                UInt32 uiModelNameMajor      = 0;
                string strModule             = string.Empty;
                rfid.Constants.Result result = rfid.Constants.Result.OK;

                //Get Model Name
                result = reader.MacReadOemData((ushort)((int)enumOEM_ADDR.MODEL_NAME_MAIN), ref uiModelNameMajor);
                if (rfid.Constants.Result.OK != result)
                {
                    btn_Update.Enabled = false;
                    break;
                }

                strModule = String.Format("RU-{0}{1}{2}",
                                          (char)((uiModelNameMajor >> 16) & 0xFF),
                                          (char)((uiModelNameMajor >> 8) & 0xFF),
                                          (char)(uiModelNameMajor & 0xFF));



                if (strModule == "RU-824")
                {
                    rBtn_USB.Checked   = true;
                    btn_Update.Enabled = false;
                    rBtn_UART.Enabled  = false;
                    break;
                }

                if (uiModelNameMajor == 0x4D303258)//0x4D303258==M02X
                {
                    rBtn_UART.Checked  = true;
                    btn_Update.Enabled = false;
                    rBtn_USB.Enabled   = false;
                    break;
                }

                UInt32 oemData = 0;
                result = reader.MacReadOemData((ushort)enumOEM_ADDR.HOST_IF_SEL, ref oemData);
                if (rfid.Constants.Result.OK != result)
                {
                    btn_Update.Enabled = false;
                    break;
                }

                if (oemData == (uint)enumPORT.ENUM_PORT_USB)
                {
                    rBtn_USB.Checked  = true;
                    rBtn_UART.Checked = false;
                }
                else
                {
                    rBtn_USB.Checked  = false;
                    rBtn_UART.Checked = true;
                }
            }while(false);


            //regionComboBox=============================================================
            LoadRegion();


            // profileComboBox=============================================================
            this.profileList = new Source_LinkProfileList(LakeChabotReader.MANAGED_ACCESS,
                                                          this.reader.ReaderHandle);

            this.profileList.load( );

            int count = 0;

            foreach (Source_LinkProfile linkProfile in profileList)
            {
                profileComboBox.Items.Add(count + " : " + linkProfile.ToString( ));

                ++count;
            }

            profileComboBox.SelectedIndex = ( int )profileList.getActiveProfileIndex( );

            this.profileComboBox.SelectedIndexChanged += new System.EventHandler(this.profileComboBox_SelectedIndexChanged);



            // Currently out of sync with 'new' model ~ no explicit read done
            // here or source provided ~ done via reader call...
            foreach (rfid.Constants.SingulationAlgorithm item in Enum.GetValues(typeof(rfid.Constants.SingulationAlgorithm)))
            {
                algorithmComboBox.Items.Add(item);
            }
            algorithmComboBox.Items.Remove(rfid.Constants.SingulationAlgorithm.UNKNOWN);

            // skipping err checking on these shortcut methods...

            Source_QueryParms queryParms = new Source_QueryParms( );

            queryParms.load(LakeChabotReader.MANAGED_ACCESS, reader.ReaderHandle);

            algorithmComboBox.SelectedIndex = algorithmComboBox.Items.IndexOf
                                              (
                queryParms.SingulationAlgorithm
                                              );

            algorithmComboBox.SelectedIndexChanged += new System.EventHandler(this.algorithmComboBox_SelectedIndexChanged);
        }