private void CallbackState() { byte[] data = { }; try { _serialPort.DataReceived -= _serialPortDataReceived; if (!_serialPort.IsOpen) { _serialPort.Open(); } if (_serialPort.IsOpen) { data = ConvertHexToByte("0C"); _serialPort.Write(data, 0, data.Length); Thread.Sleep(100); CallState(_serialPort); } } catch (Exception exception) { if (_serialPort.IsOpen) { _serialPort.Close(); } _invoke = CashState.Unavailable; Console.WriteLine("exception : " + exception); } }
/// <summary> /// current status device /// </summary> /// <returns>string status</returns> public CashState CurrentStatus() { byte[] data = { }; try { _serialPort.DataReceived -= _serialPortDataReceived; if (!_serialPort.IsOpen) { _serialPort.Open(); } if (_serialPort.IsOpen) { CallbackState(); } } catch (Exception exception) { if (_serialPort.IsOpen) { _serialPort.Close(); } _invoke = CashState.Unavailable; Console.WriteLine("exception : " + exception); } Console.WriteLine("current state : " + _invoke); _serialPort.DataReceived += _serialPortDataReceived; return(_invoke); }
/// <summary> /// Enabled Devices. /// </summary> /// <returns>Command 3E return status</returns> public CashState Open() { Byte[] data = { }; try { _serialPort.DataReceived -= _serialPortDataReceived; if (!_serialPort.IsOpen) { _serialPort.Open(); } if (_serialPort.IsOpen) { //Enable Device data = ConvertHexToByte("3E"); _serialPort.Write(data, 0, data.Length); //Initial state _accept += Acknowledge; Thread.Sleep(100); CallbackState(); if (_invoke.Equals(CashState.Ready)) { _serialPort.DataReceived += _serialPortDataReceived; } } } catch (Exception exception) { if (_serialPort.IsOpen) { _serialPort.Close(); } _invoke = CashState.Unavailable; Console.WriteLine("exception : " + exception); } return(_invoke); }
/// <summary> /// Disabled devices. /// </summary> /// <returns>Boolean</returns> public CashState Close() { Byte[] data = { }; try { if (!_serialPort.IsOpen) { _serialPort.Open(); } if (_serialPort.IsOpen) { //Disabled Device data = ConvertHexToByte("5E"); _serialPort.Write(data, 0, data.Length); //Initial state Thread.Sleep(100); CallbackState(); } _serialPort.DiscardOutBuffer(); _serialPort.DiscardInBuffer(); _serialPort.Close(); } catch (Exception exception) { if (_serialPort.IsOpen) { _serialPort.Close(); } _invoke = CashState.Unavailable; Console.WriteLine("exception : " + exception); } _accept -= Acknowledge; _serialPort.DataReceived -= _serialPortDataReceived; return(_invoke); }
private void GetState(string data) { switch (data.ToUpper()) { case "00": _invoke = CashState.Poweroff; break; case "20": _invoke = CashState.MotorFailure; break; case "21": _invoke = CashState.CheckSumError; break; case "22": _invoke = CashState.BillJam; break; case "23": _invoke = CashState.BillRemove; break; case "24": _invoke = CashState.StackerOpen; break; case "25": _invoke = CashState.SensorProblem; break; case "27": _invoke = CashState.BillFish; break; case "29": Console.WriteLine("Bill Reject"); break; case "2A": Console.WriteLine("Invalid Command"); break; case "2E": Console.WriteLine("Reserved"); break; case "2F": Console.WriteLine("Response when Error Status is Exclusion"); break; case "3E": _invoke = CashState.Ready; break; case "5E": _invoke = CashState.Unavailable; break; default: _invoke = CashState.Unknown; break; } }
/// <summary> /// setter state /// </summary> /// <param name="state">data state</param> public CashEvent(CashState state) { _state = state; }