..
This commit is contained in:
@@ -38,6 +38,8 @@ namespace Project.Device
|
||||
|
||||
public Xbee()
|
||||
{
|
||||
this.WriteTimeout = 500;
|
||||
this.ReadTimeout = 500;
|
||||
this.DataReceived += Xbee_DataReceived;
|
||||
proto = new EEProtocol();
|
||||
proto.OnDataReceived += Proto_OnDataReceived;
|
||||
@@ -166,12 +168,18 @@ namespace Project.Device
|
||||
public bool CleanerInComplete { get; set; }
|
||||
public bool CleanerOutComplete { get; set; }
|
||||
|
||||
ManualResetEvent sendlock = new ManualResetEvent(true);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// AGV상태를 Xbee 로 전송한다
|
||||
/// </summary>
|
||||
public void SendStatus()
|
||||
{
|
||||
if (this.IsOpen == false) return;
|
||||
if ( sendlock.WaitOne() == false) return;
|
||||
sendlock.Reset();
|
||||
|
||||
/*
|
||||
Mode[1] : 0=manual, 1=auto
|
||||
RunSt[1] : 0=stop, 1=run, 2=error
|
||||
@@ -246,7 +254,9 @@ namespace Project.Device
|
||||
var cmd = (byte)ENIGProtocol.AGVCommandEH.Status;
|
||||
var packet = proto.CreatePacket(PUB.setting.XBE_ID, cmd, data);
|
||||
if (Send(packet))
|
||||
PUB.logxbee.AddI($"Send status {packet.Length} {packet.HexString()}");
|
||||
PUB.logxbee.AddI($"Send status [O] : {packet.Length} {packet.HexString()}");
|
||||
else
|
||||
PUB.logxbee.AddE($"Send status [X] : {packet.Length} {packet.HexString()}");
|
||||
LastStatusSendTime = DateTime.Now;
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -254,6 +264,11 @@ namespace Project.Device
|
||||
errorMessage = ex.Message;
|
||||
PUB.logxbee.AddE(errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
sendlock.Set();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user