Exemple #1
0
        public ClevoBridge()
        {
            _Wmi = new WmiProvider(_WmiPath, _WmiQuery);

            KeyboardLed = new KeyboardLedControl(this);
            Fan         = new FanControl(this);
            Sensor      = new SensorControl(); // this);
        }
        private void SensorsListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (e.AddedItems.Count == 0)
            {
                return;
            }
            var           sensor        = e.AddedItems[0] as IBLEAccelerationSensor;
            SensorControl sensorControl = new SensorControl(sensor);

            this.rightContent.Content = sensorControl;
        }
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            HeatingControl.Load();
            SensorControl.Run();
            RelayControl.Initialise();
            TimerControl.Run();
        }
        public void Expand(MonitoringSensorViewModel sensor)
        {
            SensorControl         view     = null;
            DialogSensorViewTypes VVMTypes = _typeToDialogDictionary[sensor.SensorType];

            object viewObj = Activator.CreateInstance(VVMTypes.ViewType);

            view = viewObj as SensorControl;

            ISensorDialogModel model     = _factory.ConstructModel(sensor);
            DialogViewModel    viewModel = null;

            if (view != null)
            {
                if (VVMTypes.ViewModelType != null)
                {
                    object viewModelObj = Activator.CreateInstance(VVMTypes.ViewModelType, model);
                    viewModel = viewModelObj as DialogViewModel;
                }
                else
                {
                    viewModel = view.ConstructDefaultViewModel(model);
                }
            }
            else
            {
                view      = new DefaultValuesListSensorView();
                viewModel = new DefaultValuesListSensorViewModel(model);
            }

            if (VVMTypes.ViewType != typeof(object))
            {
                string       title = $"{sensor.Product}/{sensor.Path}";
                DialogWindow dw    = new DialogWindow(view, viewModel, title);
                dw.Show();
            }
        }
        /// <summary>
        /// Consume a packet from the buffer if possible, then advance the buffer index.
        /// </summary>
        /// <param name="buffer">Byte buffer to decode</param>
        /// <param name="index">(Ref) Index to read into buffer</param>
        /// <exception cref="WearableProxyProtocolException">Thrown when a packet cannot be decoded and the buffer
        /// must be discarded.</exception>
        /// <exception cref="IndexOutOfRangeException">Thrown when a packet was partially consumed but ran out of
        /// buffer contents.</exception>
        public override void ProcessPacket(byte[] buffer, ref int index)
        {
            PacketTypeCode packetType = DecodePacketType(buffer, ref index);

            switch (packetType)
            {
            case PacketTypeCode.KeepAlive:
            {
                CheckFooter(buffer, ref index);

                if (KeepAlive != null)
                {
                    KeepAlive.Invoke();
                }

                break;
            }

            case PacketTypeCode.PingQuery:
            {
                CheckFooter(buffer, ref index);

                if (PingQuery != null)
                {
                    PingQuery.Invoke();
                }

                break;
            }

            case PacketTypeCode.PingResponse:
            {
                CheckFooter(buffer, ref index);

                if (PingResponse != null)
                {
                    PingResponse.Invoke();
                }

                break;
            }

            case PacketTypeCode.SensorControl:
            {
                bool     enabled;
                SensorId sensor = DecodeSensorControl(buffer, ref index, out enabled);
                CheckFooter(buffer, ref index);

                if (SensorControl != null)
                {
                    SensorControl.Invoke(sensor, enabled);
                }

                break;
            }

            case PacketTypeCode.SetRssiFilter:
            {
                int value = DecodeRSSIFilterControlPacket(buffer, ref index);
                CheckFooter(buffer, ref index);

                if (RSSIFilterValueChange != null)
                {
                    RSSIFilterValueChange.Invoke(value);
                }

                break;
            }

            case PacketTypeCode.InitiateDeviceSearch:
            {
                CheckFooter(buffer, ref index);

                if (InitiateDeviceSearch != null)
                {
                    InitiateDeviceSearch.Invoke();
                }

                break;
            }

            case PacketTypeCode.StopDeviceSearch:
            {
                CheckFooter(buffer, ref index);

                if (StopDeviceSearch != null)
                {
                    StopDeviceSearch.Invoke();
                }

                break;
            }

            case PacketTypeCode.ConnectToDevice:
            {
                string uid = DecodeDeviceConnectPacket(buffer, ref index);
                CheckFooter(buffer, ref index);

                if (ConnectToDevice != null)
                {
                    ConnectToDevice.Invoke(uid);
                }

                break;
            }

            case PacketTypeCode.DisconnectFromDevice:
            {
                CheckFooter(buffer, ref index);

                if (DisconnectFromDevice != null)
                {
                    DisconnectFromDevice.Invoke();
                }

                break;
            }

            case PacketTypeCode.QueryConnectionStatus:
            {
                CheckFooter(buffer, ref index);

                if (QueryConnectionStatus != null)
                {
                    QueryConnectionStatus.Invoke();
                }

                break;
            }

            case PacketTypeCode.QueryUpdateInterval:
            {
                CheckFooter(buffer, ref index);

                if (QueryUpdateInterval != null)
                {
                    QueryUpdateInterval.Invoke();
                }

                break;
            }

            case PacketTypeCode.SetUpdateInterval:
            {
                SensorUpdateInterval interval = DecodeSetUpdateIntervalPacket(buffer, ref index);
                CheckFooter(buffer, ref index);

                if (SetUpdateInterval != null)
                {
                    SetUpdateInterval.Invoke(interval);
                }

                break;
            }

            case PacketTypeCode.QuerySensorStatus:
            {
                CheckFooter(buffer, ref index);

                if (QuerySensorStatus != null)
                {
                    QuerySensorStatus.Invoke();
                }

                break;
            }

            case PacketTypeCode.GestureControl:
            {
                bool      enabled;
                GestureId gestureId = DecodeGestureControl(buffer, ref index, out enabled);
                CheckFooter(buffer, ref index);

                if (GestureControl != null)
                {
                    GestureControl.Invoke(gestureId, enabled);
                }

                break;
            }

            case PacketTypeCode.QueryGestureStatus:
            {
                CheckFooter(buffer, ref index);

                if (QueryGestureStatus != null)
                {
                    QueryGestureStatus.Invoke();
                }

                break;
            }

            case PacketTypeCode.QueryRotationSource:
            {
                CheckFooter(buffer, ref index);

                if (QueryRotationSource != null)
                {
                    QueryRotationSource.Invoke();
                }

                break;
            }

            case PacketTypeCode.SetRotationSource:
            {
                RotationSensorSource source = DecodeRotationSource(buffer, ref index);
                CheckFooter(buffer, ref index);

                if (SetRotationSource != null)
                {
                    SetRotationSource.Invoke(source);
                }

                break;
            }

            case PacketTypeCode.SensorFrame:
            case PacketTypeCode.DeviceList:
            case PacketTypeCode.ConnectionStatus:
            case PacketTypeCode.SensorStatus:
            case PacketTypeCode.UpdateIntervalValue:
            case PacketTypeCode.GestureStatus:
            case PacketTypeCode.RotationSourceValue:
                // Known, but contextually-invalid packet
                throw new WearableProxyProtocolException(WearableConstants.ProxyProviderInvalidPacketError);

            default:
                // Unknown or corrupt packet
                throw new WearableProxyProtocolException(WearableConstants.ProxyProviderInvalidPacketError);
            }
        }
    void Update()
    {
        {
            lerpedColor = Color.Lerp(startColor, endColor, colorTime);
            Start_Screen.GetComponent <Image>().color         = lerpedColor;
            Communication_Screen.GetComponent <Image>().color = lerpedColor;
            Entertainment_Screen.GetComponent <Image>().color = lerpedColor;
            Training_Screen.GetComponent <Image>().color      = lerpedColor;
            Help_Screen.GetComponent <Image>().color          = lerpedColor;
            if (colorTime < 1)  // while t below the end limit...
            // increment it at the desired rate every update:
            {
                colorTime += Time.deltaTime / duration;
            }
            else if (colorTime == 1)
            {
                startColor = endColor;
            }
        }

        void recolorAllBackgrounds(Color destinationColor)
        {
            endColor  = destinationColor;
            colorTime = 0;
        }

        /*lerpedColor = Color.Lerp(Color.black, green, Mathf.PingPong(Time.time, 1));
         * //Debug.Log(lerpedColor);
         * Background.GetComponent<Image>().color=lerpedColor;
         * BackgroundFollow.GetComponent<Image>().color=lerpedColor;
         * //Debug.Log(Background.GetComponent<Image>().color);*/

        //Debug.Log("Penis");
        //Debug.Log(Communication_Button.GetComponent<Button>().colors.normalColor);

        //reaction on inputs my guy

        SensorControl sc = GameObject.Find("SensorControlScriptHelper").GetComponent <SensorControl>();

        if (Input.GetKeyUp(KeyCode.W) || sc.pressedUp)
        {
            Debug.Log("Up.");
            sc.pressedUp = false;
            if (currentPanel == 1)
            {
                switch (lastSelectedButton.name)
                {
                case "Entertainment_Button":
                    changeButton(Communication_Button);
                    break;

                case "Training_Button":
                    changeButton(Entertainment_Button);
                    break;

                case "Help_Button":
                    changeButton(Training_Button);
                    break;
                }
            }
            else if (currentPanel == 2)
            {
                switch (lastSelectedButton.name)
                {
                case "Toilet_Button":
                    changeButton(LeaveHelp_Button);
                    break;

                case "Pain_Button":
                    changeButton(Toilet_Button);
                    break;

                case "OtherMed_Button":
                    changeButton(Pain_Button);
                    break;
                }
            }
            else if (currentPanel == 3)
            {
                switch (lastSelectedButton.name)
                {
                case "FirstContact_Button":
                    changeButton(LeaveCommunication_Button);
                    break;

                case "SecondContact_Button":
                    changeButton(FirstContact_Button);
                    break;

                case "ThirdContact_Button":
                    changeButton(SecondContact_Button);
                    break;
                }
            }
            else if (currentPanel == 4)
            {
                switch (lastSelectedButton.name)
                {
                case "FirstEntertainment_Button":
                    changeButton(LeaveEntertainment_Button);
                    break;

                case "SecondEntertainment_Button":
                    changeButton(FirstEntertainment_Button);
                    break;

                case "ThirdEntertainment_Button":
                    changeButton(SecondEntertainment_Button);
                    break;
                }
            }
            else if (currentPanel == 5)
            {
                switch (lastSelectedButton.name)
                {
                case "FirstTraining_Button":
                    changeButton(LeaveTraining_Button);
                    break;

                case "SecondTraining_Button":
                    changeButton(FirstTraining_Button);
                    break;

                case "ThirdTraining_Button":
                    changeButton(SecondTraining_Button);
                    break;
                }
            }
        }
        if (Input.GetKeyUp(KeyCode.X) || sc.pressedOk)
        {
            Debug.Log("confirm.");
            sc.pressedOk = false;

            switch (lastSelectedButton.name)
            {
            case "Help_Button":
                //Help_Screen.SetActive(true);
                recolorAllBackgrounds(colorHelp);
                changeButton(LeaveHelp_Button);
                slidePanelsEntry(Help_Animation);
                currentPanel = 2;
                break;

            case "LeaveHelp_Button":
                //Help_Screen.SetActive(false);
                recolorAllBackgrounds(colorStartScreen);
                changeButton(Communication_Button);
                slidePanelsExit(Help_Animation);
                currentPanel = 1;
                break;

            case "Communication_Button":
                //Communication_Screen.SetActive(true);
                recolorAllBackgrounds(colorCommunication);
                changeButton(LeaveCommunication_Button);
                slidePanelsEntry(Communication_Animation);
                currentPanel = 3;
                break;

            case "LeaveCommunication_Button":
                recolorAllBackgrounds(colorStartScreen);
                slidePanelsExit(Communication_Animation);
                changeButton(Communication_Button);
                //Communication_Screen.SetActive(false);
                currentPanel = 1;
                break;

            case "Entertainment_Button":
                // Entertainment_Screen.SetActive(true);
                recolorAllBackgrounds(colorEntertainment);
                changeButton(LeaveEntertainment_Button);
                slidePanelsEntry(Entertainment_Animation);
                currentPanel = 4;
                break;

            case "LeaveEntertainment_Button":
                //Entertainment_Screen.SetActive(false);
                recolorAllBackgrounds(colorStartScreen);
                changeButton(Communication_Button);
                slidePanelsExit(Entertainment_Animation);
                currentPanel = 1;
                break;

            case "Training_Button":
                // Training_Screen.SetActive(true);
                recolorAllBackgrounds(colorTraining);
                changeButton(LeaveTraining_Button);
                slidePanelsEntry(Training_Animation);
                currentPanel = 5;
                break;

            case "LeaveTraining_Button":
                //Training_Screen.SetActive(false);
                recolorAllBackgrounds(colorStartScreen);
                changeButton(Communication_Button);
                slidePanelsExit(Training_Animation);
                currentPanel = 1;
                break;

            case "LeaveSuccess_Button":
                recolorAllBackgrounds(colorStartScreen);
                changeButton(Communication_Button);
                slidePanelsExit(Success_Animation);
                currentPanel = 1;
                break;

            case "Toilet_Button":
                // Training_Screen.SetActive(true);
                recolorAllBackgrounds(colorHelp);
                changeButton(LeaveSuccess_Button);
                slidePanelsEntry(Success_Animation);
                currentPanel = 6;
                break;
            }
        }
        if (Input.GetKeyUp(KeyCode.S) || sc.pressedDown)
        {
            Debug.Log("down.");
            sc.pressedDown = false;
            if (currentPanel == 1)
            {
                switch (lastSelectedButton.name)
                {
                case "Communication_Button":
                    changeButton(Entertainment_Button);
                    break;

                case "Entertainment_Button":
                    changeButton(Training_Button);
                    break;

                case "Training_Button":
                    changeButton(Help_Button);
                    break;
                }
            }
            else if (currentPanel == 2)
            {
                switch (lastSelectedButton.name)
                {
                case "LeaveHelp_Button":
                    changeButton(Toilet_Button);
                    break;

                case "Toilet_Button":
                    changeButton(Pain_Button);
                    break;

                case "Pain_Button":
                    changeButton(OtherMed_Button);
                    break;
                }
            }
            else if (currentPanel == 3)
            {
                switch (lastSelectedButton.name)
                {
                case "LeaveCommunication_Button":
                    changeButton(FirstContact_Button);
                    break;

                case "FirstContact_Button":
                    changeButton(SecondContact_Button);
                    break;

                case "SecondContact_Button":
                    changeButton(ThirdContact_Button);
                    break;
                }
            }
            else if (currentPanel == 4)
            {
                switch (lastSelectedButton.name)
                {
                case "LeaveEntertainment_Button":
                    changeButton(FirstEntertainment_Button);
                    break;

                case "FirstEntertainment_Button":
                    changeButton(SecondEntertainment_Button);
                    break;

                case "SecondEntertainment_Button":
                    changeButton(ThirdEntertainment_Button);
                    break;
                }
            }
            else if (currentPanel == 5)
            {
                switch (lastSelectedButton.name)
                {
                case "LeaveTraining_Button":
                    changeButton(FirstTraining_Button);
                    break;

                case "FirstTraining_Button":
                    changeButton(SecondTraining_Button);
                    break;

                case "SecondTraining_Button":
                    changeButton(ThirdTraining_Button);
                    break;
                }
            }
        }
    }