#if !defined(RJ10_MINIMAL_DLL) #define RJ10_MINIMAL_DLL #include "IFJet1102DLLThread.h" define IF_SAMPLE_FRQ 48000 define IF_SAMPLE_NUM 2048 define AF_SAMPLE_FRQ 24000 define AF_SAMPLE_NUM 2048 define IF_GAIN_FACTOR 61#define DX_CHN 0 //amplified left channel #define RX_CHN 1 //normal unplugged rigt channel (amplifire off) #define AUTO_CHN 2 //automatic channel selection #define GET_CHN -1 //which channel is active ? this read only the currend state//global RJ10 messages define WM_POTICHANGE (WM_USER+3) define WM_DRAW_IF (WM_USER+17) define WM_PROCESS_IFIN (WM_USER+23) //we have an new IF-Input-Block of the input device for Filter and so one define WM_GET_SPECTRUM (WM_USER+26) //new IF-WidthBand-SpectrosScope data are avalable to view / plot define WM_MYUSER (WM_USER+7400) define DLL_USER (WM_USER+7800) define WM_HID_JET_ADD (WM_MYUSER+60) define WM_HID_JET_REMOVE (WM_MYUSER+61) define WM_EDIT_CR (WM_MYUSER+92) define WM_RBCLICK (WM_MYUSER+163) //right button click define WM_DRAW_FRQ (DLL_USER+88) define WM_START_ACTION (DLL_USER+95) define WM_SET_OUTPEAK (DLL_USER+100) //for out peeakmeter DLL -> PostMessage(AUDIO_hWnd,WM_SET_OUTPEAK,(WPARAM)output speaker peeekmeter value,NULL); define WM_SET_INPEAK (DLL_USER+101) //for in peeakmeter DLL -> PostMessage(AUDIO_hWnd,WM_SET_INPEAK,(WPARAM)input peeekmeter value,NULL); define WM_SET_SMETER (DLL_USER+102) //SMeterChange DLL -> PostMessage(CHANNEL_hWnd,WM_SET_SQLPEAK,(WPARAM)signalvalue,NULL); define WM_SET_SQLLED (DLL_USER+103) //SquelchChange DLL -> PostMessage(CHANNEL_hWnd,WM_SET_SQLLED,(WPARAM)onoff,NULL); //Wave Output Volume is the Wave slider of the output mixer control define WM_SET_WAVEVOLUME (DLL_USER+106) //WaveOutVolumeChanged DLL -> PostMessage(AUDIO_hWnd,WM_SET_WAVEVOLUME,(WPARAM)WaveOutVolume,(LPARAM)waveswitch); //WaveInPoti is an intern wave amplitute limiter define WM_SET_WAVELEVEL (DLL_USER+107) //WaveInLevelChanged DLL -> PostMessage(AUDIO_hWnd,WM_SET_WAVELEVEL,(WPARAM)WaveInVolume,(LPARAM)waveswitch); //InLevel is the LineIn or Microfone slider of the input mixer control define WM_SET_IF_INLEVEL (DLL_USER+109) //LineIn/Gain Level changed DLL -> PostMessage(AUDIOIN_hWnd,WM_SET_IF_INLEVEL,(WPARAM)IFGainLevel,(LPARAM)IFGainOff); //InLevel is the LineIn or Microfone slider of the input mixer control define WM_SET_IF_OUTLEVEL (DLL_USER+110) //LineOut/Gain Level changed DLL -> PostMessage(AUDIOOUT_hWnd,WM_SET_IF_OUTLEVEL,(WPARAM)IFInputLevel,(LPARAM)IFInputLevel); define WM_UDP_SMETER_DBSM (DLL_USER+150) typedef struct { //get data para, access references for two channels //only data output pointer or last status float *RawData[2]; //the address of the raw data buffer float *MagData[2]; //the address of the magitude data buffer float SignalLevel; //current dBm value of signal strenght in the range of current IF-filter float SNRLevel; //current dB value of SNR in the range of current IF-filter float MaxLevel; //current max level in dB float MinLevel; //current min level in dB float MagMax; //current max value of magnitude float MagMean; //current mean value of magnitude float RawMean; //current mean value of raw data float RawMax; //current max value of raw data int totalLineCounter; //the counter of the total input lines }IF_DRAW_PARA;typedef struct { float re; float im; }SCplx; typedef struct { //get draw data from extern IQ-Receiver int totalLineCounter; //the pointer for get from InputBuffer SCplx *RawData; //the address of the raw data buffer int RawSize; //the max size of the RawData float *MagData; //the address of the magitude data buffer int MagSize; //the max size of the MagData float SignalLevel; //current dBm value of signal strenght in the range of current IF-filter float SNRLevel; //current dB value of SNR in the range of current IF-filter float MaxLevel; //current max level in dB float MinLevel; //current min level in dB float MagMax; //current max value of magnitude float MagMin; //current min value of magnitude float MagMean; //current mean value of magnitude float RawMax; //current max value of raw data float RawMin; //current min value of raw data float RawMean; //current mean value of raw data }IQ_DRAW_PARA;typedef struct { COLORREF background; //GetSysColor(COLOR_BTNFACE); COLORREF knobface; //GetSysColor(COLOR_3DSHADOW); COLORREF light; //GetSysColor(COLOR_3DLIGHT); COLORREF vlight; //light + 10% luminace COLORREF dark; //GetSysColor(COLOR_3DSHADOW); COLORREF vdark; //GetSysColor(COLOR_3DDKSHADOW); COLORREF btxt; //GetSysColor(COLOR_BTNTEXT); COLORREF scopemark; //red mark color COLORREF scope_B; //scope background COLORREF scope_L; //background +5% luminace COLORREF scope_P; //background +10% luminace COLORREF scope_line; //GetSysColor(COLOR_BTNTEXT); CBrush *scope_back; //pattern brusch of spectrum backgrund CBrush *scope_range; //pattern brusch of filter range }COLORPACK; typedef struct { DRAWITEMSTRUCT *lpDIS; COLORREF m_facecol; //the color of the knop default is this COL_KNOBFACE COLORREF m_ledcol; //the color of the LED (if in use) int m_flags; int m_sval; int m_srange; int m_markpoint; int m_mark; int lfHeight; char Title[64]; char ExtraText[64]; }POTI_DRAWINFO; #ifndef RJ10_EEP_INFO define RJ10_EEP_INFO typedef struct { USHORT WorkFlags; //flags for the intern working // 0 = EEpron is Empty // BIT-0 (0x0001) = EEprom / Device is present // BIT-1 (0x0002) = read error // BIT-2 (0x0004) = write error // BIT-13 (0x2000) = +Software Support Option // BIT-14 (0x4000) = +TX Option // BIT-15 (0x8000) = +RX Option // if non BIT-15,14,13 (WorkFlags&0xE000)=, // then = device is only a minimal factory version - no intern firmware installed for PnP-Callback funktions USHORT VID; //vendor ID USHORT PID; //pruduct ID USHORT StartUpFrq; //StartUpFrequency of SI570 0=UNUSED 1=15.00 MHz 2=56.32 MHz time_t CreationDate; //date of the factory calibration time_t RegistryDate; //date of the regitration by Internet short AudioCorrecture; // the audio chip own individual cristall clock difference offset to correct size of fax or sstv slant short FreqCorrecture; // the receiver chip own individual frequency offset short ScaleCorrecture; // the chip own individual frq scaling distance (difference from Low-Frq to Hi-Frq in Hz) short DxFactor; // the DXFactor of the DX-Channel //for reset short AC; // factory default AudioCorrecture; short FC; // factory default FreqCorrecture; short SC; // factory default ScaleCorrecture; short DX; // factory default DxFactor; char DeviceKey[28]; //device ID (64 Bit key of creation date & serial number for identification) char PROKey[28]; //program ID (64 Bit key of creation date & random number for update service) UINT PPre; //program ID (+32 Bit prefix of PROKey) char DATKey[28]; //data ID (64 Bit key of creation date & random number for data service) UINT DPre; //data ID (+32 Bit prefix of DATKey) char OptionString[64]; char ManufactString[32]; char ProductString[32]; char SerialNrString[16]; }RJ10_EEROM_INFO; #endif typedef struct { HWND messageWin; //Window for Messages HWND sendDBLCLICK; //Window for Messages WM_FRQ_DBLCLICK HWND sendSCALEOPT; //Window for Messages WM_SCALE_MOVE,WM_SCALE_UP, HWND sendMOUSEWHEEL; //Window for Messages WM_UPDATE_MWH int m_style; //spectrum analyser or scope style int m_FaceType; //Style and Face type like IF_MARK_FLAG int m_lo; //frequency band start int m_hi; //frequency band end short m_ampl; //the amplitude poti value short m_level; //the lower level of the logarithmic scale short m_amplCut; short topAmpl; //the topView amplitude poti value short topLevel; //the topView lower level of the logarithmic scale short topStyle; short topOFF; //1=dont draw the topView int m_scalemarklo; int m_scalemarkhi; int m_mark; int m_fftmarklo; int m_IFCenter; //the IF-Center for drawing filter curve and decode offset int m_centermark; //(Center Mark) only for drawing the mark lines int m_ShiftCenter; int m_fftmarkhi; int m_fftrangelo; int m_fftrangehi; int m_FCenter; //filter center frq int m_FOffset; //filter offset from FCenter int m_FWidth; //filter width int m_IFOffset; //offset (if DEMO, then we use this) int m_radiofrq; //the IF-Radio frequency int m_radiomode; //the IF-Radio mode (USB,LSB...) BYTE m_curveonoff; //1=draw filter curve BYTE m_delayonoff; //1=view delay of lines BYTE m_repeatation; //the repetation of drawing per secude BYTE m_smoothing; //the smooth drawing delay level BYTE m_dBoffset; //decibel scaling 0=140 1=160 dBm scaling BYTE m_filterout; //1=draw filtered signal BYTE m_frqscale; //1=draw radio freqency scale BYTE m_finetune; //1=fine tuningin options BYTE m_integrat; //1=fine tune scope is integrated UINT m_SpectrumMode; //see defined options below HWND SpectrumCtrlWin; //MessagesWindow to control the spectrum mode int m_TextMark; COLORREF m_TextColor; int m_StartPos; int m_BandWidth; int topStartPos; int topBandWidth; int topCenter; int topCentermark; short m_DecScale; //the spreading of the decibel scale (dB-Scale) short m_DecLevel; //the lower level of the decibel scale (on measurement Mode) short topYPos; BYTE ColorFlag; //flag for Time Spectrum Colors .... BYTE dummy; short m_contrast; //the contrast poti value short m_bright; //the brightnes poti value int reserve[3]; }IF_ANA_STYLE; typedef struct { int m_sample_freq; int m_sample_num; int m_lo; int m_hi; int m_mi; int m_curveonoff; BYTE m_delayonoff; //1=view delay of lines BYTE m_repeatation; //the repetation of drawing per secude BYTE m_smoothing; //the smooth drawing delay level BYTE byteReserve; int m_onoff; int m_filterout; int m_signal_in; int width; int pos; int potifilt; int IFLines; char IFfilter_name[16]; short m_setfilter; short m_createfilter; int m_maxwidth; int reserve[6]; IF_ANA_STYLE ViewStyle; }IF_FILTER_PARA; //-------------------------------------------------------- //the folowing types we using only in the RadioJet-Program //-------------------------------------------------------- //extern reciver type for panorama view and multi range spectrum scanning #define ExtIO_TYPE_FIFI 129 // FiFi-SDR #define ExtIO_TYPE_PAPP 130 // Pappradio #define ExtIO_TYPE_FDM1 131 // ELAD FDM-S1 #define ExtIO_TYPE_IQ14 132 // SDR-IQ/SDR-14 #define ExtIO_TYPE_PMSDR 133 // PM-SDR #define ExtIO_TYPE_PERSEUS 134 // Perseus #define ExtIO_TYPE_G31DCD 135 // Excalibur typedef struct { UINT IQ_freq:27; //posibile samples per secunde normal is 48/96/192 KHz UINT IQ_spow:5; //posibile samples per block; --> (as power of 2) 10=1024 (1<<10) or 12=4096 (1<<12); }SAMPLE_SET; typedef struct { //extern I/Q-Receiver for parorama view and width band scanning SAMPLE_SET IQ_samplset[8];//samples per secunde and samples per block UINT IQ_type:8; //type of the I/Q-Receiver --> ExtIO_TYPE_?... UINT IQ_mode:3; //the pointer to IQ_samplset[IQ_mode] (sample mode, is normal complex, but can be real too) UINT IQ_soundcard:1; //the rx use soundcard UINT IQ_SNDinType:1; //0=microphone 1 = line input UINT IQ_att:1; //att exist UINT IQ_agc:1; //agc exist UINT IQ_pre:1; //preamplifier exist UINT IQ_dit:1; //IF dittering exist UINT IQ_nb:1; //IF nois blanker exist UINT IQ_filter:1; //band filter switch exist UINT IQ_reset:1; //force a restart UINT IQ_default:1; //reset to default data UINT IQ_onoff:1; //RX-Receiver ON / OFF 0=OFF 1=ON UINT IQ_open:1; //if RX-Receiver is open, then this flag is 1, else this flag is 0 UINT IQ_swap:1; //if swap the channel of I/Q input UINT IQ_showGUI:1; //the GUI show status UINT IQ_showGUIex:1; //force show or hide explicitly UINT m_att:1; //state of att on/off UINT m_agc:1; //state of agc on/off UINT m_pre:1; //state of att preamplifier on/off UINT m_dit:1; //state of IF dittering on/off UINT m_nb:1; //state of IF nois blanker on/off UINT IQ_reserve:1; //reserve bytes of this parameter set //calibration parameter short dBLevelOffset; //dBm bottom level correcture short XtalFrqCorr; //Xtal frequency correcture short XtalScalingCorr; //Xtal frequency scaling correcture short m_reserve; //unused reserve variable BYTE m_filter; HWND IQ_Dialog; //the handle to the extern IO dialog for message conmunication int IQ_ceOffset; //offset from decoder center (normal=0 for +/- 12 kHz default IF-Center cut of the panorama window) char IQ_DLLname[16]; //max 16 chars of the name of the ExtIO_??????.DLL char IQ_SNDname[32]; //max 32 chars of the soundcard name }EXT_IQRX;#define IF_STYLE_TIV 0x00001000 //time sprectrum verticale #define IF_STYLE_DEC 0x80000000 //line spectrum in Decibel #define IF_STYLE_TOP_TIV 0x00002000 //top style time sprectrum #define IF_STYLE_TOP_DEC 0x00004000 //top style in Decibel #define IF_STYLE_MASK 0x0FFFFFFF //spectrum style mask //EEprom write values #define EEPROM_WT_VALUE_FCOR 0x00010000 //EEprom Value of Frequency-Xtal Correcture #define EEPROM_WT_VALUE_FSCL 0x00010001 //EEprom Value of Frequency-Xtal Scale #define EEPROM_WT_VALUE_ACOR 0x00010002 //EEprom Value of Input Sample Correcture or also SSTV/FAX-Slant Correcture #define EEPROM_WT_VALUE_DCOR 0x00010003 //EEprom Value of the Gain-Factor of the DX-Channel //EEprom read values #define EEPROM_RD_VALUE_FCOR 0x00000000 //EEprom Value of Frequency-Xtal Correcture #define EEPROM_RD_VALUE_FSCL 0x00000001 //EEprom Value of Frequency-Xtal Scale #define EEPROM_RD_VALUE_ACOR 0x00000002 //EEprom Value of Input Sample Correcture or also SSTV/FAX-Slant Correcture #define EEPROM_RD_VALUE_DCOR 0x00000003 //EEprom Value of the Gain-Factor of the DX-Channel //get active radio status or value #define RADIO_RD_FC_ONOFF 0x01000000 //Get the ON/OFF State of Frequency-Xtal Correcture #define RADIO_RD_SC_ONOFF 0x01000001 //Get the ON/OFF State of Frequency-Xtal Scale #define RADIO_RD_AC_ONOFF 0x01000002 //Get the ON/OFF State of Input Sample Correcture or also SSTV/FAX-Slant Correcture #define RADIO_RD_DX_ONOFF 0x01000003 //Get the ON/OFF State of Gain-Factor of the DX-Channel #define RADIO_RD_FC_VALUE 0x01100000 //Get the Value of Frequency-Xtal Correcture #define RADIO_RD_SC_VALUE 0x01100001 //Get the Value of Frequency-Xtal Scale #define RADIO_RD_AC_VALUE 0x01100002 //Get the Value of Input Sample Correcture or also SSTV/FAX-Slant Correcture #define RADIO_RD_DX_VALUE 0x01100003 //Get the Value of Gain-Factor of the DX-Channel //set active radio status or value #define RADIO_WT_FC_ONOFF 0x11000000 //Set ON/OFF State of Frequency-Xtal Correcture #define RADIO_WT_SC_ONOFF 0x11000001 //Set ON/OFF State of Frequency-Xtal Scale #define RADIO_WT_AC_ONOFF 0x11000002 //Set ON/OFF State of Input Sample Correcture or also SSTV/FAX-Slant Correcture #define RADIO_WT_DX_ONOFF 0x11000003 //Set ON/OFF State of the Gain-Factor of the DX-Channel #define RADIO_WT_FC_VALUE 0x11100000 //Set the Value of Frequency-Xtal Correcture #define RADIO_WT_SC_VALUE 0x11100001 //Set the Value of Frequency-Xtal Scale #define RADIO_WT_AC_VALUE 0x11100002 //Set the Value of Input Sample Correcture or also SSTV/FAX-Slant Correcture #define RADIO_WT_DX_VALUE 0x11100003 //Set the Value of the Gain-Factor of the DX-Channel #define RADIO_WT_FC_DVALUE 0x11110000 //Set the default Value of Frequency-Xtal Correcture #define RADIO_WT_SC_DVALUE 0x11110001 //Set the default Value of Frequency-Xtal Scale #define RADIO_WT_AC_DVALUE 0x11110002 //Set the default Value of Input Sample Correcture or also SSTV/FAX-Slant Correcture #define RADIO_WT_DX_DVALUE 0x11110003 //Set the default Value of the Gain-Factor of the DX-Channel extern COLORPACK mCOL; #define COL_BACK mCOL.background #define COL_KNOBFACE mCOL.knobface #define myLIGHT mCOL.light #define myVLIGHT mCOL.vlight #define myDARK mCOL.dark #define myVDARK mCOL.vdark #define COL_BTXT mCOL.btxt #define COL_SCOPEMARK mCOL.scopemark #define COL_SCOPE_B mCOL.scope_B #define COL_SCOPE_L mCOL.scope_L #define COL_SCOPE_P mCOL.scope_P COL_SCOPE_LINE mCOL.scope_line //Start and Process Control IFJet1102DLLThread *m_IFinpuThread; volatile int IFinpuThreadWorkFlag=0;//////////////////////////////////////// //////////////// this ist the first call ///////////////////////////////////////// //OpenReceiver, if PID==-1 then this app is conected as MINI-APP, else is ERROR //---------------------------------------------------------------------------------------------------------------------------------- // !!!!OpenReceiver: prepare for the MainDialog.m_hWnd this must be all times the first action typedef BOOL (WINAPI *DLL_OpenReceiver)(HWND mainwnd, char *maindir, UINT PID); typedef void (WINAPI *DLL_ProcessIFInput)(int process, WPARAM wp, LPARAM lp); // the IF input message WM_PROCESS_IFIN will be processed by this App typedef void (WINAPI *DLL_CloseAll)(); //close Radio- and Audio- Device //Radio Control typedef int (WINAPI *DLL_SetRadioFrq)(int frq); //set the radio frequency in Hz typedef void (WINAPI *DLL_SetRadioATT)(int att); //set the radio attenuator (ON/OFF) typedef void (WINAPI *DLL_SetRadioIGC)(int igc); //set the audio atomatic IF gain control 0-15 from fast to slow decay/attack typedef void (WINAPI *DLL_SetRadioIF)(int IF); //set the radio filter band width typedef void (WINAPI *DLL_SetRadioMode)(int mode); //set the radio demodulator mode LSB,USB,AM,FM... typedef void (WINAPI *DLL_SetRadioVolume)(int vol, int reset); //set the radio volume 0-200; if reset=1 the reset the IGC Function typedef int (WINAPI *DLL_SetRadioSquelch)(int sql); //set the radio squelch 0-160; //EEprom & Calibration typedef void (WINAPI *DLL_SetRadioFrqCorr)(int Hz,int onoff); //set the Si570 Xtal-Frequency correcture in Hz typedef void (WINAPI *DLL_SetRadioFrqScale)(int Hz,int onoff); //set the Si570 Xtal-Frequency Scale in Hz typedef void (WINAPI *DLL_SetDXFactor)(int factor,int onoff); //set the DX-Gain Factor of the DX-Channel typedef void (WINAPI *DLL_SetAudioSampleCorr)(int ppm,int onoff); //set the adio sample freqency correction in ppm typedef UINT (WINAPI *DLL_GetEEpromInfo)(RJ10_EEROM_INFO *info); //read the EEprom and create viewlable information typedef int (WINAPI *DLL_HandleEEpromValue)(int type, int set); //Read, Write or Check the EEprom Data typedef int (WINAPI *DLL_HandleRadioValue)(int type, int set); //Set or Get radio parameter typedef void (WINAPI *DLL_SetCalibrationMark)(int set); //set an calibration signal in dBm, set a positive value, we set this to negative value typedef void (WINAPI *DLL_SetCalibrationLine)(int set); //switch the DoubleLines-Input on/off --> for two calibration signal lines//Panorama View & ExtIQ-Receiver typedef BOOL (WINAPI *DLL_OpenExtIQ)(EXT_IQRX *extRX); //open the extern I/Q receiver for panorama view typedef BOOL (WINAPI *DLL_CloseExtIQ)(); //close the extern I/Q receiver typedef float (WINAPI *DLL_GetExtIQDrawData)(IQ_DRAW_PARA *GetPara); //get all the plot data and parameter of the current extern I/Q-Signal typedef void (WINAPI *DLL_SetExtIQData)(EXT_IQRX *extRX); //set changed data for the extern I/Q receiver (dBLevelOffset,XtalFrqCorr,XtalScalingCorr...) typedef void (WINAPI *DLL_PepareExtIQDataSet)(EXT_IQRX *extRX); //you set the the IQ_type in EXT_IQRX data set,then call PepareExtIQDataSet //set befor extRX->IQ_type and if you set extRX->IQ_default=1 then you load a default set //IF-In & AF-Out Control typedef BOOL (WINAPI *DLL_OpenIFInput)(HWND audioin, DWORD IFJet1102DLLThread_ID); //Open IF Input with your audio messages window and backprocess typedef void (WINAPI *DLL_ActivateIFInput)(int onOff); //reactivate or deactivate IF Input after an device removement 0=reactivate 1=deactivate typedef float (WINAPI *DLL_GetIFDrawData)(IF_DRAW_PARA *GetPara, int channel); //get all the plot data and parameter of the current IF-Signal, -1 = default = current channel typedef BOOL (WINAPI *DLL_OpenAFOutput)(HWND audioout, char *name, HWND DecEndWindow); //Open AF Output with your audio messages window and as option the TX/RX decoder Window typedef LRESULT (WINAPI *DLL_MixerChange)(WPARAM hMixer,LPARAM dwControlID);//the routine for the IF-Input/Audio-Mixer handling typedef void (WINAPI *DLL_SetWaveOutVolume)(int vol); //set the wave out volume 0-200; typedef void (WINAPI *DLL_SetWaveInLevel)(int lev); //set the wave in level 0-200; typedef int (WINAPI *DLL_SetIFInputLevel)(int lev, int onOFF); //set the IF-Input level and the currend onOFF state typedef int (WINAPI *DLL_SetIFOutputLevel)(int lev); //set the IF-OutInput level 0-200; typedef void (WINAPI *DLL_SetSpeakerOnOff)(int onof); //switch the main speaker on =0 or off =1 typedef void (WINAPI *DLL_SetStereoOnOff)(int onof); //switch the AudioOut to Stereo (only for DRM mode) typedef int (WINAPI *DLL_SetInputChannel)(int set); //set the HI/LO Channel or automatic typedef int (WINAPI *DLL_CheckDeviceChangings)(WPARAM wParam, LPARAM lParam); //check device changings by message OnDeviceChange //Graphical Utillity typedef void (WINAPI *DLL_DrawPotiLayout)(POTI_DRAWINFO *pinfo); //draw poti design typedef void (WINAPI *DLL_InitRJ10Colors)(COLORPACK *colPack); //init the RJ10 color design //extern definitions & variables extern HINSTANCE m_DllHandle; extern DLL_ProcessIFInput ProcessIFInput; extern DLL_OpenReceiver OpenReceiver; extern DLL_CloseAll CloseAll; extern DLL_SetInputChannel SetInputChannel; extern DLL_CheckDeviceChangings CheckDeviceChangings; extern DLL_SetRadioFrq SetRadioFrq; extern DLL_SetRadioATT SetRadioATT; extern DLL_SetRadioIF SetRadioIF; extern DLL_SetRadioVolume SetRadioVolume; extern DLL_SetRadioSquelch SetRadioSquelch; extern DLL_SetRadioIGC SetRadioIGC; extern DLL_SetRadioMode SetRadioMode; extern DLL_SetRadioFrqCorr SetRadioFrqCorr; extern DLL_SetRadioFrqScale SetRadioFrqScale; extern DLL_SetDXFactor SetDXFactor; extern DLL_SetAudioSampleCorr SetAudioSampleCorr; extern DLL_GetEEpromInfo GetEEpromInfo; extern DLL_HandleEEpromValue HandleEEpromValue; extern DLL_HandleRadioValue HandleRadioValue; extern DLL_SetCalibrationMark SetCalibrationMark; extern DLL_SetCalibrationLine SetCalibrationLine;extern DLL_OpenExtIQ OpenExtIQ; extern DLL_CloseExtIQ CloseExtIQ; extern DLL_GetExtIQDrawData GetExtIQDrawData; extern DLL_SetExtIQData SetExtIQData; extern DLL_PepareExtIQDataSet PepareExtIQDataSet;extern DLL_OpenIFInput OpenIFInput; extern DLL_ActivateIFInput ActivateIFInput; extern DLL_OpenAFOutput OpenAFOutput; extern DLL_MixerChange MixerChange; extern DLL_SetWaveOutVolume SetWaveOutVolume; extern DLL_SetIFInputLevel SetIFInputLevel; extern DLL_SetIFoutputLevel SetIFOutputLevel; extern DLL_SetWaveInLevel SetWaveInLevel; extern DLL_SetSpeakerOnOff SetSpeakerOnOff; extern DLL_SetStereoOnOff S etStereoOnOff; extern DLL_GetIFDrawData GetIFDrawData; extern DLL_DrawPotiLayout DrawPotiLayout; extern DLL_InitRJ10Colors InitRJ10Colors; extern char myDIR[256]; void WINAPI FreeDLL(); void WINAPI DeInstall_RJ10MDLL(); BOOL WINAPI Install_RJ10MDLL();