auto reset nếu lỗi
This commit is contained in:
@@ -24,6 +24,13 @@
|
||||
Margin="10"
|
||||
Click="btnSoftResetError_Click"/>
|
||||
<Button
|
||||
Content="RESET LỖI (ABNORMAL STORAGE)"
|
||||
x:Name="btnSoftImportantError"
|
||||
HorizontalAlignment="Stretch"
|
||||
Height="40"
|
||||
Margin="10"
|
||||
Click="btnSoftImportantError_Click"/>
|
||||
<Button
|
||||
Content="MỞ NGĂN PHỤ"
|
||||
x:Name="btnOpenEscrow"
|
||||
HorizontalAlignment="Stretch"
|
||||
|
||||
@@ -96,6 +96,11 @@ namespace SafeBagDE70.Admin
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void btnSoftImportantError_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+31
-5
@@ -694,30 +694,56 @@ namespace SafeBagDE70
|
||||
}
|
||||
public static bool ResetAbnormalStorage605()
|
||||
{
|
||||
|
||||
var cCmdRsp = AppData.cCmdRsp;
|
||||
bool bSuccess = false;
|
||||
if (cCmdRsp != null && cCmdRsp.recv_dat != null)
|
||||
|
||||
if (cCmdRsp != null)
|
||||
{
|
||||
if (cCmdRsp.recv_dat.dat[1] == 0x1C && cCmdRsp.recv_dat.dat[2] == 0x4A)
|
||||
cCmdRsp.SendXXCmd((byte)Command.CMD_DE_SENSE);
|
||||
if (cCmdRsp.recv_dat != null &&(cCmdRsp.recv_dat.dat[1] == 0x1C && cCmdRsp.recv_dat.dat[2] == 0x4C))
|
||||
{
|
||||
//0. Check notes in escrow or not?
|
||||
|
||||
//1. Event Fix
|
||||
var recvData = cCmdRsp.recv_dat;
|
||||
if (recvData.dat[14] == recvData.dat[16])
|
||||
{
|
||||
cCmdRsp.SendLock();
|
||||
}
|
||||
else
|
||||
{
|
||||
cCmdRsp.SendEventFix(recvData.dat[16]);
|
||||
}
|
||||
//2. UnLock
|
||||
// cCmdRsp.SendXXCmd((byte)Command.CMD_DE_SENSE);
|
||||
cCmdRsp.SendXXCmd((byte)Command.CMD_DE_UNLOCK);
|
||||
Thread.Sleep(1000);
|
||||
|
||||
//3. Lock with MODE IMPORTANT ERROR
|
||||
var currentMode = cCmdRsp.GetLockParam().mode;
|
||||
cCmdRsp.GetLockParam().mode = Mode.MODE_SECERROR;
|
||||
cCmdRsp.SendLock();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
cCmdRsp.SendXXCmd((byte)Command.CMD_DE_SENSE);
|
||||
var recvData = cCmdRsp.recv_dat;
|
||||
recvData = cCmdRsp.recv_dat;
|
||||
var SR2 = recvData.dat[1];
|
||||
var S2 = recvData.dat[recvData.leng - 1];
|
||||
if (recvData.dat[1] == 0x1C && (S2==0xE2 || S2==0xE4))
|
||||
|
||||
if (SR2 == 0x1C && (S2==0xE2 || S2==0xE4))
|
||||
{
|
||||
cCmdRsp.SendXXCmd((byte)Command.CMD_DE_RESET);
|
||||
Thread.Sleep(2000);
|
||||
for(int i=0;i<10;i++)
|
||||
{
|
||||
cCmdRsp.SendXXCmd((byte)Command.CMD_DE_SENSE);
|
||||
Thread.Sleep(1000);
|
||||
S2 = recvData.dat[recvData.leng - 1];
|
||||
if (S2 == 0xE7)
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Thread.Sleep(1000);
|
||||
cCmdRsp.SendXXCmd((byte)Command.CMD_DE_CNTSTART);
|
||||
Thread.Sleep(1000);
|
||||
|
||||
@@ -425,7 +425,7 @@ namespace SafeBagDE70
|
||||
}
|
||||
sensorTimer.IsEnabled = true;
|
||||
}
|
||||
|
||||
int nTry2Reset = 0;
|
||||
private void GetCDMStatus()
|
||||
{
|
||||
if (!AppData.IsInTransaction)
|
||||
@@ -442,9 +442,25 @@ namespace SafeBagDE70
|
||||
AppData.CDMSTATE.CDMStatus = "CDM: LỖI INITIALIZATION ERROR";
|
||||
AppData.DeviceStatus.CDMStatus = (int)CDMStatusCode.ERROR;
|
||||
AppData.DeviceStatus.Description = AppData.CDMSTATE.CDMStatus;
|
||||
|
||||
if(nTry2Reset<2)
|
||||
{
|
||||
AppData.ResetCDMError();
|
||||
nTry2Reset++;
|
||||
|
||||
AppData.GetCDMState();
|
||||
var SR1 = AppData.cCmdRsp.recv_dat.dat[1];
|
||||
if ((SR1 == 0x07) || (SR1 == 0x04))
|
||||
{
|
||||
AppData.CDMSTATE.CDMStatus = "CDM: LỖI INITIALIZATION ERROR --> RESET THÀNH CÔNG";
|
||||
}
|
||||
else
|
||||
AppData.CDMSTATE.CDMStatus = "CDM: LỖI INITIALIZATION ERROR --> RESET KHÔNG THÀNH CÔNG";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nTry2Reset = 0;
|
||||
AppData.DeviceStatus.CDMStatus = (int)CDMStatusCode.NORMAL;
|
||||
AppData.DeviceStatus.Description = AppData.CDMSTATE.CDMStatus;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user