auto reset nếu lỗi

This commit is contained in:
Nguyen Dinh Thuan
2024-10-21 17:29:28 +07:00
parent 09e489ee42
commit d31c530392
4 changed files with 62 additions and 8 deletions
+33 -7
View File
@@ -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))
{
// cCmdRsp.SendXXCmd((byte)Command.CMD_DE_SENSE);
//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);
cCmdRsp.SendXXCmd((byte)Command.CMD_DE_SENSE);
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);