| using System.IO.Ports;
|
| using System.Threading.Tasks;
|
|
|
| namespace FastPrint.Printer
|
| {
|
| public class MarlinConnector
|
| {
|
| private SerialPort port;
|
|
|
| public MarlinConnector(string portName, int baudRate = 115200)
|
| {
|
| port = new SerialPort(portName, baudRate);
|
| }
|
|
|
| public async Task ConnectAsync()
|
| {
|
| if (!port.IsOpen)
|
| port.Open();
|
| await SendCommandAsync("M115");
|
| }
|
|
|
| public async Task SendCommandAsync(string gcode)
|
| {
|
| if (port.IsOpen)
|
| await port.BaseStream.WriteAsync(System.Text.Encoding.ASCII.GetBytes(gcode + "\n"));
|
| }
|
|
|
| public void Disconnect()
|
| {
|
| if (port.IsOpen)
|
| port.Close();
|
| }
|
| }
|
| } |