// Added on 2018/2/27 Ming-Yen private void btnGPO0_Click(object sender, EventArgs e) { short err; // Added on 2018/2/27 Ming-Yen // The 80M / 40 = 2MHz Clock will be sent out when IntEnable is set to 1 // The 80M / 40 = 2MHz Clock will be stopped when IntEnable is set to 0 if (btnGPO0.Text == "GPO0 2MHz OFF") { err = USBDASK.UD_GPTC_Control((ushort)Module_Num1, 0, USBDASK.IntENABLE, 1); if (err < 0) { MessageBox.Show(string.Format("UD_GPTC_Control IntENABLE Error: {0}", err)); return; } btnGPO0.Text = "GPO0 2MHz ON"; } else { err = USBDASK.UD_GPTC_Control((ushort)Module_Num1, 0, USBDASK.IntENABLE, 0); if (err < 0) { MessageBox.Show(string.Format("UD_GPTC_Control IntENABLE Error: {0}", err)); return; } btnGPO0.Text = "GPO0 2MHz OFF"; } }
public void Start() { if (Listener == null) { Listener = Task.Run(() => { while (true) { int cam_index = 0; foreach (var one in Config.IOCard.Line) { bool b = ReadDI((ushort)one.TriggerNo); Trigger(b, cam_index); cam_index++; } ChangeUI(); Task.Delay(10).Wait(); } }); //初始化DO口 uint CtrlByte = 0; foreach (var line in Config.IOCard.Line) { CtrlByte |= (uint)0 << line.MachineWaringNo; } USBDASK.UD_DO_WritePort((ushort)CardNo, 0, CtrlByte); } }
private void Form1_Load(object sender, EventArgs e) { short iTemp; int nBufSize; if (wSelModuleID == USBDASK.INVALID_CARD_ID) { return; } m_delegate = new CallbackDelegate(Callback); gr = pbxDisplay.CreateGraphics(); iTemp = USBDASK.UD_Register_Card(wSelModuleType, wSelModuleID); if (iTemp < 0) { MessageBox.Show("UD_Register_Card() Fail, Code:" + iTemp.ToString()); Close(); return; } textBox_CardID.Text = wSelModuleID.ToString(); nBufSize = sizeof(short) * Convert.ToInt32(dwDataNum); m_data_buffer = Marshal.AllocHGlobal(nBufSize); alloc = 1; Module_Num = (ushort)iTemp; tbxYup.Text = "10V"; tbxYdown.Text = "-10V"; textYZero.Text = "0V"; pbxDisplay.BackColor = Color.Black; }
private void buttonstop_Click(object sender, EventArgs e) { buttonstop.Enabled = false; buttonstart.Enabled = true; comboBoxchan.Enabled = true; comboBoxsamplerate.Enabled = true; start = false; check.Abort(); daqcontrol.result = USBDASK.UD_AI_AsyncClear(0, out daqcontrol.AccessCnt); if (daqcontrol.result < 0) { this.Cursor = Cursors.Default; MessageBox.Show("Falied to perform UD_AI_AsyncClear(), error: " + daqcontrol.result, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } daqcontrol.result = USBDASK.UD_Release_Card(0); if (daqcontrol.result < 0) { this.Cursor = Cursors.Default; MessageBox.Show("Falied to perform UD_Release_Card(), error: " + daqcontrol.result, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } timetofileindex = 0; files = dir.GetFiles("*", SearchOption.TopDirectoryOnly); filenames = files.Select(f => f.Name).ToArray(); for (int i = 0; i < filenames.Length; i++) { File.Move(path[0] + filenames[i], path[1] + filenames[i]); } //File.Move(path[0] + Timetofile.ToString("yyyyMMddHHmmss") + ".txt", path[1] + Timetofile.ToString("yyyyMMddHHmmss") + ".txt"); // txtWtr.Close(); }
public void Start() { if (Listener == null) { Listener = Task.Run(() => { while (true) { bool trayState = ReadDI((ushort)Config.IOCard.TrayNo); SetTrayChange(trayState); bool machineState = ReadDI((ushort)Config.IOCard.MachineStateNo); SetMachineChange(machineState); bool machineWaring = ReadDO((ushort)Config.IOCard.MachineWaringNo); bool machineControl = ReadDO((ushort)Config.IOCard.MachineControlNo); ChangeUI(trayState, machineState, machineWaring, machineControl); Task.Delay(10).Wait(); } }); //初始化DO口 uint CtrlByte = 0; CtrlByte |= (uint)0 << Config.IOCard.MachineControlNo; CtrlByte |= (uint)0 << Config.IOCard.MachineWaringNo; USBDASK.UD_DO_WritePort((ushort)CardNo, 0, CtrlByte); } }
private void btnStop_Click(object sender, EventArgs e) { short err; uint AccessCnt; err = USBDASK.UD_AI_AsyncClear(Module_Num, out AccessCnt); btnStart.Enabled = true; }
public void Waring(int line, bool isWaring) { Console.WriteLine($"{line} {isWaring}"); USBDASK.UD_DO_WriteLine((ushort)CardNo, 0, (ushort)Config.IOCard.Line[line].MachineWaringNo, (ushort)(!isWaring ? 0 : 1)); if (isWaring) { MachineStop(line); } }
bool ReadDO(ushort port) { short err = USBDASK.UD_DO_ReadPort((ushort)CardNo, 0, out uint StatusByte); if (err == 0) { return(Convert.ToBoolean((StatusByte >> port) & 1)); } return(false); }
private void GPO0Close() { short err; err = USBDASK.UD_GPTC_Control((ushort)Module_Num1, 0, USBDASK.IntENABLE, 0); if (err < 0) { MessageBox.Show(string.Format("UD_GPTC_Control IntENABLE Error: {0}", err)); return; } }
private void BT_RELEASE_Click(object sender, EventArgs e) { short err = USBDASK.UD_Release_Card((ushort)card); if (err < 0) { MessageBox.Show("Release Card Fail"); } BT_REGISTER.Enabled = true; BT_RELEASE.Enabled = false; }
private void btnStart_Click(object sender, EventArgs e) { short err; uint dwInvCnt; // Configure AI Channel err = USBDASK.UD_AI_1902_Config(Module_Num, USBDASK.P1902_AI_PseudoDifferential, 0, 0, 0, 0); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_1902_Config error = :" + err.ToString()); Close(); return; } // Enable double-buffer err = USBDASK.UD_AI_AsyncDblBufferMode(Module_Num, true); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_AsyncDblBufferMode error = :" + err.ToString()); Close(); return; } dwInvCnt = Convert.ToUInt32(U1902_TIMEBASE / fSampleRate); err = USBDASK.UD_AI_1902_CounterInterval(Module_Num, dwInvCnt, dwInvCnt); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_1902_CounterInterval error = :" + err.ToString()); Close(); return; } err = USBDASK.UD_AI_EventCallBack(Module_Num, 1, USBDASK.DBEvent, m_delegate); if (err < 0) { MessageBox.Show("UD_AI_EventCallBack error = :" + err.ToString()); Close(); return; } err = USBDASK.UD_AI_ContReadChannel(Module_Num, 0, USBDASK.AD_B_10_V, m_data_buffer, dwDataNum, fSampleRate, USBDASK.ASYNCH_OP); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_ContReadMultiChannels error = :" + err.ToString()); Close(); return; } //timer1.Enabled = true; btnStart.Enabled = false; }
private void Form1_FormClosed(object sender, FormClosedEventArgs e) { short err; uint AccessCnt; // gr.Dispose(); if (Module_Num1 != -1) { err = USBDASK.UD_AI_AsyncClear((ushort)Module_Num1, out AccessCnt); } if (Module_Num2 != -1) { err = USBDASK.UD_AI_AsyncClear((ushort)Module_Num2, out AccessCnt); } Marshal.FreeHGlobal(m_data_buffer); Marshal.FreeHGlobal(m_data_buffer2); // Added on 2018/2/27 Ming-Yen // The 80M / 40 = 2MHz Clock will be sent out when IntEnable is set to 1 // The 80M / 40 = 2MHz Clock will be stopped when IntEnable is set to 0 err = USBDASK.UD_GPTC_Control((ushort)Module_Num1, 0, USBDASK.IntENABLE, 0); if (err < 0) { MessageBox.Show(string.Format("UD_GPTC_Control IntENABLE Error: {0}", err)); return; } // Added on 2018/2/27 Ming-Yen err = USBDASK.UD_GPTC_Control((ushort)Module_Num1, 0, USBDASK.IntGate, 0); if (err < 0) { MessageBox.Show(string.Format("UD_GPTC_Control IntGate Error: {0}", err)); return; } //btnGPO0.Text = "GPO0 2MHz OFF"; if (Module_Num1 != -1) { USBDASK.UD_Release_Card((ushort)Module_Num1); } if (Module_Num2 != -1) { USBDASK.UD_Release_Card((ushort)Module_Num2); } }
private void BT_REGISTER_Click(object sender, EventArgs e) { ushort card_num = Convert.ToUInt16(TXT_CARDNUM.Text); card = USBDASK.UD_Register_Card(USBDASK.USB_1902, card_num); if (card < 0) { MessageBox.Show("Register Card fail, " + card.ToString()); } else { BT_RELEASE.Enabled = true; BT_REGISTER.Enabled = false; } }
public IOCard() { CardNo = USBDASK.UD_Register_Card(USBDASK.USB_7230, (ushort)Config.IOCard.CardNo); if (CardNo < 0) { LogInfo.Log.Fatal("IO 控制板连接失败!"); Task.Run(() => { Task.Delay(1000).Wait(); OnMoni?.Invoke(); }); } else { Start(); } }
public void MachineStop(int line) { if (!Config.IOCard.MachineStopEnable) { return; } Task.Run(() => { Task.Delay(Config.IOCard.MachineStopDelay).Wait(); USBDASK.UD_DO_WriteLine((ushort)CardNo, 0, (ushort)Config.IOCard.MachineStopNo, 1); App.Current.Dispatcher.Invoke(new Action(() => { MessageBox.Show($"线 {line + 1} NG,请捡NG料后点击确定后继续", "停机中...", MessageBoxButton.OK, MessageBoxImage.Warning); USBDASK.UD_DO_WriteLine((ushort)CardNo, 0, (ushort)Config.IOCard.MachineStopNo, 0); })); }); }
void SetMachine() { try { uint CtrlByte = 0; CtrlByte |= MachineControl << Config.IOCard.MachineControlNo; CtrlByte |= MachineWaring << Config.IOCard.MachineWaringNo; var res = USBDASK.UD_DO_WritePort((ushort)CardNo, 0, CtrlByte); if (res != 0) { LogError.Log.Error($"写入IO卡 DO 信号失败:Code {res}"); } } catch (Exception ex) { LogError.Log.Error($"写入IO卡 DO 信号失败:{ex.Message}"); } }
private void Callback() { short err; err = USBDASK.UD_AI_AsyncDblBufferTransfer(Module_Num, m_data_buffer); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_ContReadMultiChannels error = :" + err.ToString()); return; } else { DisplayTrend displaytrendInvoke = new DisplayTrend(PlotData); BeginInvoke(displaytrendInvoke); } }
private void Configuredaq() { daqcontrol.result = USBDASK.UD_AI_2405_Chan_Config(0, daqcontrol.Chconfig, daqcontrol.Chconfig, daqcontrol.Chconfig, daqcontrol.Chconfig); if (daqcontrol.result != USBDASK.NoError) { this.Cursor = Cursors.Default; MessageBox.Show("Falied to perform UD_AI_2405_Chan_Config(), error: " + daqcontrol.result, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } daqcontrol.result = USBDASK.UD_AI_2405_Trig_Config(0, USBDASK.P2405_AI_CONVSRC_INT, USBDASK.UD_AI_TRGMOD_POST, 0, 0, 0, 0, 0); if (daqcontrol.result != USBDASK.NoError) { this.Cursor = Cursors.Default; MessageBox.Show("Falied to perform UD_AI_2405_Trig_Config(), error: " + daqcontrol.result, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } daqcontrol.result = USBDASK.UD_AI_AsyncDblBufferMode(0, true); if (daqcontrol.result != USBDASK.NoError) { this.Cursor = Cursors.Default; MessageBox.Show("Falied to perform UD_AI_AsyncDblBufferMode(), error: " + daqcontrol.result, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } daqcontrol.result = USBDASK.UD_AI_EventCallBack(0, 1 /*add*/, USBDASK.DBEvent /*EventType*/, ai_buf_ready_cbdel); if (daqcontrol.result != USBDASK.NoError) { this.Cursor = Cursors.Default; MessageBox.Show("Falied to perform UD_AI_EventCallBack(), error: " + daqcontrol.result, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } daqcontrol.result = USBDASK.UD_AI_ContReadMultiChannels(0, (ushort)daqcontrol.numbchans, daqcontrol.ai_chans, daqcontrol.ai_chans_range, daqcontrol.airowdata, daqcontrol.allchanlength * 2, daqcontrol.samplerate, USBDASK.ASYNCH_OP); if (daqcontrol.result != USBDASK.NoError) { this.Cursor = Cursors.Default; MessageBox.Show("Falied to perform UD_AI_ContReadMultiChannels(), error: " + daqcontrol.result, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } Time = DateTime.Now; Timetofile = Time; }
private void Form1_FormClosed(object sender, FormClosedEventArgs e) { if (start) { daqcontrol.result = USBDASK.UD_AI_AsyncClear(0, out daqcontrol.AccessCnt); daqcontrol.result = USBDASK.UD_Release_Card(0); } if (txtWtr != null) { txtWtr.Close(); } if (check.IsAlive) { if (false == check.Join(200)) { check.Abort(); } } }
private void buttonstart_Click(object sender, EventArgs e) { daqcontrol.result = USBDASK.UD_Register_Card(USBDASK.USB_2405, 0); if (daqcontrol.result < 0) { this.Cursor = Cursors.Default; MessageBox.Show("Please Connecnt USB-2405 To your PC"); return; } buttonstart.Enabled = false; buttonstop.Enabled = true; comboBoxchan.Enabled = false; comboBoxsamplerate.Enabled = false; UpateDeviceConfig(); Configuredaq(); start = true; check = new Thread(checkcallback); check.Start(); // txtWtr = new StreamWriter(path[1], true); }
public int Initial(ushort cardNumber, string username, string password, string messageName, out string deviceId) { error = USBDASK.UD_Register_Card(USBDASK.USB_2405, cardNumber); if (error != USBDASK.NoError) { Console.WriteLine("Error:Please Connect ADLINK Device!"); deviceId = null; return(-1); } else { USBDASK.UD_Custom_Serial_Number_Read(cardNumber, Read_SN_char); if (Read_SN_char.All(singleByte => singleByte == 0)) { USBDASK.UD_Serial_Number_Read(cardNumber, Read_SN_char); } GatewayID = System.Text.Encoding.ASCII.GetString(Read_SN_char).Substring(0, 10); deviceId = GatewayID; USBDASK.UD_Release_Card(cardNumber); Username = username; MessageName = messageName; try { cdsHelper = new CDSHelper(APIURL, GatewayID, GatewayPW, username, password); cdsHelper.Connect().Wait(); cdsHelper.GetMessaegCatalogId().Wait(); cdsHelper.ApplyMessage().Wait(); gateway = new Gateway(CDSHelper._CDSClient, this); equipmentSendTime = new Dictionary <string, DateTime>(); currenteqId = ""; SendAsyncerror = 0; } catch (Exception e) { Console.WriteLine("Error:Connecting Fail!"); return(-2); } return(0); } }
void ai_buf_ready_cbfunc() { aliveindex++; daqcontrol.result = USBDASK.UD_AI_AsyncDblBufferTransfer32(0, daqcontrol.airowdata); if (daqcontrol.result != USBDASK.NoError) { //this.Cursor = Cursors.Default; MessageBox.Show("Falied to perform UD_AI_AsyncDblBufferTransfer32s(), error: " + daqcontrol.result, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } daqcontrol.result = USBDASK.UD_AI_ContVScale32(0, USBDASK.AD_B_10_V, 0 /*inType*/, daqcontrol.airowdata, daqcontrol.aivoltagedata, (int)(daqcontrol.allchanlength)); if (daqcontrol.result != USBDASK.NoError) { //this.Cursor = Cursors.Default; MessageBox.Show("Falied to perform UD_AI_ContVScale32(), error: " + daqcontrol.result, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } WriteChannelData(); MethodInvoker mi = new MethodInvoker(this.UpdateUI); ushort OverrunFlag; USBDASK.UD_AI_AsyncDblBufferHandled(0); USBDASK.UD_AI_AsyncDblBufferOverrun(0, 0, out OverrunFlag); if (OverrunFlag == 1) { m_dwOverrunCnt = m_dwOverrunCnt + 1; USBDASK.UD_AI_AsyncDblBufferOverrun(0, 1, out OverrunFlag); this.BeginInvoke(mi, null); } if (aliveindex == 10) { aliveindex = 0; } this.BeginInvoke(mi, null); }
private void Callback() { short err; uint dwAccessCnt; err = USBDASK.UD_AI_AsyncClear((ushort)Module_Num1, out dwAccessCnt); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_AsyncClear error = " + err.ToString()); return; } err = USBDASK.UD_AI_AsyncClear((ushort)Module_Num2, out dwAccessCnt); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_AsyncClear error = " + err.ToString()); return; } GPO0Close(); PlotData(); }
public IOCard() { for (int line_index = 0; line_index < Config.IOCard.Line.Count; line_index++) { LastState.Add(line_index, false); NowState.Add(line_index, false); LastStateDate.Add(line_index, null); } CardNo = USBDASK.UD_Register_Card(USBDASK.USB_7230, (ushort)Config.IOCard.CardNo); if (CardNo < 0) { LogInfo.Log.Fatal("IO 控制板连接失败!"); Task.Run(() => { Task.Delay(1000).Wait(); OnMoni?.Invoke(); }); } else { Start(); } }
private void Form1_FormClosed(object sender, FormClosedEventArgs e) { short err; uint AccessCnt; gr.Dispose(); if (Module_Num != USBDASK.INVALID_CARD_ID) { err = USBDASK.UD_AI_AsyncClear(Module_Num, out AccessCnt); } if (alloc == 1) { Marshal.FreeHGlobal(m_data_buffer); } if (Module_Num != USBDASK.INVALID_CARD_ID) { USBDASK.UD_Release_Card(Module_Num); } }
private void FormCard_Load(object sender, EventArgs e) { short err; int i; // scan the active USB DASK module err = USBDASK.UD_Device_Scan(out wModuleNum, AvailModules); if (err != USBDASK.NoError) { MessageBox.Show("UD_Device_Scan() Failed !!, Error Code:" + err.ToString()); return; } for (i = 0; i < wModuleNum; i++) { switch (AvailModules[i].wModuleType) { case USBDASK.USB_1902: if (AvialableCardType[USBDASK.USB_1902] == 0x00) { AvialableCardType[USBDASK.USB_1902] = 0x01; radioButton_1902.Enabled = true; } break; case USBDASK.USB_1903: if (AvialableCardType[USBDASK.USB_1903] == 0x00) { AvialableCardType[USBDASK.USB_1903] = 0x01; radioButton_1903.Enabled = true; } break; case USBDASK.USB_1901: if (AvialableCardType[USBDASK.USB_1901] == 0x00) { AvialableCardType[USBDASK.USB_1901] = 0x01; radioButton_1901.Enabled = true; } break; } } // re-assign the wSelCardType if (AvialableCardType[USBDASK.USB_1902] == 0x01) { wSelCardType = USBDASK.USB_1902; radioButton_1902.Checked = true; button_OK.Enabled = true; // UpdateComboBox(); } else if (AvialableCardType[USBDASK.USB_1903] == 0x01) { wSelCardType = USBDASK.USB_1903; radioButton_1903.Checked = true; button_OK.Enabled = true; // UpdateComboBox(); } else if (AvialableCardType[USBDASK.USB_1901] == 0x01) { wSelCardType = USBDASK.USB_1901; radioButton_1901.Checked = true; button_OK.Enabled = true; //UpdateComboBox(); } }
private void btnStart_Click(object sender, EventArgs e) { short err; ushort i; int nBufSize; ushort[] ChanArray = new ushort[wSelectedChans]; ushort[] GainArray = new ushort[wSelectedChans]; dwDataNum = Convert.ToUInt32(TXT_DATACOUNT.Text); nBufSize = sizeof(short) * Convert.ToInt32(dwDataNum) * wSelectedChans; m_data_buffer = Marshal.AllocHGlobal(nBufSize); m_data_buffer2 = Marshal.AllocHGlobal(nBufSize); // Configure AI Channel err = USBDASK.UD_AI_Channel_Config((ushort)Module_Num1, USBDASK.UD_AI_Differential, USBDASK.UD_AI_Differential, USBDASK.UD_AI_Differential, USBDASK.UD_AI_Differential); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_Channel_Config error = " + err.ToString()); Close(); return; } err = USBDASK.UD_AI_Channel_Config((ushort)Module_Num2, USBDASK.UD_AI_Differential, USBDASK.UD_AI_Differential, USBDASK.UD_AI_Differential, USBDASK.UD_AI_Differential); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_Channel_Config error = :" + err.ToString()); Close(); return; } err = USBDASK.UD_AI_Trigger_Config((ushort)Module_Num1, USBDASK.UD_AI_CONVSRC_EXT, USBDASK.UD_AI_TRGMOD_POST, USBDASK.UD_AI_TRGSRC_SOFT, 0, 0, 0, 0); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_Trigger_Config error = " + err.ToString()); Close(); return; } err = USBDASK.UD_AI_Trigger_Config((ushort)Module_Num2, USBDASK.UD_AI_CONVSRC_EXT, USBDASK.UD_AI_TRGMOD_POST, USBDASK.UD_AI_TRGSRC_SOFT, 0, 0, 0, 0); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_Trigger_Config error = :" + err.ToString()); Close(); return; } // Disable double-buffer err = USBDASK.UD_AI_AsyncDblBufferMode((ushort)Module_Num1, false); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_AsyncDblBufferMode error = " + err.ToString()); Close(); return; } err = USBDASK.UD_AI_AsyncDblBufferMode((ushort)Module_Num2, false); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_AsyncDblBufferMode error = :" + err.ToString()); Close(); return; } err = USBDASK.UD_AI_EventCallBack_x64((ushort)Module_Num1, 1, USBDASK.AIEnd, m_delegate); if (err < 0) { MessageBox.Show("UD_AI_EventCallBack error = " + err.ToString()); Close(); return; } // Prepare the Channel Gain Queue for (i = 0; i < wSelectedChans; i++) { ChanArray[i] = i; GainArray[i] = USBDASK.AD_B_10_V; } dSamplerate = Convert.ToDouble(TXT_SAMPLERATE.Text); err = USBDASK.UD_AI_ContReadMultiChannels((ushort)Module_Num1, wSelectedChans, ChanArray, GainArray, m_data_buffer, dwDataNum * wSelectedChans, dSamplerate, USBDASK.ASYNCH_OP); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_ContReadMultiChannels error = " + err.ToString()); Close(); return; } err = USBDASK.UD_AI_ContReadMultiChannels((ushort)Module_Num2, wSelectedChans, ChanArray, GainArray, m_data_buffer2, dwDataNum * wSelectedChans, dSamplerate, USBDASK.ASYNCH_OP); if (err != USBDASK.NoError) { MessageBox.Show("UD_AI_ContReadMultiChannels error = " + err.ToString()); Close(); return; } GPO0Clk(); }
private void Form1_Load(object sender, EventArgs e) { short err; m_delegate = new CallbackDelegate(Callback); gr = pbxDisplay.CreateGraphics(); blackBrush = new SolidBrush(Color.Black); // Create rectangle. PanelRect = new Rectangle(0, 0, pbxDisplay.Width, pbxDisplay.Height); TXT_SAMPLERATE.Text = dSamplerate.ToString(); TXT_DATACOUNT.Text = dwDataNum.ToString(); Module_Num1 = USBDASK.UD_Register_Card(USBDASK.USB_1210, 0); if (Module_Num1 < 0) { MessageBox.Show("Register card Fail, Code:" + Module_Num1.ToString()); Close(); return; } Module_Num2 = USBDASK.UD_Register_Card(USBDASK.USB_1210, 1); if (Module_Num2 < 0) { MessageBox.Show("Register card Fail, Code:" + Module_Num2.ToString()); Close(); return; } tbxYup.Text = "10V"; tbxYdown.Text = "-10V"; textYZero.Text = "0V"; pbxDisplay.BackColor = Color.Black; err = USBDASK.UD_DIO_Config((ushort)Module_Num1, USBDASK.GPTC0_GPO1, USBDASK.GPTC2_GPO3); if (err != USBDASK.NoError) { MessageBox.Show("UD_DIO_Config error = :" + err.ToString()); Close(); return; } err = USBDASK.UD_GPTC_Setup_N((ushort)Module_Num1, 0, USBDASK.ContGatedPulseGen, USBDASK.GPTC_GATE_SRC_Int, 0x00, 40, 40, 1); if (err < 0) { MessageBox.Show(string.Format("UD_GPTC_Setup_N Error: {0}", err)); return; } err = USBDASK.UD_GPTC_Control((ushort)Module_Num1, 0, USBDASK.IntUpDnCTR, 0); if (err < 0) { MessageBox.Show(string.Format("UD_GPTC_Control IntUpDnCTR Error: {0}", err)); return; } // Added on 2018/2/27 Ming-Yen USBDASK.UD_GPTC_Control((ushort)Module_Num1, 0, USBDASK.IntGate, 1); if (err < 0) { MessageBox.Show(string.Format("UD_GPTC_Control IntGate Error: {0}", err)); return; } // Added on 2018/2/27 Ming-Yen // The 80M / 40 = 2MHz Clock will be sent out when IntEnable is set to 1 // The 80M / 40 = 2MHz Clock will be stopped when IntEnable is set to 0 err = USBDASK.UD_GPTC_Control((ushort)Module_Num1, 0, USBDASK.IntENABLE, 0); if (err < 0) { MessageBox.Show(string.Format("UD_GPTC_Control IntENABLE Error: {0}", err)); return; } btnGPO0.Text = "GPO0 2MHz OFF"; }
/// <summary> /// /// </summary> public void Dispose() { Stop(); USBDASK.UD_Release_Card((ushort)CardNo); }