public static extern sdrplay_api_ErrT sdrplay_api_SwapRspDuoActiveTuner(IntPtr dev, ref SDRplayAPI_Tuner.sdrplay_api_TunerSelectT currentTuner, SDRplayAPI_RSPduo.sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel);
private static void EventCallback(SDRplayAPI_Callback.sdrplay_api_EventT eventId, SDRplayAPI_Tuner.sdrplay_api_TunerSelectT tuner, ref SDRplayAPI_Callback.sdrplay_api_EventParamsT Params, IntPtr cbContext) { switch (eventId) { case SDRplayAPI_Callback.sdrplay_api_EventT.sdrplay_api_GainChange: Console.WriteLine("sdrplay_api_EventCb: {0}, tuner={1} gRdB={2:d} lnaGRdB={3:d} systemGain={4:0.00}", "sdrplay_api_GainChange", (tuner == SDRplayAPI_Tuner.sdrplay_api_TunerSelectT.sdrplay_api_Tuner_A) ? "sdrplay_api_Tuner_A" : "sdrplay_api_Tuner_B", Params.gainParams.gRdB, Params.gainParams.lnaGRdB, Params.gainParams.currGain); break; case SDRplayAPI_Callback.sdrplay_api_EventT.sdrplay_api_PowerOverloadChange: Console.WriteLine("sdrplay_api_PowerOverloadChange: tuner={0} powerOverloadChangeType={1}", (tuner == SDRplayAPI_Tuner.sdrplay_api_TunerSelectT.sdrplay_api_Tuner_A) ? "sdrplay_api_Tuner_A" : "sdrplay_api_Tuner_B", (Params.powerOverloadParams.powerOverloadChangeType == SDRplayAPI_Callback.sdrplay_api_PowerOverloadCbEventIdT.sdrplay_api_Overload_Detected) ? "sdrplay_api_Overload_Detected" : "sdrplay_api_Overload_Corrected"); // Send update message to acknowledge power overload message received SDRplayAPI.sdrplay_api_Update(chosenDevice.dev, tuner, SDRplayAPI.sdrplay_api_ReasonForUpdateT.sdrplay_api_Update_Ctrl_OverloadMsgAck, SDRplayAPI.sdrplay_api_ReasonForUpdateExtension1T.sdrplay_api_Update_Ext1_None); break; case SDRplayAPI_Callback.sdrplay_api_EventT.sdrplay_api_RspDuoModeChange: Console.WriteLine("sdrplay_api_EventCb: {0}, tuner={1} modeChangeType={2}", "sdrplay_api_RspDuoModeChange", (tuner == SDRplayAPI_Tuner.sdrplay_api_TunerSelectT.sdrplay_api_Tuner_A) ? "sdrplay_api_Tuner_A" : "sdrplay_api_Tuner_B", (Params.rspDuoModeParams.modeChangeType == SDRplayAPI_Callback.sdrplay_api_RspDuoModeCbEventIdT.sdrplay_api_MasterInitialised) ? "sdrplay_api_MasterInitialised" : (Params.rspDuoModeParams.modeChangeType == SDRplayAPI_Callback.sdrplay_api_RspDuoModeCbEventIdT.sdrplay_api_SlaveAttached) ? "sdrplay_api_SlaveAttached" : (Params.rspDuoModeParams.modeChangeType == SDRplayAPI_Callback.sdrplay_api_RspDuoModeCbEventIdT.sdrplay_api_SlaveDetached) ? "sdrplay_api_SlaveDetached" : (Params.rspDuoModeParams.modeChangeType == SDRplayAPI_Callback.sdrplay_api_RspDuoModeCbEventIdT.sdrplay_api_SlaveInitialised) ? "sdrplay_api_SlaveInitialised" : (Params.rspDuoModeParams.modeChangeType == SDRplayAPI_Callback.sdrplay_api_RspDuoModeCbEventIdT.sdrplay_api_SlaveUninitialised) ? "sdrplay_api_SlaveUninitialised" : (Params.rspDuoModeParams.modeChangeType == SDRplayAPI_Callback.sdrplay_api_RspDuoModeCbEventIdT.sdrplay_api_MasterDllDisappeared) ? "sdrplay_api_MasterDllDisappeared" : (Params.rspDuoModeParams.modeChangeType == SDRplayAPI_Callback.sdrplay_api_RspDuoModeCbEventIdT.sdrplay_api_SlaveDllDisappeared) ? "sdrplay_api_SlaveDllDisappeared" : "unknown type"); //if (Params.rspDuoModeParams.modeChangeType == sdrplay_api_MasterInitialised) // masterInitialised = 1; //if (Params.rspDuoModeParams.modeChangeType == sdrplay_api_SlaveUninitialised) // slaveUninitialised = 1; break; case SDRplayAPI_Callback.sdrplay_api_EventT.sdrplay_api_DeviceRemoved: Console.WriteLine("sdrplay_api_EventCb: {0}", "sdrplay_api_DeviceRemoved"); break; default: Console.WriteLine("sdrplay_api_EventCb: {0}, unknown event", eventId); break; } }
public static extern sdrplay_api_ErrT sdrplay_api_Update(IntPtr dev, SDRplayAPI_Tuner.sdrplay_api_TunerSelectT tuner, sdrplay_api_ReasonForUpdateT reasonForUpdate, sdrplay_api_ReasonForUpdateExtension1T reasonForUpdateExt1);