first commit
This commit is contained in:
131
Form1.cs
Normal file
131
Form1.cs
Normal file
@@ -0,0 +1,131 @@
|
||||
using SerialComms;
|
||||
using System;
|
||||
using System.IO.Ports;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Serial_Comms_CS
|
||||
{
|
||||
|
||||
|
||||
public partial class MainForm : Form
|
||||
{
|
||||
|
||||
SerialConnector serialConnector = new SerialConnector();
|
||||
|
||||
void handleCalInt(string args)
|
||||
{
|
||||
Console.WriteLine("Callback CAL-INT called");
|
||||
Console.WriteLine("Arguments: " + args);
|
||||
}
|
||||
|
||||
void handleRead(string args)
|
||||
{
|
||||
Console.WriteLine("Callback READ called");
|
||||
Console.WriteLine("Arguments: " + args);
|
||||
}
|
||||
|
||||
public MainForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
// Determine which serial ports are available
|
||||
string[] ports = SerialPort.GetPortNames();
|
||||
|
||||
if (ports.Length <= 0)
|
||||
{
|
||||
MessageBox.Show(
|
||||
"Unable to find any COM ports",
|
||||
"No COM ports",
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error
|
||||
);
|
||||
}
|
||||
|
||||
// Add the serial ports to the combobox
|
||||
foreach (string port in ports)
|
||||
{
|
||||
serialPortBox.Items.Add(port);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
serialConnector.OnCommand("CAL-NXT", (string args) => Console.WriteLine(args));
|
||||
serialConnector.OnCommand("CAL-INT", handleCalInt);
|
||||
serialConnector.OnCommand("READ", handleRead);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(
|
||||
ex.Message,
|
||||
"Failed to register command",
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private void serialPortBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
string selectedPort = serialPortBox.Text;
|
||||
try
|
||||
{
|
||||
serialConnector.SetSerialPort(selectedPort);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(
|
||||
"Unable to set selected COM port\n" + ex.Message,
|
||||
"Unable to open COM port",
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error
|
||||
);
|
||||
}
|
||||
serialTimer.Enabled = true;
|
||||
}
|
||||
|
||||
private void serialTimer_Tick(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
serialConnector.Cycle();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(
|
||||
"Encountered an error while parsing commands\n" + ex.Message,
|
||||
"Command parse error",
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
serialConnector.CloseSerial();
|
||||
}
|
||||
|
||||
private void sendBtn_Click(object sender, EventArgs e)
|
||||
{
|
||||
serialConnector.SendCommand("CAL-INT", "3");
|
||||
}
|
||||
|
||||
private void reconnectBtn_Click(object sender, EventArgs e)
|
||||
{
|
||||
string selectedPort = serialPortBox.Text;
|
||||
try
|
||||
{
|
||||
serialConnector.SetSerialPort(selectedPort);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(
|
||||
"Unable to set selected COM port\n" + ex.Message,
|
||||
"Unable to open COM port",
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user