| 
									
										
										
										
											2022-12-04 10:17:02 -05:00
										 |  |  | #ifndef COMMONS_H
 | 
					
						
							|  |  |  | #define COMMONS_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define NFFT 32768
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern "C" { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern struct {                     //This is "common/datcom/..." in Fortran
 | 
					
						
							| 
									
										
										
										
											2022-12-12 18:52:45 -05:00
										 |  |  |   float d4[2*5760000];              //Raw I/Q data from Linrad
 | 
					
						
							| 
									
										
										
										
											2022-12-12 13:56:10 -05:00
										 |  |  |   float ss[322*NFFT];               //Half-symbol spectra at 0,45,90,135 deg pol
 | 
					
						
							|  |  |  |   float savg[NFFT];                 //Avg spectra at 0,45,90,135 deg pol
 | 
					
						
							| 
									
										
										
										
											2022-12-04 10:17:02 -05:00
										 |  |  |   double fcenter;                   //Center freq from Linrad (MHz)
 | 
					
						
							|  |  |  |   int nutc;                         //UTC as integer, HHMM
 | 
					
						
							| 
									
										
										
										
											2023-01-16 17:45:14 -05:00
										 |  |  |   float fselected;                  //Selected frequency for nagain decodes
 | 
					
						
							| 
									
										
										
										
											2022-12-04 10:17:02 -05:00
										 |  |  |   int mousedf;                      //User-selected DF
 | 
					
						
							|  |  |  |   int mousefqso;                    //User-selected QSO freq (kHz)
 | 
					
						
							|  |  |  |   int nagain;                       //1 ==> decode only at fQSO +/- Tol
 | 
					
						
							|  |  |  |   int ndepth;                       //How much hinted decoding to do?
 | 
					
						
							| 
									
										
										
										
											2022-12-11 08:35:28 -05:00
										 |  |  |   int ndiskdat;                     //1 ==> data read from *.iq file
 | 
					
						
							| 
									
										
										
										
											2022-12-04 10:17:02 -05:00
										 |  |  |   int neme;                         //Hinted decoding tries only for EME calls
 | 
					
						
							|  |  |  |   int newdat;                       //1 ==> new data, must do long FFT
 | 
					
						
							|  |  |  |   int nfa;                          //Low decode limit (kHz)
 | 
					
						
							|  |  |  |   int nfb;                          //High decode limit (kHz)
 | 
					
						
							|  |  |  |   int nfcal;                        //Frequency correction, for calibration (Hz)
 | 
					
						
							|  |  |  |   int nfshift;                      //Shift of displayed center freq (kHz)
 | 
					
						
							|  |  |  |   int mcall3;                       //1 ==> CALL3.TXT has been modified
 | 
					
						
							|  |  |  |   int ntimeout;                     //Max for timeouts in Messages and BandMap
 | 
					
						
							|  |  |  |   int ntol;                         //+/- decoding range around fQSO (Hz)
 | 
					
						
							|  |  |  |   int nxant;                        //1 ==> add 45 deg to measured pol angle
 | 
					
						
							| 
									
										
										
										
											2022-12-10 18:44:35 -05:00
										 |  |  |   int junk_1; | 
					
						
							| 
									
										
										
										
											2022-12-04 10:17:02 -05:00
										 |  |  |   int nfsample;                     //Input sample rate
 | 
					
						
							|  |  |  |   int nxpol;                        //1 if using xpol antennas, 0 otherwise
 | 
					
						
							|  |  |  |   int nmode;                        //nmode = 10*m_modeQ65 + m_modeJT65
 | 
					
						
							| 
									
										
										
										
											2022-12-06 12:27:48 -05:00
										 |  |  |   int ndop00;                       //EME Self Doppler
 | 
					
						
							| 
									
										
										
										
											2022-12-04 10:17:02 -05:00
										 |  |  |   int nsave;                        //Number of s3(64,63) spectra saved
 | 
					
						
							|  |  |  |   int max_drift;                    //Maximum Q65 drift: units symbol_rate/TxT
 | 
					
						
							|  |  |  |   int nhsym;                        //Number of available JT65 half-symbols
 | 
					
						
							|  |  |  |   char mycall[12]; | 
					
						
							|  |  |  |   char mygrid[6]; | 
					
						
							|  |  |  |   char hiscall[12]; | 
					
						
							|  |  |  |   char hisgrid[6]; | 
					
						
							|  |  |  |   char datetime[20]; | 
					
						
							|  |  |  |   int junk1;                        //Used to test extent of copy to shared memory
 | 
					
						
							|  |  |  |   int junk2; | 
					
						
							|  |  |  | } datcom_; | 
					
						
							| 
									
										
										
										
											2022-12-09 19:08:35 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | extern struct {                     //This is "common/datcom/..." in Fortran
 | 
					
						
							| 
									
										
										
										
											2022-12-12 18:52:45 -05:00
										 |  |  |   float d4[2*5760000];              //Raw I/Q data from Linrad
 | 
					
						
							| 
									
										
										
										
											2022-12-12 13:56:10 -05:00
										 |  |  |   float ss[322*NFFT];               //Half-symbol spectra at 0,45,90,135 deg pol
 | 
					
						
							|  |  |  |   float savg[NFFT];                 //Avg spectra at 0,45,90,135 deg pol
 | 
					
						
							| 
									
										
										
										
											2022-12-09 19:08:35 -05:00
										 |  |  |   double fcenter;                   //Center freq from Linrad (MHz)
 | 
					
						
							|  |  |  |   int nutc;                         //UTC as integer, HHMM
 | 
					
						
							| 
									
										
										
										
											2023-01-16 17:45:14 -05:00
										 |  |  |   float fselected;                  //Selected frequency for nagain decodes
 | 
					
						
							| 
									
										
										
										
											2022-12-09 19:08:35 -05:00
										 |  |  |   int mousedf;                      //User-selected DF
 | 
					
						
							|  |  |  |   int mousefqso;                    //User-selected QSO freq (kHz)
 | 
					
						
							|  |  |  |   int nagain;                       //1 ==> decode only at fQSO +/- Tol
 | 
					
						
							|  |  |  |   int ndepth;                       //How much hinted decoding to do?
 | 
					
						
							| 
									
										
										
										
											2022-12-11 08:35:28 -05:00
										 |  |  |   int ndiskdat;                     //1 ==> data read from *.iq file
 | 
					
						
							| 
									
										
										
										
											2022-12-09 19:08:35 -05:00
										 |  |  |   int neme;                         //Hinted decoding tries only for EME calls
 | 
					
						
							|  |  |  |   int newdat;                       //1 ==> new data, must do long FFT
 | 
					
						
							|  |  |  |   int nfa;                          //Low decode limit (kHz)
 | 
					
						
							|  |  |  |   int nfb;                          //High decode limit (kHz)
 | 
					
						
							|  |  |  |   int nfcal;                        //Frequency correction, for calibration (Hz)
 | 
					
						
							|  |  |  |   int nfshift;                      //Shift of displayed center freq (kHz)
 | 
					
						
							|  |  |  |   int mcall3;                       //1 ==> CALL3.TXT has been modified
 | 
					
						
							|  |  |  |   int ntimeout;                     //Max for timeouts in Messages and BandMap
 | 
					
						
							|  |  |  |   int ntol;                         //+/- decoding range around fQSO (Hz)
 | 
					
						
							|  |  |  |   int nxant;                        //1 ==> add 45 deg to measured pol angle
 | 
					
						
							| 
									
										
										
										
											2022-12-10 18:44:35 -05:00
										 |  |  |   int junk_1; | 
					
						
							| 
									
										
										
										
											2022-12-09 19:08:35 -05:00
										 |  |  |   int nfsample;                     //Input sample rate
 | 
					
						
							|  |  |  |   int nxpol;                        //1 if using xpol antennas, 0 otherwise
 | 
					
						
							|  |  |  |   int nmode;                        //nmode = 10*m_modeQ65 + m_modeJT65
 | 
					
						
							|  |  |  |   int ndop00;                       //EME Self Doppler
 | 
					
						
							|  |  |  |   int nsave;                        //Number of s3(64,63) spectra saved
 | 
					
						
							|  |  |  |   int max_drift;                    //Maximum Q65 drift: units symbol_rate/TxT
 | 
					
						
							|  |  |  |   int nhsym;                        //Number of available JT65 half-symbols
 | 
					
						
							|  |  |  |   char mycall[12]; | 
					
						
							|  |  |  |   char mygrid[6]; | 
					
						
							|  |  |  |   char hiscall[12]; | 
					
						
							|  |  |  |   char hisgrid[6]; | 
					
						
							|  |  |  |   char datetime[20]; | 
					
						
							|  |  |  |   int junk1;                        //Used to test extent of copy to shared memory
 | 
					
						
							|  |  |  |   int junk2; | 
					
						
							|  |  |  | } datcom2_; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-10 10:52:58 -05:00
										 |  |  | extern struct { | 
					
						
							| 
									
										
										
										
											2023-01-26 10:55:10 -05:00
										 |  |  |   int ndecodes;          //These are flags for inter-process communication
 | 
					
						
							|  |  |  |   int ncand;             //between QMAP and WSJT-X
 | 
					
						
							|  |  |  |   int nQDecoderDone;     //1 for real-time decodes, 2 for data from disk
 | 
					
						
							|  |  |  |   int nWDecoderBusy;     //Set to 1 when WSJT-X decoder is busy
 | 
					
						
							|  |  |  |   int nWTransmitting;    //Set to 1 when WSJT-X is transmitting
 | 
					
						
							|  |  |  |   char result[50][60];   //Staging area for QMAP decodes
 | 
					
						
							| 
									
										
										
										
											2022-12-10 10:52:58 -05:00
										 |  |  | } decodes_; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-04 10:17:02 -05:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif // COMMONS_H
 |