public double[] getNLCCoeffs() { double[] result = null; if (!initialized) { return(result); } mut.WaitOne(); try { double[] t = new double[8]; int error = 0; for (int i = 0; i <= 7; i++) { byte[] buf = new byte[SeaBreezeWrapper.SLOT_LENGTH]; int bytes_read = SeaBreezeWrapper.seabreeze_read_eeprom_slot( specIndex, ref error, 6 + i, ref buf[0], SeaBreezeWrapper.SLOT_LENGTH); t[i] = Convert.ToDouble(byteToString(buf)); } result = t; } catch (Exception e) { logger.log("Error getting NLC: {0}", e); } finally { mut.ReleaseMutex(); } return(result); }