Browse Source

Formatierung korrigiert

develop
Flo Smilari 1 year ago
parent
commit
f1463b7f60
2 changed files with 61 additions and 127 deletions
  1. BIN
      .vs/FSRemotePowerSwitch/v16/.suo
  2. 61
    127
      Form1.cs

BIN
.vs/FSRemotePowerSwitch/v16/.suo View File


+ 61
- 127
Form1.cs View File

@@ -6,10 +6,8 @@ using System.Runtime.CompilerServices;
using System.Threading;
using System.Windows.Forms;
namespace FSRemotePowerSwitch
{
public partial class MainForm : Form
{
namespace FSRemotePowerSwitch {
public partial class MainForm : Form {
private static string SETTINGS_FILE = "Settings.txt";
@@ -17,8 +15,7 @@ namespace FSRemotePowerSwitch
private static string EXP_FIRMWARE_VER = "ExpectedFirmwareVersion";
private static bool connected;
private static Boolean Connected
{
private static Boolean Connected {
[MethodImpl(MethodImplOptions.Synchronized)]
get { return connected; }
[MethodImpl(MethodImplOptions.Synchronized)]
@@ -26,8 +23,7 @@ namespace FSRemotePowerSwitch
}
private static bool requestPending;
private static Boolean RequestPending
{
private static Boolean RequestPending {
[MethodImpl(MethodImplOptions.Synchronized)]
get { return requestPending; }
[MethodImpl(MethodImplOptions.Synchronized)]
@@ -37,8 +33,7 @@ namespace FSRemotePowerSwitch
private Boolean initializing;
private string firmwareVersion;
public MainForm()
{
public MainForm() {
initializing = false;
Connected = false;
RequestPending = false;
@@ -47,19 +42,15 @@ namespace FSRemotePowerSwitch
initializeSerialPortComboBox();
}
private void onFormShown(object sender, EventArgs e)
{
private void onFormShown(object sender, EventArgs e) {
connect();
}
private void connect()
{
if (serialPort.IsOpen)
{
private void connect() {
if (serialPort.IsOpen) {
serialPort.Close();
}
if (serialPortsCboBox.SelectedItem != null)
{
if (serialPortsCboBox.SelectedItem != null) {
Application.UseWaitCursor = true;
serialPort.PortName = serialPortsCboBox.SelectedItem.ToString();
serialPort.Open();
@@ -67,9 +58,7 @@ namespace FSRemotePowerSwitch
Thread waitThread = new Thread(Wait);
waitThread.Start();
}
else
{
} else {
initStatusLbl.Text = "Kein Port verfügbar!";
connectedSerialPortLbl.Text = "Port: ";
initProgressBar.Style = ProgressBarStyle.Continuous;
@@ -77,22 +66,17 @@ namespace FSRemotePowerSwitch
}
}
private void Wait()
{
private void Wait() {
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
while (stopwatch.ElapsedMilliseconds < 3000)
{
while (stopwatch.ElapsedMilliseconds < 3000) {
Thread.Sleep(50);
if (Connected)
{
if (Connected) {
break;
}
}
if (!Connected)
{
BeginInvoke(new EventHandler(delegate
{
if (!Connected) {
BeginInvoke(new EventHandler(delegate {
initStatusLbl.Text = "Zeitüberschreitung!";
connectedSerialPortLbl.Text = "Port: ";
initProgressBar.Style = ProgressBarStyle.Continuous;
@@ -104,12 +88,10 @@ namespace FSRemotePowerSwitch
Cursor.Position = Cursor.Position;
}
private void initializeSerialPortComboBox()
{
private void initializeSerialPortComboBox() {
initializing = true;
string[] ports = SerialPort.GetPortNames();
foreach (string port in ports)
{
foreach (string port in ports) {
serialPortsCboBox.Items.Add(port);
}
PropertiesHandler serialPortCfg = new PropertiesHandler(SETTINGS_FILE);
@@ -119,30 +101,24 @@ namespace FSRemotePowerSwitch
}
private void onSerialPortsCboBoxSelectedIndexChanged(object sender, EventArgs e)
{
private void onSerialPortsCboBoxSelectedIndexChanged(object sender, EventArgs e) {
PropertiesHandler serialPortCfg = new PropertiesHandler(SETTINGS_FILE);
serialPortCfg.set(SERIALPORT_KEY, serialPortsCboBox.SelectedItem);
serialPortCfg.Save();
if (!initializing)
{
if (!initializing) {
reconnectBtn.Visible = false;
connect();
}
}
private void onSerialPortDataReceived(object sender, SerialDataReceivedEventArgs e)
{
private void onSerialPortDataReceived(object sender, SerialDataReceivedEventArgs e) {
string s = readSerialPortData((SerialPort)sender);
try
{
try {
Message msg = JsonConvert.DeserializeObject<Message>(s);
if (msg.Sender.Equals(Message.CMD_SENDER_AN) && msg.Cmd.Equals(Message.CMD_VER) && msg.Val.Equals(firmwareVersion))
{
if (msg.Sender.Equals(Message.CMD_SENDER_AN) && msg.Cmd.Equals(Message.CMD_VER) && msg.Val.Equals(firmwareVersion)) {
RequestPending = false;
BeginInvoke(new EventHandler(delegate
{
BeginInvoke(new EventHandler(delegate {
sendRelayStatusCmd();
Connected = true;
initStatusLbl.Text = "Verbunden";
@@ -155,21 +131,15 @@ namespace FSRemotePowerSwitch
powerSwitchButton.Enabled = true;
statusTimer.Enabled = true;
}));
}
else if (msg.Sender.Equals(Message.CMD_SENDER_AN) && msg.Cmd.Equals(Message.CMD_STATUS_RELAY))
{
} else if (msg.Sender.Equals(Message.CMD_SENDER_AN) && msg.Cmd.Equals(Message.CMD_STATUS_RELAY)) {
RequestPending = false;
BeginInvoke(new EventHandler(delegate
{
if (msg.Val.Equals(Message.CMD_VAL_ON))
{
BeginInvoke(new EventHandler(delegate {
if (msg.Val.Equals(Message.CMD_VAL_ON)) {
powerStateLed.BackgroundImage = FSRemotePowerSwitch.Properties.Resources.blue_led_on;
powerSwitchButton.CheckStateChanged -= onSwitchCheckStateChanged;
powerSwitchButton.Checked = true;
powerSwitchButton.CheckStateChanged += onSwitchCheckStateChanged;
}
else if (msg.Val.Equals(Message.CMD_VAL_OFF))
{
} else if (msg.Val.Equals(Message.CMD_VAL_OFF)) {
powerStateLed.BackgroundImage = FSRemotePowerSwitch.Properties.Resources.blue_led_off;
powerSwitchButton.CheckStateChanged -= onSwitchCheckStateChanged;
powerSwitchButton.Checked = false;
@@ -177,10 +147,8 @@ namespace FSRemotePowerSwitch
}
}));
}
}
catch (Exception ex) when (ex is Newtonsoft.Json.JsonReaderException ||
ex is Newtonsoft.Json.JsonSerializationException)
{
} catch (Exception ex) when (ex is Newtonsoft.Json.JsonReaderException ||
ex is Newtonsoft.Json.JsonSerializationException) {
RequestPending = false;
initStatusLbl.Text = "Json Deserialize Exception!";
serialPort.DiscardInBuffer();
@@ -189,10 +157,8 @@ namespace FSRemotePowerSwitch
}
}
private void onOpenBtnClick(object sender, EventArgs e)
{
if (serialPort.PortName != "COM1" && !serialPort.IsOpen)
{
private void onOpenBtnClick(object sender, EventArgs e) {
if (serialPort.PortName != "COM1" && !serialPort.IsOpen) {
serialPort.Open();
openBtn.Enabled = false;
closeBtn.Enabled = true;
@@ -200,10 +166,8 @@ namespace FSRemotePowerSwitch
}
}
private void onCloseBtnClick(object sender, EventArgs e)
{
if (serialPort.IsOpen)
{
private void onCloseBtnClick(object sender, EventArgs e) {
if (serialPort.IsOpen) {
serialPort.Close();
openBtn.Enabled = true;
closeBtn.Enabled = false;
@@ -211,146 +175,119 @@ namespace FSRemotePowerSwitch
}
}
private void onReconnectBtnClick(object sender, EventArgs e)
{
private void onReconnectBtnClick(object sender, EventArgs e) {
reconnectBtn.Visible = false;
connect();
}
private void onSwitchCheckStateChanged(object sender, EventArgs e)
{
if (powerSwitchButton.Checked)
{
private void onSwitchCheckStateChanged(object sender, EventArgs e) {
if (powerSwitchButton.Checked) {
sendRelayPowerCmd(Message.CMD_VAL_ON);
}
else
{
} else {
sendRelayPowerCmd(Message.CMD_VAL_OFF);
}
}
private void onWebCamPowerSwitchCheckStateChanged(object sender, EventArgs e)
{
if (webCamRotatorPowerSwitch.Checked)
{
private void onWebCamPowerSwitchCheckStateChanged(object sender, EventArgs e) {
if (webCamRotatorPowerSwitch.Checked) {
sendWebCamPowerCmd(Message.CMD_VAL_ON);
}
else
{
} else {
sendWebCamPowerCmd(Message.CMD_VAL_OFF);
}
}
private String readSerialPortData(SerialPort serialPort)
{
private String readSerialPortData(SerialPort serialPort) {
string data = "";
while (serialPort.BytesToRead > 0)
{
while (serialPort.BytesToRead > 0) {
data += serialPort.ReadExisting();
Thread.Sleep(50);
}
return data;
}
private void sendVersionCmd()
{
private void sendVersionCmd() {
Message msg = new Message();
msg.Sender = Message.CMD_SENDER_PC;
msg.Cmd = Message.CMD_VER;
msg.Val = null;
string msJson = JsonConvert.SerializeObject(msg);
if (serialPort.IsOpen && !RequestPending)
{
if (serialPort.IsOpen && !RequestPending) {
serialPort.Write(msJson);
RequestPending = true;
}
}
private void sendRelayPowerCmd(string value)
{
private void sendRelayPowerCmd(string value) {
Message msg = new Message();
msg.Sender = Message.CMD_SENDER_PC;
msg.Cmd = Message.CMD_POWER_RELAY;
msg.Val = value;
string msJson = JsonConvert.SerializeObject(msg);
if (serialPort.IsOpen && !RequestPending)
{
if (serialPort.IsOpen && !RequestPending) {
serialPort.Write(msJson);
RequestPending = true;
}
}
private void sendRelayStatusCmd()
{
private void sendRelayStatusCmd() {
Message msg = new Message();
msg.Sender = Message.CMD_SENDER_PC;
msg.Cmd = Message.CMD_STATUS_RELAY;
msg.Val = null;
string msJson = JsonConvert.SerializeObject(msg);
if (serialPort.IsOpen && !RequestPending)
{
if (serialPort.IsOpen && !RequestPending) {
serialPort.Write(msJson);
RequestPending = true;
}
}
private void sendWebCamZeroCmd()
{
private void sendWebCamZeroCmd() {
Message msg = new Message();
msg.Sender = Message.CMD_SENDER_PC;
msg.Cmd = Message.CMD_ZERO_CAM;
msg.Val = "0";
string msJson = JsonConvert.SerializeObject(msg);
if (serialPort.IsOpen && !RequestPending)
{
if (serialPort.IsOpen && !RequestPending) {
serialPort.Write(msJson);
RequestPending = true;
}
}
private void sendWebCamAzimutCmd()
{
private void sendWebCamAzimutCmd() {
Message msg = new Message();
msg.Sender = Message.CMD_SENDER_PC;
msg.Cmd = Message.CMD_AZIMUT_CAM;
msg.Val = webCamRotator.Value.ToString();
string msJson = JsonConvert.SerializeObject(msg);
if (serialPort.IsOpen && !RequestPending)
{
if (serialPort.IsOpen && !RequestPending) {
serialPort.Write(msJson);
RequestPending = true;
}
}
private void sendWebCamPowerCmd(string value)
{
private void sendWebCamPowerCmd(string value) {
Message msg = new Message();
msg.Sender = Message.CMD_SENDER_PC;
msg.Cmd = Message.CMD_POWER_CAM;
msg.Val = value;
string msJson = JsonConvert.SerializeObject(msg);
if (serialPort.IsOpen && !RequestPending)
{
if (serialPort.IsOpen && !RequestPending) {
serialPort.Write(msJson);
RequestPending = true;
}
}
private void onStatusTimerTick(object sender, EventArgs e)
{
private void onStatusTimerTick(object sender, EventArgs e) {
sendRelayStatusCmd();
}
private void onMainFormClosing(object sender, FormClosingEventArgs e)
{
private void onMainFormClosing(object sender, FormClosingEventArgs e) {
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
while (RequestPending && stopwatch.ElapsedMilliseconds < 2000)
{
while (RequestPending && stopwatch.ElapsedMilliseconds < 2000) {
Thread.Sleep(50);
}
if (serialPort.IsOpen)
{
if (serialPort.IsOpen) {
serialPort.DiscardInBuffer();
serialPort.DiscardOutBuffer();
serialPort.Close();
@@ -358,18 +295,15 @@ namespace FSRemotePowerSwitch
}
}
private void onWebCamRotatorValueChanged(object Sender)
{
private void onWebCamRotatorValueChanged(object Sender) {
rotatorActValue.Text = webCamRotator.Value.ToString();
}
private void onSetWebCamZero(object sender, EventArgs e)
{
private void onSetWebCamZero(object sender, EventArgs e) {
sendWebCamZeroCmd();
}
private void onWebCamRotatorMiddleAreaClicked(object Sender)
{
private void onWebCamRotatorMiddleAreaClicked(object Sender) {
sendWebCamAzimutCmd();
}

Loading…
Cancel
Save