コード例 #1
0
        void HandleSeekBarsChanges(string deviceName)
        {
            try
            {
                SeekBar seekBarRed   = FindViewById <SeekBar>(GetResourceId(deviceName, "seekBarRed"));
                SeekBar seekBarGreen = FindViewById <SeekBar>(GetResourceId(deviceName, "seekBarGreen"));
                SeekBar seekBarBlue  = FindViewById <SeekBar>(GetResourceId(deviceName, "seekBarBlue"));

                PhotonStates photonStates = GetPhotonStates(deviceName);

                if (seekBarRed.Progress != photonStates.RedSeekBar)
                {
                    photonStates.RedSeekBar = seekBarRed.Progress;
                    int setRGBRed = (int)(photonStates.RedSeekBar * 2.555);
                    SendCommand(deviceName, Photon.OBJECT_RGB_LED, Photon.COMMAND_SET_RGB_RED, setRGBRed.ToString());
                }

                if (seekBarGreen.Progress != photonStates.GreenSeekBar)
                {
                    photonStates.GreenSeekBar = seekBarGreen.Progress;
                    int setRGBGreen = (int)(photonStates.GreenSeekBar * 2.555);
                    SendCommand(deviceName, Photon.OBJECT_RGB_LED, Photon.COMMAND_SET_RGB_GREEN, setRGBGreen.ToString());
                }

                if (seekBarBlue.Progress != photonStates.BlueSeekBar)
                {
                    photonStates.BlueSeekBar = seekBarBlue.Progress;
                    int setRGBBlue = (int)(photonStates.BlueSeekBar * 2.555);
                    SendCommand(deviceName, Photon.OBJECT_RGB_LED, Photon.COMMAND_SET_RGB_BLUE, setRGBBlue.ToString());
                }
            }
            catch (Exception exception)
            {
                //Add logging for Mono.Android
            }
        }
コード例 #2
0
        private void UiUpdatesTimer_Elapsed(object sender, ElapsedEventArgs e)
        {
            try
            {
                if (receivedMessages.Count > 0)
                {
                    Models.Message message = null;
                    if (receivedMessages.TryDequeue(out message))
                    {
                        PhotonStates photonStates = GetPhotonStates(message.FromDevice);

                        if (message.Name.Equals(Photon.OBJECT_SENSOR))
                        {
                            if (message.Parameter.Equals(Photon.DATA_SENSOR_TEMPERATURE))
                            {
                                this.RunOnUiThread(() => { UpdateTextView(message.FromDevice, Photon.DATA_SENSOR_TEMPERATURE, message.Content.ToString()); });
                            }
                            else if (message.Parameter.Equals(Photon.DATA_SENSOR_HUMIDITY))
                            {
                                this.RunOnUiThread(() => { UpdateTextView(message.FromDevice, Photon.DATA_SENSOR_HUMIDITY, message.Content.ToString()); });
                            }
                        }
                        else if (message.Name.Equals(Photon.OBJECT_BOARD_LED))
                        {
                            if (message.Parameter.Equals(Photon.DATA_LED_STATUS))
                            {
                                this.RunOnUiThread(() => { ToggleLEDButton(message.FromDevice, Photon.OBJECT_BOARD_LED, message.Content.ToString()); });
                            }
                        }
                        else if (message.Name.Equals(Photon.OBJECT_RED_LED))
                        {
                            if (message.Parameter.Equals(Photon.DATA_LED_STATUS))
                            {
                                this.RunOnUiThread(() => { ToggleLEDButton(message.FromDevice, Photon.OBJECT_RED_LED, message.Content.ToString()); });
                            }
                        }
                        else if (message.Name.Equals(Photon.OBJECT_GREEN_LED))
                        {
                            if (message.Parameter.Equals(Photon.DATA_LED_STATUS))
                            {
                                this.RunOnUiThread(() => { ToggleLEDButton(message.FromDevice, Photon.OBJECT_GREEN_LED, message.Content.ToString()); });
                            }
                        }
                        else if (message.Name.Equals(Photon.OBJECT_RGB_LED))
                        {
                            if (message.Parameter.Equals(Photon.DATA_RGB_RED))
                            {
                                photonStates.RGBRed = Int32.Parse(message.Content.ToString());
                            }
                            else if (message.Parameter.Equals(Photon.DATA_RGB_GREEN))
                            {
                                photonStates.RGBGreen = Int32.Parse(message.Content.ToString());
                            }
                            else if (message.Parameter.Equals(Photon.DATA_RGB_BLUE))
                            {
                                photonStates.RGBBlue = Int32.Parse(message.Content.ToString());
                            }

                            this.RunOnUiThread(() => { SetRGBButton(message.FromDevice, photonStates.RGBRed, photonStates.RGBGreen, photonStates.RGBBlue); });
                        }
                    }
                }

                HandleSeekBarsChanges(Devices.PHOTON_A);
                HandleSeekBarsChanges(Devices.PHOTON_B);
                HandleSeekBarsChanges(Devices.PHOTON_C);
            }
            catch (Exception)
            {
                //Add logging for Mono.Android
            }
        }