Пример #1
0
        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);
        }