public bool open() { initialized = false; opened = false; wavelengths = null; int error = 0; SeaBreezeWrapper.seabreeze_open_spectrometer(specIndex, ref error); if (!checkSeaBreezeError("open_spectrometer", error)) { return(false); } opened = true; pixels = SeaBreezeWrapper.seabreeze_get_formatted_spectrum_length(specIndex, ref error); if (!checkSeaBreezeError("get_formatted_spectrum_length", error)) { return(false); } double[] tmp = new double[pixels]; SeaBreezeWrapper.seabreeze_get_wavelengths(specIndex, ref error, ref tmp[0], pixels); if (!checkSeaBreezeError("get_wavelengths", error)) { return(false); } wavelengths = tmp; initialized = true; return(initialized); }
int getPixels() { int retval = 0; int error = 0; if (specIndex < 0) { return(retval); } bool ok = mut.WaitOne(2); if (!ok) { return(0); } retval = SeaBreezeWrapper.seabreeze_get_formatted_spectrum_length(specIndex, ref error); mut.ReleaseMutex(); if (error != 0) { logger.queue("error getting pixel count (error = {0})", error); return(0); } return(retval); }