예제 #1
0
        //Joystick listening loop run on other threads
        private async Task JoystickLoop()
        {
            while (!_ct.IsCancellationRequested)
            {
                var response = await _server.HandleGetRequest(HttpRequestsTypes.HttpGetJoystickData);

                JoystickModel responseJson = null;
                try
                {
                    responseJson = await Task.Run(() => JsonConvert.DeserializeObject <JoystickModel>(response));
                }
                catch (JsonSerializationException e)
                {
                    Debug.WriteLine(e);
                }


                if (responseJson == null)
                {
                    continue;
                }

                IndicateChange(responseJson);
                await Task.Delay(40);
            }
        }
예제 #2
0
 /*
  * Constructs a new JoystickViewModel
  */
 public JoystickViewModel()
 {
     model = new JoystickModel();
     model.PropertyChanged += delegate(Object sender, PropertyChangedEventArgs e)
     {
         NotifyPropertyChanged("VM_" + e.PropertyName);
     };
 }
예제 #3
0
 /*
  * Constructor of VMJoystick
  */
 public VMJoystick(JoystickModel joystickModel)
 {
     _joystickModel = joystickModel;
     _joystickModel.PropertyChanged +=
         delegate(Object sender, PropertyChangedEventArgs e)
     {
         INotifyPropertyChanged("VM_" + e.PropertyName);
     };
 }
 /// <summary>
 ///the constructor of  JoystickViewModel.
 /// </summary>
 public JoystickViewModel(JoystickModel jm)
 {
     this.jmodel = jm;
     this.dmodel = DataModel.Instance;
     // add fuction to models
     this.jmodel.PropertyChanged += delegate(Object sender, PropertyChangedEventArgs e)
     {
         NotifyPropertyChanged("VM_" + e.PropertyName);
     };
     this.dmodel.PropertyChanged += delegate(Object sender, PropertyChangedEventArgs e)
     {
         NotifyPropertyChanged("VM_" + e.PropertyName);
     };
 }
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            _algorithmDll           = new DllAlgorithms();
            _graphModel             = new GraphsModel();
            _vmGraphs               = new VMGraphs(_graphModel);
            _filesUpload            = new FilesUpload();
            _popOutModel            = new PopOutModel();
            _simultorConnectorModel = new SimulatorConnectorModel();
            _dashBoardModel         = new DashBoardModel();
            _joystickModel          = new JoystickModel();
            _joystickDashBoardModel = new JoystickDashBoardModel();
            _sliderModel            = new SliderModel(_simultorConnectorModel);
            _algoritemDetectModel   = new AlgoritemDetectModel();
            // Create main application window
            MainWindow mainWindow = new MainWindow();

            mainWindow.Show();
        }
예제 #6
0
        //Method updating BoxView colors based on joystick model
        private void IndicateChange(JoystickModel joystick)
        {
            switch (joystick.Direction)
            {
            case SenseTickDirections.Up:
                switch (joystick.Action)
                {
                case SenseTickActions.Pressed:
                    UpColor = Color.Gray;
                    break;

                case SenseTickActions.Held:
                    UpColor = Color.DimGray;
                    break;

                case SenseTickActions.Released:
                    UpColor = Color.LightGray;
                    break;
                }
                break;

            case SenseTickDirections.Left:
                switch (joystick.Action)
                {
                case SenseTickActions.Pressed:
                    LeftColor = Color.Gray;
                    break;

                case SenseTickActions.Held:
                    LeftColor = Color.DimGray;
                    break;

                case SenseTickActions.Released:
                    LeftColor = Color.LightGray;
                    break;
                }
                break;

            case SenseTickDirections.Middle:
                switch (joystick.Action)
                {
                case SenseTickActions.Pressed:
                    MiddleColor = Color.Gray;
                    break;

                case SenseTickActions.Held:
                    MiddleColor = Color.DimGray;
                    break;

                case SenseTickActions.Released:
                    MiddleColor = Color.LightGray;
                    break;
                }
                break;

            case SenseTickDirections.Right:
                switch (joystick.Action)
                {
                case SenseTickActions.Pressed:
                    RightColor = Color.Gray;
                    break;

                case SenseTickActions.Held:
                    RightColor = Color.DimGray;
                    break;

                case SenseTickActions.Released:
                    RightColor = Color.LightGray;
                    break;
                }
                break;

            case SenseTickDirections.Down:
                switch (joystick.Action)
                {
                case SenseTickActions.Pressed:
                    DownColor = Color.Gray;
                    break;

                case SenseTickActions.Held:
                    DownColor = Color.DimGray;
                    break;

                case SenseTickActions.Released:
                    DownColor = Color.LightGray;
                    break;
                }
                break;
            }
        }
예제 #7
0
 public JoystickViewModel(JoystickModel model)
 {
     this.model = model;
 }