ConfigurePostSingulation_Edit dlg;  // frame ( form ) for containing edit mode panel



        public ConfigurePostSingulation_Display( )
            :
            base( )
        {
            InitializeComponent( );

            this.singulationCriteria           = new SingulationCriteria( );
            this.singulationCriteria.pCriteria = new SingulationCriterion[CRITERIA_MAXIM];

            for (int index = 0; index < CRITERIA_MAXIM; ++index)
            {
                this.singulationCriteria.pCriteria[index] = new SingulationCriterion( );
            }

            this.maskMatch.Items.Add("INVERSE");
            this.maskMatch.Items.Add("REGULAR");

            // active criteria value set to 1 in props to force flip
            // view ( invis ) of center panel if first pass shows now
            // criteria active...

            Mode = VIEW_MODE; // always start in view mode...


            //Set memoryBankOffset Max
            memoryBankOffset.Maximum = ValueLimit.l8K6C_POST_MATCH_CRITERIA_OFFSET_MAX;
        }
        public ConfigurePostSingulation_Display( )
            : base()
        {
            InitializeComponent( );

            this.singulationCriteria = new SingulationCriteria( );
            this.singulationCriteria.pCriteria = new SingulationCriterion[ CRITERIA_MAXIM ];

            for( int index = 0; index < CRITERIA_MAXIM; ++ index )
            {
                this.singulationCriteria.pCriteria[ index ] = new SingulationCriterion( );
            }

            this.maskMatch.Items.Add( "INVERSE" );
            this.maskMatch.Items.Add( "REGULAR" );

            // active criteria value set to 1 in props to force flip
            // view ( invis ) of center panel if first pass shows now
            // criteria active...

            Mode = VIEW_MODE; // always start in view mode...

            //Set memoryBankOffset Max
            memoryBankOffset.Maximum = ValueLimit.l8K6C_POST_MATCH_CRITERIA_OFFSET_MAX;
        }
Пример #3
0
        public ConfigurePostSingulation_Edit( LakeChabotReader reader, SingulationCriteria criteria )
        {
            InitializeComponent( );

            configurePostSingulation_Display.setReader( reader );

            configurePostSingulation_Display.setSource( criteria );

            configurePostSingulation_Display.Mode = ConfigurePostSingulation_Display.EDIT_MODE; // edit on
        }
        public ConfigurePostSingulation_Edit( LakeChabotReader reader, SingulationCriteria criteria )
        {
            InitializeComponent( );

            configurePostSingulation_Display.setReader( reader );

            configurePostSingulation_Display.setSource( criteria );

            configurePostSingulation_Display.Mode = ConfigurePostSingulation_Display.EDIT_MODE; // edit on
        }
        public void setSource(SingulationCriteria criteria)
        {
            this.singulationCriteria = criteria;

            // to trigger redraw etc. events... wont occur if values
            // are actually equal...

            if (this.activeCriteria.Value == criteria.countCriteria)
            {
                activeCriteria_ValueChanged(null, null);
            }
            else
            {
                this.activeCriteria.Value = criteria.countCriteria;
            }
        }
        // Should only see this event if in edit mode and in a form
        // container, otherwise the save button is hidden...

        private void saveButton_Click(object sender, EventArgs e)
        {
            // MUST BE CONTAINED in Form

            SingulationCriteria criteria = new SingulationCriteria( );

            criteria.countCriteria = this.singulationCriteria.countCriteria;

            criteria.pCriteria = new SingulationCriterion[criteria.countCriteria];

            for (int index = 0; index < criteria.countCriteria; ++index)
            {
                criteria.pCriteria[index] = this.singulationCriteria.pCriteria[index];
            }

            Result result = LakeChabotReader.MANAGED_ACCESS.API_l8K6CSetPostMatchCriteria
                            (
                this.singulationCriteria,
                0     // currently not used...
                            );

            if (Result.OK == result)
            {
                // triggered only when in enclosing frame ( form )

                (( Form )this.Parent).Close( );
            }
            else
            {
                // ERR
                MessageBox.Show
                (
                    "Reader Error.\n\nThe Reader was unable to configure the specified settings.\n\nThe follow error occurred: " + result.ToString( ),
                    "Configure Post Singulation Criteria Error",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error
                );
            }
        }
Пример #7
0
        private void Set18K6CPostMatchCriteria(int radioHandle)
        {
            SingulationCriteria singulationCriteria = new SingulationCriteria();

            singulationCriteria.countCriteria = 1;

            singulationCriteria.pCriteria = new SingulationCriterion[singulationCriteria.countCriteria];

            singulationCriteria.pCriteria[0] = new SingulationCriterion();

            singulationCriteria.pCriteria[0].match = 1; // EPC data must match the mask to be returned
            // set to 0 if you EPC's that don't match

            // change the mask attributes as appropriate for the specific tag
            singulationCriteria.pCriteria[0].mask.offset  = 80;   // bit offset in the EPC of the 6th word
            singulationCriteria.pCriteria[0].mask.count   = 16;   // match 16 bits starting at offset
            singulationCriteria.pCriteria[0].mask.mask[0] = 0x00; // first byte of 6th word is 0
            singulationCriteria.pCriteria[0].mask.mask[1] = 0x24; // second byte of 6th word is 0x24

            var result = link.Set18K6CPostMatchCriteria(radioHandle, singulationCriteria, 0);

            logger.Information("link.Set18K6CPostMatchCriteria => {Result}", result);
        }
 public ConfigurePostSingulation_Display(SingulationCriteria criteria)
     :
     this()
 {
     this.setSource(criteria);
 }
 public ConfigurePostSingulation_Display( SingulationCriteria criteria )
     : this()
 {
     this.setSource( criteria );
 }
        // Should only see this event if in edit mode and in a form
        // container, otherwise the save button is hidden...
        private void saveButton_Click( object sender, EventArgs e )
        {
            // MUST BE CONTAINED in Form

            SingulationCriteria criteria = new SingulationCriteria( );

            criteria.countCriteria = this.singulationCriteria.countCriteria;

            criteria.pCriteria = new SingulationCriterion[ criteria.countCriteria ];

            for ( int index = 0; index < criteria.countCriteria; ++index )
            {
                criteria.pCriteria[ index ] = this.singulationCriteria.pCriteria[ index ];
            }

            Result result = LakeChabotReader.MANAGED_ACCESS.API_l8K6CSetPostMatchCriteria
                (
                    this.singulationCriteria,
                    0 // currently not used...
                );

            if ( Result.OK == result )
            {
                // triggered only when in enclosing frame ( form )

                ( ( Form ) this.Parent ).Close( );
            }
            else
            {
                // ERR
                MessageBox.Show
                    (
                        "Reader Error.\n\nThe Reader was unable to configure the specified settings.\n\nThe follow error occurred: " + result.ToString( ),
                        "Configure Post Singulation Criteria Error",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error
                    );
            }
        }
        public void setSource( SingulationCriteria criteria )
        {
            this.singulationCriteria = criteria;

            // to trigger redraw etc. events... wont occur if values
            // are actually equal...

            if ( this.activeCriteria.Value == criteria.countCriteria )
            {
                activeCriteria_ValueChanged( null, null );
            }
            else
            {
                this.activeCriteria.Value = criteria.countCriteria;
            }
        }