chore: commit all remaining changes

This commit is contained in:
backuppc
2026-02-04 15:26:22 +09:00
parent b388b1917d
commit ec2af6ac1f
17 changed files with 414 additions and 242 deletions

View File

@@ -82,7 +82,7 @@ namespace Project.Device
proto.OnMessage -= Proto_OnMessage;
}
public int senderrcnt = 0;
/// <summary>
/// 지그비장치에 데이터를 전송합니다
/// </summary>
@@ -93,10 +93,12 @@ namespace Project.Device
try
{
this.Write(data, 0, data.Length);
senderrcnt = 0;
return true;
}
catch (Exception ex)
{
senderrcnt += 1;
ErrorMessage = ex.Message;
return false;
}
@@ -119,6 +121,7 @@ namespace Project.Device
try
{
base.Open();
senderrcnt = 0;
return IsOpen;
}
catch (Exception ex)
@@ -150,6 +153,7 @@ namespace Project.Device
var buffer = new byte[dev.BytesToRead];
dev.Read(buffer, 0, buffer.Length);
proto.ProcessReceivedData(buffer);
VAR.TIME[eVarTime.LastRecv_XBE] = DateTime.Now;
}
/// <summary>
@@ -168,6 +172,39 @@ namespace Project.Device
PUB.logxbee.AddE($"Send SendMoveComplete [X] : {packet.Length} {packet.HexString()} {PUB.XBE.ErrorMessage}");
}
StateMachine.ERunStep lastactioncmd = StateMachine.ERunStep.READY;
DateTime lastactioncmdtime = DateTime.Now;
/// <summary>
/// 특정행동이 완료되었을때 전달함
/// </summary>
/// <param name="tag"></param>
public void SendActionComplete(StateMachine.ERunStep actionCmd)
{
if (lastactioncmd == actionCmd)
{
var ts = DateTime.Now - lastactioncmdtime;
if(ts.TotalSeconds < 2)
{
return;
}
}
var id = PUB.setting.XBE_ID;
byte cmd = (byte)ENIGProtocol.AGVCommandEH.ActionComplete;
var packet = proto.CreatePacket(id, cmd, null);
if (Send(packet))
PUB.logxbee.AddI($"SendActionComplete [O] : {packet.Length} {packet.HexString()}");
else
PUB.logxbee.AddE($"SendActionComplete [X] : {packet.Length} {packet.HexString()} {PUB.XBE.ErrorMessage}");
//최종액션저장
lastactioncmd = actionCmd;
lastactioncmdtime = DateTime.Now;
}
/// <summary>
/// 신규 RFID태그값이 읽혔다면 이명령을 통해서 전송한다
/// </summary>
@@ -254,7 +291,7 @@ namespace Project.Device
value = 0; // stop
data.Add(value);
//나르미오류코드전송필요 260202
//agv\structure\errorflag.cs 파일의 public enum eflag 에 내용있음
data.AddRange(BitConverter.GetBytes(PUB.AGV.error.Value));
@@ -311,6 +348,10 @@ namespace Project.Device
// ErrorCode [New RunStepErrorCode]
value = (byte)PUB.Result.RunStepErrorCode;
//라이다로인해 멈춘경우 오류코드 추가 260204
if (value == 0 && PUB.AGV.system1.stop_by_front_detect)
value = (byte)ENIGProtocol.AGVErrorCode.LIDAR_STOP;
data.Add(value);
// LastTag