public bool init() { //First load the interface if (ttInterface == null) { //Attempt opening the time-tagger libraries status("Opening Timetagger Libraries..."); try { ttInterface = new TTInterface(); status("OK"); } catch (Exception ex) { ttInterface = null; status("Opening ttInterface.dll failed:\n\"" + ex.Message + "\""); flashbtn.Enabled = false; addrunner.Enabled = false; remrunner.Enabled = false; return(false); } } if (!ttInterface.IsOpen()) { try { status("Connecting to Timetagger..."); ttInterface.Open(ttnum); status("FPGA Version:" + ttInterface.GetFpgaVersion() + " Resolution:" + ttInterface.GetResolution() + " Errors:" + ttInterface.ReadErrorFlags()); ttInterface.Use10MHz(false); setthreshold(2.0); status("OK"); } catch (Exception ex) { status("Error: " + ex.Message); flashbtn.Enabled = false; addrunner.Enabled = false; remrunner.Enabled = false; return(false); } } if (buffer == System.UIntPtr.Zero) { try { status("Creating Buffer..."); buffernum = tt_getNextFree(); buffer = tt_create(buffernum, bufsize); if (buffer == System.UIntPtr.Zero) { status("Error: Buffer creation failed.\nThe size given might be too large."); flashbtn.Enabled = false; addrunner.Enabled = false; remrunner.Enabled = false; return(false); } //Set the number of channels and the time tagger's resolution tt_setchannels(buffer, 16); tt_setresolution(buffer, ttInterface.GetResolution()); status("Buffer: " + buffernum + " Size: " + bufsize); } catch (Exception ex) { status("Error: " + ex.Message); flashbtn.Enabled = false; addrunner.Enabled = false; remrunner.Enabled = false; return(false); } } if (!runnertimer.Enabled) { runnertimer.Start(); } if (!tagger.IsBusy) { tagger.RunWorkerAsync(); } ledcontrol.Enabled = true; optionsmenu.Enabled = true; refon.Enabled = true; savemenu.Enabled = true; this.Text = "TT" + ttnum + " Buffer " + buffernum; status("Ready."); return(true); }
public bool init() { //First load the interface if (ttInterface == null) { //Attempt opening the time-tagger libraries status("Opening Timetagger Libraries..."); try { ttInterface = new TTInterface(); status("OK"); } catch (Exception ex) { ttInterface = null; status("Opening ttInterface.dll failed:\n\"" + ex.Message + "\""); flashbtn.Enabled = false; addrunner.Enabled = false; remrunner.Enabled = false; return false; } } if (!ttInterface.IsOpen()) { try { status("Connecting to Timetagger..."); ttInterface.Open(ttnum); status("FPGA Version:" + ttInterface.GetFpgaVersion() + " Resolution:" + ttInterface.GetResolution() + " Errors:" + ttInterface.ReadErrorFlags()); ttInterface.Use10MHz(false); setthreshold(2.0); status("OK"); } catch (Exception ex) { status("Error: " + ex.Message); flashbtn.Enabled = false; addrunner.Enabled = false; remrunner.Enabled = false; return false; } } if (buffer == System.UIntPtr.Zero) { try { status("Creating Buffer..."); buffernum = tt_getNextFree(); buffer = tt_create(buffernum, bufsize); if (buffer == System.UIntPtr.Zero) { status("Error: Buffer creation failed.\nThe size given might be too large."); flashbtn.Enabled = false; addrunner.Enabled = false; remrunner.Enabled = false; return false; } //Set the number of channels and the time tagger's resolution tt_setchannels(buffer, 16); tt_setresolution(buffer, ttInterface.GetResolution()); status("Buffer: " + buffernum + " Size: " + bufsize); } catch (Exception ex) { status("Error: " + ex.Message); flashbtn.Enabled = false; addrunner.Enabled = false; remrunner.Enabled = false; return false; } } if (!runnertimer.Enabled) { runnertimer.Start(); } if (!tagger.IsBusy) { tagger.RunWorkerAsync(); } ledcontrol.Enabled = true; optionsmenu.Enabled = true; refon.Enabled = true; savemenu.Enabled = true; this.Text = "TT" + ttnum + " Buffer " + buffernum; status("Ready."); return true; }