Пример #1
0
        private static void initCard(object sender, CardEventArgs e)
        {
            fileLoader.m_mut.WaitOne();
            m_mut.WaitOne();

            fileLoader.m_cs = e.cs;
            NativeMethods.debugInit();
            fileLoader.debugInit();

            bool rInit    = NativeMethods.PCI_Init_Scan_Card_Ex((UInt16)e.cs.num);
            bool rLoad    = NativeMethods.PCI_Load_Corr_N(e.cs.corrFilePatch, e.cs.num);
            bool rSetAct  = NativeMethods.PCI_Set_Active_Card((UInt16)e.cs.num);
            bool setGain  = NativeMethods.PCI_Set_Gain(e.cs.gainX, e.cs.gainY, 0, 0, (UInt16)e.cs.num);
            bool rSetMode = NativeMethods.PCI_Set_Mode(e.cs.mode);

            NativeMethods.PCI_Stop_Execution();
            bool rOsc = NativeMethods.PCI_Write_Port(0xC, 0x010);// NativeMethods.PCI_Write_Port_List(0xC, 0x00);

            //NativeMethods.PCI_Write_DA_List((UInt16)10);
            dbg = e.cs.debug;



            bool openScript = fileLoader.openJobfile(e.cs.scriptPath);

            PrefetchList.resetList();
            m_state        = IntState.Wait;
            m_isIntiialize = rInit && rSetAct && rSetMode && rOsc && openScript;

            MessageBox.Show(string.Format(" {0, -25} -- {1, -10} \n {2,-25} -- {4, -10}   ({3}) \n {5,-25} -- {6, -10} \n {7, -25} -- {8, -10} \n {9,-25} -- {10, -10}  \n {11,-25} -- {12, -10} ({13}) \n  {14, -25} -- {15, -10}",
                                          "Init", rInit.ToString(),
                                          "Load correction", e.cs.corrFilePatch, rLoad.ToString(),
                                          "Set mode", rSetMode.ToString(),
                                          "Set active card", rSetAct.ToString(),
                                          "Oscillator on", rOsc.ToString(),
                                          "Open script", openScript.ToString(), e.cs.scriptPath, "Set gain", setGain.ToString()),
                            (m_isIntiialize ? "Инициализация прошла успешно!" : "Ошибка при инициализации"),
                            MessageBoxButtons.OK,
                            m_isIntiialize ? MessageBoxIcon.Information : MessageBoxIcon.Error,
                            MessageBoxDefaultButton.Button1,
                            (MessageBoxOptions)0x40000);

            m_layersFinishid = false;

            if (!m_isIntiialize)
            {
                NativeMethods.PCI_Write_Port(0xC, 0x000);
            }
            fileLoader.m_mut.ReleaseMutex();
            m_mut.ReleaseMutex();
        }
Пример #2
0
        private void bt_initialise_Click(object sender, System.EventArgs e)
        {
            //check values
            tb_korr_x.Text = tb_korr_x.Text.Replace('.', ',');
            tb_korr_y.Text = tb_korr_y.Text.Replace('.', ',');
            double korr_x, korr_y;

            if (!double.TryParse(tb_korr_x.Text, out korr_x))
            {
                MessageBox.Show("Некорректное значение для поля Корр по X", "",
                                MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, (MessageBoxOptions)0x40000);
                return;
            }
            if (!double.TryParse(tb_korr_y.Text, out korr_y))
            {
                MessageBox.Show("Некорректное значение для поля Корр по Y", "",
                                MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, (MessageBoxOptions)0x40000);
                return;
            }
            /// check value
            ///

            solveMode();
            UInt16      usmode = solveMode();
            cardSetting cs     = new cardSetting();

            cs.mode               = usmode;
            cs.corrFilePatch      = dg.Rows[(int)prm.lCorrect].Cells[1].Value.ToString();
            cs.power              = (UInt16)procentToPower(long.Parse(dg.Rows[(int)prm.lPower].Cells[1].Value.ToString()));
            cs.scale              = float.Parse(tb_scale.Text, System.Globalization.NumberStyles.Float, CultureInfo.InvariantCulture); //UInt16.Parse(tb_scale.Text);
            cs.num                = Int16.Parse(tb_devn.Text);
            cs.scriptPath         = dg.Rows[(int)prm.lScript].Cells[1].Value.ToString();                                               //tb_script.Text;
            cs.debug              = cb_printDebug.Checked;
            cs.ignoreLocalSetting = cb_ignoreListSetting.Checked;
            cs.startLayer         = UInt64.Parse(tb_startLayer.Text);
            cs.gainX              = korr_x;
            cs.gainY              = korr_y;

            dg.Rows[(int)prm.lJampSize].Cells[1].Value = dg.Rows[(int)prm.lJampSize].Cells[1].Value.ToString().Replace('.', ',');
            dg.Rows[(int)prm.lMarkSize].Cells[1].Value = dg.Rows[(int)prm.lMarkSize].Cells[1].Value.ToString().Replace('.', ',');


            int i = 1;

            cs.style1.lStep      = long.Parse(dg.Rows[(int)prm.lStep].Cells[i].Value.ToString());
            cs.style1.lLaserOn   = long.Parse(dg.Rows[(int)prm.lLaserOn].Cells[i].Value.ToString());
            cs.style1.lLaserOff  = long.Parse(dg.Rows[(int)prm.lLaserOff].Cells[i].Value.ToString());
            cs.style1.lPolygon   = long.Parse(dg.Rows[(int)prm.lPolygon].Cells[i].Value.ToString());
            cs.style1.lMarkDelay = long.Parse(dg.Rows[(int)prm.lMarkDelay].Cells[i].Value.ToString());
            cs.style1.lJampDelay = long.Parse(dg.Rows[(int)prm.lJampDelay].Cells[i].Value.ToString());
            cs.style1.lFps       = long.Parse(dg.Rows[(int)prm.lFps].Cells[i].Value.ToString());
            cs.style1.lQt1       = long.Parse(dg.Rows[(int)prm.lQt1].Cells[i].Value.ToString());
            cs.style1.lQt2       = long.Parse(dg.Rows[(int)prm.lQt2].Cells[i].Value.ToString());
            cs.style1.lJampSize  = helpers.speedToJampPeriod(cs.style1.lStep, float.Parse(dg.Rows[(int)prm.lJampSize].Cells[i].Value.ToString(), System.Globalization.NumberStyles.Float), cs.scale);
            cs.style1.lMarkSize  = helpers.speedToJampPeriod(cs.style1.lStep, float.Parse(dg.Rows[(int)prm.lMarkSize].Cells[i].Value.ToString(), System.Globalization.NumberStyles.Float), cs.scale);
            cs.style1.lPower     = procentToPower(long.Parse(dg.Rows[(int)prm.lPower].Cells[i].Value.ToString()));

            cs.workSpacePath = dg.Rows[(int)prm.lWorkSpace].Cells[1].Value.ToString();

            CardEventArgs arg = new CardEventArgs();

            arg.cs = cs;

            cardSetting(this, arg);
            if (SpIceController.isIntiialize)
            {
                Properties.Settings.Default.correctionFile = dg.Rows[(int)prm.lCorrect].Cells[1].Value.ToString();
                Properties.Settings.Default.scriptFile     = dg.Rows[(int)prm.lScript].Cells[1].Value.ToString();;//tb_script.Text;
                Properties.Settings.Default.printDebug     = cb_printDebug.Checked;

                i = 1;
                Properties.Settings.Default.s1Step         = long.Parse(dg.Rows[(int)prm.lStep].Cells[i].Value.ToString());
                Properties.Settings.Default.s1LaserOn      = long.Parse(dg.Rows[(int)prm.lLaserOn].Cells[i].Value.ToString());
                Properties.Settings.Default.s1LaserOff     = long.Parse(dg.Rows[(int)prm.lLaserOff].Cells[i].Value.ToString());
                Properties.Settings.Default.s1PolygonDelay = long.Parse(dg.Rows[(int)prm.lPolygon].Cells[i].Value.ToString());
                Properties.Settings.Default.s1MarkDelay    = long.Parse(dg.Rows[(int)prm.lMarkDelay].Cells[i].Value.ToString());
                Properties.Settings.Default.s1JampDelay    = long.Parse(dg.Rows[(int)prm.lJampDelay].Cells[i].Value.ToString());
                Properties.Settings.Default.s1Fps          = long.Parse(dg.Rows[(int)prm.lFps].Cells[i].Value.ToString());
                Properties.Settings.Default.s1Q1           = long.Parse(dg.Rows[(int)prm.lQt1].Cells[i].Value.ToString());
                Properties.Settings.Default.s1Q2           = long.Parse(dg.Rows[(int)prm.lQt2].Cells[i].Value.ToString());
                Properties.Settings.Default.s1JampSize     = float.Parse(dg.Rows[(int)prm.lJampSize].Cells[i].Value.ToString(), System.Globalization.NumberStyles.Float);
                Properties.Settings.Default.s1MarkSize     = float.Parse(dg.Rows[(int)prm.lMarkSize].Cells[i].Value.ToString(), System.Globalization.NumberStyles.Float);
                Properties.Settings.Default.s1Power        = long.Parse(dg.Rows[(int)prm.lPower].Cells[i].Value.ToString());
                Properties.Settings.Default.gainX          = korr_x;
                Properties.Settings.Default.gainY          = korr_y;
                Properties.Settings.Default.debugOutput    = dg.Rows[(int)prm.lWorkSpace].Cells[i].Value.ToString();
                Properties.Settings.Default.Save();
            }
        }