Beispiel #1
0
        private void UpdateChart(object chart, Dictionary <string, DataContainer> dict)
        {
            Chart chart_ = (Chart)chart;

            // get all keys from the current connection
            var keys = dict.Keys.ToArray();

            // clear and update the graphs (for each key)
            foreach (string key in keys)
            {
                // if series does not exist, add it
                if (chart_.Series.IndexOf(key) == -1)
                {
                    Charting.AddChartSeries(key, chart_);
                }

                int i = dict[key].time.Length - 1;
                if (dict[key].time[i] != null)
                {
                    DateTime time = DateTime.ParseExact(dict[key].time[i], Constants.FMT, CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);
                    chart_.Series[key].Points.AddXY(time.ToOADate(), Convert.ToDouble(dict[key].value[i]));
                }

                // remove old data points
                if (chart_.Series[key].Points.Count > Constants.n_steps)
                {
                    chart_.Series[key].Points.RemoveAt(0);
                }
            }
        }
Beispiel #2
0
        private void timerChart_Tick(object sender, EventArgs e)
        {
            // add data-points
            foreach (string item in clbAttackModels.Items)
            {
                string key = item.ToString();
                attack_timeseries[key].InsertData(DateTime.UtcNow.ToString(Constants.FMT), attack_model_container[key].value_attack.ToString());
            }

            // draw chart
            UpdateChart(attackChart, attack_timeseries);
            UpdateChart(packetChart, packet_timeseries);

            // scale y-axis for the chart
            Charting.ChangeYScale(attackChart, "data_chart");

            // update time axis minimum and maximum
            Charting.UpdateChartAxes(attackChart, time_chart_window);
            Charting.UpdateChartAxes(packetChart, time_chart_window);
        }
Beispiel #3
0
        private void ChannelGUI_Load(object sender, EventArgs e)
        {
            // read command line arguments
            string[] args = Environment.GetCommandLineArgs();
            ParseArgs(args);

            // update the dropout model (depending on selection and values)
            UpdateDroupOutModel();

            // application directory
            folderName          = Directory.GetCurrentDirectory();
            toolStripLabel.Text = "Dir: " + folderName;

            // Initial chart settings
            Charting.InitialChartSettings(this);

            // manage form controls (e.g. enable/disable)
            Helpers.ManageNumericalUpdowns(this);

            timerChart.Start();
        }