Exemplo n.º 1
0
        public void ApplySettings(UIState newUiState)
        {
            for (int outputNumber = 0; outputNumber < 6; outputNumber++)
            {
                if (!uiState.Outputs[outputNumber].Equals(newUiState.Outputs[outputNumber]))
                {
                    komaHub.configureOutput(outputNumber, newUiState.Outputs[outputNumber]);
                }
            }

            this.uiState = newUiState;
            Update(uiState);
        }
Exemplo n.º 2
0
        private void LoadStateFromUI(UIState uiState)
        {
            ComboBox[] outputTypes  = { output1Type, output2Type, output3Type, output4Type, output5Type, output6Type };
            TextBox[]  outputNames  = { output1Name, output2Name, output3Name, output4Name, output5Name, output6Name };
            ComboBox[] fuseCurrents = { output1Fuse, output2Fuse, output3Fuse, output4Fuse, output5Fuse, output6Fuse };

            for (int i = 0; i < 6; i++)
            {
                outputNames[i].Text           = uiState.Outputs[i].name;
                outputTypes[i].SelectedIndex  = (int)uiState.Outputs[i].type;
                fuseCurrents[i].SelectedIndex = (int)uiState.Outputs[i].fuseCurrent;
            }
        }
Exemplo n.º 3
0
        private void buttonOk_Click(object sender, EventArgs e)
        {
            try
            {
                UIState    uiState      = new UIState();
                ComboBox[] outputTypes  = { output1Type, output2Type, output3Type, output4Type, output5Type, output6Type };
                TextBox[]  outputNames  = { output1Name, output2Name, output3Name, output4Name, output5Name, output6Name };
                ComboBox[] fuseCurrents = { output1Fuse, output2Fuse, output3Fuse, output4Fuse, output5Fuse, output6Fuse };
                float[]    fuseValues   = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
                for (int i = 0; i < 6; i++)
                {
                    uiState.Outputs[i].name        = outputNames[i].Text;
                    uiState.Outputs[i].fuseCurrent = fuseValues[fuseCurrents[i].SelectedIndex];
                    uiState.Outputs[i].type        = convertType(outputTypes[i].GetItemText(outputTypes[i].SelectedItem));
                }

                this.settingsReceiver.ApplySettings(uiState);
            }
            catch (Exception)
            {
                MessageBox.Show("Value must be a number!");
            }
            Close();
        }
Exemplo n.º 4
0
        public void Update(UIState uiState)
        {
            SendMessage(this.Handle, WM_SETREDRAW, false, 0);

            this.groupBoxRelayControl.Enabled = Connected;
            this.groupBoxSensors.Enabled      = true;

            UpdateRelayUI(0, this.output1Number, this.output1Name, this.output1Current, this.pwmDuty1, this.buttonRelay1);
            UpdateRelayUI(1, this.output2Number, this.output2Name, this.output2Current, this.pwmDuty2, this.buttonRelay2);
            UpdateRelayUI(2, this.output3Number, this.output3Name, this.output3Current, this.pwmDuty3, this.buttonRelay3);
            UpdateRelayUI(3, this.output4Number, this.output4Name, this.output4Current, this.pwmDuty4, this.buttonRelay4);
            UpdateRelayUI(4, this.output5Number, this.output5Name, this.output5Current, this.pwmDuty5, this.buttonRelay5);
            UpdateRelayUI(5, this.output6Number, this.output6Name, this.output6Current, this.pwmDuty6, this.buttonRelay6);

            if (uiState.Status.pthPresent)
            {
                this.labelTemperature.Text = string.Format("{0:F1} °C", uiState.Status.temperature);
            }
            this.labelTemperature.Enabled      = uiState.Status.pthPresent;
            this.labelTemperatureTitle.Enabled = uiState.Status.pthPresent;
            if (uiState.Status.pthPresent)
            {
                this.labelHumidity.Text = string.Format("{0:F1} %", uiState.Status.humidity);
            }
            this.labelHumidity.Enabled      = uiState.Status.pthPresent;
            this.labelHumidityTitle.Enabled = uiState.Status.pthPresent;
            if (uiState.Status.pthPresent)
            {
                this.labelPressure.Text = string.Format("{0:F0} hPa", Math.Round(uiState.Status.pressure));
            }
            this.labelPressure.Enabled      = uiState.Status.pthPresent;
            this.labelPressureTitle.Enabled = uiState.Status.pthPresent;
            if (uiState.Status.pthPresent)
            {
                this.labelDewpoint.Text = string.Format("{0:F1} °C", Math.Round(uiState.Status.dewpoint));
            }
            this.labelDewpoint.Enabled      = uiState.Status.pthPresent;
            this.labelDewpointTitle.Enabled = uiState.Status.pthPresent;
            if (uiState.Status.numberOfExternalTemperatures > 0)
            {
                this.labelExternalTemperature.Text = string.Format("{0:F1} °C", uiState.Status.externalTemperatures[0]);
            }
            this.labelExternalTemperature.Enabled      = uiState.Status.numberOfExternalTemperatures > 0;
            this.labelExternalTemperatureTitle.Enabled = uiState.Status.numberOfExternalTemperatures > 0;

            if (uiState.Status.numberOfExternalTemperatures > 1)
            {
                this.labelExternalTemperature2.Text = string.Format("{0:F1} °C", uiState.Status.externalTemperatures[1]);
            }
            this.labelExternalTemperature2.Enabled      = uiState.Status.numberOfExternalTemperatures > 1;
            this.labelExternalTemperature2Title.Enabled = uiState.Status.numberOfExternalTemperatures > 1;

            if (uiState.Status.skyTemperaturePresent)
            {
                this.labelSkyTemperature.Text = string.Format("{0:F1} °C", uiState.Status.skyTemperature);
            }
            this.labelSkyTemperature.Enabled      = uiState.Status.skyTemperaturePresent;
            this.labelSkyTemperatureTitle.Enabled = uiState.Status.skyTemperaturePresent;
            if (uiState.Status.skyTemperaturePresent)
            {
                this.labelSkyTemperatureDelta.Text = string.Format("{0:F1} °C", uiState.Status.skyTemperature - uiState.Status.skyTemperatureAmbient);
            }
            this.labelSkyTemperatureDelta.Enabled      = uiState.Status.skyTemperaturePresent;
            this.labelSkyTemperatureDeltaTitle.Enabled = uiState.Status.skyTemperaturePresent;

            if (uiState.Status.skyQualityPresent)
            {
                this.labelSQM.Text = string.Format("{0:F1} mag/as²", uiState.Status.skyQuality);
                this.sqmToolTip.SetToolTip(this.labelSQM, string.Format("{0:F1} Hz", uiState.Status.skyQualityFreq));
            }

            this.labelSQM.Enabled      = uiState.Status.skyQualityPresent;
            this.labelSQMTitle.Enabled = uiState.Status.skyQualityPresent;

            this.labelInputVoltage.Text      = string.Format("{0:F1} V", uiState.Status.inputVoltage);
            this.labelInputVoltage.ForeColor = uiState.Status.inputVoltage < 12.0 || uiState.Status.inputVoltage >= 14.0 ? Color.Red : Color.Black;

            this.labelStatusText.Text = StatusText;

            SendMessage(this.Handle, WM_SETREDRAW, true, 0);
            this.Refresh();
        }