From 901e26edd893a73ac38bdf95a7a72c48bdc1d07b Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Fri, 18 Dec 2009 05:34:11 +0000 Subject: Add LEDNotifier project to the Projects folder build list. Add new LEDMixer C# host application for the LEDNotifier project. --- Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs | 73 ++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs (limited to 'Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs') diff --git a/Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs b/Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs new file mode 100644 index 0000000000..ccc89a7a2e --- /dev/null +++ b/Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs @@ -0,0 +1,73 @@ +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) + { + for (int i = 1; i <= 99; i++) + cbPort.Items.Add("COM" + i.ToString()); + + 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); + } + } +} -- cgit v1.2.3