public void OpenPort(Port itemPort, SerialPort serialPort) { try { serialPort.BaudRate = itemPort.baud; serialPort.DataBits = itemPort.dataBits; serialPort.Parity = itemPort.parity; serialPort.StopBits = (StopBits)itemPort.stopBits; //Read the ports infinitly serialPort.ReadTimeout = -1; if (serialPort.IsOpen) { serialPort.Close(); } // ASSIGN A THREAD THAT CONSTANTLY WATCH THIS PORT if (itemPort.isRFID) {//open seperate thread for rfid readers // Thread rfidThread = new Thread(() => serialPort.DataReceived += new SerialDataReceivedEventHandler(RFID_DataReceived)); // rfidThread.Start(); serialPort.DataReceived += new SerialDataReceivedEventHandler(RFID_DataReceived); } else {//open seperate thread for barcode readers //Thread barcodeThread = new Thread(() => serialPort.DataReceived += new SerialDataReceivedEventHandler(Barcode_DataReceived)); //barcodeThread.Start(); serialPort.DataReceived += new SerialDataReceivedEventHandler(Barcode_DataReceived); } serialPort.Open(); } catch (Exception ex) { FileWriter.WriteLogFile("Exception" + ex.StackTrace); } }
protected override void OnStop() { FileWriter.WriteLogFile("Serial port reader service stopped at " + DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt")); }
protected override void OnStart(string[] args) { //Call the SerialReader FileWriter.WriteLogFile("Serial port reader service started at " + DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt")); SerialReader serialReader = new SerialReader(); }