Example #1
0
        private int displayAnalogValueInt(AGauge anaGauge, raceFileClass rF, int analogNumber, int digitalValue, int meterValue, float multiplier)
        {   // this calculates one measured analog value pointed by index i.e. analogNumber
            float flValue  = (float)(rF.Analog[analogNumber] - digitalValue) * multiplier + (float)meterValue;
            int   intValue = System.Convert.ToInt32(flValue);

            anaGauge.Value   = intValue;
            anaGauge.CapText = formCapText(analogNumber, intValue);
            return(intValue);
        }
Example #2
0
        private void StartMonitor_button_Click(object sender, EventArgs e)
        {
            bool status = true;

            initComPort();
            try
            {
                serialPort1.Open();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: Could not open serial port connection. Original error: " + ex.Message);
                status = false;
            }
            if (status == true)
            {
                status = startSession();
                int sesSta = readComAll();
                if (status == false)
                {
                    MessageBox.Show("Error: Could not start terminal connection.");
                }
            }
            else
            {
                if (serialPort1.IsOpen)
                {
                    serialPort1.WriteLine("ZE");
                    serialPort1.Close();
                }
                MessageBox.Show("Error: Could not open terminal connection.");
            }
            if (status == true)
            {
                status = sendMonitorCommand();
            }

            if (status == true)
            {
                monFile = new raceFileClass();
                monFile.OpenW("Monitor." + System.Convert.ToString(monNbr));
                monNbr++;
                readComTimer.Start();
            }
        }
Example #3
0
        private void Simulate_button_Click(object sender, EventArgs e)
        {
            DialogResult result;

            result = openFileDialog1.ShowDialog();
            if (result == DialogResult.OK)
            {
                string path1 = openFileDialog1.FileName;

                try
                {
                    if ((raceFileStr = openFileDialog1.OpenFile( )) != null)
                    {
                        // Insert code to read the stream here.
                        raceFileStr.Close();
                        rFile = new raceFileClass();
                        rFile.Open(openFileDialog1.FileName);
                        int count = rFile.ReadOneLine();
                        if (count > 10)
                        {
                            count = rFile.ParseLine();
                        }
                        int time = rFile.ms;
                        if (time == 0 || time > 1000)
                        {
                            time = 50;
                        }
                        updateScreenTimer.Interval = time;
                        updateScreenTimer.Enabled  = true;
                        updateScreenTimer.Start();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
                }
            }
        }
Example #4
0
        private void updateGauges(raceFileClass raceFile)
        {
            string vText;
            int    value;
            float  fValue;

            aGauge1.Value     = raceFile.RPM[0];
            vText             = raceFile.RPM[0].ToString();
            gauge1_label.Text = vText;

            fValue            = (float)raceFile.RPM[1] * (float)sets.speedPerShaftRPM;
            aGauge2.Value     = fValue;
            value             = System.Convert.ToInt32(fValue);
            gauge2_label.Text = value.ToString();

            aGauge3.Value = raceFile.RPM[2];
            aGauge4.Value = raceFile.RPM[3];


            if (raceFile.onOff[0] == true)
            {
                if (sets.OnOffs.getState(0) == true)
                {
                    OnOff1_progressBar.Value = 100;
                }
                else
                {
                    OnOff1_progressBar.Value = 0;
                }
            }
            else
            if (sets.OnOffs.getState(0) == true)
            {
                OnOff1_progressBar.Value = 0;
            }
            else
            {
                OnOff1_progressBar.Value = 100;
            }

            if (raceFile.onOff[1] == true)
            {
                if (sets.OnOffs.getState(1) == true)
                {
                    OnOff2_progressBar.Value = 100;
                }
                else
                {
                    OnOff2_progressBar.Value = 0;
                }
            }
            else
            if (sets.OnOffs.getState(1) == true)
            {
                OnOff2_progressBar.Value = 0;
            }
            else
            {
                OnOff2_progressBar.Value = 100;
            }

            if (raceFile.onOff[2] == true)
            {
                if (sets.OnOffs.getState(2) == true)
                {
                    OnOff3_progressBar.Value = 100;
                }
                else
                {
                    OnOff3_progressBar.Value = 0;
                }
            }
            else
            if (sets.OnOffs.getState(2) == true)
            {
                OnOff3_progressBar.Value = 0;
            }
            else
            {
                OnOff3_progressBar.Value = 100;
            }

            float multip = (float)(sets.temp_2 - sets.temp_1) / (float)(sets.analog_value_2 - sets.analog_value_1);

            int tmpIndex = sets.first_temp_sensor_index;

            value = displayAnalogValueInt(aGauge5, raceFile, tmpIndex, sets.analog_value_2, sets.temp_2, multip);
            tmpIndex++;
            value = displayAnalogValueInt(aGauge6, raceFile, tmpIndex, sets.analog_value_2, sets.temp_2, multip);
            tmpIndex++;
            value = displayAnalogValueInt(aGauge7, raceFile, tmpIndex, sets.analog_value_2, sets.temp_2, multip);
            tmpIndex++;
            value = displayAnalogValueInt(aGauge8, raceFile, tmpIndex, sets.analog_value_2, sets.temp_2, multip);
            tmpIndex++;
            value = displayAnalogValueInt(aGauge9, raceFile, tmpIndex, sets.analog_value_2, sets.temp_2, multip);
            tmpIndex++;
            value = displayAnalogValueInt(aGauge10, raceFile, tmpIndex, sets.analog_value_2, sets.temp_2, multip);
            tmpIndex++;
            value = displayAnalogValueInt(aGauge11, raceFile, tmpIndex, sets.analog_value_2, sets.temp_2, multip);
            tmpIndex++;
            value = displayAnalogValueInt(aGauge12, raceFile, tmpIndex, sets.analog_value_2, sets.temp_2, multip);

            float [] volt   = new float[8];
            int      aIndex = 0;

            for (int i = 0; i < 8; i++)
            {
                volt[i] = (float)raceFile.Analog[sets.first_analog_index + i] * 5.0F / 256.0F;
            }
            float [] val = new float[8];
            for (int i = 0; i < 8; i++)
            {
                aIndex = sets.first_analog_index + i;
                val[i] = (float)(volt[i] - sets.analog1.getVolt2(aIndex))
                         / sets.analog1.getMultip(aIndex) + sets.analog1.getVal2(aIndex);
            }
            addGauge1.Value = val[0];
            addGauge2.Value = val[1];
            addGauge3.Value = val[2];
            addGauge4.Value = val[3];
            addGauge5.Value = val[4];
            addGauge6.Value = val[5];
            addGauge7.Value = val[6];
            addGauge8.Value = val[7];
        }
Example #5
0
        private float calcFloatAnalogValue(AGauge anaGauge, raceFileClass rF, int analogNumber, int digitalValue, int meterValue, float multiplier)
        {
            float flValue = (float)(rF.Analog[analogNumber] - digitalValue) * multiplier + (float)meterValue;

            return(flValue);
        }