private void SetColorTempValue() { int hz = cbHz1.SelectedValue.ToString().GetInt32(System.Globalization.NumberStyles.Number); colorTempGroup group = this.colorTempData.arrGroup[hz]; int colorTmp = cbColorTempType1.SelectedValue.ToString().GetInt32(System.Globalization.NumberStyles.Number); colorTemp colorTempData = group.arrData[colorTmp]; UInt16 redVal = (UInt16)numRed.Value; UInt16 greenVal = (UInt16)numGreen.Value; UInt16 blueVal = (UInt16)numBlue.Value; byte[] redBtValue = redVal.GetBytes(); byte[] greenBtValue = greenVal.GetBytes(); byte[] blueBtValue = blueVal.GetBytes(); //Red colorTempData.Red_Hi = redBtValue[0]; colorTempData.Red_Lo = redBtValue[1]; //Green colorTempData.Green_Hi = greenBtValue[0]; colorTempData.Green_Lo = greenBtValue[1]; //Blue colorTempData.Blue_Hi = blueBtValue[0]; colorTempData.Blue_Lo = blueBtValue[1]; }
public static colorTempData GetColorTempData(byte[] data) { int offset = 0; colorTempData colorTempData = new colorTempData(); for (int i = 0; i < 4; i++) { //第一套为60Hz色温组,第二套为50Hz色温组,第三套为3D色温组,第四套预留用途 colorTempData.arrGroup[i] = new colorTempGroup(); colorTempGroup group = colorTempData.arrGroup[i]; for (int j = 0; j < 10; j++) { //10个色温,0 = 3200K , 1=6500K, 2=8500K,3=9300K,其他为自定义色温值 group.arrData[j] = new colorTemp(); colorTemp colorTemp = group.arrData[j]; colorTemp.Red_Hi = data[0 + offset]; colorTemp.Red_Lo = data[1 + offset]; colorTemp.Green_Hi = data[2 + offset]; colorTemp.Green_Lo = data[3 + offset]; colorTemp.Blue_Hi = data[4 + offset]; colorTemp.Blue_Lo = data[5 + offset]; offset += 6; } } return(colorTempData); }
private void InitColorTempValue() { numRed.ValueChanged -= numRed_ValueChanged; numGreen.ValueChanged -= numGreen_ValueChanged; numBlue.ValueChanged -= numBlue_ValueChanged; int hz = cbHz1.SelectedValue.ToString().GetInt32(System.Globalization.NumberStyles.Number); colorTempGroup group = this.colorTempData.arrGroup[hz]; int colorTmp = cbColorTempType1.SelectedValue.ToString().GetInt32(System.Globalization.NumberStyles.Number); colorTemp colorTempData = group.arrData[colorTmp]; byte[] tmp = new byte[2]; //Red tmp[0] = colorTempData.Red_Hi; tmp[1] = colorTempData.Red_Lo; ushort val = tmp.GetUInt16(0); numRed.Value = val; //Green tmp[0] = colorTempData.Green_Hi; tmp[1] = colorTempData.Green_Lo; val = tmp.GetUInt16(0); numGreen.Value = val; //Blue tmp[0] = colorTempData.Blue_Hi; tmp[1] = colorTempData.Blue_Lo; val = tmp.GetUInt16(0); numBlue.Value = val; numRed.ValueChanged += numRed_ValueChanged; numGreen.ValueChanged += numGreen_ValueChanged; numBlue.ValueChanged += numBlue_ValueChanged; }
public static byte[] GetData(colorTempData ct) { int offset = 0; byte[] data = new byte[1024].Fill(0xff); for (int i = 0; i < 4; i++) { //第一套为60Hz色温组,第二套为50Hz色温组,第三套为3D色温组,第四套预留用途 colorTempGroup group = ct.arrGroup[i]; for (int j = 0; j < 10; j++) { //10个色温,0 = 3200K , 1=6500K, 2=8500K,3=9300K,其他为自定义色温值 colorTemp colorTemp = group.arrData[j]; data[0 + offset] = colorTemp.Red_Hi; data[1 + offset] = colorTemp.Red_Lo; data[2 + offset] = colorTemp.Green_Hi; data[3 + offset] = colorTemp.Green_Lo; data[4 + offset] = colorTemp.Blue_Hi; data[5 + offset] = colorTemp.Blue_Lo; offset += 6; } } return(data); }
public void BrainPadLoop() { switch (choiceProg) { case progDemo.Attente: Thread.Sleep(10); break; case progDemo.Bulb: BrainPad.LightBulb.SetColor(BrainPad.Color.Red); Flash(); BrainPad.LightBulb.SetColor(BrainPad.Color.Green); Flash(); BrainPad.LightBulb.SetColor(BrainPad.Color.Blue); Flash(); BrainPad.LightBulb.SetColor(BrainPad.Color.Yellow); Flash(); break; case progDemo.Traffic: BrainPad.TrafficLight.TurnRedLightOn(); BrainPad.Wait.Seconds(1); BrainPad.TrafficLight.TurnRedLightOff(); BrainPad.TrafficLight.TurnGreenLightOn(); BrainPad.Wait.Seconds(1); BrainPad.TrafficLight.TurnGreenLightOff(); BrainPad.TrafficLight.TurnYellowLightOn(); BrainPad.Wait.Seconds(0.5); BrainPad.TrafficLight.TurnYellowLightOff(); break; case progDemo.Temperature: finTemp = false; if (temperature >= 77) { stateTemp = colorTemp.green; } else if (temperature >= 76) { stateTemp = colorTemp.blue; } else { stateTemp = colorTemp.red; } switch (stateTemp) { case colorTemp.blue: for (int i = 0; i < 3; i++) { BrainPad.Display.DrawLine(4, 37 + i, 155, 37 + i, BrainPad.Color.Blue); BrainPad.Display.DrawLine(4, 87 + i, 155, 87 + i, BrainPad.Color.Blue); } BrainPad.Display.DrawExtraLargeText(5, 50, temperature.ToString("F1") + " F", BrainPad.Color.Blue); break; case colorTemp.green: for (int i = 0; i < 3; i++) { BrainPad.Display.DrawLine(4, 37 + i, 155, 37 + i, BrainPad.Color.Green); BrainPad.Display.DrawLine(4, 87 + i, 155, 87 + i, BrainPad.Color.Green); } BrainPad.Display.DrawExtraLargeText(5, 50, temperature.ToString("F1") + " F", BrainPad.Color.Green); break; case colorTemp.red: for (int i = 0; i < 3; i++) { BrainPad.Display.DrawLine(4, 37 + i, 155, 37 + i, BrainPad.Color.Red); BrainPad.Display.DrawLine(4, 87 + i, 155, 87 + i, BrainPad.Color.Red); } BrainPad.Display.DrawExtraLargeText(5, 50, temperature.ToString("F1") + " F", BrainPad.Color.Red); break; default: break; } finTemp = true; Thread.Sleep(10); break; case progDemo.Light: brightness = BrainPad.LightSensor.ReadLightLevel(); if (brightness < 0.5) { BrainPad.LightBulb.TurnOn(); } else { BrainPad.LightBulb.TurnOff(); } break; case progDemo.Accelerometer: BrainPad.Display.DrawText(5, 20, "X : " + BrainPad.Accelerometer.ReadX().ToString("F3"), BrainPad.Color.White); BrainPad.Display.DrawText(5, 30, "Y : " + BrainPad.Accelerometer.ReadY().ToString("F3"), BrainPad.Color.White); BrainPad.Display.DrawText(5, 40, "Z : " + BrainPad.Accelerometer.ReadZ().ToString("F3"), BrainPad.Color.White); Thread.Sleep(100); break; case progDemo.Buzzer: for (int i = 0; i < note.Length; i++) { BrainPad.Buzzer.Stop(); BrainPad.Buzzer.PlayFrequency(note[i]); Thread.Sleep(duration[i]); } BrainPad.Buzzer.Stop(); break; case progDemo.Game: BrainPad.Display.DrawRectangle(8, 8, 86, 86, BrainPad.Color.Yellow); while (bouncerOk) { x += dx; y += dy; BrainPad.Display.DrawCircle(x, y, r, BrainPad.Color.Yellow); if (y > 85) { BrainPad.Buzzer.PlayNote(BrainPad.Buzzer.Note.A); } else if (y < 15) { BrainPad.Buzzer.PlayNote(BrainPad.Buzzer.Note.D); } else { BrainPad.Buzzer.Stop(); } if (x < 15 || x > 85) { dx *= -1; } if (y < 15 || y > 85) { dy *= -1; } Thread.Sleep(25); BrainPad.Display.DrawCircle(x, y, r, BrainPad.Color.Black); Thread.Sleep(25); } break; default: break; } }