diff options
author | Jack Humbert <jack.humb@gmail.com> | 2017-07-07 21:33:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-07 21:33:29 +0200 |
commit | 9de443cbf10ac41bc15762c9c83f138f51dd3b9a (patch) | |
tree | d8ddcb428e0b7d9773a1e52c42b60bdca2658beb /lib/lufa/Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs | |
parent | 88b3d051b21cb1ddacc6353c5d59b19f03f3a242 (diff) | |
parent | 1c26468ad5a0701e244c99cbcbc547c93b75d515 (diff) | |
download | qmk_firmware-9de443cbf10ac41bc15762c9c83f138f51dd3b9a.tar.gz qmk_firmware-9de443cbf10ac41bc15762c9c83f138f51dd3b9a.tar.xz |
Merge pull request #1471 from qmk/lufa_lib
Update LUFA and move it to /lib/lufa
Diffstat (limited to 'lib/lufa/Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs')
-rw-r--r-- | lib/lufa/Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/lib/lufa/Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs b/lib/lufa/Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs new file mode 100644 index 000000000..dfaffed30 --- /dev/null +++ b/lib/lufa/Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace LEDMixer +{ + public partial class LEDMixer : Form + { + private const int LIGHT_MAX = 0x1F; + + public LEDMixer() + { + InitializeComponent(); + } + + private void LEDMixer_Load(object sender, EventArgs e) + { + String[] PortNames = System.IO.Ports.SerialPort.GetPortNames(); + Array.Sort<String>(PortNames, delegate(string strA, string strB) { return int.Parse(strA.Substring(3)).CompareTo(int.Parse(strB.Substring(3))); }); + cbPort.Items.Clear(); + cbPort.Items.AddRange(PortNames); + + cbPort.SelectedIndex = 0; + + tbRed.Maximum = LIGHT_MAX; + tbGreen.Maximum = LIGHT_MAX; + tbBlue.Maximum = LIGHT_MAX; + } + + private void tbRed_Scroll(object sender, EventArgs e) + { + NotifyLight(tbRed.Value, tbGreen.Value, tbBlue.Value); + } + + private void tbGreen_Scroll(object sender, EventArgs e) + { + NotifyLight(tbRed.Value, tbGreen.Value, tbBlue.Value); + } + + private void tbBlue_Scroll(object sender, EventArgs e) + { + NotifyLight(tbRed.Value, tbGreen.Value, tbBlue.Value); + } + + private void NotifyLight(int Red, int Green, int Blue) + { + byte[] buffer = new byte[3]; + buffer[0] = (byte)(0x80 | (Red & LIGHT_MAX)); + buffer[1] = (byte)(0x40 | (Green & LIGHT_MAX)); + buffer[2] = (byte)(0x20 | (Blue & LIGHT_MAX)); + + try + { + serSerialPort.PortName = cbPort.Text; + serSerialPort.Open(); + serSerialPort.Write(buffer, 0, buffer.Length); + serSerialPort.Close(); + } + catch (Exception e) + { + + } + } + + private void cbPort_SelectedIndexChanged(object sender, EventArgs e) + { + NotifyLight(tbRed.Value, tbGreen.Value, tbBlue.Value); + } + } +} |