Ejemplo n.º 1
0
 public bool IsNotFinger(TimeSpan timeout)
 {
     try
     {
         onInfo?.Invoke(MSGAPI11);
         waitFinger = true;
         var      t  = new _FTRSCAN_FRAME_PARAMETERS();
         DateTime dt = DateTime.Now;
         while (waitFinger && DateTime.Now.Subtract(dt) <= timeout)
         {
             onInfoAppend?.Invoke("!");
             if (ftrScanIsFingerPresent(device, out t))
             {
                 Thread.Sleep(delay);
             }
             else
             {
                 return(true);
             }
         }
         return(false);
     }
     catch (Exception ex)
     {
         onError?.Invoke(ex);
         return(false);
     }
     finally
     {
         waitFinger = false;
     }
 }
Ejemplo n.º 2
0
        public bool IsFinger()
        {
            var  t    = new _FTRSCAN_FRAME_PARAMETERS();
            bool dedo = ftrScanIsFingerPresent(device, out t);

            if (!t.isOK)
            {
                Dispose();
                return(false);
            }
            else
            {
                return(dedo);
            }
        }
Ejemplo n.º 3
0
 static extern bool ftrScanIsFingerPresent(IntPtr ftrHandle, out _FTRSCAN_FRAME_PARAMETERS pFrameParameters);
Ejemplo n.º 4
0
 public bool IsFinger()
 {
     var t = new _FTRSCAN_FRAME_PARAMETERS();
     return ftrScanIsFingerPresent(device, out t);
 }
Ejemplo n.º 5
0
 static extern bool ftrScanIsFingerPresent(IntPtr ftrHandle, out _FTRSCAN_FRAME_PARAMETERS pFrameParameters);
Ejemplo n.º 6
0
        public bool IsFinger()
        {
            var t = new _FTRSCAN_FRAME_PARAMETERS();

            return(ftrScanIsFingerPresent(device, out t));
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Detecta a existencia de um dedo no sensor
        /// </summary>
        public bool IsFinger(TimeSpan timeout, Action waiting = null)
        {
            try
            {
                onInfo?.Invoke(MSGAPI5);
                waitFinger = true;
                var      t       = new _FTRSCAN_FRAME_PARAMETERS();
                int      n       = 1;
                bool     hasTime = true;
                DateTime dt      = DateTime.Now;
                while (waitFinger && hasTime)
                {
                    hasTime = DateTime.Now.Subtract(dt) <= timeout;
                    if (ftrScanIsFingerPresent(device, out t))
                    {
                        if (t.nContrastOnDose2 > minContrast || !hasTime) // garante que vai pegar o dedo por pior que seja no tempo maximo
                        {
                            onInfoAppend?.Invoke(" D" + n + ": " + t.nContrastOnDose2);
                            n++;
                            if (!hasTime)
                            {
                                onInfoAppend?.Invoke(" D" + n + ": " + t.nContrastOnDose2 + " Timeout");
                                return(true);
                            }
                            else if (n > 4)
                            {
                                return(true);
                            }
                        }
                        else
                        {
                            lastContrast = t.nContrastOnDose2;
                            onInfoAppend?.Invoke("-" + t.nContrastOnDose2);
                        }
                    }
                    else
                    {
                        onInfoAppend?.Invoke(".");
                    }

                    waiting?.Invoke();

                    Thread.Sleep(delay);
                }
                onInfo?.Invoke(MSGAPI9);
                return(false);
            }
            catch (ThreadAbortException)
            {
                return(false);
            }
            catch (Exception ex)
            {
                onError?.Invoke(ex);
                return(false);
            }
            finally
            {
                waitFinger = false;
            }
        }