public RGB AM1_Convert_Voltgae_to_Dec(Gamma_Set Set, int band, RGB_Double AM1_Voltage) { RGB AM1_Dec = new RGB(); AM1_Dec.int_R = Imported_my_cpp_dll.DP213_Get_AM1_RGB_Dec(Get_Voltage_VREF4095(), Get_Normal_Voltage_Vreg1(Set, band), AM1_Voltage.double_R); AM1_Dec.int_G = Imported_my_cpp_dll.DP213_Get_AM1_RGB_Dec(Get_Voltage_VREF4095(), Get_Normal_Voltage_Vreg1(Set, band), AM1_Voltage.double_G); AM1_Dec.int_B = Imported_my_cpp_dll.DP213_Get_AM1_RGB_Dec(Get_Voltage_VREF4095(), Get_Normal_Voltage_Vreg1(Set, band), AM1_Voltage.double_B); if (AM1_Dec.int_R > DP213_Static.AM1_AM0_Max) { AM1_Dec.int_R = DP213_Static.AM1_AM0_Max; } if (AM1_Dec.int_G > DP213_Static.AM1_AM0_Max) { AM1_Dec.int_G = DP213_Static.AM1_AM0_Max; } if (AM1_Dec.int_B > DP213_Static.AM1_AM0_Max) { AM1_Dec.int_B = DP213_Static.AM1_AM0_Max; } if (AM1_Dec.int_R < 0) { AM1_Dec.int_R = 0; } if (AM1_Dec.int_G < 0) { AM1_Dec.int_G = 0; } if (AM1_Dec.int_B < 0) { AM1_Dec.int_B = 0; } return(AM1_Dec); }
protected bool Get_Initial_RVreg1B_Using_LUT_MCI(Gamma_Set Set, int band, OC_Mode Mode) { if ((band >= 1) && (band <= DP213_Static.Max_HBM_and_Normal_Band_Amount) && (vars.Target.double_Lv > Algorism_Lower_Skip_LV) && (vars.Target.double_Lv < Algorism_Upper_Skip_LV)) { f1().GB_Status_AppendText_Nextline("Before) R/G/B/Vreg1 = " + vars.Gamma.int_R.ToString() + "/" + vars.Gamma.int_G.ToString().ToString() + "/" + vars.Gamma.int_B.ToString() + "/" + vars.Vreg1, Color.Blue); int gray = 0; RGB_Double Gray = DP213_Main_OC_Flow.init_gray_lut.Get_LUT_RGB(band, gray, Mode); RGB_Double Gamma_Voltage = new RGB_Double(); Gamma_Voltage.double_R = InterpolationFomulaFactory.GetPrevBand_Red_Volatge(Gray.double_R); Gamma_Voltage.double_G = InterpolationFomulaFactory.GetPrevBand_Green_Volatge(Gray.double_G); Gamma_Voltage.double_B = InterpolationFomulaFactory.GetPrevBand_Blue_Volatge(Gray.double_B); double Voltage_VREF0 = storage.Get_Voltage_VREF0(); double Voltage_VREF4095 = storage.Get_Voltage_VREF4095(); double Vreg1_voltage = Voltage_VREF4095 + ((Gamma_Voltage.double_G - Voltage_VREF4095) * (900.0 / (storage.Get_All_band_gray_Gamma(Set, (band - 1), gray).int_G + 389.0))); //just use HBM_Gamma[0], because other normal band copy G255 R/G/B From HBM vars.Vreg1 = Imported_my_cpp_dll.DP213_Get_Vreg1_Dec(Voltage_VREF4095, Voltage_VREF0, Vreg1_voltage); vars.Gamma.int_R = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Dec(Voltage_VREF4095, Vreg1_voltage, Gamma_Voltage.double_R); vars.Gamma.int_B = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Dec(Voltage_VREF4095, Vreg1_voltage, Gamma_Voltage.double_B); f1().GB_Status_AppendText_Nextline("After C++) R/G/B/Vreg1 = " + vars.Gamma.int_R.ToString() + "/" + vars.Gamma.int_G.ToString().ToString() + "/" + vars.Gamma.int_B.ToString() + "/" + vars.Vreg1, Color.Red); init_algorithm_storage_cpp.Set_All_band_gray_Gamma(Set, band, gray, vars.Gamma); return(true); } else { f1().GB_Status_AppendText_Nextline("Skip)Get_Initial_RVreg1B_Using_LUT_MCI()", Color.DarkRed); return(false); } }
private void Update_HBM_Normal_Gamma_Voltage(Gamma_Set Set, int band, int gray, RGB New_Gamma) { if (gray == 0) { Voltage_All_band_gray_Gamma[Convert.ToInt16(Set), band, gray].double_R = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Voltage(Get_Voltage_VREF4095(), Get_Normal_Voltage_Vreg1(Set, band), New_Gamma.int_R); Voltage_All_band_gray_Gamma[Convert.ToInt16(Set), band, gray].double_G = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Voltage(Get_Voltage_VREF4095(), Get_Normal_Voltage_Vreg1(Set, band), New_Gamma.int_G); Voltage_All_band_gray_Gamma[Convert.ToInt16(Set), band, gray].double_B = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Voltage(Get_Voltage_VREF4095(), Get_Normal_Voltage_Vreg1(Set, band), New_Gamma.int_B); } else { RGB_Double Prev_GR_Gamma_Voltage = new RGB_Double(); if (gray == 1 || gray == 2 || gray == 3 || gray == 5 || gray == 7 || gray == 9 || gray == 10) { Prev_GR_Gamma_Voltage.double_R = Voltage_All_band_gray_Gamma[Convert.ToInt16(Set), band, (gray - 1)].double_R; Prev_GR_Gamma_Voltage.double_G = Voltage_All_band_gray_Gamma[Convert.ToInt16(Set), band, (gray - 1)].double_G; Prev_GR_Gamma_Voltage.double_B = Voltage_All_band_gray_Gamma[Convert.ToInt16(Set), band, (gray - 1)].double_B; } else if (gray == 4 || gray == 6 || gray == 8) { Prev_GR_Gamma_Voltage.double_R = Voltage_All_band_gray_Gamma[Convert.ToInt16(Set), band, (gray - 2)].double_R; Prev_GR_Gamma_Voltage.double_G = Voltage_All_band_gray_Gamma[Convert.ToInt16(Set), band, (gray - 2)].double_G; Prev_GR_Gamma_Voltage.double_B = Voltage_All_band_gray_Gamma[Convert.ToInt16(Set), band, (gray - 2)].double_B; } Voltage_All_band_gray_Gamma[Convert.ToInt16(Set), band, gray].double_R = Imported_my_cpp_dll.DP213_Get_GR_Gamma_Voltage(Get_Band_Set_Voltage_AM1(Set, band).double_R, Prev_GR_Gamma_Voltage.double_R, New_Gamma.int_R, gray); Voltage_All_band_gray_Gamma[Convert.ToInt16(Set), band, gray].double_G = Imported_my_cpp_dll.DP213_Get_GR_Gamma_Voltage(Get_Band_Set_Voltage_AM1(Set, band).double_G, Prev_GR_Gamma_Voltage.double_G, New_Gamma.int_G, gray); Voltage_All_band_gray_Gamma[Convert.ToInt16(Set), band, gray].double_B = Imported_my_cpp_dll.DP213_Get_GR_Gamma_Voltage(Get_Band_Set_Voltage_AM1(Set, band).double_B, Prev_GR_Gamma_Voltage.double_B, New_Gamma.int_B, gray); } }
public RGB_Double[] Get_Band_Set_Gamma_Voltages(Gamma_Set Set, int band) { RGB_Double[] Band_Set_Gamma_Voltage = new RGB_Double[DP213_Static.Max_Gray_Amount]; for (int gray = 0; gray < DP213_Static.Max_Gray_Amount; gray++) { Band_Set_Gamma_Voltage[gray] = Get_Voltage_All_band_gray_Gamma(Set, band, gray); } return(Band_Set_Gamma_Voltage); }
private RGB_Double Get_New_AM1_Voltage(RGB_Double HBM_GR1_Voltage, RGB_Double AM1_Margin) { RGB_Double New_AM1_Voltage = new RGB_Double(); New_AM1_Voltage.double_R = (HBM_GR1_Voltage.double_R + AM1_Margin.double_R); New_AM1_Voltage.double_G = (HBM_GR1_Voltage.double_G + AM1_Margin.double_G); New_AM1_Voltage.double_B = (HBM_GR1_Voltage.double_B + AM1_Margin.double_B); return(New_AM1_Voltage); }
//Set_Read_RGB_Voltage void Set_Read_RGB_Voltage(OC_Mode Mode, int band, int gray, RGB_Double Vdata) { Vdata.Update_String_From_Double(); int rows_index = (band * DP213_Static.Max_Gray_Amount) + (gray + 2); Set_OC_Params_For_Selected_OCMode(Mode, rows_index, 7, Vdata.R); Set_OC_Params_For_Selected_OCMode(Mode, rows_index, 8, Vdata.G); Set_OC_Params_For_Selected_OCMode(Mode, rows_index, 9, Vdata.B); }
protected bool Get_Initial_RGB_Using_LUT_MCI(Gamma_Set Set, int band, int gray, OC_Mode Mode) { if ((band >= 1) && (band <= DP213_Static.Max_HBM_and_Normal_Band_Amount) && (vars.Target.double_Lv > Algorism_Lower_Skip_LV) && (vars.Target.double_Lv < Algorism_Upper_Skip_LV)) { RGB_Double Gray = DP213_Main_OC_Flow.init_gray_lut.Get_LUT_RGB(band, gray, Mode); RGB_Double Gamma_Voltage = new RGB_Double(); Gamma_Voltage.double_R = InterpolationFomulaFactory.GetPrevBand_Red_Volatge(Gray.double_R); Gamma_Voltage.double_G = InterpolationFomulaFactory.GetPrevBand_Green_Volatge(Gray.double_G); Gamma_Voltage.double_B = InterpolationFomulaFactory.GetPrevBand_Blue_Volatge(Gray.double_B); f1().GB_Status_AppendText_Nextline("Before) R/G/B/Vreg1 = " + vars.Gamma.int_R.ToString() + "/" + vars.Gamma.int_G.ToString().ToString() + "/" + vars.Gamma.int_B.ToString() + "/" + vars.Vreg1, Color.Blue); if (gray == 0) { double Voltage_VREF4095 = storage.Get_Voltage_VREF4095(); double Vreg1_Voltage = storage.Get_Normal_Voltage_Vreg1(Set, band); vars.Gamma.int_R = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Dec(Voltage_VREF4095, Vreg1_Voltage, Gamma_Voltage.double_R); vars.Gamma.int_G = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Dec(Voltage_VREF4095, Vreg1_Voltage, Gamma_Voltage.double_G); vars.Gamma.int_B = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Dec(Voltage_VREF4095, Vreg1_Voltage, Gamma_Voltage.double_B); } else { RGB_Double AM1_Voltage = storage.Get_Band_Set_Voltage_AM1(Set, band); RGB_Double Prvious_Gray_Gamma_Voltage; if (gray == 4 || gray == 6 || gray == 8) { Prvious_Gray_Gamma_Voltage = storage.Get_Voltage_All_band_gray_Gamma(Set, band, (gray - 2)); } else { Prvious_Gray_Gamma_Voltage = storage.Get_Voltage_All_band_gray_Gamma(Set, band, (gray - 1)); } vars.Gamma.int_R = Imported_my_cpp_dll.DP213_Get_GR_Gamma_Dec(AM1_Voltage.double_R, Prvious_Gray_Gamma_Voltage.double_R, Gamma_Voltage.double_R, gray); vars.Gamma.int_G = Imported_my_cpp_dll.DP213_Get_GR_Gamma_Dec(AM1_Voltage.double_G, Prvious_Gray_Gamma_Voltage.double_G, Gamma_Voltage.double_G, gray); vars.Gamma.int_B = Imported_my_cpp_dll.DP213_Get_GR_Gamma_Dec(AM1_Voltage.double_B, Prvious_Gray_Gamma_Voltage.double_B, Gamma_Voltage.double_B, gray); } f1().GB_Status_AppendText_Nextline("After C++) R/G/B/Vreg1 = " + vars.Gamma.int_R.ToString() + "/" + vars.Gamma.int_G.ToString().ToString() + "/" + vars.Gamma.int_B.ToString() + "/" + vars.Vreg1, Color.Red); init_algorithm_storage_cpp.Set_All_band_gray_Gamma(Set, band, gray, vars.Gamma); return(true); } else { f1().GB_Status_AppendText_Nextline("Skip)Get_Initial_RGB_Using_LUT_MCI()", Color.DarkRed); return(false); } }
public void Set_OC_Mode_AM0(RGB_Double AM0_Voltage, OC_Mode mode, int band) { if (band > DP213_Static.Max_HBM_and_Normal_Band_Amount) { throw new Exception("band should be less than " + DP213_Static.Max_HBM_and_Normal_Band_Amount); } RGB AM0 = new RGB(); AM0.int_R = Imported_my_cpp_dll.DP213_Get_AM0_RGB_Dec(ref0ref4095.Get_Normal_REF4095_Voltage(), vreg1.Get_OC_Mode_Vreg1_Voltage(mode, band), AM0_Voltage.double_R); AM0.int_G = Imported_my_cpp_dll.DP213_Get_AM0_RGB_Dec(ref0ref4095.Get_Normal_REF4095_Voltage(), vreg1.Get_OC_Mode_Vreg1_Voltage(mode, band), AM0_Voltage.double_G); AM0.int_B = Imported_my_cpp_dll.DP213_Get_AM0_RGB_Dec(ref0ref4095.Get_Normal_REF4095_Voltage(), vreg1.Get_OC_Mode_Vreg1_Voltage(mode, band), AM0_Voltage.double_B); Set_OC_Mode_AM0(AM0, mode, band); }
private void Sub_DP213_Gray255_Get_Intial_R_Vreg1_B_Using_Previous_Band_Method(Gamma_Set Set, int band, OC_Mode Mode) { int Previous_Band_Vreg1_Dec = storage.Get_Normal_Dec_Vreg1(Set, (band - 1)); double Voltage_VREF4095 = storage.Get_Voltage_VREF4095(); double Voltage_VREF0 = storage.Get_Voltage_VREF0(); RGB Prev_Band_AM1 = storage.Get_Band_Set_AM1(Set, (band - 1)); storage.Set_Band_Set_AM1(Set, band, Prev_Band_AM1);//update AM1 voltage RGB_Double Prev_Band_Voltage_AM1 = storage.Get_Band_Set_Voltage_AM1(Set, (band - 1)); int[] Previous_Band_Gamma_Red = new int[DP213_Static.Max_Gray_Amount]; int[] Previous_Band_Gamma_Green = new int[DP213_Static.Max_Gray_Amount]; int[] Previous_Band_Gamma_Blue = new int[DP213_Static.Max_Gray_Amount]; double[] Previous_Band_Finally_Measured_Lv = new double[DP213_Static.Max_Gray_Amount]; for (int gray = 0; gray < DP213_Static.Max_Gray_Amount; gray++) { Previous_Band_Gamma_Red[gray] = storage.Get_All_band_gray_Gamma(Set, (band - 1), gray).int_R; Previous_Band_Gamma_Green[gray] = storage.Get_All_band_gray_Gamma(Set, (band - 1), gray).int_G; Previous_Band_Gamma_Blue[gray] = storage.Get_All_band_gray_Gamma(Set, (band - 1), gray).int_B; Previous_Band_Finally_Measured_Lv[gray] = dp213_mornitoring().Get_Mode_Measured_Values((band - 1), gray, Mode).double_Lv; } f1().GB_Status_AppendText_Nextline("Before) R/G/B/Vreg1 = " + vars.Gamma.int_R.ToString() + "/" + vars.Gamma.int_G.ToString().ToString() + "/" + vars.Gamma.int_B.ToString() + "/" + vars.Vreg1, Color.Blue); Imported_my_cpp_dll.DP213_Gray255_Get_Intial_R_Vreg1_B_Using_Previous_Band_Method_Through_MCI (Prev_Band_Voltage_AM1.double_R, Prev_Band_Voltage_AM1.double_G, Prev_Band_Voltage_AM1.double_B, ref vars.Vreg1, ref vars.Gamma.int_R, ref vars.Gamma.int_B, Get_Is_Selected_Bands(Mode), Previous_Band_Gamma_Red, Previous_Band_Gamma_Green, Previous_Band_Gamma_Blue, band, vars.Target.double_Lv, Previous_Band_Vreg1_Dec, Previous_Band_Finally_Measured_Lv, Voltage_VREF4095, Voltage_VREF0); f1().GB_Status_AppendText_Nextline("After C++ Dll(MCI)) R/G/B/Vreg1 = " + vars.Gamma.int_R.ToString() + "/" + vars.Gamma.int_G.ToString().ToString() + "/" + vars.Gamma.int_B.ToString() + "/" + vars.Vreg1, Color.Red); init_algorithm_storage_cpp.Set_All_band_gray_Gamma(Set, band, 0, vars.Gamma); }
private double Get_Min_RGB_Voltage(RGB_Double HBM_RGB_AM2_Voltage) { double HBM_RGB_Min_AM2_Voltage = HBM_RGB_AM2_Voltage.double_R; if (HBM_RGB_Min_AM2_Voltage > HBM_RGB_AM2_Voltage.double_G) { HBM_RGB_Min_AM2_Voltage = HBM_RGB_AM2_Voltage.double_G; } if (HBM_RGB_Min_AM2_Voltage > HBM_RGB_AM2_Voltage.double_B) { HBM_RGB_Min_AM2_Voltage = HBM_RGB_AM2_Voltage.double_B; } return(HBM_RGB_Min_AM2_Voltage); }
bool Is_All_AM1_Voltages_Lower_Than_AM0_Voltages(RGB_Double AM1_Voltage, RGB_Double AM0_Voltage) { Show_AM1_AM0_Voltages(AM1_Voltage, AM0_Voltage); if ((AM1_Voltage.double_R < AM0_Voltage.double_R) && (AM1_Voltage.double_G < AM0_Voltage.double_G) && (AM1_Voltage.double_B < AM0_Voltage.double_B)) { return(true); } else { return(false); } }
private RGB_Double Get_Prev_GR_Gamma_Voltage(RGB_Double[,] OCMode_RGB_Voltage, int band, int gray) { RGB_Double Prev_GR_Gamma_Voltage = new RGB_Double(); if (gray == 1 || gray == 2 || gray == 3 || gray == 5 || gray == 7 || gray == 9 || gray == 10) { Prev_GR_Gamma_Voltage.double_R = OCMode_RGB_Voltage[band, (gray - 1)].double_R; Prev_GR_Gamma_Voltage.double_G = OCMode_RGB_Voltage[band, (gray - 1)].double_G; Prev_GR_Gamma_Voltage.double_B = OCMode_RGB_Voltage[band, (gray - 1)].double_B; } else if (gray == 4 || gray == 6 || gray == 8) { Prev_GR_Gamma_Voltage.double_R = OCMode_RGB_Voltage[band, (gray - 2)].double_R; Prev_GR_Gamma_Voltage.double_G = OCMode_RGB_Voltage[band, (gray - 2)].double_G; Prev_GR_Gamma_Voltage.double_B = OCMode_RGB_Voltage[band, (gray - 2)].double_B; } return(Prev_GR_Gamma_Voltage); }
private RGB_Double Update_HBM_Normal_Gamma_Voltage(OC_Mode mode, int band, int gray, RGB New_Gamma) { RGB_Double[,] OCMode_RGB_Voltage = Get_OC_Mode_RGB_Voltage(mode); if (gray == 0) { OCMode_RGB_Voltage[band, gray].double_R = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Voltage(ref0ref4095.Get_Normal_REF4095_Voltage(), vreg1.Get_OC_Mode_Vreg1_Voltage(mode, band), New_Gamma.int_R); OCMode_RGB_Voltage[band, gray].double_G = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Voltage(ref0ref4095.Get_Normal_REF4095_Voltage(), vreg1.Get_OC_Mode_Vreg1_Voltage(mode, band), New_Gamma.int_G); OCMode_RGB_Voltage[band, gray].double_B = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Voltage(ref0ref4095.Get_Normal_REF4095_Voltage(), vreg1.Get_OC_Mode_Vreg1_Voltage(mode, band), New_Gamma.int_B); } else { RGB_Double Prev_GR_Gamma_Voltage = Get_Prev_GR_Gamma_Voltage(OCMode_RGB_Voltage, band, gray); OCMode_RGB_Voltage[band, gray].double_R = Imported_my_cpp_dll.DP213_Get_GR_Gamma_Voltage(am1am0.Get_OC_Mode_AM1_Voltage(mode, band).double_R, Prev_GR_Gamma_Voltage.double_R, New_Gamma.int_R, gray); OCMode_RGB_Voltage[band, gray].double_G = Imported_my_cpp_dll.DP213_Get_GR_Gamma_Voltage(am1am0.Get_OC_Mode_AM1_Voltage(mode, band).double_G, Prev_GR_Gamma_Voltage.double_G, New_Gamma.int_G, gray); OCMode_RGB_Voltage[band, gray].double_B = Imported_my_cpp_dll.DP213_Get_GR_Gamma_Voltage(am1am0.Get_OC_Mode_AM1_Voltage(mode, band).double_B, Prev_GR_Gamma_Voltage.double_B, New_Gamma.int_B, gray); } return(OCMode_RGB_Voltage[band, gray]); }
private double Get_HBM_RGB_Min_AM2_Voltage() { RGB AM2 = ocparam.Get_OC_Mode_RGB(DP213OCSet.Get_WhiteCompensation_OCMode(), band: 0, gray: 0); int Vreg1 = ocparam.Get_OC_Mode_Vreg1(DP213OCSet.Get_WhiteCompensation_OCMode(), band: 0); int REF0 = ocparam.Get_Normal_REF0(); int REF4095 = ocparam.Get_Normal_REF4095(); double REF0_Voltage = Imported_my_cpp_dll.DP213_VREF0_Dec_to_Voltage(REF0); double REF4095_Voltage = Imported_my_cpp_dll.DP213_VREF4095_Dec_to_Voltage(REF4095); double Vreg1_Voltage = Imported_my_cpp_dll.DP213_Get_Vreg1_Voltage(REF4095_Voltage, REF0_Voltage, Vreg1); RGB_Double AM2_Voltage = new RGB_Double(); AM2_Voltage.double_R = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Voltage(REF4095_Voltage, Vreg1_Voltage, AM2.int_R); AM2_Voltage.double_G = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Voltage(REF4095_Voltage, Vreg1_Voltage, AM2.int_G); AM2_Voltage.double_B = Imported_my_cpp_dll.DP213_Get_AM2_Gamma_Voltage(REF4095_Voltage, Vreg1_Voltage, AM2.int_B); api.WriteLine("AM2_Voltage R/G/B : " + AM2_Voltage.double_R + "/" + AM2_Voltage.double_G + "/" + AM2_Voltage.double_B); api.WriteLine("Old VREF0 Voltage : " + REF0_Voltage); return(Get_Min_RGB_Voltage(AM2_Voltage)); }
private bool AM0_Compensation() { RGB_Double AM0_Margin = DP213OCSet.Get_AM0_Margin(); double AM0_Resolution = Imported_my_cpp_dll.Get_DP213_EA9155_AM0_Resolution(ocparam.Get_Normal_REF0(), ocparam.Get_Normal_REF4095()); RGB New_AM0 = new RGB(); New_AM0.int_R = Convert.ToInt32(AM0_Margin.double_R / AM0_Resolution); New_AM0.int_G = Convert.ToInt32(AM0_Margin.double_G / AM0_Resolution); New_AM0.int_B = Convert.ToInt32(AM0_Margin.double_B / AM0_Resolution); bool AM0_OC_Ok = (New_AM0.int_R <= DP213_Static.AM1_AM0_Max) && (New_AM0.int_G <= DP213_Static.AM1_AM0_Max) && (New_AM0.int_B <= DP213_Static.AM1_AM0_Max); api.WriteLine("DP213_Static.AM1_AM0_Max : " + DP213_Static.AM1_AM0_Max); api.WriteLine("New_AM0 R/G/B : " + New_AM0.int_R + "/" + New_AM0.int_G + "/" + New_AM0.int_B); if (AM0_OC_Ok) { Set_All_AM0_WithSameValues(New_AM0); } return(AM0_OC_Ok); }
private void Sub_AM1_Compensation(OC_Mode mode, int band) { if (vars.Optic_Compensation_Stop == false) { RGB_Double HBM_GR1_Voltage = ocparam.Get_OC_Mode_RGB_Voltage(mode, band, gray: 10); RGB_Double AM1_Margin = DP213OCSet.Get_AM1_Margin(); RGB_Double New_AM1_Voltage = Get_New_AM1_Voltage(HBM_GR1_Voltage, AM1_Margin); RGB_Double AM0_Voltage = ocparam.Get_OC_Mode_AM0_Voltage(mode, band); if (Is_All_AM1_Voltages_Lower_Than_AM0_Voltages(New_AM1_Voltage, AM0_Voltage)) { ocparam.Set_OC_Mode_AM1(New_AM1_Voltage, mode, band); Set_All_AM1_WithSameValues(ocparam.Get_OC_Mode_AM1(mode, band)); } else { vars.Optic_Compensation_Stop = true; vars.Optic_Compensation_Succeed = false; api.WriteLine("(Out of Range)At lease One AM1 > AM0, AM1 Compensation NG", Color.Red); } } }
public static void Initialize() { OCMode1_GammaSet = Gamma_Set.Set2; OCMode2_GammaSet = Gamma_Set.Set1; OCMode3_GammaSet = Gamma_Set.Set3; OCMode4_GammaSet = Gamma_Set.Set5; OCMode5_GammaSet = Gamma_Set.Set4; OCMode6_GammaSet = Gamma_Set.Set6; MaxLoopCount = 500; SkipTargetLv = 0.02; //ELVSS IsELVSSCompensationApply = true; ELVSSCompensation_OCMode = OC_Mode.Mode1; ELVSS_Voltage_Max = -2.0; ELVSS_Voltage_Min = -2.5; ELVSS_Offset_OCMode1 = new double[] { -2.0, -1.0, 0.0, 0.3, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 }; ELVSS_Offset_OCMode2 = new double[] { -2.0, -1.0, 0.0, 0.3, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 }; ELVSS_Offset_OCMode3 = new double[] { -2.0, -1.0, 0.0, 0.3, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 }; ELVSS_Offset_OCMode4 = new double[] { -2.0, -1.0, 0.0, 0.3, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 }; ELVSS_Offset_OCMode5 = new double[] { -2.0, -1.0, 0.0, 0.3, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 }; ELVSS_Offset_OCMode6 = new double[] { -2.0, -1.0, 0.0, 0.3, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 }; Vinit2_Offset_OCMode1 = new double[] { 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 }; Vinit2_Offset_OCMode2 = new double[] { 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4 }; Vinit2_Offset_OCMode3 = new double[] { 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6 }; Vinit2_Offset_OCMode4 = new double[] { 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 }; Vinit2_Offset_OCMode5 = new double[] { 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4 }; Vinit2_Offset_OCMode6 = new double[] { 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6 }; //White IsWhiteCompensationApply = true; WhiteCompensation_OCMode = OC_Mode.Mode1; VREF0_Margin = 0.2; //Black IsBlackCompensationApply = true; BlackCompensation_OCMode = OC_Mode.Mode1; REF4095_Margin = 0.6; Black_Limit_Lv = 0.005; AM0_Margin = new RGB_Double(); AM0_Margin.double_R = 0.0; AM0_Margin.double_G = 0.1; AM0_Margin.double_B = 0.1; //AM1 IsGrayLowRefCompensationApply = true; LowGrayRefCompensastion_OCMode = OC_Mode.Mode1; AM1_Margin = new RGB_Double(); AM1_Margin.double_R = 0.3; AM1_Margin.double_G = 0.2; AM1_Margin.double_B = 0.2; //AOD IsAODCompensationApply = true; AOD_LeftTopPos = new int[2] { 326, 1062 }; AOD_RightBottomPos = new int[2] { 902, 1638 }; //Main123456 IsMain123CompensationApply = true; IsMain456CompensationApply = true; mode456_max_skip_band = 4; Initialized = true; }
public void Set_OC_Mode_AM0(RGB_Double AM0_Voltage, OC_Mode mode, int band) { am0.Set_OC_Mode_AM0(AM0_Voltage, mode, band); }
private void Show_AM1_AM0_Voltages(RGB_Double New_AM1_Voltage, RGB_Double AM0_Voltage) { api.WriteLine("New_AM1_Voltage_R/G/B : " + New_AM1_Voltage.double_R.ToString() + "/" + New_AM1_Voltage.double_G.ToString() + "/" + New_AM1_Voltage.double_B.ToString(), Color.Blue); api.WriteLine("AM0_Voltage/G/B : " + AM0_Voltage.double_R.ToString() + "/" + AM0_Voltage.double_G.ToString() + "/" + AM0_Voltage.double_B.ToString(), Color.Blue); }
public void Set_OC_Mode_AM1(RGB_Double AM1_Voltage, OC_Mode mode, int band) { am1.Set_OC_Mode_AM1(AM1_Voltage, mode, band); }
public void Set_OC_Mode_AM1(RGB_Double AM1_Voltage, OC_Mode mode, int band) { throw new NotImplementedException(); }