kopia lustrzana https://gitlab.com/Teuniz/DSRemote
				
				
				
			Work in progress.
							rodzic
							
								
									f23ea8d06f
								
							
						
					
					
						commit
						9a8560ef95
					
				
							
								
								
									
										2
									
								
								global.h
								
								
								
								
							
							
						
						
									
										2
									
								
								global.h
								
								
								
								
							| 
						 | 
				
			
			@ -35,7 +35,7 @@
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
#define PROGRAM_NAME          "DSRemote"
 | 
			
		||||
#define PROGRAM_VERSION       "0.32_1601121350"
 | 
			
		||||
#define PROGRAM_VERSION       "0.32_1601121654"
 | 
			
		||||
 | 
			
		||||
#define MAX_PATHLEN            4096
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										180
									
								
								interface.cpp
								
								
								
								
							
							
						
						
									
										180
									
								
								interface.cpp
								
								
								
								
							| 
						 | 
				
			
			@ -2243,20 +2243,20 @@ void UI_Mainwindow::math_menu()
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
  submenuffthzdiv.setTitle("Hz/Div");
 | 
			
		||||
  if(devparms.modelserie == 6)
 | 
			
		||||
  {
 | 
			
		||||
    convert_to_metric_suffix(str, val / 40.0 , 2);
 | 
			
		||||
    strcat(str, "Hz/Div");
 | 
			
		||||
    submenuffthzdiv.addAction(str, this, SLOT(select_fft_hzdiv_40()));
 | 
			
		||||
    convert_to_metric_suffix(str, val / 80.0 , 2);
 | 
			
		||||
    strcat(str, "Hz/Div");
 | 
			
		||||
    submenuffthzdiv.addAction(str, this, SLOT(select_fft_hzdiv_80()));
 | 
			
		||||
    convert_to_metric_suffix(str, val / 200.0 , 2);
 | 
			
		||||
    strcat(str, "Hz/Div");
 | 
			
		||||
    submenuffthzdiv.addAction(str, this, SLOT(select_fft_hzdiv_200()));
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
//   if(devparms.modelserie == 6)
 | 
			
		||||
//   {
 | 
			
		||||
//     convert_to_metric_suffix(str, val / 40.0 , 2);
 | 
			
		||||
//     strcat(str, "Hz/Div");
 | 
			
		||||
//     submenuffthzdiv.addAction(str, this, SLOT(select_fft_hzdiv_40()));
 | 
			
		||||
//     convert_to_metric_suffix(str, val / 80.0 , 2);
 | 
			
		||||
//     strcat(str, "Hz/Div");
 | 
			
		||||
//     submenuffthzdiv.addAction(str, this, SLOT(select_fft_hzdiv_80()));
 | 
			
		||||
//     convert_to_metric_suffix(str, val / 200.0 , 2);
 | 
			
		||||
//     strcat(str, "Hz/Div");
 | 
			
		||||
//     submenuffthzdiv.addAction(str, this, SLOT(select_fft_hzdiv_200()));
 | 
			
		||||
//   }
 | 
			
		||||
//   else
 | 
			
		||||
//   {
 | 
			
		||||
    convert_to_metric_suffix(str, val / 20.0 , 2);
 | 
			
		||||
    strcat(str, "Hz/Div");
 | 
			
		||||
    submenuffthzdiv.addAction(str, this, SLOT(select_fft_hzdiv_20()));
 | 
			
		||||
| 
						 | 
				
			
			@ -2269,7 +2269,7 @@ void UI_Mainwindow::math_menu()
 | 
			
		|||
    convert_to_metric_suffix(str, val / 200.0 , 2);
 | 
			
		||||
    strcat(str, "Hz/Div");
 | 
			
		||||
    submenuffthzdiv.addAction(str, this, SLOT(select_fft_hzdiv_200()));
 | 
			
		||||
  }
 | 
			
		||||
//  }
 | 
			
		||||
 | 
			
		||||
  submenufftoffset.setTitle("Offset");
 | 
			
		||||
  if(devparms.math_fft_unit == 0)
 | 
			
		||||
| 
						 | 
				
			
			@ -3415,179 +3415,61 @@ void UI_Mainwindow::select_fft_ch4()
 | 
			
		|||
 | 
			
		||||
void UI_Mainwindow::select_fft_hzdiv_20()
 | 
			
		||||
{
 | 
			
		||||
  char str[512];
 | 
			
		||||
 | 
			
		||||
  double val;
 | 
			
		||||
 | 
			
		||||
  if(devparms.modelserie == 6)
 | 
			
		||||
  {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(devparms.timebasedelayenable)
 | 
			
		||||
  {
 | 
			
		||||
    val = (100.0 / devparms.timebasedelayscale) / 20.0;
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    val = (100.0 / devparms.timebasescale) / 20.0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  sprintf(str, ":MATH:FFT:HSC %e", val);
 | 
			
		||||
 | 
			
		||||
  set_cue_cmd(str);
 | 
			
		||||
 | 
			
		||||
  devparms.math_fft_hscale = val;
 | 
			
		||||
 | 
			
		||||
  strcpy(str, "FFT scale: ");
 | 
			
		||||
 | 
			
		||||
  convert_to_metric_suffix(str + strlen(str), val, 2);
 | 
			
		||||
 | 
			
		||||
  strcat(str, "Hz/Div");
 | 
			
		||||
 | 
			
		||||
  statusLabel->setText(str);
 | 
			
		||||
  set_fft_hzdiv(20.0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void UI_Mainwindow::select_fft_hzdiv_40()
 | 
			
		||||
{
 | 
			
		||||
  char str[512];
 | 
			
		||||
 | 
			
		||||
  double val;
 | 
			
		||||
 | 
			
		||||
  if(devparms.timebasedelayenable)
 | 
			
		||||
  {
 | 
			
		||||
    val = (100.0 / devparms.timebasedelayscale) / 40.0;
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    val = (100.0 / devparms.timebasescale) / 40.0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(devparms.modelserie == 6)
 | 
			
		||||
  {
 | 
			
		||||
    set_cue_cmd(":CALC:FFT:HSC 1");
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    sprintf(str, ":MATH:FFT:HSC %e", val);
 | 
			
		||||
 | 
			
		||||
    set_cue_cmd(str);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  devparms.math_fft_hscale = val;
 | 
			
		||||
 | 
			
		||||
  strcpy(str, "FFT scale: ");
 | 
			
		||||
 | 
			
		||||
  convert_to_metric_suffix(str + strlen(str), val, 2);
 | 
			
		||||
 | 
			
		||||
  strcat(str, "Hz/Div");
 | 
			
		||||
 | 
			
		||||
  statusLabel->setText(str);
 | 
			
		||||
  set_fft_hzdiv(40.0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void UI_Mainwindow::select_fft_hzdiv_80()
 | 
			
		||||
{
 | 
			
		||||
  char str[512];
 | 
			
		||||
 | 
			
		||||
  double val;
 | 
			
		||||
 | 
			
		||||
  if(devparms.modelserie != 6)
 | 
			
		||||
  {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(devparms.timebasedelayenable)
 | 
			
		||||
  {
 | 
			
		||||
    val = (100.0 / devparms.timebasedelayscale) / 80.0;
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    val = (100.0 / devparms.timebasescale) / 80.0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  set_cue_cmd(":CALC:FFT:HSC 2");
 | 
			
		||||
 | 
			
		||||
  devparms.math_fft_hscale = val;
 | 
			
		||||
 | 
			
		||||
  strcpy(str, "FFT scale: ");
 | 
			
		||||
 | 
			
		||||
  convert_to_metric_suffix(str + strlen(str), val, 2);
 | 
			
		||||
 | 
			
		||||
  strcat(str, "Hz/Div");
 | 
			
		||||
 | 
			
		||||
  statusLabel->setText(str);
 | 
			
		||||
  set_fft_hzdiv(80.0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void UI_Mainwindow::select_fft_hzdiv_100()
 | 
			
		||||
{
 | 
			
		||||
  char str[512];
 | 
			
		||||
 | 
			
		||||
  double val;
 | 
			
		||||
 | 
			
		||||
  if(devparms.modelserie == 6)
 | 
			
		||||
  {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(devparms.timebasedelayenable)
 | 
			
		||||
  {
 | 
			
		||||
    val = (100.0 / devparms.timebasedelayscale) / 100.0;
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    val = (100.0 / devparms.timebasescale) / 100.0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  sprintf(str, ":MATH:FFT:HSC %e", val);
 | 
			
		||||
 | 
			
		||||
  set_cue_cmd(str);
 | 
			
		||||
 | 
			
		||||
  devparms.math_fft_hscale = val;
 | 
			
		||||
 | 
			
		||||
  strcpy(str, "FFT scale: ");
 | 
			
		||||
 | 
			
		||||
  convert_to_metric_suffix(str + strlen(str), val, 2);
 | 
			
		||||
 | 
			
		||||
  strcat(str, "Hz/Div");
 | 
			
		||||
 | 
			
		||||
  statusLabel->setText(str);
 | 
			
		||||
  set_fft_hzdiv(100.0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void UI_Mainwindow::select_fft_hzdiv_200()
 | 
			
		||||
{
 | 
			
		||||
  char str[512];
 | 
			
		||||
  set_fft_hzdiv(200.0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  double val;
 | 
			
		||||
 | 
			
		||||
void UI_Mainwindow::set_fft_hzdiv(double val)
 | 
			
		||||
{
 | 
			
		||||
  char str[512];
 | 
			
		||||
 | 
			
		||||
  if(devparms.timebasedelayenable)
 | 
			
		||||
  {
 | 
			
		||||
    val = (100.0 / devparms.timebasedelayscale) / 200.0;
 | 
			
		||||
    devparms.math_fft_hscale = (100.0 / devparms.timebasedelayscale) / val;
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    val = (100.0 / devparms.timebasescale) / 200.0;
 | 
			
		||||
    devparms.math_fft_hscale = (100.0 / devparms.timebasescale) / val;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(devparms.modelserie == 6)
 | 
			
		||||
  {
 | 
			
		||||
    set_cue_cmd(":CALC:FFT:HSC 3");
 | 
			
		||||
    sprintf(str, ":CALC:FFT:HSP %e", devparms.math_fft_hscale);
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    sprintf(str, ":MATH:FFT:HSC %e", val);
 | 
			
		||||
 | 
			
		||||
    set_cue_cmd(str);
 | 
			
		||||
    sprintf(str, ":MATH:FFT:HSC %e", devparms.math_fft_hscale);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  devparms.math_fft_hscale = val;
 | 
			
		||||
  set_cue_cmd(str);
 | 
			
		||||
 | 
			
		||||
  strcpy(str, "FFT scale: ");
 | 
			
		||||
 | 
			
		||||
  convert_to_metric_suffix(str + strlen(str), val, 2);
 | 
			
		||||
  convert_to_metric_suffix(str + strlen(str), devparms.math_fft_hscale, 2);
 | 
			
		||||
 | 
			
		||||
  strcat(str, "Hz/Div");
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1865,7 +1865,7 @@ int UI_Mainwindow::get_device_settings()
 | 
			
		|||
 | 
			
		||||
  if(devparms.modelserie == 6)
 | 
			
		||||
  {
 | 
			
		||||
    if(tmc_write(":CALC:FFT:HSC?") != 14)
 | 
			
		||||
    if(tmc_write(":CALC:FFT:HSP?") != 14)
 | 
			
		||||
    {
 | 
			
		||||
      line = __LINE__;
 | 
			
		||||
      goto OUT_ERROR;
 | 
			
		||||
| 
						 | 
				
			
			@ -1877,19 +1877,33 @@ int UI_Mainwindow::get_device_settings()
 | 
			
		|||
      goto OUT_ERROR;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    switch(atoi(device->buf))
 | 
			
		||||
    {
 | 
			
		||||
//       case  0: devparms.math_fft_hscale = devparms.current_screen_sf / 80.0;
 | 
			
		||||
    devparms.math_fft_hscale = atof(device->buf);
 | 
			
		||||
 | 
			
		||||
//     if(tmc_write(":CALC:FFT:HSC?") != 14)
 | 
			
		||||
//     {
 | 
			
		||||
//       line = __LINE__;
 | 
			
		||||
//       goto OUT_ERROR;
 | 
			
		||||
//     }
 | 
			
		||||
//
 | 
			
		||||
//     if(tmc_read() < 1)
 | 
			
		||||
//     {
 | 
			
		||||
//       line = __LINE__;
 | 
			
		||||
//       goto OUT_ERROR;
 | 
			
		||||
//     }
 | 
			
		||||
//
 | 
			
		||||
//     switch(atoi(device->buf))
 | 
			
		||||
//     {
 | 
			
		||||
// //       case  0: devparms.math_fft_hscale = devparms.current_screen_sf / 80.0;
 | 
			
		||||
// //                break;
 | 
			
		||||
//       case  1: devparms.math_fft_hscale = devparms.current_screen_sf / 40.0;
 | 
			
		||||
//                break;
 | 
			
		||||
      case  1: devparms.math_fft_hscale = devparms.current_screen_sf / 40.0;
 | 
			
		||||
               break;
 | 
			
		||||
      case  2: devparms.math_fft_hscale = devparms.current_screen_sf / 80.0;
 | 
			
		||||
               break;
 | 
			
		||||
      case  3: devparms.math_fft_hscale = devparms.current_screen_sf / 200.0;
 | 
			
		||||
               break;
 | 
			
		||||
      default: devparms.math_fft_hscale = devparms.current_screen_sf / 40.0;
 | 
			
		||||
               break;
 | 
			
		||||
    }
 | 
			
		||||
//       case  2: devparms.math_fft_hscale = devparms.current_screen_sf / 80.0;
 | 
			
		||||
//                break;
 | 
			
		||||
//       case  3: devparms.math_fft_hscale = devparms.current_screen_sf / 200.0;
 | 
			
		||||
//                break;
 | 
			
		||||
//       default: devparms.math_fft_hscale = devparms.current_screen_sf / 40.0;
 | 
			
		||||
//                break;
 | 
			
		||||
//     }
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
| 
						 | 
				
			
			@ -2856,11 +2870,6 @@ void UI_Mainwindow::zoom_in()
 | 
			
		|||
 | 
			
		||||
  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;
 | 
			
		||||
| 
						 | 
				
			
			@ -2879,7 +2888,14 @@ void UI_Mainwindow::zoom_in()
 | 
			
		|||
        devparms.math_fft_hscale = devparms.current_screen_sf / 200.0;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    sprintf(str, ":MATH:FFT:HSC %e", devparms.math_fft_hscale);
 | 
			
		||||
    if(devparms.modelserie == 6)
 | 
			
		||||
    {
 | 
			
		||||
      sprintf(str, ":CALC:FFT:HSP %e", devparms.math_fft_hscale);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
      sprintf(str, ":MATH:FFT:HSC %e", devparms.math_fft_hscale);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    set_cue_cmd(str);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3025,11 +3041,6 @@ void UI_Mainwindow::zoom_out()
 | 
			
		|||
 | 
			
		||||
  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;
 | 
			
		||||
| 
						 | 
				
			
			@ -3048,7 +3059,14 @@ void UI_Mainwindow::zoom_out()
 | 
			
		|||
        devparms.math_fft_hscale = devparms.current_screen_sf / 20.0;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    sprintf(str, ":MATH:FFT:HSC %e", devparms.math_fft_hscale);
 | 
			
		||||
    if(devparms.modelserie == 6)
 | 
			
		||||
    {
 | 
			
		||||
      sprintf(str, ":CALC:FFT:HSP %e", devparms.math_fft_hscale);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
      sprintf(str, ":MATH:FFT:HSC %e", devparms.math_fft_hscale);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    set_cue_cmd(str);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -401,6 +401,7 @@ private slots:
 | 
			
		|||
  void select_fft_hzdiv_80();
 | 
			
		||||
  void select_fft_hzdiv_100();
 | 
			
		||||
  void select_fft_hzdiv_200();
 | 
			
		||||
  void set_fft_hzdiv(double);
 | 
			
		||||
  void select_fft_ctr_5();
 | 
			
		||||
  void select_fft_ctr_6();
 | 
			
		||||
  void select_fft_ctr_7();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -405,35 +405,15 @@ void screenThread::run()
 | 
			
		|||
         (!strncmp(deviceparms->cmd_cue[params.cmd_cue_idx_out], ":MATH:OPER FFT", 14)) ||
 | 
			
		||||
         (!strncmp(deviceparms->cmd_cue[params.cmd_cue_idx_out], ":CALC:MODE FFT", 14)))
 | 
			
		||||
      {
 | 
			
		||||
        usleep(TMC_GDS_DELAY * 50);
 | 
			
		||||
        usleep(TMC_GDS_DELAY * 10);
 | 
			
		||||
 | 
			
		||||
        if(params.modelserie == 6)
 | 
			
		||||
        {
 | 
			
		||||
          if(tmc_write(":CALC:FFT:HSC?") != 14)
 | 
			
		||||
          if(tmc_write(":CALC:FFT:HSP?") != 14)
 | 
			
		||||
          {
 | 
			
		||||
            line = __LINE__;
 | 
			
		||||
            goto OUT_ERROR;
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          if(tmc_read() < 1)
 | 
			
		||||
          {
 | 
			
		||||
            line = __LINE__;
 | 
			
		||||
            goto OUT_ERROR;
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          switch(atoi(device->buf))
 | 
			
		||||
          {
 | 
			
		||||
//             case  0: params.math_fft_hscale = params.current_screen_sf / 80.0;
 | 
			
		||||
//                     break;
 | 
			
		||||
            case  1: params.math_fft_hscale = params.current_screen_sf / 40.0;
 | 
			
		||||
                    break;
 | 
			
		||||
            case  2: params.math_fft_hscale = params.current_screen_sf / 80.0;
 | 
			
		||||
                    break;
 | 
			
		||||
            case  3: params.math_fft_hscale = params.current_screen_sf / 200.0;
 | 
			
		||||
                    break;
 | 
			
		||||
            default: params.math_fft_hscale = params.current_screen_sf / 40.0;
 | 
			
		||||
                    break;
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
| 
						 | 
				
			
			@ -443,17 +423,17 @@ void screenThread::run()
 | 
			
		|||
            line = __LINE__;
 | 
			
		||||
            goto OUT_ERROR;
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          if(tmc_read() < 1)
 | 
			
		||||
          {
 | 
			
		||||
            printf("Can not read from device.\n");
 | 
			
		||||
            line = __LINE__;
 | 
			
		||||
            goto OUT_ERROR;
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          params.math_fft_hscale = atof(device->buf);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if(tmc_read() < 1)
 | 
			
		||||
        {
 | 
			
		||||
          printf("Can not read from device.\n");
 | 
			
		||||
          line = __LINE__;
 | 
			
		||||
          goto OUT_ERROR;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        params.math_fft_hscale = atof(device->buf);
 | 
			
		||||
 | 
			
		||||
        usleep(TMC_GDS_DELAY);
 | 
			
		||||
 | 
			
		||||
        if(params.modelserie == 6)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -770,32 +770,27 @@ void SignalCurve::drawFFT(QPainter *painter, int curve_h_b, int curve_w_b)
 | 
			
		|||
 | 
			
		||||
    fft_h_offset = (curve_w / 2) - ((devparms->math_fft_hcenter / devparms->math_fft_hscale) * curve_w / devparms->hordivisions);
 | 
			
		||||
 | 
			
		||||
//     fft_smpls_onscreen = (double)devparms->fftbufsz * ((devparms->math_fft_hscale * devparms->hordivisions) / (double)devparms->current_screen_sf);
 | 
			
		||||
 | 
			
		||||
    painter->setPen(QPen(QBrush(QColor(128, 64, 255), Qt::SolidPattern), tracewidth, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
 | 
			
		||||
 | 
			
		||||
    for(i=0; i<devparms->fftbufsz; i++)
 | 
			
		||||
    for(i=0; i<(devparms->fftbufsz - 1); i++)
 | 
			
		||||
    {
 | 
			
		||||
      if(devparms->fftbufsz < (curve_w / 2))
 | 
			
		||||
      {
 | 
			
		||||
        painter->drawLine(i * h_step + fft_h_offset, (devparms->fftbuf_out[i] * fft_v_sense) + fft_v_offset, (i + 1) * h_step + fft_h_offset, (devparms->fftbuf_out[i] * fft_v_sense) + fft_v_offset);
 | 
			
		||||
        if(i)
 | 
			
		||||
        {
 | 
			
		||||
          painter->drawLine(i * h_step + fft_h_offset, (devparms->fftbuf_out[i - 1] * fft_v_sense) + fft_v_offset, i * h_step + fft_h_offset, (devparms->fftbuf_out[i] * fft_v_sense) + fft_v_offset);
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      else
 | 
			
		||||
      {
 | 
			
		||||
        if(i < (devparms->fftbufsz - 1))
 | 
			
		||||
        {
 | 
			
		||||
          if(devparms->displaytype)
 | 
			
		||||
          {
 | 
			
		||||
            painter->drawPoint(i * h_step + fft_h_offset, (devparms->fftbuf_out[i] * fft_v_sense) + fft_v_offset);
 | 
			
		||||
          }
 | 
			
		||||
          else
 | 
			
		||||
          {
 | 
			
		||||
            painter->drawLine(i * h_step + fft_h_offset, (devparms->fftbuf_out[i] * fft_v_sense) + fft_v_offset, (i + 1) * h_step + fft_h_offset, (devparms->fftbuf_out[i + 1] * fft_v_sense) + fft_v_offset);
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
//       if(fft_smpls_onscreen < (curve_w / 2))
 | 
			
		||||
//       {
 | 
			
		||||
//         painter->drawLine(i * h_step + fft_h_offset, (devparms->fftbuf_out[i] * fft_v_sense) + fft_v_offset, (i + 1) * h_step + fft_h_offset, (devparms->fftbuf_out[i] * fft_v_sense) + fft_v_offset);
 | 
			
		||||
//         if(i)
 | 
			
		||||
//         {
 | 
			
		||||
//           painter->drawLine(i * h_step + fft_h_offset, (devparms->fftbuf_out[i - 1] * fft_v_sense) + fft_v_offset, i * h_step + fft_h_offset, (devparms->fftbuf_out[i] * fft_v_sense) + fft_v_offset);
 | 
			
		||||
//         }
 | 
			
		||||
//       }
 | 
			
		||||
//       else
 | 
			
		||||
//       {
 | 
			
		||||
//         if(i < (devparms->fftbufsz - 1))
 | 
			
		||||
//         {
 | 
			
		||||
          painter->drawLine(i * h_step + fft_h_offset, (devparms->fftbuf_out[i] * fft_v_sense) + fft_v_offset, (i + 1) * h_step + fft_h_offset, (devparms->fftbuf_out[i + 1] * fft_v_sense) + fft_v_offset);
 | 
			
		||||
//          }
 | 
			
		||||
//       }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    sprintf(str, "FFT:  CH%i  ", devparms->math_fft_src + 1);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										16
									
								
								utils.c
								
								
								
								
							
							
						
						
									
										16
									
								
								utils.c
								
								
								
								
							| 
						 | 
				
			
			@ -1761,49 +1761,49 @@ int convert_to_metric_suffix(char *buf, double value, int decimals)
 | 
			
		|||
      ltmp = value;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(ltmp >= 1e12 && ltmp < 1e15)
 | 
			
		||||
  if(ltmp > 0.999999e12 && ltmp < 0.999999e15)
 | 
			
		||||
  {
 | 
			
		||||
      ltmp = ltmp / 1e12;
 | 
			
		||||
 | 
			
		||||
      suffix = 'T';
 | 
			
		||||
  }
 | 
			
		||||
  else if(ltmp >= 1e9 && ltmp < 1e12)
 | 
			
		||||
  else if(ltmp > 0.999999e9)
 | 
			
		||||
    {
 | 
			
		||||
        ltmp = ltmp / 1e9;
 | 
			
		||||
 | 
			
		||||
        suffix = 'G';
 | 
			
		||||
    }
 | 
			
		||||
    else if(ltmp >= 1e6 && ltmp < 1e9)
 | 
			
		||||
    else if(ltmp > 0.999999e6)
 | 
			
		||||
      {
 | 
			
		||||
          ltmp = ltmp / 1e6;
 | 
			
		||||
 | 
			
		||||
          suffix = 'M';
 | 
			
		||||
      }
 | 
			
		||||
      else if(ltmp >= 1e3 && ltmp < 1e6)
 | 
			
		||||
      else if(ltmp > 0.999999e3)
 | 
			
		||||
        {
 | 
			
		||||
          ltmp /= 1e3;
 | 
			
		||||
 | 
			
		||||
          suffix = 'K';
 | 
			
		||||
        }
 | 
			
		||||
        else if(ltmp >= 1e-3 && ltmp < 1)
 | 
			
		||||
        else if(ltmp > 0.999999e-3 && ltmp < 0.999999)
 | 
			
		||||
          {
 | 
			
		||||
            ltmp *= 1e3;
 | 
			
		||||
 | 
			
		||||
            suffix = 'm';
 | 
			
		||||
          }
 | 
			
		||||
          else if( ltmp >= 1e-6 && ltmp < 1e-3)
 | 
			
		||||
          else if( ltmp > 0.999999e-6 && ltmp < 0.999999e-3)
 | 
			
		||||
            {
 | 
			
		||||
              ltmp *= 1e6;
 | 
			
		||||
 | 
			
		||||
              suffix = 'u';
 | 
			
		||||
            }
 | 
			
		||||
            else if(ltmp >= 1e-9 && ltmp < 1e-6)
 | 
			
		||||
            else if(ltmp > 0.999999e-9 && ltmp < 0.999999e-6)
 | 
			
		||||
              {
 | 
			
		||||
                ltmp *= 1e9;
 | 
			
		||||
 | 
			
		||||
                suffix = 'n';
 | 
			
		||||
              }
 | 
			
		||||
              else if(ltmp >= 1e-12 && ltmp < 1e-9)
 | 
			
		||||
              else if(ltmp > 0.999999e-12 && ltmp < 0.999999e-9)
 | 
			
		||||
                {
 | 
			
		||||
                  ltmp *= 1e12;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue