Example #1
0
        private void EventThreadProc()
        {
            while (!StoppingThread)
            {
                BadgeEvent.WaitOne();
                if (CancelOps)
                {
                    return;
                }
                Clock.Stop();

                WaitDoor = true;
                OpenDoor();
                Clock.Start();
                CptDoor = 10;
                DoorEventNormal.Reset();

                if (DoorEventNormal.WaitOne(10000, false))
                {
                    continue;                                        // next loop iteration
                }
                WaitDoor     = false;
                WaitDoor     = false;
                DisplayBadge = false;
                CloseDoor();
                CurrenRfidReader.NotifyRelock();
                Clock.Start();
            }
            if (ThreadEvent != null)
            {
                ThreadEvent.Set();
            }
        }
 public void StopScan()
 {
     if (CurrenRfidReader.IsInScan)
     {
         LogToFile.LogMessageToFile("InScan - Stop it");
         CurrenRfidReader.RequestEndScan();
     }
 }
Example #3
0
        public bool ScanDevice(uint dcu, byte axis)
        {
            if ((axis > 16))
            {
                return(false);
            }
            if ((dcu > 168))
            {
                return(false);
            }

            if ((!CurrenRfidReader.IsConnected) ||
                ((CurrenRfidReader.IsInScan) && (CurrenRfidReader.Door_Status != Door_Status.Door_Close)))
            {
                return(false);
            }

            CurrenRfidReader.DeviceBoard.sendSwitchCommand(1, axis);
            Thread.Sleep(10);
            CurrenRfidReader.RequestScan3D(true, true);
            return(true);
        }
Example #4
0
 public void CloseDoor()
 {
     CurrenRfidReader.CloseDoorMaster();
 }
Example #5
0
 public void OpenDoor()
 {
     CurrenRfidReader.OpenDoorMaster();
 }
        private void EventThreadProc()
        {
            while (!StoppingThread)
            {
                LogToFile.LogMessageToFile("------Wait Badge ------");
                badgeset = false;
                while (!badgeset)
                {
                    if (CancelOps)
                    {
                        return;
                    }
                    NonBlockingSleep(1000);
                }

                //BadgeEvent.WaitOne();
                // if (CancelOps) return;
                LogToFile.LogMessageToFile("Event Badge received in thread");
                Clock.Stop();
                WaitDoor = true;
                StopScan();
                LogToFile.LogMessageToFile("Unlock door  in thread");
                OpenDoor();
                Clock.Start();
                CptDoor = 10;
                DoorEventNormal.Reset();
                LogToFile.LogMessageToFile("------Wait Door Close ------");
                if (DoorEventNormal.WaitOne(10000, false))
                {
                    LogToFile.LogMessageToFile("------Door Close event ----");
                    CloseDoor();
                    continue; // next loop iteration as the process will continue to classic door event
                }
                else
                {
                    LogToFile.LogMessageToFile("------Door Close timeout  ----");
                }
                if (LedThread != null)
                {
                    LedThread.Abort();
                    LedThread.Join(1000);
                    LedThread = null;
                }

                Thread.Sleep(500);

                WaitDoor     = false;
                DisplayBadge = false;
                //if ((CurrenRfidReader != null) && (CurrenRfidReader.IsConnected)) CurrenRfidReader.SetLightPower(300);
                CloseDoor();
                if (CurrenRfidReader != null)
                {
                    CurrenRfidReader.NotifyRelock();
                }

                Clock.Start();
            }
            if (ThreadEvent != null)
            {
                ThreadEvent.Set();
            }
        }
 public void CloseDoor()
 {
     LogToFile.LogMessageToFile("lock cmd sent");
     CurrenRfidReader.CloseDoorMaster();
 }
 public void OpenDoor()
 {
     LogToFile.LogMessageToFile("Unlock cmd sent");
     CurrenRfidReader.OpenDoorMaster();
 }