public unsafe static void StartHW(int freq) { if (!(ExtIO._dllHandle == IntPtr.Zero) && ExtIO._startHW != null) { ExtIO.logInfo("StartHW(), freq=" + freq.ToString()); if (!ExtIO._isHWInit) { ExtIO.OpenHW(true); } if (ExtIO._iqBuffer != null) { ExtIO._iqBuffer.Dispose(); } ExtIO._iqBuffer = null; ExtIO._iqPtr = null; int num = ExtIO._startHW(freq); ExtIO.logResult("StartHW: "); if (num <= 0) { ExtIO.logInfo("StartHW() returned " + num); throw new Exception("ExtIO StartHW() returned " + num); } ExtIO._isHWStarted = true; ExtIO._sampleCount = num; ExtIO._iqBuffer = UnsafeBuffer.Create(ExtIO._sampleCount, sizeof(Complex)); ExtIO._iqPtr = (Complex *)(void *)ExtIO._iqBuffer; ExtIO.logInfo("StartHW succeeded, samplecount=" + ExtIO._sampleCount.ToString() + ", iqBuffer created."); } }