1.增加配置ID等接口
2.长按取消 长按又挂起任务
This commit is contained in:
@ -348,7 +348,7 @@ namespace WCS.WebApi.Controllers
|
||||
ShelfTypeId = 3,
|
||||
ShelfId = shelfInfo.Id,
|
||||
ShelfCode = shelfInfo.ShelfCode,
|
||||
BoardId = boardId ++,
|
||||
BoardId = boardId++,
|
||||
LightCount = 1,
|
||||
CleintIp = shelfInfo.ClientIp,
|
||||
GroupName = shelfInfo.GroupName,
|
||||
@ -380,5 +380,249 @@ namespace WCS.WebApi.Controllers
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 进入调试模式
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[Route("goInDebugMode")]
|
||||
[HttpPost(Name = "goInDebugMode")]
|
||||
public async Task<ResponseBase> goInDebugMode(SetBoardIdRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
//获取TCP
|
||||
var client = TCPClientManager.TCPClients
|
||||
.Where(t => t.RemoteIPHost == request.IPPort)
|
||||
.First();
|
||||
if (client == null)
|
||||
{
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 300,
|
||||
Message = "未获取到对应连接,请检查地址",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
//进入调试模式
|
||||
byte[] data = { 0x08, 0x00, 0x00, 0x07, 0xFF, 0xDB, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
client.Send(data);
|
||||
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 200,
|
||||
Message = "指令发送成功",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 300,
|
||||
Message = "指令发送失败" + ex.Message,
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Route("goOutDebugMode")]
|
||||
[HttpPost(Name = "goOutDebugMode")]
|
||||
public async Task<ResponseBase> goOutDebugMode(SetBoardIdRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
//获取TCP
|
||||
var client = TCPClientManager.TCPClients
|
||||
.Where(t => t.RemoteIPHost == request.IPPort)
|
||||
.First();
|
||||
if (client == null)
|
||||
{
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 300,
|
||||
Message = "未获取到对应连接,请检查地址",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
//退出调试模式
|
||||
byte[] data = { 0x08, 0x00, 0x00, 0x07, 0xFF, 0xDB, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
client.Send(data);
|
||||
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 200,
|
||||
Message = "指令发送成功",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 300,
|
||||
Message = "指令发送失败" + ex.Message,
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Route("setId")]
|
||||
[HttpPost(Name = "setId")]
|
||||
public async Task<ResponseBase> setId(SetBoardIdRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
//获取TCP
|
||||
var client = TCPClientManager.TCPClients
|
||||
.Where(t => t.RemoteIPHost == request.IPPort)
|
||||
.First();
|
||||
if (client == null)
|
||||
{
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 300,
|
||||
Message = "未获取到对应连接,请检查地址",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
//退出调试模式
|
||||
byte[] data = { 0x08, 0x00, 0x00, 0x07, 0xFF, 0xDB, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
client.Send(data);
|
||||
|
||||
var boardId = request.StartId;
|
||||
var boardIdData = BitConverter.GetBytes(unchecked((short)boardId));
|
||||
// 检查是否需要交换字节
|
||||
if (BitConverter.IsLittleEndian)
|
||||
{
|
||||
// 如果是小端序系统,则交换字节
|
||||
byte temp = boardIdData[0];
|
||||
boardIdData[0] = boardIdData[1];
|
||||
boardIdData[1] = temp;
|
||||
}
|
||||
|
||||
Thread.Sleep(3000);
|
||||
byte[] data1 = { 0x08, 0x00, 0x00, 0x07, 0xFF, 0xC1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
data1[6] = boardIdData[0];
|
||||
data1[7] = boardIdData[1];
|
||||
|
||||
client.Send(data1);
|
||||
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 200,
|
||||
Message = "指令发送成功",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 300,
|
||||
Message = "指令发送失败" + ex.Message,
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Route("setLight")]
|
||||
[HttpPost(Name = "setLight")]
|
||||
public async Task<ResponseBase> setLight(SetBoardIdRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
//获取TCP
|
||||
var client = TCPClientManager.TCPClients
|
||||
.Where(t => t.RemoteIPHost == request.IPPort)
|
||||
.First();
|
||||
if (client == null)
|
||||
{
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 300,
|
||||
Message = "未获取到对应连接,请检查地址",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
|
||||
var boardId = request.StartId;
|
||||
var boardIdData = BitConverter.GetBytes(unchecked((short)boardId));
|
||||
// 检查是否需要交换字节
|
||||
if (BitConverter.IsLittleEndian)
|
||||
{
|
||||
// 如果是小端序系统,则交换字节
|
||||
byte temp = boardIdData[0];
|
||||
boardIdData[0] = boardIdData[1];
|
||||
boardIdData[1] = temp;
|
||||
}
|
||||
byte[] data1 = { 0x08, 0x00, 0x00, 0x07, 0xFF, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
data1[7] = boardIdData[0];
|
||||
data1[8] = boardIdData[1];
|
||||
|
||||
client.Send(data1);
|
||||
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 200,
|
||||
Message = "指令发送成功",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 300,
|
||||
Message = "指令发送失败" + ex.Message,
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
[Route("resetByTCP")]
|
||||
[HttpPost(Name = "resetByTCP")]
|
||||
public async Task<ResponseBase> resetByTCP(SetBoardIdRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
//获取TCP
|
||||
var client = TCPClientManager.TCPClients
|
||||
.Where(t => t.RemoteIPHost == request.IPPort)
|
||||
.First();
|
||||
if (client == null)
|
||||
{
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 300,
|
||||
Message = "未获取到对应连接,请检查地址",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
byte[] data = { 0x08, 0x00, 0x00, 0x07, 0xFF, 0xBE, 0x52, 0x54, 0x41, 0x52, 0x54, 0x0A, 0xED };
|
||||
client.Send(data);
|
||||
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 200,
|
||||
Message = "指令发送成功",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ResponseBase<object>()
|
||||
{
|
||||
Code = 300,
|
||||
Message = "指令发送失败" + ex.Message,
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user