Ejemplo n.º 1
0
 public void Disconnect()
 {
     if (_sc != null)
     {
         _sc.fpsDisconnect();
         _sc = null;
     }
 }
Ejemplo n.º 2
0
 public Scanner()
 {
     _sc = new ARHScanner();
     //_fingersCollection = fingersCollection;
     //_fingersCollection = new ArrayList(10);
     //for (int i = 0; i < _fingersCollection.Capacity; i++)
     //    _fingersCollection.Add(null);
 }
Ejemplo n.º 3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            button2.Enabled = false;
            button3.Enabled = false;

            _pictureBoxWidth = pictureBox1.Width;

            backgroundWorkerProgressBar = new BackgroundWorker();
            backgroundWorkerProgressBar.WorkerSupportsCancellation = true;
            backgroundWorkerProgressBar.WorkerReportsProgress = true;
            backgroundWorkerProgressBar.DoWork += new DoWorkEventHandler(backgroundWorkerProgressBar_DoWork);
            backgroundWorkerProgressBar.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorkerProgressBar_RunWorkerCompleted);
            backgroundWorkerProgressBar.ProgressChanged += new ProgressChangedEventHandler(backgroundWorkerProgressBar_ProgressChanged);

            backgroundWorkerDataService = new BackgroundWorker();
            backgroundWorkerDataService.DoWork += new DoWorkEventHandler(backgroundWorkerDataService_DoWork);
            backgroundWorkerDataService.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorkerDataService_RunWorkerCompleted);
            backgroundWorkerDataService.WorkerSupportsCancellation = true;

            backgroundWorkerListen = new BackgroundWorker();
            backgroundWorkerListen.DoWork += new DoWorkEventHandler(backgroundWorkerListen_Listen);
            backgroundWorkerListen.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorkerListen_RunWorkerCompleted);

            backgroundWorkerConnect = new BackgroundWorker();
            backgroundWorkerConnect.DoWork += new DoWorkEventHandler(backgroundWorkerConnect_Connect);
            backgroundWorkerConnect.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorkerConnect_RunWorkerCompleted);

            _sc = new ARHScanner();

            button1.Tag = "read";

            PictureBox pb;
            CheckBox cb;
            for (int i = 1; i < 12; i++)
            {
                if (i == 9)
                    continue;

                pb = this.Controls.Find("fpPictureBox" + i.ToString(), true)[0] as PictureBox;
                pb.Image = null;

                pb.MouseHover += new EventHandler(fpPictureBox_MouseHover);
                pb.MouseLeave += new EventHandler(fpPictureBox_MouseLeave);

                cb = this.Controls.Find("checkBox" + i.ToString(), true)[0] as CheckBox;
                cb.Checked = true;
            }

            //TextBoxID.Focus();

            /*
                        if (backgroundWorkerConnect.IsBusy)
                            return;

                        startProgressBar();
                        ShowStatusMessage("Connecting to the device");

                        backgroundWorkerConnect.RunWorkerAsync(_sc);
            */
        }
Ejemplo n.º 4
0
        void startListenProcess(ARHScanner sc)
        {
            if (backgroundWorkerListen.IsBusy)
                return;

            backgroundWorkerListen.RunWorkerAsync(sc);
        }
Ejemplo n.º 5
0
        void ShowError(ARHScanner sc)
        {
            toolStripStatusLabelError.ForeColor = Color.Red;

            if (ErrorCode != 1303 && ErrorCode != -1)
                toolStripStatusLabelError.Text = String.Format("{0} --- Error code: {1}", sc.ErrorMessage, ErrorCode);
            else
                toolStripStatusLabelError.Text = String.Format("{0}", sc.ErrorMessage);

            if (ErrorCode == 2 || ErrorCode == 4117 || ErrorCode == 19
                || ErrorCode == 16 || ErrorCode == 4100 || ErrorCode == -1)
            {
                button1.Enabled = true;
                button1.Focus();
            }

            stopProgressBar();
        }
Ejemplo n.º 6
0
        public string scan(int hand, string id, string[] checks)
        {
            var retCode = new StringBuilder();

            int count = 3;
            int offset = 0;

            if ((ErrorCode = _sc.fpsConnect()) != 0)
            {
                //var err = GetError(_sc);
                Disconnect();
                throw new Exception("No device found");
                //throw new Exception(err);
            }
            else
            {
                if (hand == 0)      // only left hand
                {
                    count = 1;
                    offset = 0;
                }
                else if (hand == 1) // only right hand
                {
                    count = 2;
                    offset = 4;
                }
                else if (hand == 2) // only thumbs
                {
                    count = 3;
                    offset = 7;
                }
                else if (hand == 3) // all 10 fingers
                {
                    hand = 0;
                    count = 3;
                    offset = 0;
                }

                for (int i = hand; i < count; i++, hand++)
                {
                    if ((ErrorCode = scanFingers(i, checks)) != 0)
                    {
                        //var err = GetError(_sc);
                        Disconnect();
                        throw new Exception("No fingers selected");
                    }

                    for (int k = 0; k < 4; k++)
                    {
                        if (hand == 2 && k == 0)
                            continue;

                        if (_sc.ArrayOfWSQ[k] != null && ((WsqImage)_sc.ArrayOfWSQ[k]).Content != null)
                        {
                            _fingersCollection[k + offset] = _sc.ArrayOfWSQ[k];
                            if (hand == 0)
                                retCode.Insert(0, '0');
                            else
                                retCode.Append('0');
                        }
                        else
                        {
                            //if (checks.Length > k && checks[k] == "1")
                            if (hand == 0)
                                retCode.Insert(0, '1');
                            else
                                retCode.Append('1');
                            //else
                                //retCode.Append('0');
                        }
                    }

                    offset += 4;
                    if (offset == 8)
                        offset = 7;
                }

                if (ErrorCode == 0)
                {
                    byte[] buff = null;
                    MemoryStream ms = new MemoryStream();
                    // Construct a BinaryFormatter and use it to serialize the data to the stream.
                    BinaryFormatter formatter = new BinaryFormatter();
                    try
                    {
                        formatter.Serialize(ms, _fingersCollection as ArrayList);
                        buff = ms.ToArray();

                        var client = new DataServiceClient();
                        client.saveWsqInDatabase(Convert.ToInt32(id), buff);
                        //client.SetWSQImages(Convert.ToInt32(id), ref buff);

                        //SendImage(IMAGE_TYPE.wsq, Convert.ToInt32(id), ref buff);
                        //saveWsqInDatabase(id, buff);
                    }
                    catch (SerializationException ex)
                    {
                        retCode.Clear();
                        retCode.Append(ex.Message);
                    }
                    catch (Exception ex)
                    {
                        retCode.Clear();
                        retCode.Append(ex.Message);
                    }
                    finally
                    {
                        ms.Close();
                    }
                }
                else
                {
                    var err = GetError(_sc);
                    Disconnect();
                    throw new Exception(err);
                }
            }

            _sc.fpsDisconnect();
            _sc = null;

            return retCode.ToString();
        }
Ejemplo n.º 7
0
 private string GetError(ARHScanner sc)
 {
     //if (ErrorCode != 1303 && ErrorCode != -1)
     //    return String.Format("{0} --- Error code: {1}", sc.ErrorMessage, ErrorCode);
     //else
         return String.Format("{0}", sc.ErrorMessage);
 }