コード例 #1
0
        public PrzebiegiViewModel(IConfig configuration, IDataMeasure dataMeasure, ICancelTaskService ctss)
        {
            config             = configuration;
            dataMeasureService = dataMeasure;
            cancelTaskService  = ctss;
            DataPlotModel      = new PlotModel {
                Title = "Przebiegi czasowe"
            };
            DataPlotModel.Axes.Add(new LinearAxis()
            {
                Position = AxisPosition.Bottom,
                Minimum  = 0,
                Maximum  = config.GetSettings().XAxisMax,
                Key      = "Horizontal",
                Unit     = "sec",
                Title    = "Time"
            });
            DataPlotModel.Axes.Add(new LinearAxis()
            {
                Position      = AxisPosition.Left,
                Minimum       = -100,
                Maximum       = 100,
                Key           = "Temp",
                Unit          = "C",
                Title         = "temperature",
                TitlePosition = 0.3
            });
            DataPlotModel.Axes.Add(new LinearAxis()
            {
                Position = AxisPosition.Right,
                Minimum  = 0,
                Maximum  = 4000,
                Key      = "Press",
                Unit     = "mbar",
                Title    = "preasure"
            });
            DataPlotModel.Axes.Add(new LinearAxis()
            {
                Position            = AxisPosition.Left,
                Minimum             = 0,
                Maximum             = 100,
                Key                 = "Hum",
                Unit                = "%",
                Title               = "humidity",
                AxisDistance        = 30.0,
                TitlePosition       = 0.7,
                TitleClippingLength = 1.2,
                Angle               = 40,
            });

            DataPlotModel.Series.Add(new LineSeries()
            {
                Title = "Temperature", Color = OxyColor.Parse("#FFFF00FF"), YAxisKey = "Temp", XAxisKey = "Horizontal"
            });
            DataPlotModel.Series.Add(new LineSeries()
            {
                Title = "Preasure", Color = OxyColor.Parse("#FFFFFF00"), YAxisKey = "Press", XAxisKey = "Horizontal"
            });
            DataPlotModel.Series.Add(new LineSeries()
            {
                Title = "Humidity", Color = OxyColor.Parse("#FFFF0000"), YAxisKey = "Hum", XAxisKey = "Horizontal"
            });


            StartButtonAsync    = new AsyncCommand(Start);
            StopButton2         = new ButtonCommand(Cancle);
            UpdateConfigButton  = new ButtonCommand(UpdateConfig);
            DefaultConfigButton = new ButtonCommand(DefaultConfig);

            ipAddress  = config.GetSettings().IpAddress;
            sampleTime = config.GetSettings().SampleTime;
        }
コード例 #2
0
        public MainViewModel()
        {
            Measurements = new ObservableCollection <MeasurementViewModel>();


            IMUChart = new PlotModel {
                Title = "IMU data"
            };

            ENVChart_temp = new PlotModel {
                Title = "Temperature"
            };
            ENVChart_press = new PlotModel {
                Title = "Pressure"
            };
            ENVChart_humid = new PlotModel {
                Title = "Humidity"
            };

            IMUChart.Axes.Add(new LinearAxis()
            {
                Position = AxisPosition.Bottom,
                Minimum  = 0,
                Maximum  = config.XAxisMax,
                Key      = "Horizontal",
                Unit     = "sec",
                Title    = "Time"
            });

            ENVChart_temp.Axes.Add(new LinearAxis()
            {
                Position = AxisPosition.Bottom,
                Minimum  = 0,
                Maximum  = config.XAxisMax,
                Key      = "Horizontal",
                Unit     = "sec",
                Title    = "Time"
            });

            ENVChart_press.Axes.Add(new LinearAxis()
            {
                Position = AxisPosition.Bottom,
                Minimum  = 0,
                Maximum  = config.XAxisMax,
                Key      = "Horizontal",
                Unit     = "sec",
                Title    = "Time"
            });

            ENVChart_humid.Axes.Add(new LinearAxis()
            {
                Position = AxisPosition.Bottom,
                Minimum  = 0,
                Maximum  = config.XAxisMax,
                Key      = "Horizontal",
                Unit     = "sec",
                Title    = "Time"
            });

            IMUChart.Axes.Add(new LinearAxis()
            {
                Position = AxisPosition.Left,
                Minimum  = -190,
                Maximum  = 190,
                Key      = "Vertical",
                Unit     = "deg",
                Title    = "IMU values"
            });

            ENVChart_temp.Axes.Add(new LinearAxis()
            {
                Position = AxisPosition.Left,
                Minimum  = 0,
                Maximum  = 100,
                Key      = "Vertical",
                Unit     = "°C",
                Title    = "Temperature"
            });

            ENVChart_press.Axes.Add(new LinearAxis()
            {
                Position = AxisPosition.Left,
                Minimum  = 250,
                Maximum  = 1270,
                Key      = "Vertical",
                Unit     = "hPa",
                Title    = "Pressure"
            });

            ENVChart_humid.Axes.Add(new LinearAxis()
            {
                Position = AxisPosition.Left,
                Minimum  = 0,
                Maximum  = 100,
                Key      = "Vertical",
                Unit     = "g/m3",
                Title    = "Humidity"
            });


            IMUChart.Series.Add(new LineSeries()
            {
                Title = "roll", Color = OxyColor.Parse("#FFFF0000")
            });
            IMUChart.Series.Add(new LineSeries()
            {
                Title = "pitch", Color = OxyColor.Parse("#0000FF")
            });
            IMUChart.Series.Add(new LineSeries()
            {
                Title = "yaw", Color = OxyColor.Parse("#ffff00")
            });

            ENVChart_temp.Series.Add(new LineSeries()
            {
                Title = "temperature", Color = OxyColor.Parse("#FFFF0000")
            });
            ENVChart_press.Series.Add(new LineSeries()
            {
                Title = "pressure", Color = OxyColor.Parse("#0000FF")
            });
            ENVChart_humid.Series.Add(new LineSeries()
            {
                Title = "humidity", Color = OxyColor.Parse("#ffff00")
            });

            StartButton         = new ButtonCommand(StartTimer);
            StopButton          = new ButtonCommand(StopTimer);
            UpdateConfigButton  = new ButtonCommand(UpdateConfig);
            DefaultConfigButton = new ButtonCommand(DefaultConfig);
            Send_Led            = new ButtonCommand(Send_Led_Data);
            Send_Text           = new ButtonCommand(Send_Led_Text);

            ipAddress  = config.IpAddress;
            sampleTime = config.SampleTime;

            Server = new IoTServer(IpAddress);
        }