public async Task <ActionResult <SerialPortDefinition> > ConnectJoystick(int id, int?baudRate = null) { int baudRateN0 = baudRate ?? 250000; var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } if (port.IsConnected) { if (port.Serial.BaudRate == baudRateN0) { return(Ok(GetDefinition(port))); } await port.Serial.DisconnectAsync(); } port.IsJoystick = true; port.Serial.BaudRate = baudRateN0; port.Serial.DtrIsReset = true; port.Serial.ResetOnConnect = false; port.GCodeCommandPrefix = ""; await port.Serial.ConnectAsync(port.PortName, null, null, null); await _hubContext.Clients.All.Connected(id); return(Ok(GetDefinition(port))); }
public async Task <ActionResult <SerialPortDefinition> > Connect(int id, string commandPrefix = null, int?baudRate = null, bool?dtrIsReset = true, bool?resetOnConnect = false) { bool dtrIsResetN0 = dtrIsReset ?? true; bool resetOnConnectN0 = resetOnConnect ?? false; int baudRateN0 = baudRate ?? 250000; var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } if (port.IsConnected) { if (port.Serial.BaudRate == baudRateN0 && resetOnConnectN0 == false && !port.IsJoystick) { return(Ok(GetDefinition(port))); } await port.Serial.DisconnectAsync(); } port.IsJoystick = false; port.Serial.BaudRate = baudRateN0; port.Serial.DtrIsReset = dtrIsResetN0; port.Serial.ResetOnConnect = resetOnConnectN0; port.GCodeCommandPrefix = commandPrefix ?? ""; await port.Serial.ConnectAsync(port.PortName, null, null, null); await _hubContext.Clients.All.Connected(id); return(Ok(GetDefinition(port))); }
public async Task <ActionResult <SerialPortDefinition> > Get(int id) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } return(GetDefinition(port)); }
public async Task <IActionResult> ClearCommandHistory(int id) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } port.Serial.ClearCommandHistory(); return(Ok()); }
public async Task <ActionResult> SingleStepCommand(int id) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } port.Serial.SendNext = true; return(Ok()); }
public async Task <ActionResult> DisableSingleStepCommand(int id) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } port.Serial.Pause = false; return(Ok()); }
public async Task <ActionResult> ResumeCommand(int id) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } port.Serial.ResumeAfterAbort(); return(Ok()); }
public async Task <ActionResult <IEnumerable <UInt32> > > GetEeprom(int id) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } var eeprom = await port.Serial.GetEpromValues(GCodeSerial.DefaultEpromTimeout); return(Ok(eeprom)); }
public async Task <ActionResult <decimal> > GetParameter(int id, int paramNo) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } var paramValue = await port.Serial.GetParameterValueAsync(paramNo, port.GCodeCommandPrefix); return(Ok(paramValue)); }
public async Task <ActionResult <IEnumerable <IEnumerable <decimal> > > > GetPosition(int id) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } var position = await port.Serial.GetPosition(port.GCodeCommandPrefix); return(Ok(position)); }
public async Task <ActionResult <IEnumerable <SerialCommand> > > SendCommand(int id, [FromBody] SerialCommands commands) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null || commands == null || commands.Commands == null) { return(NotFound()); } var ret = await port.Serial.SendCommandsAsync(commands.Commands, commands.TimeOut); return(Ok(ret)); }
public async Task <ActionResult <IEnumerable <UInt32> > > EraseEeprom(int id) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } var eeprom = await port.Serial.EraseEeprom(); return(Ok(eeprom)); }
public async Task <ActionResult <SerialPortDefinition> > DisConnect(int id) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } await port.Serial.DisconnectAsync(); port.Serial = null; await _hubContext.Clients.All.Disconnected(id); return(Ok()); }
public async Task <ActionResult> Probe(int id, string axisName, decimal probeSize, decimal probeDist, decimal probeDistUp, decimal probeFeed) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } if (string.IsNullOrEmpty(axisName) || probeSize == 0 || probeDist == 0 || probeFeed == 0) { return(new BadRequestResult()); } await port.Serial.SendProbeCommandAsync(axisName, probeSize, probeDist, probeDistUp, probeFeed); return(Ok()); }
public async Task <ActionResult <IEnumerable <SerialCommand> > > GetCommandHistory(int id, bool?sortDesc = null) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } var cmdList = port.Serial.CommandHistoryCopy; if (sortDesc ?? true) { cmdList = cmdList.OrderByDescending(h => h.SeqId).ToList(); } return(Ok(cmdList)); }
public async Task <ActionResult> SaveEeprom(int id, [FromBody] UInt32[] eepromValue) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } var ee = new EepromV1 { Values = eepromValue }; if (ee.IsValid) { await port.Serial.WriteEepromValues(ee); } return(Ok()); }
public async Task <ActionResult <IEnumerable <SerialCommand> > > SendWhileOkCommand(int id, [FromBody] SerialCommands commands) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null || commands == null || commands.Commands == null) { return(NotFound()); } var ret = new List <SerialCommand>(); foreach (var c in commands.Commands) { var result = await port.Serial.SendCommandsAsync(new[] { c }, commands.TimeOut); ret.AddRange(result); if (result.Any() && result.LastOrDefault().ReplyType != EReplyType.ReplyOk) { break; } } return(Ok(ret)); }
public async Task <IActionResult> Render(int id, [FromBody] PreviewGCode opt) { var port = await SerialPortList.GetPortAndRescan(id); if (port == null) { return(NotFound()); } var gCodeDraw = new GCodeBitmapDraw() { SizeX = opt.SizeX, SizeY = opt.SizeY, SizeZ = opt.SizeZ, RenderSize = new Size(opt.RenderSizeX, opt.RenderSizeY), OffsetX = opt.OffsetX, OffsetY = opt.OffsetY, OffsetZ = opt.OffsetZ, Zoom = opt.Zoom, CutterSize = opt.CutterSize, LaserSize = opt.LaserSize, KeepRatio = opt.KeepRatio }; if (opt.Rotate3DVect != null && opt.Rotate3DVect.Count() == 3) { gCodeDraw.Rotate = new Rotate3D(opt.Rotate3DAngle, opt.Rotate3DVect.ToArray()); } if (!string.IsNullOrEmpty(opt.MachineColor)) { gCodeDraw.MachineColor = System.Drawing.ColorTranslator.FromHtml(opt.MachineColor); } if (!string.IsNullOrEmpty(opt.LaserOnColor)) { gCodeDraw.LaserOnColor = System.Drawing.ColorTranslator.FromHtml(opt.LaserOnColor); } if (!string.IsNullOrEmpty(opt.LaserOffColor)) { gCodeDraw.LaserOffColor = System.Drawing.ColorTranslator.FromHtml(opt.LaserOffColor); } if (!string.IsNullOrEmpty(opt.CutColor)) { gCodeDraw.CutColor = System.Drawing.ColorTranslator.FromHtml(opt.CutColor); } if (!string.IsNullOrEmpty(opt.CutDotColor)) { gCodeDraw.CutDotColor = System.Drawing.ColorTranslator.FromHtml(opt.CutDotColor); } if (!string.IsNullOrEmpty(opt.CutEllipseColor)) { gCodeDraw.CutEllipseColor = System.Drawing.ColorTranslator.FromHtml(opt.CutEllipseColor); } if (!string.IsNullOrEmpty(opt.CutArcColor)) { gCodeDraw.CutArcColor = System.Drawing.ColorTranslator.FromHtml(opt.CutArcColor); } if (!string.IsNullOrEmpty(opt.FastMoveColor)) { gCodeDraw.FastMoveColor = System.Drawing.ColorTranslator.FromHtml(opt.FastMoveColor); } if (!string.IsNullOrEmpty(opt.HelpLineColor)) { gCodeDraw.HelpLineColor = System.Drawing.ColorTranslator.FromHtml(opt.HelpLineColor); } var hisCommands = port.Serial.CommandHistoryCopy.OrderBy(x => x.SeqId).Select(c => c.CommandText); var load = new LoadGCode(); load.Load(hisCommands.ToArray()); var commands = load.Commands; var bitmap = gCodeDraw.DrawToBitmap(commands); var memoryStream = new MemoryStream(); bitmap.Save(memoryStream, ImageFormat.Png); memoryStream.Position = 0; var fileName = "preview.png"; return(File(memoryStream, this.GetContentType(fileName), fileName)); }