public override void showRGB(byte[] specArray, int min_slider, int max_slider, int min_trigger, bool absNotRel, RGBOutput.IRGBOutput rgbOutput) { if (min_trigger != 0) { for (int i = 0; i < specArray.Length; i++) { specArray[i] = specArray[i] < min_trigger ? (byte)0 : specArray[i]; } if (!absNotRel) { for (int i = 0; i < specArray.Length; i++) { specArray[i] = rel_check(specArray[i], min_trigger); } } } if (min_trigger < 0) { min_trigger = 1; } m = 765 / (double)min_trigger; _newRGBValue = my_callback(_newRGBValue, specArray, min_slider, max_slider, min_trigger); sendRGBValue(rgbOutput); }
protected override RGBValue[] Callback(RGBValue[] new_rgbs) { // Show random dot at last_rgb_index for (int i = 0; i < new_rgbs.Length; i++) { if (i == last_rgb_index) { new_rgbs[i] = new RGBValue((byte)random.Next(0, 255), (byte)random.Next(0, 255), (byte)random.Next(0, 255)); } else { new_rgbs[i] = empty_rgb; } } last_rgb_index += direction; // Look if direction has to change if (last_rgb_index % amount_rgbs == 0) { direction *= -1; } // Finally show them _rgbOutput.ShowRGBs(new_rgbs); Thread.Sleep(100); return(new_rgbs); }
protected override void Callback() { RGBValue new_rgb = new RGBValue((byte)random.Next(0, 255), (byte)random.Next(0, 255), (byte)random.Next(0, 255)); Fade(lastRGB_, new_rgb, 50); lastRGB_ = new_rgb; }
public override void Start() { filled_rgb = new RGBValue((byte)random.Next(0, 255), (byte)random.Next(0, 255), (byte)random.Next(0, 255)); middle_rgb = new RGBValue((byte)random.Next(0, 255), (byte)random.Next(0, 255), (byte)random.Next(0, 255)); byte diff_r = (byte)(Math.Abs((int)filled_rgb.R - (int)middle_rgb.R) / 2); byte diff_g = (byte)(Math.Abs((int)filled_rgb.G - (int)middle_rgb.G) / 2); byte diff_b = (byte)(Math.Abs((int)filled_rgb.B - (int)middle_rgb.B) / 2); diff_rgb = new RGBValue(diff_r, diff_g, diff_b); base.Start(); }
protected override void Callback() { RGBValue copy_val = new RGBValue(); newRGBMutex.WaitOne(); copy_val.CopyValues(new_rgb); newRGBMutex.ReleaseMutex(); if (!lastRGB_.Equals(copy_val)) { Fade(lastRGB_, copy_val, 10); lastRGB_ = copy_val; } Thread.Sleep(100); }
public override void showRGB(byte[] specArray, int min_slider, int max_slider, int min_trigger, bool absNotRel, RGBOutput.IRGBOutput rgbOutput) { if (min_trigger != 0) { for (int i = 0; i < specArray.Length; i++) { specArray[i] = specArray[i] < min_trigger ? (byte)0 : specArray[i]; } if (!absNotRel) { for (int i = 0; i < specArray.Length; i++) { specArray[i] = rel_check(specArray[i], min_trigger); } } } // TODO still neded? if (min_trigger < 0) { min_trigger = 1; } // TODO end m = 765 / (double)min_trigger; int new_amount_rgbs = rgbOutput.GetAmountRGBs(); // In case the amount of RGBs changed create new array (usually if output changes) if (rgbs == null || amount_rgbs != new_amount_rgbs) { rgbs = new RGBValue[new_amount_rgbs]; for (int led = 0; led < new_amount_rgbs; led++) { rgbs[led] = new RGBValue(); } amount_rgbs = new_amount_rgbs; } rgbs = my_callback(specArray, min_slider, max_slider, min_trigger); rgbOutput.ShowRGBs(rgbs); }
private void get_rainbow_rgbs() { _phase_length = amount_rgbs / 6; if (_phase_length < 1) { _phase_length = 1; } int[] rainbow_values = get_rainbow_values(amount_rgbs); _rainbow_rgbs = new RGBValue[amount_rgbs]; for (int i = 0; i < amount_rgbs; i++) { byte r, g, b; r = (byte)rainbow_values[(i + _phase_length * 2) % amount_rgbs]; g = (byte)rainbow_values[i]; b = (byte)rainbow_values[(i + _phase_length * 4) % amount_rgbs]; _rainbow_rgbs[i] = new RGBValue(r, g, b); } }
protected override void Callback() { _cpuHardware.Update(); // Update Sensors float value = _cpuPackageSensor.Value ?? 0; // Get value from Sensor // Show temperature on GUI System.Diagnostics.Debug.WriteLine("CPU-Temp: " + value); String tempString = value + " °C"; _temperatureTextBlock.Dispatcher.Invoke(new Action(() => { _temperatureTextBlock.Text = tempString; })); // Calculate average to last values temp_avg[avg_index] = value; float avg = 0.0F; for (int i = 0; i < temp_avg.Length; i++) { avg += temp_avg[i]; } avg /= temp_avg.Length; avg_index = (avg_index + 1) % temp_avg.Length; // Calculate value and fade into it RGBValue newRgb = calculateRGBValueAlgo1(avg); Fade(lastRGB_, newRgb, 50); lastRGB_ = newRgb; Thread.Sleep(_ms_sleepInterval); }
public Stroboscope() { half_freq = 0; _white = new RGBValue(255, 255, 255); }
public void sendToSerial(RGBValue rgbValue) { }
protected abstract RGBValue my_callback(RGBValue rgb_template, byte[] specArray, int min_slider, int max_slider, int min_trigger);
public OldAudioAlgorithm(String name) : base(name) { _oldRGBValue = new RGBValue(); _newRGBValue = new RGBValue(); }