kopia lustrzana https://gitlab.com/Teuniz/DSRemote
				
				
				
			Work in progress.
							rodzic
							
								
									b7ef58289d
								
							
						
					
					
						commit
						e03c4f2174
					
				
							
								
								
									
										2
									
								
								global.h
								
								
								
								
							
							
						
						
									
										2
									
								
								global.h
								
								
								
								
							| 
						 | 
				
			
			@ -35,7 +35,7 @@
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
#define PROGRAM_NAME          "DSRemote"
 | 
			
		||||
#define PROGRAM_VERSION       "0.31_1601071932"
 | 
			
		||||
#define PROGRAM_VERSION       "0.31_1601082135"
 | 
			
		||||
 | 
			
		||||
#define MAX_PATHLEN            4096
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1834,6 +1834,7 @@ void UI_Mainwindow::helpButtonClicked()
 | 
			
		|||
void UI_Mainwindow::show_howto_operate()
 | 
			
		||||
{
 | 
			
		||||
  QMessageBox msgBox;
 | 
			
		||||
  msgBox.setStandardButtons(QMessageBox::Close);
 | 
			
		||||
  msgBox.setText(
 | 
			
		||||
    "Use the mousewheel to change the dials. In order to simulate a push on a dial,"
 | 
			
		||||
    "click on it with the right mouse button.\n"
 | 
			
		||||
| 
						 | 
				
			
			@ -3348,7 +3349,7 @@ void UI_Mainwindow::select_fft_hzdiv_20()
 | 
			
		|||
 | 
			
		||||
  devparms.math_fft_hscale = val;
 | 
			
		||||
 | 
			
		||||
  strcpy(str, "FFT: ");
 | 
			
		||||
  strcpy(str, "FFT scale: ");
 | 
			
		||||
 | 
			
		||||
  convert_to_metric_suffix(str + strlen(str), val, 2);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3386,7 +3387,7 @@ void UI_Mainwindow::select_fft_hzdiv_40()
 | 
			
		|||
 | 
			
		||||
  devparms.math_fft_hscale = val;
 | 
			
		||||
 | 
			
		||||
  strcpy(str, "FFT: ");
 | 
			
		||||
  strcpy(str, "FFT scale: ");
 | 
			
		||||
 | 
			
		||||
  convert_to_metric_suffix(str + strlen(str), val, 2);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3420,7 +3421,7 @@ void UI_Mainwindow::select_fft_hzdiv_80()
 | 
			
		|||
 | 
			
		||||
  devparms.math_fft_hscale = val;
 | 
			
		||||
 | 
			
		||||
  strcpy(str, "FFT: ");
 | 
			
		||||
  strcpy(str, "FFT scale: ");
 | 
			
		||||
 | 
			
		||||
  convert_to_metric_suffix(str + strlen(str), val, 2);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3456,7 +3457,7 @@ void UI_Mainwindow::select_fft_hzdiv_100()
 | 
			
		|||
 | 
			
		||||
  devparms.math_fft_hscale = val;
 | 
			
		||||
 | 
			
		||||
  strcpy(str, "FFT: ");
 | 
			
		||||
  strcpy(str, "FFT scale: ");
 | 
			
		||||
 | 
			
		||||
  convert_to_metric_suffix(str + strlen(str), val, 2);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3494,7 +3495,7 @@ void UI_Mainwindow::select_fft_hzdiv_200()
 | 
			
		|||
 | 
			
		||||
  devparms.math_fft_hscale = val;
 | 
			
		||||
 | 
			
		||||
  strcpy(str, "FFT: ");
 | 
			
		||||
  strcpy(str, "FFT scale: ");
 | 
			
		||||
 | 
			
		||||
  convert_to_metric_suffix(str + strlen(str), val, 2);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										164
									
								
								mainwindow.cpp
								
								
								
								
							
							
						
						
									
										164
									
								
								mainwindow.cpp
								
								
								
								
							| 
						 | 
				
			
			@ -2538,6 +2538,34 @@ void UI_Mainwindow::shift_page_left()
 | 
			
		|||
 | 
			
		||||
  if(devparms.math_fft && devparms.math_fft_split)
 | 
			
		||||
  {
 | 
			
		||||
    devparms.math_fft_hcenter -= devparms.math_fft_hscale;
 | 
			
		||||
 | 
			
		||||
    if(devparms.math_fft_hcenter <= 0.0)
 | 
			
		||||
    {
 | 
			
		||||
      devparms.math_fft_hcenter = 0.0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(devparms.modelserie == 6)
 | 
			
		||||
    {
 | 
			
		||||
      sprintf(str, ":CALC:FFT:HCEN %e", devparms.math_fft_hcenter);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
      sprintf(str, ":MATH:FFT:HCEN %e", devparms.math_fft_hcenter);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    set_cue_cmd(str);
 | 
			
		||||
 | 
			
		||||
    strcpy(str, "FFT center: ");
 | 
			
		||||
 | 
			
		||||
    convert_to_metric_suffix(str + strlen(str), devparms.math_fft_hcenter, 0);
 | 
			
		||||
 | 
			
		||||
    strcat(str, "Hz");
 | 
			
		||||
 | 
			
		||||
    statusLabel->setText(str);
 | 
			
		||||
 | 
			
		||||
    waveForm->update();
 | 
			
		||||
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2620,6 +2648,34 @@ void UI_Mainwindow::shift_page_right()
 | 
			
		|||
 | 
			
		||||
  if(devparms.math_fft && devparms.math_fft_split)
 | 
			
		||||
  {
 | 
			
		||||
    devparms.math_fft_hcenter += devparms.math_fft_hscale;
 | 
			
		||||
 | 
			
		||||
    if(devparms.math_fft_hcenter >= (devparms.current_screen_sf * 0.4))
 | 
			
		||||
    {
 | 
			
		||||
      devparms.math_fft_hcenter = devparms.current_screen_sf * 0.4;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(devparms.modelserie == 6)
 | 
			
		||||
    {
 | 
			
		||||
      sprintf(str, ":CALC:FFT:HCEN %e", devparms.math_fft_hcenter);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
      sprintf(str, ":MATH:FFT:HCEN %e", devparms.math_fft_hcenter);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    set_cue_cmd(str);
 | 
			
		||||
 | 
			
		||||
    strcpy(str, "FFT center: ");
 | 
			
		||||
 | 
			
		||||
    convert_to_metric_suffix(str + strlen(str), devparms.math_fft_hcenter, 0);
 | 
			
		||||
 | 
			
		||||
    strcat(str, "Hz");
 | 
			
		||||
 | 
			
		||||
    statusLabel->setText(str);
 | 
			
		||||
 | 
			
		||||
    waveForm->update();
 | 
			
		||||
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2690,7 +2746,59 @@ void UI_Mainwindow::zoom_in()
 | 
			
		|||
{
 | 
			
		||||
  char str[256];
 | 
			
		||||
 | 
			
		||||
  if((device == NULL) || (!devparms.connected) || (devparms.activechannel < 0))
 | 
			
		||||
  if(device == NULL)
 | 
			
		||||
  {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(!devparms.connected)
 | 
			
		||||
  {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(devparms.math_fft && devparms.math_fft_split)
 | 
			
		||||
  {
 | 
			
		||||
    if(devparms.modelserie == 6)
 | 
			
		||||
    {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(!dblcmp(devparms.math_fft_hscale, devparms.current_screen_sf / 200.0))
 | 
			
		||||
    {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(!dblcmp(devparms.math_fft_hscale, devparms.current_screen_sf / 20.0))
 | 
			
		||||
    {
 | 
			
		||||
      devparms.math_fft_hscale = devparms.current_screen_sf / 40.0;
 | 
			
		||||
    }
 | 
			
		||||
    else if(!dblcmp(devparms.math_fft_hscale, devparms.current_screen_sf / 40.0))
 | 
			
		||||
      {
 | 
			
		||||
        devparms.math_fft_hscale = devparms.current_screen_sf / 100.0;
 | 
			
		||||
      }
 | 
			
		||||
      else
 | 
			
		||||
      {
 | 
			
		||||
        devparms.math_fft_hscale = devparms.current_screen_sf / 200.0;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    sprintf(str, ":MATH:FFT:HSC %e", devparms.math_fft_hscale);
 | 
			
		||||
 | 
			
		||||
    set_cue_cmd(str);
 | 
			
		||||
 | 
			
		||||
    strcpy(str, "FFT scale: ");
 | 
			
		||||
 | 
			
		||||
    convert_to_metric_suffix(str + strlen(str), devparms.math_fft_hscale, 0);
 | 
			
		||||
 | 
			
		||||
    strcat(str, "Hz/Div");
 | 
			
		||||
 | 
			
		||||
    statusLabel->setText(str);
 | 
			
		||||
 | 
			
		||||
    waveForm->update();
 | 
			
		||||
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(devparms.activechannel < 0)
 | 
			
		||||
  {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -2802,7 +2910,59 @@ void UI_Mainwindow::zoom_out()
 | 
			
		|||
{
 | 
			
		||||
  char str[256];
 | 
			
		||||
 | 
			
		||||
  if((device == NULL) || (!devparms.connected) || (devparms.activechannel < 0))
 | 
			
		||||
  if(device == NULL)
 | 
			
		||||
  {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(!devparms.connected)
 | 
			
		||||
  {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(devparms.math_fft && devparms.math_fft_split)
 | 
			
		||||
  {
 | 
			
		||||
    if(devparms.modelserie == 6)
 | 
			
		||||
    {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(!dblcmp(devparms.math_fft_hscale, devparms.current_screen_sf / 20.0))
 | 
			
		||||
    {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(!dblcmp(devparms.math_fft_hscale, devparms.current_screen_sf / 200.0))
 | 
			
		||||
    {
 | 
			
		||||
      devparms.math_fft_hscale = devparms.current_screen_sf / 100.0;
 | 
			
		||||
    }
 | 
			
		||||
    else if(!dblcmp(devparms.math_fft_hscale, devparms.current_screen_sf / 100.0))
 | 
			
		||||
      {
 | 
			
		||||
        devparms.math_fft_hscale = devparms.current_screen_sf / 40.0;
 | 
			
		||||
      }
 | 
			
		||||
      else
 | 
			
		||||
      {
 | 
			
		||||
        devparms.math_fft_hscale = devparms.current_screen_sf / 20.0;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    sprintf(str, ":MATH:FFT:HSC %e", devparms.math_fft_hscale);
 | 
			
		||||
 | 
			
		||||
    set_cue_cmd(str);
 | 
			
		||||
 | 
			
		||||
    strcpy(str, "FFT scale: ");
 | 
			
		||||
 | 
			
		||||
    convert_to_metric_suffix(str + strlen(str), devparms.math_fft_hscale, 0);
 | 
			
		||||
 | 
			
		||||
    strcat(str, "Hz/Div");
 | 
			
		||||
 | 
			
		||||
    statusLabel->setText(str);
 | 
			
		||||
 | 
			
		||||
    waveForm->update();
 | 
			
		||||
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(devparms.activechannel < 0)
 | 
			
		||||
  {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										18
									
								
								utils.c
								
								
								
								
							
							
						
						
									
										18
									
								
								utils.c
								
								
								
								
							| 
						 | 
				
			
			@ -1904,6 +1904,24 @@ int strtoipaddr(unsigned int *dest, const char *src)
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int dblcmp(double val1, double val2)
 | 
			
		||||
{
 | 
			
		||||
  double diff = val1 - val2;
 | 
			
		||||
 | 
			
		||||
  if(diff > 1e-9)
 | 
			
		||||
  {
 | 
			
		||||
    return 1;
 | 
			
		||||
  }
 | 
			
		||||
  else if(-diff > 1e-9)
 | 
			
		||||
    {
 | 
			
		||||
      return -1;
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
      return 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								utils.h
								
								
								
								
							
							
						
						
									
										2
									
								
								utils.h
								
								
								
								
							| 
						 | 
				
			
			@ -95,6 +95,8 @@ double round_down_step125(double, double *);    /* Rounds the value down to 1-2-
 | 
			
		|||
 | 
			
		||||
int strtoipaddr(unsigned int *, const char *);  /* convert a string "192.168.1.12" to an integer */
 | 
			
		||||
 | 
			
		||||
int dblcmp(double, double);  /* returns 0 when equal */
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
} /* extern "C" */
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue