diff --git a/BladeRF/BladeRFDevice.cs b/BladeRF/BladeRFDevice.cs index 7a4f7b7..2cc0028 100644 --- a/BladeRF/BladeRFDevice.cs +++ b/BladeRF/BladeRFDevice.cs @@ -378,6 +378,7 @@ public void Dispose() private unsafe void ReceiveSamples_sync() { + int status = 0; while (_isStreaming) { uint cur_len, new_len; @@ -395,9 +396,8 @@ private unsafe void ReceiveSamples_sync() _samplesBuffer = UnsafeBuffer.Create((int)(2 * cur_len), sizeof(Int16)); _samplesPtr = (Int16*)_samplesBuffer; } - if (NativeMethods.bladerf_sync_config(_dev, bladerf_module.BLADERF_MODULE_RX, bladerf_format.BLADERF_FORMAT_SC16_Q11, NumBuffers, cur_len, NumBuffers / 2, SampleTimeoutMs) != 0) - return; - int status = 0; + if ((status = NativeMethods.bladerf_sync_config(_dev, bladerf_module.BLADERF_MODULE_RX, bladerf_format.BLADERF_FORMAT_SC16_Q11, NumBuffers, cur_len, NumBuffers / 2, SampleTimeoutMs)) != 0) + _isStreaming = false; while (status == 0 && cur_len == new_len) { try @@ -577,10 +577,10 @@ public void Stop() if (_isStreaming) { int error; + _isStreaming = false; if ((error = NativeMethods.bladerf_enable_module(_dev, bladerf_module.BLADERF_MODULE_RX, 0)) != 0) throw new ApplicationException(String.Format("Disabling RX module failed: {0}", NativeMethods.bladerf_strerror(error))); } - _isStreaming = false; if (_sampleThread != null) { diff --git a/Debug/SDRSharp.BladeRF.dll b/Debug/SDRSharp.BladeRF.dll index 9d58940..469e3fe 100644 Binary files a/Debug/SDRSharp.BladeRF.dll and b/Debug/SDRSharp.BladeRF.dll differ diff --git a/Debug/SDRSharp.BladeRF.pdb b/Debug/SDRSharp.BladeRF.pdb index 02bb859..4d23bfc 100644 Binary files a/Debug/SDRSharp.BladeRF.pdb and b/Debug/SDRSharp.BladeRF.pdb differ diff --git a/Release/SDRSharp.BladeRF.dll b/Release/SDRSharp.BladeRF.dll index 45e074b..19c4119 100644 Binary files a/Release/SDRSharp.BladeRF.dll and b/Release/SDRSharp.BladeRF.dll differ diff --git a/Release/SDRSharp.BladeRF.pdb b/Release/SDRSharp.BladeRF.pdb index a51ee39..79cdff9 100644 Binary files a/Release/SDRSharp.BladeRF.pdb and b/Release/SDRSharp.BladeRF.pdb differ