Example #1
0
 protected virtual void Dispose(bool disposing)
 {
     CleanupPollingThread();
     if (myWindow != null)
     {
         myWindow.Dispose();
         myWindow = null;
     }
 }
Example #2
0
 protected virtual void Dispose(bool disposing)
 {
     CleanupPollingThread();
     if (myWindow != null)
     {
         myWindow.Dispose();
         myWindow = null;
     }
 }
        public SideBarInfo(SensorsViewModel sensorsViewModel, SensorWindow sensorWindow)
        {
            this.sensorsViewModel = sensorsViewModel;
            this.sensorWindow     = sensorWindow;

            this.incomingQueue = Mqtt.GetIncomingQueue();
            Mqtt.Subscribe(new string[] { "temperature" });

            Run();
        }
Example #4
0
        public SensorsViewModel(SensorWindow sensorWindow)
        {
            this.sensorWindow = sensorWindow;

            lineX = new GLineSeries
            {
                Values        = new GearedValues <double> {
                }.WithQuality(Quality.Medium),
                PointGeometry = null,
                Fill          = Brushes.Transparent
            };

            lineY = new GLineSeries
            {
                Values        = new GearedValues <double> {
                }.WithQuality(Quality.Medium),
                PointGeometry = null,
                Fill          = Brushes.Transparent
            };

            lineZ = new GLineSeries
            {
                Values        = new GearedValues <double> {
                }.WithQuality(Quality.Medium),
                PointGeometry = null,
                Fill          = Brushes.Transparent
            };

            lineRoll = new GLineSeries
            {
                Values        = new GearedValues <double> {
                }.WithQuality(Quality.Medium),
                PointGeometry = null,
                Fill          = Brushes.Transparent
            };

            linePitch = new GLineSeries
            {
                Values        = new GearedValues <double> {
                }.WithQuality(Quality.Medium),
                PointGeometry = null,
                Fill          = Brushes.Transparent
            };

            lineYaw = new GLineSeries
            {
                Values        = new GearedValues <double> {
                }.WithQuality(Quality.Medium),
                PointGeometry = null,
                Fill          = Brushes.Transparent
            };

            Graph graphXAcc = new Graph(this, sensorWindow, Topic.XAccTopic, lineX);
            Graph graphYAcc = new Graph(this, sensorWindow, Topic.YAccTopic, lineY);
            Graph graphZAcc = new Graph(this, sensorWindow, Topic.ZAccTopic, lineZ);

            Graph graphRoll  = new Graph(this, sensorWindow, Topic.RollTopic, lineRoll);
            Graph graphPitch = new Graph(this, sensorWindow, Topic.PitchTopic, linePitch);
            Graph graphYaw   = new Graph(this, sensorWindow, Topic.YawTopic, lineYaw);

            SideBarInfo sideBarInfo = new SideBarInfo(this, sensorWindow);

            subscribeAllAndMakeVisible();
        }
Example #5
0
        //Constructor for multiple sensor window
        public Graph(SensorsViewModel svm, SensorWindow sw, string identifier, LineSeries lineSeries)
        {
            //Get queue based on identifier
            incomingQueue       = Mqtt.GetIncomingQueue();
            this.sensorWindow   = sw;
            this.windowToPlotOn = sw;
            this.svm            = svm;
            LineSeries          = lineSeries;
            this.identifier     = identifier;

            if (identifier == "xacceleration" || identifier == "yacceleration" || identifier == "zacceleration")
            {
                identifier_top = "acceleration";
                topic          = new string[] { identifier_top };
            }
            else if (identifier == "pitch" || identifier == "yaw" || identifier == "roll")
            {
                identifier_top = "orientation";
                topic          = new string[] { identifier_top };
            }

            svm.Title = SetTitle(identifier);
            Mqtt.Subscribe(topic);

            switch (identifier)
            {
            case Topic.XAccTopic:
                sensorWindow.accXChart.Series.Add(LineSeries);
                LineSeries.Title = "AccX";
                break;

            case Topic.YAccTopic:
                sensorWindow.accYChart.Series.Add(LineSeries);
                LineSeries.Title = "AccY";
                break;

            case Topic.ZAccTopic:
                sensorWindow.accZChart.Series.Add(LineSeries);
                LineSeries.Title = "AccZ";
                break;

            case Topic.RollTopic:
                sensorWindow.rollChart.Series.Add(LineSeries);
                LineSeries.Title = "Roll";
                break;

            case Topic.PitchTopic:
                sensorWindow.pitchChart.Series.Add(LineSeries);
                LineSeries.Title = "Pitch";
                break;

            case Topic.YawTopic:
                sensorWindow.yawChart.Series.Add(LineSeries);
                LineSeries.Title = "Yaw";
                break;

            default:
                break;
            }

            Run();
        }
Example #6
0
        public void Sensor()
        {
            SensorWindow sensorWindow = new SensorWindow();

            sensorWindow.Show();
        }
Example #7
0
 public PollingSensor()
 {
     myWindow = new SensorWindow(this);
 }
Example #8
0
 public PollingSensor()
 {
     myWindow = new SensorWindow(this);
 }