// /// <summary> /// /// </summary> /// void GenerateCommand(ref S80211 s) { switch (_wifi) { case "802.11b": { s = new S80211b(int.Parse(_bandwith), int.Parse(_channel), (int)double.Parse(_rate), int.Parse(_power)); break; } case "802.11g": { s = new S80211g(int.Parse(_bandwith), int.Parse(_channel), int.Parse(_rate), int.Parse(_power), int.Parse(_anten)); break; } case "802.11nHT20": { s = new S80211n(2, int.Parse(_channel), int.Parse(_rate), int.Parse(_power), int.Parse(_anten)); break; } case "802.11nHT40": { s = new S80211n(4, int.Parse(_channel), int.Parse(_rate), int.Parse(_power), int.Parse(_anten)); break; } default: break; } }
//int Channel(int channel) //{ // for (int i = 1; i <=11; i++) // { // if (channel == i) // { // channel1 = 2407 + 5*i; // } // } // return channel1; //} private void btnstart_Click(object sender, EventArgs e) { //Control.CheckForIllegalCrossThreadCalls = false; try { int i = 1; ListDataTest.Items.Clear(); listtest.Clear(); // foreach (var item in lines) { //MessageBox.Show(item); bool ret = convertInputData(item, ref listtest); //MessageBox.Show(); } int j = 0; foreach (var ditem in listtest) { _wifi = ditem.wifi; _bandwith = ditem.bandwidth; _anten = ditem.anten; _channel = ditem.channel; _rate = ditem.rate; _power = ditem.power; ListDataTest.Items.Add("wifi=" + _wifi + ";anten=" + _anten + ";Channel=" + _channel + ";rate=" + _rate + ";Power=" + _power + "\n"); lbdisplay.Text = "--"; //Check data inputed is ok/ng //if (!InputedDataValid()) return; //Generate command S80211 wifiUnit = null; GenerateCommand(ref wifiUnit); //Write command into DUT Clear(); string msg = ""; MethodInvoker invoker_Ok = delegate { WriteCode(msg); lbdisplay.Text = "OK"; }; MethodInvoker invoker_Ng = delegate { lbdisplay.Text = "NG"; WriteCode("FAIL."); }; //Thread t = new Thread(() => //{ #region wifi if (_wifi == "802.11nHT20") { wifi1 = "N20"; } if (_wifi == "802.11nHT40") { wifi1 = "N40"; } if (_wifi == "802.11b") { wifi1 = "BG"; } if (_wifi == "802.11g") { wifi1 = "GDO"; } #endregion #region Channel if (_channel == "1") { channel1 = "2412"; } if (_channel == "2") { channel1 = "2417"; } if (_channel == "3") { channel1 = "2422"; } if (_channel == "4") { channel1 = "2427"; } if (_channel == "5") { channel1 = "2432"; } if (_channel == "6") { channel1 = "2437"; } if (_channel == "7") { channel1 = "2442"; } if (_channel == "8") { channel1 = "2447"; } if (_channel == "9") { channel1 = "2452"; } if (_channel == "10") { channel1 = "2457"; } if (_channel == "11") { channel1 = "2462"; } #endregion if (wifiUnit.txCommandList.Count > 0) { ontDevice.sendListCommand(wifiUnit.txCommandList, out msg); this.Invoke(invoker_Ok); Application.DoEvents(); } else { this.Invoke(invoker_Ng); } //}); //t.Start(); E6640AVISA = new E6640A_VISA("TCPIP0::192.168.1.2::inst0::INSTR"); E6640AVISA.config_HT20_RxTest_Transmitter(channel1, wifi1, "25", "RFB"); if (_wifi == "802.11nHT20" || _wifi == "802.11nHT40" || _wifi == "802.11g") { SUM = E6640AVISA.HienThi(); string[] array = SUM.Split(','); string Power = Convert.ToDouble(array[19]).ToString("00.00"); string Ferqerror = Convert.ToDouble(array[7]).ToString("00.00"); string sym = Convert.ToDouble(array[11]).ToString("00.00"); string EVM = Convert.ToDouble(array[1]).ToString("00.00"); List <string> lData = new List <string>(); lData.Add(Power); lData.Add(Ferqerror); lData.Add(sym); lData.Add(EVM); dgv.DataSource = lData; //string[] array1 = { Power, Ferqerror, sym, EVM + "\n" }; //dgv.DataSource = array1; ////dgv.ColumnCount = 4; //dgv.Rows.Add(); ////dgv.Rows[j].Cells[0].Value = j; //dgv.Rows[j].Cells[1].Value = Power; //dgv.Rows[j].Cells[2].Value = Ferqerror; //dgv.Rows[j].Cells[3].Value = sym; //dgv.Rows[j].Cells[4].Value = EVM; j++; ListDataTest.Items.Add("Power: " + Convert.ToDouble(array[19]).ToString("00.00") + ";EVM: " + Convert.ToDouble(array[1]).ToString("00.00")); //ListDataTest.Items.Add(SUM + "\n"); } else if (_wifi == "802.11b") { SUM = E6640AVISA.HienThi(); string[] array = SUM.Split(','); string Power = Convert.ToDouble(array[35]).ToString("00.00"); string Ferqerror = Convert.ToDouble(array[7]).ToString("00.00"); string chip = Convert.ToDouble(array[11]).ToString("00.00"); string EVM = Convert.ToDouble(array[1]).ToString("00.00") + "%"; List <string> lData = new List <string>(); lData.Add(Power); lData.Add(Ferqerror); lData.Add(chip); lData.Add(EVM); dgv.DataSource = lData; //string[] array1 = { Power, Ferqerror, sym, EVM + "\n" }; //dgv.ColumnCount = 4; //dgv.Rows.Add(); ////dgv.Rows[j].Cells[0].Value = j; //dgv.Rows[j].Cells[1].Value = Power; //dgv.Rows[j].Cells[2].Value = Ferqerror; //dgv.Rows[j].Cells[3].Value = sym; //dgv.Rows[j].Cells[4].Value = EVM; j++; //dgv.DataSource = array1; ListDataTest.Items.Add("Power: " + Power + ";EVM: " + EVM + ";Fer Error: " + Ferqerror + ";Chip Clock Error: " + chip + "\n"); } for (int k = 0; k < 50; k++) { Thread.Sleep(100); Application.DoEvents(); } ListDataTest.Items.Add("Hoan thanh bai thu " + i); i++; //while (t.IsAlive) ; } //dgv.DataSource = listtest; //dgv.Refresh(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); //throw; } }