Bladeren bron

All commands implemented

develop
Flo Smilari 1 jaar geleden
bovenliggende
commit
b1cfcb4198
3 gewijzigde bestanden met toevoegingen van 62 en 19 verwijderingen
  1. BIN
      .vs/FSRemotePowerSwitch/v16/.suo
  2. 2
    1
      Form1.Designer.cs
  3. 60
    18
      Form1.cs

BIN
.vs/FSRemotePowerSwitch/v16/.suo Bestand weergeven


+ 2
- 1
Form1.Designer.cs Bestand weergeven

@@ -190,9 +190,10 @@ namespace FSRemotePowerSwitch {
// initProgressBar
//
this.initProgressBar.AutoSize = false;
this.initProgressBar.Margin = new System.Windows.Forms.Padding(1, 9, 1, 9);
this.initProgressBar.MarqueeAnimationSpeed = 20;
this.initProgressBar.Name = "initProgressBar";
this.initProgressBar.Size = new System.Drawing.Size(100, 28);
this.initProgressBar.Size = new System.Drawing.Size(100, 16);
this.initProgressBar.Step = 25;
this.initProgressBar.Style = System.Windows.Forms.ProgressBarStyle.Marquee;
//

+ 60
- 18
Form1.cs Bestand weergeven

@@ -14,30 +14,33 @@ namespace FSRemotePowerSwitch {
private static string SERIALPORT_KEY = "LastSerialPort";
private static string EXP_FIRMWARE_VER = "ExpectedFirmwareVersion";
private static bool connected;
private static Boolean Connected {
private bool connected;
private Boolean Connected {
[MethodImpl(MethodImplOptions.Synchronized)]
get { return connected; }
[MethodImpl(MethodImplOptions.Synchronized)]
set { connected = value; }
}
private static bool requestPending;
private static Boolean RequestPending {
private bool requestPending;
private Boolean RequestPending {
[MethodImpl(MethodImplOptions.Synchronized)]
get { return requestPending; }
[MethodImpl(MethodImplOptions.Synchronized)]
set { requestPending = value; }
set { requestPending = value; System.Console.WriteLine(value); }
}
private Boolean initializing;
private string firmwareVersion;
private long timerCount;
public MainForm() {
initializing = false;
Connected = false;
RequestPending = false;
firmwareVersion = new PropertiesHandler(SETTINGS_FILE).get(EXP_FIRMWARE_VER, "V0.0.1");
timerCount = 0;
InitializeComponent();
initializeSerialPortComboBox();
}
@@ -72,6 +75,7 @@ namespace FSRemotePowerSwitch {
while (stopwatch.ElapsedMilliseconds < 3000) {
Thread.Sleep(50);
if (Connected) {
reconnectBtn.Visible = false;
break;
}
}
@@ -92,7 +96,9 @@ namespace FSRemotePowerSwitch {
initializing = true;
string[] ports = SerialPort.GetPortNames();
foreach (string port in ports) {
serialPortsCboBox.Items.Add(port);
if (!serialPortsCboBox.Items.Contains(port)) {
serialPortsCboBox.Items.Add(port);
}
}
PropertiesHandler serialPortCfg = new PropertiesHandler(SETTINGS_FILE);
string lastselectedComPort = serialPortCfg.get(SERIALPORT_KEY, "");
@@ -146,9 +152,29 @@ namespace FSRemotePowerSwitch {
powerSwitchButton.CheckStateChanged += onSwitchCheckStateChanged;
}
}));
} else if (msg.Sender.Equals(Message.CMD_SENDER_AN) && msg.Cmd.Equals(Message.CMD_STATUS_CAM)) {
RequestPending = false;
BeginInvoke(new EventHandler(delegate {
if (msg.Val.Equals(Message.CMD_VAL_ON)) {
webCamRotatorPowerStatusLed.BackgroundImage = FSRemotePowerSwitch.Properties.Resources.blue_led_on;
webCamRotatorPowerSwitch.CheckStateChanged -= onWebCamPowerSwitchCheckStateChanged;
webCamRotatorPowerSwitch.Checked = true;
webCamRotatorPowerSwitch.CheckStateChanged += onWebCamPowerSwitchCheckStateChanged;
} else if (msg.Val.Equals(Message.CMD_VAL_OFF)) {
webCamRotatorPowerStatusLed.BackgroundImage = FSRemotePowerSwitch.Properties.Resources.blue_led_off;
webCamRotatorPowerSwitch.CheckStateChanged -= onWebCamPowerSwitchCheckStateChanged;
webCamRotatorPowerSwitch.Checked = false;
webCamRotatorPowerSwitch.CheckStateChanged += onWebCamPowerSwitchCheckStateChanged;
}
}));
} else if (msg.Sender.Equals(Message.CMD_SENDER_AN) && msg.Cmd.Equals(Message.CMD_ZERO_CAM)) {
RequestPending = false;
BeginInvoke(new EventHandler(delegate {
webCamRotator.Value = int.Parse(msg.Val);
}));
}
} 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();
@@ -241,11 +267,11 @@ namespace FSRemotePowerSwitch {
}
}
private void sendWebCamZeroCmd() {
private void sendWebCamStatusCmd() {
Message msg = new Message();
msg.Sender = Message.CMD_SENDER_PC;
msg.Cmd = Message.CMD_ZERO_CAM;
msg.Val = "0";
msg.Cmd = Message.CMD_STATUS_CAM;
msg.Val = null;
string msJson = JsonConvert.SerializeObject(msg);
if (serialPort.IsOpen && !RequestPending) {
serialPort.Write(msJson);
@@ -253,11 +279,11 @@ namespace FSRemotePowerSwitch {
}
}
private void sendWebCamAzimutCmd() {
private void sendWebCamPowerCmd(string value) {
Message msg = new Message();
msg.Sender = Message.CMD_SENDER_PC;
msg.Cmd = Message.CMD_AZIMUT_CAM;
msg.Val = webCamRotator.Value.ToString();
msg.Cmd = Message.CMD_POWER_CAM;
msg.Val = value;
string msJson = JsonConvert.SerializeObject(msg);
if (serialPort.IsOpen && !RequestPending) {
serialPort.Write(msJson);
@@ -265,11 +291,11 @@ namespace FSRemotePowerSwitch {
}
}
private void sendWebCamPowerCmd(string value) {
private void sendWebCamZeroCmd() {
Message msg = new Message();
msg.Sender = Message.CMD_SENDER_PC;
msg.Cmd = Message.CMD_POWER_CAM;
msg.Val = value;
msg.Cmd = Message.CMD_ZERO_CAM;
msg.Val = "0";
string msJson = JsonConvert.SerializeObject(msg);
if (serialPort.IsOpen && !RequestPending) {
serialPort.Write(msJson);
@@ -277,8 +303,24 @@ namespace FSRemotePowerSwitch {
}
}
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) {
serialPort.Write(msJson);
}
}
private void onStatusTimerTick(object sender, EventArgs e) {
sendRelayStatusCmd();
if (timerCount % 2 == 0) {
sendWebCamStatusCmd();
} else {
sendRelayStatusCmd();
}
timerCount++;
}
private void onMainFormClosing(object sender, FormClosingEventArgs e) {

Laden…
Annuleren
Opslaan