public static void FindAndConnectDevice()
 {
     lock (thisLock)
     {
         //Connect RFID
         List <string> comPortList = new List <string>(System.IO.Ports.SerialPort.GetPortNames());
         if ((comPortList != null) && (comPortList.Count > 0))
         {
             foreach (string comPort in comPortList)
             {
                 RfidReader tmpReader = new RfidReader();
                 tmpReader.NotifyEvent += deviceForDiscover_NotifyEvent;
                 tmpReader.ConnectReader(comPort);
                 eventEndDiscover.WaitOne(500, false);
                 if (tmpReader.IsConnected)
                 {
                     Device              = tmpReader;
                     Device.NotifyEvent += Device_NotifyEvent;
                     InitDeviceList(tmpReader.SerialNumber);
                     LastScanAccessTypeName = AccessType.Manual;
                     FireEvent(DeviceConnected, tmpReader.SerialNumber, 0);
                 }
                 else
                 {
                     tmpReader.DisconnectReader();
                     tmpReader.Dispose();
                 }
             }
         }
     }
 }
Exemple #2
0
        static void Main(string[] args)
        {
            try {
                Console.Write($"Connecting to reader on {SERIAL_PORT_NAME}...");
                using (var reader = new RfidReader(SERIAL_PORT_NAME)) {
                    reader.Open();
                    Console.WriteLine("OK");
                    Console.WriteLine($"  {reader.Signature} version {reader.Version}");

                    while (true)
                    {
                        Console.Write("Waiting for card...");
                        var card = reader.WaitForCard();
                        Console.WriteLine("OK");
                        Console.WriteLine($" UID:  {card.Uid}");
                        Console.WriteLine($" Type: {card.Type}");
                    }
                }
            }
            catch (RfidException ex) {
                Console.WriteLine("Unexpected response!");
                Console.WriteLine(ex.Message);
                if (!string.IsNullOrEmpty(ex.DataReceived))
                {
                    Console.WriteLine("Received data:");
                    Console.WriteLine(ex.DataReceived);
                }
            }
            catch (Exception ex) {
                Console.WriteLine("Failed!");
                Console.WriteLine(ex.Message);
            }
        }
        public MedicalCabinet(RfidReader currenRfidReader, string strPortBadgeAndLCD, bool isSchroff = false)
            : base(currenRfidReader, strPortBadgeAndLCD)
        {
            EventThread = new Thread(EventThreadProc)
            {
                Name = "SmartCabinet event", IsBackground = true
            };
            EventThread.Start();

            if (currenRfidReader.HardwareVersion.StartsWith("13"))
            {
                this._isSchroff = true;
                Rs232Display    = new Rs232Module("COM2");
                InitLCD();
                HideCursor();

                if (YAPI.RegisterHub("usb", ref errmsg) == YAPI.SUCCESS)
                {
                    bTempReady = true;
                }
                else
                {
                    ErrorMessage.ExceptionMessageBox.Show("error init YAPI", null);
                }
            }

            Clock.Interval = 1000;
            Clock.Elapsed += Timer_Tick;
            Clock.Start();
        }
        public void Setup()
        {
            _recievedRfidEventArgs = null;

            uut = new RfidReader();

            uut.RfidReaderEvent += (e, args) => { _recievedRfidEventArgs = args; };
        }
Exemple #5
0
        static void Main(string[] args)
        {
            // Assemble your system here from all the classes
            IRfidReader     rfidReader     = new RfidReader();
            IDoor           door           = new DoorSimulator();
            IUsbCharger     usbCharger     = new UsbChargerSimulator();
            IDisplay        display        = new DisplaySimulator();
            ILog            logger         = new FileLogger();
            IChargeControl  chargeControl  = new ChargeControl(usbCharger, display);
            IStationControl stationControl = new StationControl(chargeControl, door, display, rfidReader, logger);

            bool finish = false;

            do
            {
                string input;
                System.Console.WriteLine("Indtast E, O, C, F, A, R: ");
                input = Console.ReadLine();
                if (string.IsNullOrEmpty(input))
                {
                    continue;
                }

                switch (input[0])
                {
                case 'E':
                    finish = true;
                    break;

                case 'O':
                    door.Open();
                    break;

                case 'C':
                    door.Close();
                    break;

                case 'F':
                    chargeControl.ConnectDevice();
                    break;

                case 'A':
                    chargeControl.DisconnectDevice();
                    break;

                case 'R':
                    System.Console.WriteLine("Indtast RFID id: ");
                    string idString = System.Console.ReadLine();

                    int id = Convert.ToInt32(idString);
                    rfidReader.OnRfidRead(id);
                    break;

                default:
                    break;
                }
            } while (!finish);
        }
        public void Setup()
        {
            _recievedEventArgs = null;
            _uut = new RfidReader();
            _uut.OnRfidDetected(1);

            _uut.RfidDetected +=
                (o, args) => { _recievedEventArgs = args; };
        }
Exemple #7
0
        public void Deactivate(object parameter)
        {
            _shellVM.IsBackButtonEnabled = false;

            if (RfidReader != null)
            {
                RfidReader.Dispose();
            }
        }
		private async void btnStartMonitor_Click( object sender, RoutedEventArgs e )
		{
			this.reader = new RfidReader( this.viewModel.PinNumber );
			this.reader.CardScanned += this.OnCardScanned;
			await this.reader.InitializeAsync();

			this.txbCardContentPrompt.Visibility = Visibility.Visible;
			this.txbCardContent.Visibility = Visibility.Visible;
		}
Exemple #9
0
        static void Main(string[] args)
        {
            // Assemble your system here from all the classes
            IIdReader      rfidReader = new RfidReader();
            IDoor          door       = new Door();
            IUsbCharger    usbCharger = new UsbChargerSimulator();
            IChargeControl charger    = new ChargeControl(usbCharger);
            StationControl control    = new StationControl(rfidReader, door, charger, new FileLogger());

            bool finish = false;

            do
            {
                string input;
                System.Console.WriteLine("Valgmuligheder:");
                System.Console.WriteLine("E: End");
                System.Console.WriteLine("O: Open door");
                System.Console.WriteLine("C: Close door");
                System.Console.WriteLine("R: Id Reader");
                input = Console.ReadLine();
                if (string.IsNullOrEmpty(input))
                {
                    continue;
                }

                switch (input[0])
                {
                case 'E':
                    finish = true;
                    break;

                case 'O':
                    door.OpenDoor();
                    break;

                case 'T':
                    usbCharger.Connected = true;
                    break;

                case 'C':
                    door.CloseDoor();
                    break;

                case 'R':
                    System.Console.WriteLine("Indtast RFID id: ");
                    string idString = System.Console.ReadLine();

                    int id = Convert.ToInt32(idString);
                    rfidReader.ReadId(id);
                    break;

                default:
                    break;
                }
            } while (!finish);
        }
Exemple #10
0
        public void Setup()
        {
            _receivedRfidEventArgs = null;

            _uut = new RfidReader();

            _uut.RfidReaderEvent += (o, args) =>
            {
                _receivedRfidEventArgs = args;
            };
        }
        public static async Task <ReaderService> Create(RfidReader rfidReader)
        {
            //perhaps there are need to be some logic to init reader
            var wrapper = new RfidReaderWrapper();
            var service = new ReaderService(rfidReader, wrapper);

            using (var context = new ReaderContext())
            {
                await context.ReaderWrappers.AddAsync(wrapper);
            }
            return(service);
        }
        static void Main(string[] args)
        {
            ConsoleWriter       writer        = new ConsoleWriter();
            Display             display       = new Display(writer);
            TimeProvider        time          = new TimeProvider();
            FileWriter          file          = new FileWriter();
            LogFile             logfile       = new LogFile(file, time);
            RfidReader          rfid          = new RfidReader();
            Door                door          = new Door();
            UsbChargerSimulator usbCharger    = new UsbChargerSimulator();
            ChargeControl       chargeControl = new ChargeControl(display, usbCharger);
            StationControl      station       = new StationControl(chargeControl, door, rfid, display, logfile);

            bool finish = false;

            do
            {
                string input;
                System.Console.WriteLine("Indtast E, O, C, R: ");
                input = Console.ReadLine();
                if (string.IsNullOrEmpty(input))
                {
                    continue;
                }

                switch (input[0])
                {
                case 'E':
                    finish = true;
                    break;

                case 'O':
                    door.OnDoorOpen();
                    break;

                case 'C':
                    door.OnDoorClose();
                    break;

                case 'R':
                    System.Console.WriteLine("Indtast RFID id: ");
                    string idString = System.Console.ReadLine();

                    int id = Convert.ToInt32(idString);
                    rfid.OnRfidRead(id);
                    break;

                default:
                    break;
                }
            } while (!finish);
        }
        public EditLoanViewModel(CarnivalStoragemanagementDbContext dbcontext, EventAggregator eventAggregator)
        {
            RfidReader rdr = RfidReader.Instance;

            ea            = eventAggregator;
            db            = dbcontext;
            SaveLoan      = new DelegateCommand(OnSaveLoanExecute);
            RegretChanges = new DelegateCommand(OnRegretChangesExecute);
            AddBorrower   = new DelegateCommand(OnAddBorrowerExecute);
            AddItem       = new DelegateCommand(OnAddItemExecute);
            DeleteLoan    = new DelegateCommand(OnDeleteLoanExecute);
            ea.GetEvent <ExchangeLoanEvent>().Subscribe(SetSelectedLoan);
        }
        public void RfidReaderUnitTestSetup()
        {
            _uut = new RfidReader();

            //Handling RfidReadEventArgs
            _rfidReadEventInvoked = false;
            _rfidArgs             = null;
            _uut.RfidReadEvent   += (o, e) =>
            {
                _rfidReadEventInvoked = true;
                _rfidArgs             = e;
            };
        }
        public void Setup()
        {
            _recevedEventArg = null;

            _uut = new RfidReader();

            //Set up an event listener to chek the event occerence and event data
            _uut.RFIDReaderEvent +=
                (o, args) =>
            {
                _recevedEventArg = args;
            };
        }
        public rfidPluggedInfo[] getRFIDpluggedDevice()
        {
            try
            {
                ArrayList listdev = new ArrayList();
                //string[] ports = System.IO.Ports.SerialPort.GetPortNames();

                List <string> ports = GetDevicePortCom();
                foreach (string s in ports)
                {
                    RfidReader deviceForDiscover = new RfidReader();
                    deviceForDiscover.NotifyEvent += new SDK_SC_RfidReader.NotifyHandlerDelegate(deviceForDiscover_NotifyEvent);
                    deviceForDiscover.ConnectReader(s);
                    eventEndDiscover.WaitOne(500, false);

                    if (deviceForDiscover.IsConnected)
                    {
                        rfidPluggedInfo tmpdev = new rfidPluggedInfo();
                        if (!deviceForDiscover.HardwareVersion.Contains("."))
                        {
                            break;                                                   // for modem
                        }
                        string hw = deviceForDiscover.HardwareVersion.Substring(0, deviceForDiscover.HardwareVersion.IndexOf('.'));
                        tmpdev.deviceType = (DeviceType)int.Parse(hw);
                        tmpdev.SerialRFID = deviceForDiscover.SerialNumber;
                        tmpdev.portCom    = deviceForDiscover.StrCom;
                        listdev.Add(tmpdev);
                        deviceForDiscover.Dispose();
                    }
                }
                if (listdev.Count > 0)
                {
                    int nIndex = 0;
                    rfidPluggedInfo[] arrayDev = new rfidPluggedInfo[listdev.Count];
                    foreach (rfidPluggedInfo dev in listdev)
                    {
                        arrayDev[nIndex++] = dev;
                    }
                    return(arrayDev);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception exp)
            {
                ErrorMessage.ExceptionMessageBox.Show(exp);
                return(null);
            }
        }
Exemple #17
0
 public void OnReaderCreated(bool success, RfidReader reader)
 {
     if (success)
     {
         _app.RfIdRdr = reader;
         _control.ConnectionHandler.SendEmptyMessage(BleMsgConsts.MSG_CREATE_READER_SUCCESSFULLY);
         Intent intent = new Intent(_control, typeof(ReaderMain));
         _control.StartActivity(intent);
     }
     else
     {
         _control.ConnectionHandler.SendEmptyMessage(BleMsgConsts.MSG_CREATE_READER_FAILED);
     }
 }
Exemple #18
0
        static void Main(string[] args)
        {
            // Assemble your system here from all the classes


            IDoor          door       = new Door();
            IDisplay       display    = new Display();
            IUsbCharger    usbCharger = new UsbChargerSimulator();
            IRfidReader    rfidReader = new RfidReader();
            IChargeControl charge     = new ChargeControl(usbCharger);

            bool finish = false;

            do
            {
                string input;
                System.Console.WriteLine("Indtast E, O, C, R: ");
                input = Console.ReadLine();
                if (string.IsNullOrEmpty(input))
                {
                    continue;
                }
                switch (input[0])
                {
                case 'E':
                    finish = true;
                    break;

                case 'O':
                    door.UnlockDoor();
                    break;

                case 'C':
                    door.LockDoor();
                    break;

                case 'R':
                    System.Console.WriteLine("Indtast RFID id: ");
                    string idString = System.Console.ReadLine();

                    int id = Convert.ToInt32(idString);
                    rfidReader.SetRfidTag(id);

                    break;

                default:
                    break;
                }
            } while (!finish);
        }
        static void Main(string[] args)
        {
            // Assemble your system here from all the classes
            Door           door       = new Door();
            RfidReader     rfidReader = new RfidReader();
            ChargeControl  charger    = new ChargeControl(new UsbChargerSimulator(), new DisplayConsole());
            DisplayConsole display    = new DisplayConsole();

            StationControl statCtrl = new StationControl(charger, display, door, rfidReader);


            bool finish = false;

            do
            {
                string input;
                System.Console.WriteLine("Indtast E, O, C, R: ");
                input = Console.ReadLine();
                if (string.IsNullOrEmpty(input))
                {
                    continue;
                }

                switch (input[0])
                {
                case 'E':
                    finish = true;
                    break;

                case 'O':
                    door.OnDoorOpened();
                    break;

                case 'C':
                    door.OnDoorClosed();
                    break;

                case 'R':
                    System.Console.WriteLine("Indtast RFID id: ");
                    string idString = System.Console.ReadLine();

                    int id = Convert.ToInt32(idString);
                    rfidReader.OnRfidRead(id);
                    break;

                default:
                    break;
                }
            } while (!finish);
        }
Exemple #20
0
        static void Main(string[] args)
        {
            Console.WriteLine("To open the door, press o");
            Console.WriteLine("To close the door, press c");
            Console.WriteLine("To use RFID, press r");

            IConsoleWriter _consoleWriter  = new ConsoleWriter();
            IDoor          _door           = new Door(_consoleWriter);
            IRfidReader    _rfidReader     = new RfidReader();
            ILog           _log            = new LogFile();
            IDisplay       _display        = new Display(_consoleWriter);
            IUsbCharger    _usbCharger     = new UsbChargerSimulator();
            IChargeControl _chargeControl  = new ChargeControl(_usbCharger, _display);
            StationControl _stationControl = new StationControl(_door, _rfidReader, _log, _chargeControl, _display);

            while (true)
            {
                var key = Console.ReadKey(true); //Skal altid læse hvad for en tast der bliver tastet på

                switch (key.KeyChar)
                {
                case 'o':
                    _door.SetDoorStatus(true);
                    break;

                case 'c':
                    _door.SetDoorStatus(false);
                    break;

                case 'r':
                    Console.WriteLine("Indtast ID");
                    int id = Convert.ToInt32(Console.ReadLine());
                    _rfidReader.SetRfidReaderStatus(true, id);
                    break;
                }
            }



            //Test
            //UsbChargerSimulator ucs = new UsbChargerSimulator();
            //Display d = new Display();
            //ChargeControl cc = new ChargeControl(ucs,d);

            //cc.StopCharge();

            //Console.WriteLine("Tryk på en tast for at lukke programmet");
            //Console.ReadKey();
        }
Exemple #21
0
 private void StopReadInternal()
 {
     if (!IsFastMode())
     {
         IsReading = false;
     }
     else
     {
         IsReading_fast = false;
         RfidReader reader = GetReader();
         reader.StopRead();
         reader.RemoveOnTagReadListener(_dataListener);
     }
     _app.RfidMgr.SetLEDBlink(false);
     StopHandleBeeper();
 }
        protected Cabinet(RfidReader currenRfidReader, string strPortBadgeAndLCD)
        {
            Rs232Module = new Rs232Module(strPortBadgeAndLCD);
            MessageReceivedEventHandler msgReceivedEventHandler = UpdateMessage;

            Rs232Module.MessageEvent += msgReceivedEventHandler;

            CurrenRfidReader = currenRfidReader;

            if (CurrenRfidReader != null)
            {
                CurrenRfidReader.NotifyEvent += myDevice_NotifyEvent;
            }

            StrPortBadgeAndLCD = strPortBadgeAndLCD;
        }
Exemple #23
0
        public FridgeCabinet(RfidReader currenRfidReader, string strPortBadgeAndLCD, string strPortTempReader, FridgeType fridgeType)
            : base(currenRfidReader, strPortBadgeAndLCD)
        {
            StrPortTempReader = strPortTempReader;
            _fridgeType       = fridgeType;

            EventThread = new Thread(EventThreadProc)
            {
                Name = "SmartCabinet event", IsBackground = true
            };
            EventThread.Start();

            Clock.Interval = 1000;
            Clock.Elapsed += Timer_Tick;
            Clock.Start();

            if (string.IsNullOrEmpty(strPortTempReader))
            {
                return;
            }

            if (fridgeType == FridgeType.FT_CAREL)
            {
                _tempFridgeReaderCarel = new TempFridgeThreadCarel(strPortTempReader);
                _tempFridgeReaderCarel.StartThread();
            }

            if (fridgeType == FridgeType.FT_EVERCOM)
            {
                _tempFridgeReaderEvercom = new TempFridgeThreadEvercom(strPortTempReader);
                _tempFridgeReaderEvercom.StartThread();
            }

            if (fridgeType == FridgeType.FT_PT100)
            {
                _tempFridgeReaderPT100 = new TempFridgeThreadPT100();
                _tempFridgeReaderPT100.StartThread();
            }
            if (fridgeType == FridgeType.FT_FANEM)
            {
                _tempFridgeFanem = new TempFridgeFanem(strPortTempReader);
                _tempFridgeFanem.StartThread();
            }
        }
Exemple #24
0
        private void BeginReadInternal()
        {
            _app.RfidMgr.SetLEDBlink(true);


            IsReading_fast = true;

            SetQuickModeParams();

            string     additionDataType = "None";
            RfidReader reader           = GetReader();

            reader.SetOnTagReadListener(_dataListener);
            reader.Read(TagAdditionData.Get(additionDataType), TagReadOption);


            Android.OS.Message msg = Android.OS.Message.Obtain();
            msg.What = MSG_UPDATE_UI_FAST_MODE;
            _uiHandler.SendMessage(msg);
        }
Exemple #25
0
 public void Setup()
 {
     _uut = new RfidReader();
 }
 public void OnReaderCreated(bool success, RfidReader reader)
 {
 }
        public bool connect()
        {
#if DEBUG
            return(false);
#endif
            bool re = false;

            if (mReaderType == READER_TYPE.READER_IMP)
            {
                try
                {
                    mReaderIMP = new ImpinjReader();
                    mReaderIMP.TagsReported += this.tagsReportedIMP;

                    mReaderIMP.Connect(mIp);
                    mReaderIMP.ApplyDefaultSettings();

                    configIMP(mPower);

                    re = true;
                }
                catch (Exception)
                {
                    re = false;
                }
            }

            if (mReaderType == READER_TYPE.READER_TM)
            {
                try
                {
                    Reader.SetSerialTransport("tcp", SerialTransportTCP.CreateSerialReader);
                    mReaderTM          = Reader.Create(string.Format("tcp://{0}", mIp));
                    mReaderTM.TagRead += tagsReportedTM;

                    mReaderTM.Connect();

                    configTM(mPower);

                    re = true;
                }
                catch (Exception)
                {
                    re = false;
                }
            }

            if (mReaderType == READER_TYPE.READER_DLX_PM)
            {
                try
                {
                    mReaderDLXPM = new RfidUARTLinkExtend();
                    mReaderDLXPM.RadioInventory += tagsReportedDLXPM;

                    if (mReaderDLXPM.ConnectRadio(mComPort, 115200) == operateResult.ok)
                    {
                        AntennaPortConfiguration portConfig = new AntennaPortConfiguration();
                        portConfig.powerLevel            = (uint)mPower;
                        portConfig.numberInventoryCycles = 8192;
                        portConfig.dwellTime             = 2000;
                        mReaderDLXPM.SetAntennaPortConfiguration(mComPort, 0, portConfig);
                        mReaderDLXPM.SetCurrentLinkProfile(mComPort, 1);
                        SingulationAlgorithmParms singParm = new SingulationAlgorithmParms();
                        singParm.singulationAlgorithmType = SingulationAlgorithm.Dynamicq;
                        singParm.startQValue         = 4;
                        singParm.minQValue           = 0;
                        singParm.maxQValue           = 15;
                        singParm.thresholdMultiplier = 4;
                        singParm.toggleTarget        = 1;
                        mReaderDLXPM.SetCurrentSingulationAlgorithm(mComPort, singParm);
                        mReaderDLXPM.SetTagGroupSession(mComPort, Session.S0);

                        re = true;
                    }
                }
                catch (Exception)
                {
                    re = false;
                }
            }

            if (mReaderType == READER_TYPE.READER_DLX_PM)
            {
                try
                {
                    mReaderXDPM = new RfidReader();
                    mReaderXDPM.OnTagsReported += tagsReportedXDPM;
                    re = mReaderXDPM.OpenReader(mIp, 2048, SynchronizationContext.Current, "M6E").Success;
                    configXDPM(mPower);
                }
                catch (Exception)
                {
                    re = false;
                }
            }

            return(re);
        }
Exemple #28
0
 public void Setup()
 {
     reader = new RfidReader();
     reader.TagReadEvent += RfidReader_TagReadEvent;
     numberOfEvents       = 0;
 }
        static void Main(string[] args)
        {
            bool finish = false;

            //Assemble your system here from all the classes
            Door          door          = new Door(); //Der bruges metoder (open og close) der ikke er en del af interface
            IDisplay      display       = new Display(new ConsoleWriter());
            IUsbCharger   usb           = new UsbChargerSimulator();
            ChargeControl chargeControl = new ChargeControl(usb, display);
            ILogFile      logFile       = new LogFile(new TimeProvider(), new FileWriter());
            RfidReader    rfidReader    = new RfidReader();

            door = new Door();

            StationControl station = new StationControl(door, rfidReader, display, chargeControl, logFile);

            System.Console.WriteLine(
                "Velkommen til ladeskabet :) Her kan du få frisk strøm, mens din telefon er låst inde\n");
            do
            {
                string input;
                System.Console.WriteLine("Indtast bogstav: E_nd, O_pen, C_lose, R_rfid, P_lug eller U_nplug: ");
                input = Console.ReadLine();
                if (string.IsNullOrEmpty(input))
                {
                    continue;
                }
                input = input.ToUpper();
                switch (input[0])
                {
                case 'E':
                    finish = true;
                    break;

                case 'O':
                    door.OpenDoor();
                    break;

                case 'C':
                    door.CloseDoor();
                    break;

                case 'R':
                    System.Console.WriteLine("Indtast RFID id: ");
                    string idString = System.Console.ReadLine();

                    rfidReader.ManualScanTag(idString);
                    break;

                case 'P':
                    chargeControl.PlugPhoneIn();
                    break;

                case 'U':
                    chargeControl.UnPlugPhone();
                    break;

                default:
                    break;
                }
            } while (!finish);
        }
Exemple #30
0
        static void Main(string[] args)
        {
            //Classes that need to be influenced outside stationControl
            IDoor       door       = new Door();
            IRfidReader rfidReader = new RfidReader();

            IUsbCharger    sim           = new UsbChargerSimulator();
            IChargeControl chargeControl = new ChargeControl(sim);


            //Classes only used inside stationControl just declared in ctor args
            StationControl stationControl = new StationControl(new Logger(), new Display(), door, rfidReader, chargeControl);

            //Circular dependency
            sim.Controller = stationControl;

            //User interaction:

            bool keepGoing = true;
            bool connected = false;
            bool shorted   = false;

            Console.WriteLine("INPUTS:");
            Console.WriteLine("[P/p]: Toggle phone plugged in.\t[S/s]: Toggle a short in the charger");
            Console.WriteLine("[O/o]: Try to open door\t\t[C/c]: Try to close door");
            Console.WriteLine("[R/r]: Scan RFID 1: 12345\t[T/t]: Scan RFID 2: 54321");
            Console.WriteLine("[Q/q]: Quit");
            stationControl.Start();
            while (keepGoing)
            {
                switch (Console.ReadKey(true).Key)
                {
                case ConsoleKey.P:

                    connected = !connected;
                    ((UsbChargerSimulator)sim).SimulateConnected(connected);
                    break;

                case ConsoleKey.S:
                    shorted = !shorted;
                    ((UsbChargerSimulator)sim).SimulateOverload(shorted);
                    break;

                case ConsoleKey.O:
                    ((Door)door).OpenDoor();
                    break;

                case ConsoleKey.C:
                    ((Door)door).CloseDoor();
                    break;

                case ConsoleKey.R:
                    ((RfidReader)rfidReader).RfidRead(12345);
                    break;

                case ConsoleKey.T:
                    ((RfidReader)rfidReader).RfidRead(54321);
                    break;

                case ConsoleKey.Q:
                    keepGoing = false;
                    break;
                }
            }
        }
Exemple #31
0
        static void Main(string[] args)
        {
            IDoor       door    = new Door();
            IRfidReader rfid    = new RfidReader();
            IDisplay    display = new Display();
            ILogFile    logfile = new LogFile("logfile.txt");

            UsbCharger     charger       = new UsbCharger();
            IChargeControl chargeControl = new ChargeControl(display, charger);

            StationControl ladeSkab = new StationControl(door, rfid, display, chargeControl, logfile);

            Console.WriteLine("e - Close program.");
            Console.WriteLine("o - Open/close door.");
            Console.WriteLine("r - Scan RFID.");
            Console.WriteLine("c - Phone connected.");
            Console.WriteLine("d - Phone disconnected.\n");

            bool finish = false;

            do
            {
                string input;
                Console.Write("> ");
                input = Console.ReadLine();
                if (string.IsNullOrEmpty(input))
                {
                    continue;
                }

                switch (input[0])
                {
                case 'e':
                    finish = true;
                    break;

                case 'o':
                    door.ToggleDoor();
                    break;

                case 'r':
                    Console.WriteLine("Enter RFID id: ");
                    string inputId = Console.ReadLine();
                    int    id      = Convert.ToInt32(inputId);

                    rfid.OnKeySwiped(id);
                    break;

                case 'c':
                    Console.WriteLine("Phone connected.");
                    charger.SimulateConnected(true);
                    break;

                case 'd':
                    Console.WriteLine("Phone disconnected.");
                    charger.SimulateConnected(false);
                    break;

                default:
                    Console.WriteLine("!INVALID INPUT!");
                    break;
                }
                Console.WriteLine();
            } while (!finish);
        }