Exemple #1
0
        public AutonomyViewModel(ModelContainer ModelContainer)
        {
            modelContainer         = ModelContainer;
            LoggerViewModel        = new LoggerViewModel(modelContainer.logger);
            CameraViewModel        = new CameraStreamViewModel();
            DetectionListViewModel = new DetectionListViewModel(modelContainer);


            StartAutonomyCommand = new RelayCommand(StartAutonomyAction, Allow);
            StopAutonomyCommand  = new RelayCommand(StopAutonomyAction, Allow);
            modelContainer.dataContainer.Position.newDataCallback              += (float x, float y, float z) => { RaisePropertyChanged("posX"); RaisePropertyChanged("posY"); RaisePropertyChanged("posZ"); };
            modelContainer.dataContainer.Velocity.newNormCallback              += (float x) => RaisePropertyChanged("Velocity");
            modelContainer.dataContainer.Acceleration.newNormCallback          += (float x) => RaisePropertyChanged("Acceleration");
            modelContainer.modelStatus.taskManagerStatus.NewData               += () => RaisePropertyChanged("TaskManagerStatus");
            modelContainer.modelStatus.networkStatus.ConnectedToJetsonCallback += (bool val) => JetsonConnected = val;
            modelContainer.modelStatus.AutonomyStatusCallback       += (bool val) => AutonomyStatus = val;
            modelContainer.dataContainer.Attitude.newDataCallback   += (float x, float y, float z) => { Roll = x; Pitch = y; Heading = z; };
            modelContainer.dataContainer.motorsData.newDataCallback += () => { RaisePropertyChanged("MotorsData"); };
        }
Exemple #2
0
        public ControlViewModel(ModelContainer modelContainer)
        {
            Position                 = new MovementInfoClass();
            this.modelContainer      = modelContainer;
            CameraViewModel          = new CameraStreamViewModel();
            HUDViewModel             = new HUDViewModel();
            DetectionListViewModel   = new DetectionListViewModel(modelContainer);
            DetectionDrawerViewModel = new DetectionDrawerViewModel(modelContainer);
            ModeChangedCommand       = new RelayCommand(ModeChangedAction, CanArmAction);
            ArmCommand               = new RelayCommand(ArmAction, CanArmAction);
            DisarmCommand            = new RelayCommand(DisarmAction, CanDisarmAction);

            DetectionBtnClickedCommand              = new RelayCommand(DetectionBtnClickedAction, (object p) => { return(true); });
            modelContainer.modelStatus.ArmCallback += (bool value) => { Armed = value; };
            modelContainer.modelStatus.networkStatus.ConnectedToJetsonCallback     += (bool value) => { JetsonConnected = value; };
            modelContainer.modelStatus.networkStatus.CameraStreamConnectedCallback += CameraStreamStatusChangedCallback;
            modelContainer.modelStatus.DetectorStatusCallback += (bool val) =>
            {
                DetectionState = val;
            };
        }