public void SetLEDStatus(LedStatus status)
        {
            var cmd    = LEDCommand.Create(status);
            var result = ExecuteCommand(ref cmd);

            DebugLog($"SpaceNavigatorHID : Executed LEDCommand. status = {status}, result = {result}");
        }
Beispiel #2
0
        public void TurnOnLed(LedStatus ledStatus)
        {
            if (IsEnabled)
            {
                switch (ledStatus)
                {
                case LedStatus.Red:
                    _redpin.Write(GpioPinValue.High);
                    _bluepin.Write(GpioPinValue.Low);
                    _greenpin.Write(GpioPinValue.Low);
                    break;

                case LedStatus.Green:
                    _redpin.Write(GpioPinValue.Low);
                    _greenpin.Write(GpioPinValue.High);
                    _bluepin.Write(GpioPinValue.Low);
                    break;

                case LedStatus.Blue:
                    _redpin.Write(GpioPinValue.Low);
                    _greenpin.Write(GpioPinValue.Low);
                    _bluepin.Write(GpioPinValue.High);
                    break;
                }
            }
        }
Beispiel #3
0
 private LedModel CreateItem(LedStatus led)
 {
     return(new LedModel()
     {
         Led = led, Selected = true
     });
 }
Beispiel #4
0
        /// <summary>
        /// When we get a status message from the bulb, we update the UI to match the bulb's values.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="status"></param>
        private async void Triones_OnLedStatusUpdate(object source, LedStatus status)
        {
            await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
            {
                // The R, G, B values are sometimes reset to all-zero
                if (status.R != 0 || status.G != 0 || status.B != 0)
                {
                    uiColor.Color = new Windows.UI.Color()
                    {
                        A = 255, R = status.R, G = status.G, B = status.B
                    };
                }
                if (status.TrionesMode >= 0x25 && status.TrionesMode <= 0x38)
                {
                    uiDemoMode.SelectedIndex = status.TrionesMode - 0x25 + 1;
                }
                else
                {
                    uiDemoMode.SelectedIndex = 0;
                }
                if (status.Speed > 0)
                {
                    uiSpeed.Value = status.Speed;
                }
                NWhiteValueChangeSupress++;
                uiWhite.Value     = status.W;
                uiPower.IsChecked = status.IsOn;

                uiProgress.IsActive = true;
            });
        }
Beispiel #5
0
        public Searvice(IHubContext <Hubs.LedHub> hub)
        {
            Console.WriteLine($"{DateTime.Now}  : Searvice._ctr");

            _hubContext = hub;

            var pin = new PinConfigration(14, true)
            {
                AutoClose = false
            };

            controller = new GpioController(pin);
            watcher    = new GpioWatcher(pin);

            watcher.ValueChanged += async() =>
            {
                Console.WriteLine($"{DateTime.Now} : ValueChanged");
                var value = await Task.Run(() =>
                {
                    return(controller.Value);
                });

                var status = new LedStatus()
                {
                    Value = value
                };
                await _hubContext.Clients.All.SendAsync("ChangeLedStatus", status);
            };
        }
Beispiel #6
0
        public LedStatus HasAlreadyColor(Color color)
        {
            Byte[] bColor     = color.ToByte();
            Byte[] bLedStatus = this.GetLedStatusByteArray();

            Boolean[] p1 = { false, false, false };
            Boolean[] p2 = { false, false, false };

            LedStatus status = LedStatus.Off;

            for (int i = 0; i < bColor.Length; i++)
            {
                if (bColor[i] == 1)
                {
                    // Prüfe Phase 1
                    if (bLedStatus[i] == 2 || bLedStatus[i] == 1)
                    {
                        p1[i] = true;
                    }

                    // Prüfe Phase 2
                    if (bLedStatus[i] == 3 || bLedStatus[i] == 1)
                    {
                        p2[i] = true;
                    }
                }
                else if (bColor[i] == 0)
                {
                    // Prüfe Phase 1
                    if (bLedStatus[i] == 3 || bLedStatus[i] == 0)
                    {
                        p1[i] = true;
                    }

                    // Prüfe Phase 2
                    if (bLedStatus[i] == 2 || bLedStatus[i] == 0)
                    {
                        p2[i] = true;
                    }
                }
            }

            if (p1.All(x => x))
            {
                status = LedStatus.Phase1;
            }

            if (p2.All(x => x))
            {
                status = LedStatus.Phase2;
            }

            if (p1.All(x => x) && p2.All(x => x))
            {
                status = LedStatus.On;
            }

            return(status);
        }
Beispiel #7
0
        private void DoDisco(object source, ElapsedEventArgs e)
        {
            Array     values    = Enum.GetValues(typeof(LedStatus));
            Random    random    = new Random();
            LedStatus randomBar = (LedStatus)values.GetValue(random.Next(values.Length - 1));

            _rgbLed.TurnOnLed(randomBar);
        }
Beispiel #8
0
        private void Start()
        {
            ledStatus   = LedStatus.Dim;
            powerStatus = PowerStatus.Off;

            _powerStateImage.color = statusColor[(int)powerStatus];
            _ledStateImage.color   = statusColor[(int)ledStatus];
        }
Beispiel #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="led"></param>
 /// <param name="status"></param>
 public static void SetLedStatus(int led, LedStatus status)
 {
     var output = new NLED_SETTINGS_INFO
     {
         LedNum = led,
         OffOnBlink = (int)status
     };
     NativeMethods.NLedSetDevice(NLED_SETTINGS_INFO_ID, ref output);
 }
            public static LEDCommand Create(LedStatus status)
            {
                var result = new LEDCommand();

                result.baseCommand = new InputDeviceCommand(result.typeStatic, InputDeviceCommand.BaseCommandSize + 2);
                result.reportId    = 0x04;
                result.status      = (byte)status;
                return(result);
            }
Beispiel #11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="led"></param>
        /// <param name="status"></param>
        public static void SetLedStatus(int led, LedStatus status)
        {
            var output = new NLED_SETTINGS_INFO
            {
                LedNum     = led,
                OffOnBlink = (int)status
            };

            NativeMethods.NLedSetDevice(NLED_SETTINGS_INFO_ID, ref output);
        }
Beispiel #12
0
        private static void SetLedStatus(LedStatus status)
        {
            NLED_SETTINGS_INFO nsi = new NLED_SETTINGS_INFO();

            nsi.OffOnBlink = (uint)status;
            for (int i = 0; i < _ledCount; i++)
            {
                nsi.LedNum = (uint)i;
                NLedSetDevice(NLED_SETTINGS_INFO_ID, nsi);
            }
        }
Beispiel #13
0
        private void DeviceManager_DeviceReady(object sender, DeviceReadyEventArgs e)
        {
            Invoke(() =>
            {
                ledStatusBindingSource.CurrencyManager.SuspendBinding();
                ledStatusBindingSource.Clear();

                for (int i = 0; i < e.DeviceReportedLedCount && i < e.Device.DeviceClass.Leds.Count; i++)
                {
                    var deviceLed = e.Device.DeviceClass.Leds.Leds[i];
                    var led       = new LedStatus(deviceLed.X, deviceLed.Y, deviceLed.Size);
                    ledStatusBindingSource.Add(led);
                }
                ledStatusBindingSource.CurrencyManager.ResumeBinding();
            });
        }
Beispiel #14
0
        private void HandleColorChange(object sender, LedStatus ledStatus)
        {
            switch (ledStatus)
            {
            case LedStatus.Red:
                RgbLedEllipse.Fill = _redBrush;
                break;

            case LedStatus.Green:
                RgbLedEllipse.Fill = _greenBrush;
                break;

            case LedStatus.Blue:
                RgbLedEllipse.Fill = _blueBrush;
                break;
            }
        }
Beispiel #15
0
        public void OnClickLedButton()
        {
            if (powerStatus != PowerStatus.On)
            {
                return;
            }
            switch (ledStatus)
            {
            case LedStatus.Bright:
                ledStatus = LedStatus.Dim;
                break;

            case LedStatus.Dim:
                ledStatus = LedStatus.Bright;
                break;
            }
            _ledStateImage.color = statusColor[(int)ledStatus];
        }
Beispiel #16
0
        public void OnClickPowerButton()
        {
            switch (powerStatus)
            {
            case PowerStatus.Off:
                powerStatus = PowerStatus.On;
                break;

            case PowerStatus.On:
                powerStatus = PowerStatus.Off;
                if (ledStatus == LedStatus.Bright)
                {
                    ledStatus            = LedStatus.Dim;
                    _ledStateImage.color = statusColor[(int)ledStatus];
                }
                break;
            }
            _powerStateImage.color = statusColor[(int)powerStatus];
        }
Beispiel #17
0
        public void SetLedStatus(Byte[] BLedStatus)
        {
            for (int i = 0; i < BLedStatus.Length; i++)
            {
                switch (i)
                {
                case 0:
                    Red = (LedStatus)BLedStatus[i];
                    break;

                case 1:
                    Green = (LedStatus)BLedStatus[i];
                    break;

                case 2:
                    Blue = (LedStatus)BLedStatus[i];
                    break;
                }
            }
        }
Beispiel #18
0
        public void UpdateLEDColor()
        {
            Debug.Assert(redpin != null && bluepin != null && greenpin != null);

            switch (ledStatus)
            {
            case LedStatus.Red:
                //turn on red
                redpin.Write(GpioPinValue.High);
                bluepin.Write(GpioPinValue.Low);
                greenpin.Write(GpioPinValue.Low);

                RGBColorChangeEventHandler?.Invoke(this, LedStatus.Red);
                ledStatus = LedStatus.Green;
                break;

            case LedStatus.Green:

                //turn on green
                redpin.Write(GpioPinValue.Low);
                greenpin.Write(GpioPinValue.High);
                bluepin.Write(GpioPinValue.Low);

                RGBColorChangeEventHandler?.Invoke(this, LedStatus.Green);
                ledStatus = LedStatus.Blue;
                break;

            case LedStatus.Blue:
                //turn on blue
                redpin.Write(GpioPinValue.Low);
                greenpin.Write(GpioPinValue.Low);
                bluepin.Write(GpioPinValue.High);

                RGBColorChangeEventHandler?.Invoke(this, LedStatus.Blue);
                ledStatus = LedStatus.Red;
                break;
            }
        }
Beispiel #19
0
        public void TurnOnLed(LedStatus ledStatus)
        {
            if (IsEnabled)
            {
                switch (ledStatus)
                {
                case LedStatus.Red:
                    _redpin.Write(GpioPinValue.Low);
                    _bluepin.Write(GpioPinValue.High);
                    _greenpin.Write(GpioPinValue.High);
                    break;

                case LedStatus.Green:
                    _redpin.Write(GpioPinValue.High);
                    _greenpin.Write(GpioPinValue.Low);
                    _bluepin.Write(GpioPinValue.High);
                    break;

                case LedStatus.Blue:
                    _redpin.Write(GpioPinValue.High);
                    _greenpin.Write(GpioPinValue.High);
                    _bluepin.Write(GpioPinValue.Low);
                    break;

                case LedStatus.Purple:
                    _redpin.Write(GpioPinValue.Low);
                    _greenpin.Write(GpioPinValue.High);
                    _bluepin.Write(GpioPinValue.Low);
                    break;
                }
            }
            else
            {
                Debug.WriteLine($"LED {ledStatus} ON (RGB Led not found)");
            }
        }
Beispiel #20
0
 public void SetLedStatus(LedStatus status)
 {
     Console.WriteLine($"{DateTime.Now} : SetLedStatus");
     controller.Value = status.Value;
 }
Beispiel #21
0
 public LED(string serial, LedPosition ledPosition, LedStatus red, LedStatus green, LedStatus blue) : this(serial, ledPosition)
 {
     this.Red   = red;
     this.Green = green;
     this.Blue  = blue;
 }
Beispiel #22
0
 public static void SetLedStatus(LedType led, LedStatus status)
 {
     SetLedStatus((uint)led, (int)status);
 }
Beispiel #23
0
 public static void SetLedStatus(uint wLed, LedStatus status)
 {
     SetLedStatus(wLed, (int)status);
 }
 private void HandleColorChange(object sender, LedStatus args)
 {
     RGBColorChangeEventHandler?.Invoke(sender, args);
 }
Beispiel #25
0
 public static void SetLedStatus(LedType led, LedStatus status)
 {
     SetLedStatus((uint)led, (int)status);
 }
Beispiel #26
0
 public static void SetLedStatus(uint wLed, LedStatus status)
 {
     SetLedStatus(wLed, (int)status);
 }