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(); }
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(); } }