unsafe static SdrIqDevice() { SdrIqDevice._lut16Buffer = UnsafeBuffer.Create(65536, 4); SdrIqDevice._sdriqCallback = SdrIqDevice.SdrIqSamplesAvailable; SdrIqDevice._readBlockCount = Utils.GetIntSetting("SDRIQReadBlockCount", 1); SdrIqDevice._outFifoBlockCount = (uint)Utils.GetIntSetting("SDRIQOutFifoBlockCount", 0); SdrIqDevice._lut16 = (float *)(void *)SdrIqDevice._lut16Buffer; for (int i = 0; i < 65536; i++) { SdrIqDevice._lut16[i] = (float)(i - 32768) * 3.051851E-05f; } }
public static extern int sdriq_async_read(IntPtr dev, IntPtr context, SdrIqReadAsyncDelegate callback, int readBlocks);