public void Disconnect() { if (_sc != null) { _sc.fpsDisconnect(); _sc = null; } }
public Scanner() { _sc = new ARHScanner(); //_fingersCollection = fingersCollection; //_fingersCollection = new ArrayList(10); //for (int i = 0; i < _fingersCollection.Capacity; i++) // _fingersCollection.Add(null); }
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); */ }
void startListenProcess(ARHScanner sc) { if (backgroundWorkerListen.IsBusy) return; backgroundWorkerListen.RunWorkerAsync(sc); }
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(); }
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(); }
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); }