diff --git a/De70Cmdv2.cs b/De70Cmdv2.cs index 820dda9..dd2582c 100644 --- a/De70Cmdv2.cs +++ b/De70Cmdv2.cs @@ -1579,27 +1579,20 @@ public class Com232C { SerialPort serialPort = null; - public static int prevState = 0; + public Com232C(SerialPort _serialPort) { this.serialPort = _serialPort; } public byte send_dat(byte[] buf, int size) { - - //Debug.WriteLine(DE70_CMD.ByteArrayToString(buf, 0, size)); - AppData.DeviceStatus.CDMStatus = (int)CDMStatusCode.NORMAL; - //AppData.CDMSTATE.CDMStatus = "DE: OK"; - byte bResult = Constants.E_NG; try { serialPort.Write(buf, 0, size); - bResult= Constants.E_OK; + return Constants.E_OK; } catch (Exception e) { - AppData.DeviceStatus.CDMStatus = (int)CDMStatusCode.DISCONNECT_SERIALPORT; - AppData.CDMSTATE.CDMStatus = "DE: LỖI"; try { Log.Fatal(e, "DE70_send_dat"); @@ -1609,18 +1602,12 @@ } catch (Exception e2) { - Log.Fatal(e2,"DE70_send_dat2"); + Log.Fatal(e2, "DE70_send_dat2"); } - } - if(AppData.DeviceStatus.CDMStatus!=prevState) - { - APIModels.SendEvent(AppData.DeviceStatus); - prevState = AppData.DeviceStatus.CDMStatus; - } + } // Implement serial communication send function - - return bResult; + return Constants.E_NG; } public int rcv_dat(byte[] buf, int pos, int size) diff --git a/DepositSMUCv2.xaml.cs b/DepositSMUCv2.xaml.cs index 15ce996..05fcac7 100644 --- a/DepositSMUCv2.xaml.cs +++ b/DepositSMUCv2.xaml.cs @@ -384,6 +384,7 @@ namespace SafeBagDE70 } int prevPrinterStatus = -1; int prevSensorStatus = -1; + int prevCDMState = -1; private void SensorTimer_Tick(object? sender, EventArgs e) { sensorTimer.IsEnabled = false; @@ -394,10 +395,7 @@ namespace SafeBagDE70 if (countSensorTimer % 10 == 0) { GetPrinterStatus(); - if(!AppData.IsInTransaction) - { - AppData.GetCDMState(); - } + GetCDMStatus(); AppData.DeviceStatus.Description = AppData.CDMSTATE.CDMStatus; AppData.DeviceStatus.DeviceTime = DateTime.Now; @@ -423,6 +421,28 @@ namespace SafeBagDE70 sensorTimer.IsEnabled = true; } + private void GetCDMStatus() + { + if (!AppData.IsInTransaction) + { + AppData.GetCDMState(); + if (cCmdRsp.recv_dat.ret != Constants.E_OK) + { + AppData.CDMSTATE.CDMStatus = "CDM: LỖI"; + AppData.DeviceStatus.CDMStatus = (int)CDMStatusCode.DISCONNECT_SERIALPORT; + } + else + { + AppData.DeviceStatus.CDMStatus = (int)CDMStatusCode.NORMAL; + } + if (AppData.DeviceStatus.CDMStatus != prevCDMState) + { + prevCDMState = AppData.DeviceStatus.CDMStatus; + APIModels.SendEvent(AppData.DeviceStatus); + } + } + } + private void GetPrinterStatus() { var status = printerManager.GetStatus();