The Data Repeater is an interface between the Console and other programs running within the local network. It streams IQ data in either 16-bit or 32-bit format, also providing the name of the radio, center frequency and bandwidth.
The interface is provided by a DLL available for 32-bit and 64-bit programs. This page describes the interface in detail.
A sample Windows program with full source is available on request, Visual Studio 2013 or later is required.
The DLL is dynaically loaded, use SDRRepeaterLoader.h and SDRRepeaterLoader.cpp. You can also link a program against SDRRepeaterLoader.lib if desired.
BOOL SDRRepeaterConnectDlg(CWnd* pWndParent)
Displays the connection window (modal dialog), if the connection is successful the console starts streaming the IQ data. For each computer each program must use a unique Listener port.
Closes the connection, stops streaming.
void SDRRepeaterSetProgram(LPCTSTR lpszProgramName)
The name of the program, this is displayed in the console's Data Repeater management window.
void SDRRepeaterLogfileMsg(CWnd* pParent, UINT nMessage)
Diagnostic messages from the DLL are posted as messages using ::PostMessage(UINT message, WPARAM wParam, LPARAM lParam).
The client must free this storage using delete.
void SDRRepeaterIQDataSetCallback(pfnIQDataCallback pfnCallback)
The samples are returned via a callback function.
void CALLBACK IQDataCallback(const void* pData, const int nDataType, const int nSamples)
Do not free the storage!
void SDRRepeaterRadioSetCallback(pfnRadioCallback pfnCallback)
The radio, center frequency and bandwidth are returned via a callback.
void CALLBACK RadioCallback(LPCTSTR lpszRadio, const __int64 n64FrequencyHz, const UINT nBandwidth)
Do not free the radio string!
The client sends a TCP connection request on port 50050 (user configurable). The connection is accepted, a REPEATER_SETTINGS structure is returned.
The client must send an ACK message every second, when received a REPEATER_ACK message is returned.
The client can request an updates REPEATER_SETTINGS structure at any time.
This interface will be used for the Digital Mode program which will be written as part of the SDR-Radio.com software suite in 2018 / 2019. Possible enhancements include: