kopia lustrzana https://gitlab.com/Teuniz/DSRemote
				
				
				
			DS1000Z Plus series: trigger menu: trigger source: added logic analyzer sources D0 to D15.
							rodzic
							
								
									835033ec0e
								
							
						
					
					
						commit
						9c0328387b
					
				
							
								
								
									
										107
									
								
								global.h
								
								
								
								
							
							
						
						
									
										107
									
								
								global.h
								
								
								
								
							|  | @ -35,64 +35,90 @@ | |||
| 
 | ||||
| 
 | ||||
| #define PROGRAM_NAME          "DSRemote" | ||||
| #define PROGRAM_VERSION       "0.37_2105291436" | ||||
| #define PROGRAM_VERSION       "0.37_2105291739" | ||||
| 
 | ||||
| #define MAX_PATHLEN            1024 | ||||
| #define MAX_PATHLEN            (1024) | ||||
| 
 | ||||
| #define MAX_CHNS                  4 | ||||
| #define MAX_CHNS                  (4) | ||||
| 
 | ||||
| #define ADJDIAL_TIMER_IVAL_1   4000 | ||||
| #define ADJDIAL_TIMER_IVAL_2   2000 | ||||
| #define ADJDIAL_TIMER_IVAL_1   (4000) | ||||
| #define ADJDIAL_TIMER_IVAL_2   (2000) | ||||
| 
 | ||||
| #define SCRN_SHOT_BMP_SZ    1152054 | ||||
| #define SCRN_SHOT_BMP_SZ    (1152054) | ||||
| 
 | ||||
| #define WAVFRM_MAX_BUFSZ  (1024 * 1024 * 2) | ||||
| 
 | ||||
| #define FFT_MAX_BUFSZ          4096 | ||||
| #define FFT_MAX_BUFSZ          (4096) | ||||
| 
 | ||||
| #define ADJ_DIAL_FUNC_NONE        0 | ||||
| #define ADJ_DIAL_FUNC_HOLDOFF     1 | ||||
| #define ADJ_DIAL_FUNC_ACQ_AVG     2 | ||||
| #define ADJ_DIAL_FUNC_NONE        (0) | ||||
| #define ADJ_DIAL_FUNC_HOLDOFF     (1) | ||||
| #define ADJ_DIAL_FUNC_ACQ_AVG     (2) | ||||
| 
 | ||||
| #define NAV_DIAL_FUNC_NONE        0 | ||||
| #define NAV_DIAL_FUNC_HOLDOFF     1 | ||||
| #define NAV_DIAL_FUNC_NONE        (0) | ||||
| #define NAV_DIAL_FUNC_HOLDOFF     (1) | ||||
| 
 | ||||
| #define LABEL_TIMER_IVAL       1500 | ||||
| #define LABEL_TIMER_IVAL       (1500) | ||||
| 
 | ||||
| #define LABEL_ACTIVE_NONE         0 | ||||
| #define LABEL_ACTIVE_CHAN1        1 | ||||
| #define LABEL_ACTIVE_CHAN2        2 | ||||
| #define LABEL_ACTIVE_CHAN3        3 | ||||
| #define LABEL_ACTIVE_CHAN4        4 | ||||
| #define LABEL_ACTIVE_TRIG         5 | ||||
| #define LABEL_ACTIVE_FFT          6 | ||||
| #define LABEL_ACTIVE_NONE         (0) | ||||
| #define LABEL_ACTIVE_CHAN1        (1) | ||||
| #define LABEL_ACTIVE_CHAN2        (2) | ||||
| #define LABEL_ACTIVE_CHAN3        (3) | ||||
| #define LABEL_ACTIVE_CHAN4        (4) | ||||
| #define LABEL_ACTIVE_TRIG         (5) | ||||
| #define LABEL_ACTIVE_FFT          (6) | ||||
| 
 | ||||
| #define TMC_GDS_DELAY         10000 | ||||
| #define TMC_GDS_DELAY         (10000) | ||||
| 
 | ||||
| #define TMC_CMD_CUE_SZ         1024 | ||||
| #define TMC_CMD_CUE_SZ         (1024) | ||||
| 
 | ||||
| #define TMC_THRD_RESULT_NONE      0 | ||||
| #define TMC_THRD_RESULT_SCRN      1 | ||||
| #define TMC_THRD_RESULT_CMD       2 | ||||
| #define TMC_THRD_RESULT_NONE      (0) | ||||
| #define TMC_THRD_RESULT_SCRN      (1) | ||||
| #define TMC_THRD_RESULT_CMD       (2) | ||||
| 
 | ||||
| #define TMC_THRD_JOB_NONE         0 | ||||
| #define TMC_THRD_JOB_TRIGEDGELEV  1 | ||||
| #define TMC_THRD_JOB_TIMDELAY     2 | ||||
| #define TMC_THRD_JOB_FFTHZDIV     3 | ||||
| #define TMC_THRD_JOB_NONE         (0) | ||||
| #define TMC_THRD_JOB_TRIGEDGELEV  (1) | ||||
| #define TMC_THRD_JOB_TIMDELAY     (2) | ||||
| #define TMC_THRD_JOB_FFTHZDIV     (3) | ||||
| 
 | ||||
| #define TMC_DIAL_TIMER_DELAY    300 | ||||
| #define TMC_DIAL_TIMER_DELAY    (300) | ||||
| 
 | ||||
| #define DECODE_MODE_TAB_PAR       0 | ||||
| #define DECODE_MODE_TAB_UART      1 | ||||
| #define DECODE_MODE_TAB_SPI       2 | ||||
| #define DECODE_MODE_TAB_I2C       3 | ||||
| #define DECODE_MODE_TAB_PAR       (0) | ||||
| #define DECODE_MODE_TAB_UART      (1) | ||||
| #define DECODE_MODE_TAB_SPI       (2) | ||||
| #define DECODE_MODE_TAB_I2C       (3) | ||||
| 
 | ||||
| #define DECODE_MODE_PAR           0 | ||||
| #define DECODE_MODE_UART          1 | ||||
| #define DECODE_MODE_SPI           2 | ||||
| #define DECODE_MODE_I2C           3 | ||||
| #define DECODE_MODE_PAR           (0) | ||||
| #define DECODE_MODE_UART          (1) | ||||
| #define DECODE_MODE_SPI           (2) | ||||
| #define DECODE_MODE_I2C           (3) | ||||
| 
 | ||||
| #define DECODE_MAX_CHARS        512 | ||||
| #define DECODE_MAX_CHARS        (512) | ||||
| 
 | ||||
| #define TRIG_SRC_CHAN1            (0) | ||||
| #define TRIG_SRC_CHAN2            (1) | ||||
| #define TRIG_SRC_CHAN3            (2) | ||||
| #define TRIG_SRC_CHAN4            (3) | ||||
| #define TRIG_SRC_EXT              (4) | ||||
| #define TRIG_SRC_EXT5             (5) | ||||
| #define TRIG_SRC_ACL              (6) | ||||
| #define TRIG_SRC_LA_D0            (7) | ||||
| #define TRIG_SRC_LA_D1            (8) | ||||
| #define TRIG_SRC_LA_D2            (9) | ||||
| #define TRIG_SRC_LA_D3           (10) | ||||
| #define TRIG_SRC_LA_D4           (11) | ||||
| #define TRIG_SRC_LA_D5           (12) | ||||
| #define TRIG_SRC_LA_D6           (13) | ||||
| #define TRIG_SRC_LA_D7           (14) | ||||
| #define TRIG_SRC_LA_D8           (15) | ||||
| #define TRIG_SRC_LA_D9           (16) | ||||
| #define TRIG_SRC_LA_D10          (17) | ||||
| #define TRIG_SRC_LA_D11          (18) | ||||
| #define TRIG_SRC_LA_D12          (19) | ||||
| #define TRIG_SRC_LA_D13          (20) | ||||
| #define TRIG_SRC_LA_D14          (21) | ||||
| #define TRIG_SRC_LA_D15          (22) | ||||
| 
 | ||||
| #define MAX_TRIG_SRCS            (23) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | @ -130,6 +156,7 @@ struct device_settings | |||
| 
 | ||||
|   int channel_cnt;              // Device has 2 or 4 channels
 | ||||
|   int bandwidth;                // Bandwidth in MHz
 | ||||
|   int la_channel_cnt;           // Device has 0 or 16 logic analyzer channels
 | ||||
| 
 | ||||
|   int chanbwlimit[MAX_CHNS];    // 20, 250 or 0MHz (off)
 | ||||
|   int chancoupling[MAX_CHNS];   // 0=GND, 1=DC, 2=AC
 | ||||
|  | @ -160,7 +187,7 @@ struct device_settings | |||
|   int timebasexy2display;       // XY mode for channel 3 & 4,  1=on, 0=off
 | ||||
| 
 | ||||
|   int triggercoupling;          // 0=AC, 1=DC, 2=LFReject, 3=HFReject
 | ||||
|   double triggeredgelevel[7];   // Trigger level
 | ||||
|   double triggeredgelevel[MAX_TRIG_SRCS]; // Trigger level
 | ||||
|   int triggeredgeslope;         // 0=POS, 1=NEG, 2= RFAL
 | ||||
|   int triggeredgesource;        // 0=chan1, 1=chan2, 2=chan3, 3=chan4, 4=ext, 5=ext5, 6=acl, 7=D0, 8=D1, ... ,21=D14, 22=D15
 | ||||
|   double triggerholdoff;        // min. is 16nSec or 100nSec depends on series
 | ||||
|  |  | |||
							
								
								
									
										107
									
								
								interface.cpp
								
								
								
								
							
							
						
						
									
										107
									
								
								interface.cpp
								
								
								
								
							|  | @ -3745,6 +3745,25 @@ void UI_Mainwindow::trigMenuButtonClicked() | |||
|     } | ||||
|   } | ||||
|   submenusource.addAction("AC Line", this, SLOT(trigger_source_acl())); | ||||
|   if(devparms.la_channel_cnt == 16) | ||||
|   { | ||||
|     submenusource.addAction("D0", this, SLOT(trigger_source_la_d0())); | ||||
|     submenusource.addAction("D1", this, SLOT(trigger_source_la_d1())); | ||||
|     submenusource.addAction("D2", this, SLOT(trigger_source_la_d2())); | ||||
|     submenusource.addAction("D3", this, SLOT(trigger_source_la_d3())); | ||||
|     submenusource.addAction("D4", this, SLOT(trigger_source_la_d4())); | ||||
|     submenusource.addAction("D5", this, SLOT(trigger_source_la_d5())); | ||||
|     submenusource.addAction("D6", this, SLOT(trigger_source_la_d6())); | ||||
|     submenusource.addAction("D7", this, SLOT(trigger_source_la_d7())); | ||||
|     submenusource.addAction("D8", this, SLOT(trigger_source_la_d8())); | ||||
|     submenusource.addAction("D9", this, SLOT(trigger_source_la_d9())); | ||||
|     submenusource.addAction("D10", this, SLOT(trigger_source_la_d10())); | ||||
|     submenusource.addAction("D11", this, SLOT(trigger_source_la_d11())); | ||||
|     submenusource.addAction("D12", this, SLOT(trigger_source_la_d12())); | ||||
|     submenusource.addAction("D13", this, SLOT(trigger_source_la_d13())); | ||||
|     submenusource.addAction("D14", this, SLOT(trigger_source_la_d14())); | ||||
|     submenusource.addAction("D15", this, SLOT(trigger_source_la_d15())); | ||||
|   } | ||||
|   actionList = submenusource.actions(); | ||||
|   if(devparms.modelserie == 6 || devparms.modelserie == 4) | ||||
|   { | ||||
|  | @ -3794,6 +3813,15 @@ void UI_Mainwindow::trigMenuButtonClicked() | |||
|       actionList[4]->setCheckable(true); | ||||
|       actionList[4]->setChecked(true); | ||||
|     } | ||||
| 
 | ||||
|     if(devparms.la_channel_cnt > 0) | ||||
|     { | ||||
|       if(devparms.triggeredgesource >= TRIG_SRC_LA_D0) | ||||
|       { | ||||
|         actionList[devparms.triggeredgesource - 2]->setCheckable(true); | ||||
|         actionList[devparms.triggeredgesource - 2]->setChecked(true); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|   menu.addMenu(&submenusource); | ||||
| 
 | ||||
|  | @ -3920,6 +3948,85 @@ void UI_Mainwindow::trigger_source_acl() | |||
| } | ||||
| 
 | ||||
| 
 | ||||
| void UI_Mainwindow::trigger_source_la_d0(void) | ||||
| { | ||||
|   trigger_source_la(0); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d1(void) | ||||
| { | ||||
|   trigger_source_la(1); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d2(void) | ||||
| { | ||||
|   trigger_source_la(2); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d3(void) | ||||
| { | ||||
|   trigger_source_la(3); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d4(void) | ||||
| { | ||||
|   trigger_source_la(4); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d5(void) | ||||
| { | ||||
|   trigger_source_la(5); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d6(void) | ||||
| { | ||||
|   trigger_source_la(6); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d7(void) | ||||
| { | ||||
|   trigger_source_la(7); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d8(void) | ||||
| { | ||||
|   trigger_source_la(8); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d9(void) | ||||
| { | ||||
|   trigger_source_la(9); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d10(void) | ||||
| { | ||||
|   trigger_source_la(10); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d11(void) | ||||
| { | ||||
|   trigger_source_la(11); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d12(void) | ||||
| { | ||||
|   trigger_source_la(12); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d13(void) | ||||
| { | ||||
|   trigger_source_la(13); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d14(void) | ||||
| { | ||||
|   trigger_source_la(14); | ||||
| } | ||||
| void UI_Mainwindow::trigger_source_la_d15(void) | ||||
| { | ||||
|   trigger_source_la(15); | ||||
| } | ||||
| 
 | ||||
| void UI_Mainwindow::trigger_source_la(int src) | ||||
| { | ||||
|   char str[128]=""; | ||||
| 
 | ||||
|   devparms.triggeredgesource = TRIG_SRC_LA_D0 + src; | ||||
| 
 | ||||
|   snprintf(str, 512, "Trigger source D%i", src); | ||||
|   statusLabel->setText(str); | ||||
| 
 | ||||
|   snprintf(str, 512, ":TRIG:EDG:SOUR D%i", src); | ||||
|   set_cue_cmd(str); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| void UI_Mainwindow::trigger_coupling_ac() | ||||
| { | ||||
|   devparms.triggercoupling = 0; | ||||
|  |  | |||
|  | @ -1128,6 +1128,8 @@ void UI_Mainwindow::get_device_model(const char *str) | |||
|   { | ||||
|     devparms.channel_cnt = 4; | ||||
| 
 | ||||
|     devparms.la_channel_cnt = 16; | ||||
| 
 | ||||
|     devparms.bandwidth = 70; | ||||
| 
 | ||||
|     devparms.modelserie = 1; | ||||
|  | @ -1137,6 +1139,8 @@ void UI_Mainwindow::get_device_model(const char *str) | |||
|   { | ||||
|     devparms.channel_cnt = 4; | ||||
| 
 | ||||
|     devparms.la_channel_cnt = 16; | ||||
| 
 | ||||
|     devparms.bandwidth = 70; | ||||
| 
 | ||||
|     devparms.modelserie = 1; | ||||
|  | @ -1164,6 +1168,8 @@ void UI_Mainwindow::get_device_model(const char *str) | |||
|   { | ||||
|     devparms.channel_cnt = 4; | ||||
| 
 | ||||
|     devparms.la_channel_cnt = 16; | ||||
| 
 | ||||
|     devparms.bandwidth = 100; | ||||
| 
 | ||||
|     devparms.modelserie = 1; | ||||
|  | @ -1173,6 +1179,8 @@ void UI_Mainwindow::get_device_model(const char *str) | |||
|   { | ||||
|     devparms.channel_cnt = 4; | ||||
| 
 | ||||
|     devparms.la_channel_cnt = 16; | ||||
| 
 | ||||
|     devparms.bandwidth = 100; | ||||
| 
 | ||||
|     devparms.modelserie = 1; | ||||
|  |  | |||
							
								
								
									
										17
									
								
								mainwindow.h
								
								
								
								
							
							
						
						
									
										17
									
								
								mainwindow.h
								
								
								
								
							|  | @ -320,6 +320,23 @@ private slots: | |||
|   void trigger_source_ext(); | ||||
|   void trigger_source_ext5(); | ||||
|   void trigger_source_acl(); | ||||
|   void trigger_source_la_d0(void); | ||||
|   void trigger_source_la_d1(void); | ||||
|   void trigger_source_la_d2(void); | ||||
|   void trigger_source_la_d3(void); | ||||
|   void trigger_source_la_d4(void); | ||||
|   void trigger_source_la_d5(void); | ||||
|   void trigger_source_la_d6(void); | ||||
|   void trigger_source_la_d7(void); | ||||
|   void trigger_source_la_d8(void); | ||||
|   void trigger_source_la_d9(void); | ||||
|   void trigger_source_la_d10(void); | ||||
|   void trigger_source_la_d11(void); | ||||
|   void trigger_source_la_d12(void); | ||||
|   void trigger_source_la_d13(void); | ||||
|   void trigger_source_la_d14(void); | ||||
|   void trigger_source_la_d15(void); | ||||
|   void trigger_source_la(int); | ||||
|   void trigger_coupling_dc(); | ||||
|   void trigger_coupling_ac(); | ||||
|   void trigger_coupling_lfreject(); | ||||
|  |  | |||
|  | @ -906,49 +906,54 @@ void read_settings_thread::run() | |||
| 
 | ||||
|   if(!strcmp(device->buf, "CHAN1")) | ||||
|   { | ||||
|     devparms->triggeredgesource = 0; | ||||
|     devparms->triggeredgesource = TRIG_SRC_CHAN1; | ||||
|   } | ||||
|   else if(!strcmp(device->buf, "CHAN2")) | ||||
|     { | ||||
|       devparms->triggeredgesource = 1; | ||||
|       devparms->triggeredgesource = TRIG_SRC_CHAN2; | ||||
|     } | ||||
|     else if(!strcmp(device->buf, "CHAN3")) | ||||
|       { | ||||
|         devparms->triggeredgesource = 2; | ||||
|         devparms->triggeredgesource = TRIG_SRC_CHAN3; | ||||
|       } | ||||
|       else if(!strcmp(device->buf, "CHAN4")) | ||||
|         { | ||||
|           devparms->triggeredgesource = 3; | ||||
|           devparms->triggeredgesource = TRIG_SRC_CHAN4; | ||||
|         } | ||||
|         else if(!strcmp(device->buf, "EXT")) | ||||
|           { | ||||
|             devparms->triggeredgesource = 4; | ||||
|             devparms->triggeredgesource = TRIG_SRC_EXT; | ||||
|           } | ||||
|           else if(!strcmp(device->buf, "EXT5")) | ||||
|             { | ||||
|               devparms->triggeredgesource = 5; | ||||
|               devparms->triggeredgesource = TRIG_SRC_EXT; | ||||
|             }  // DS1000Z: "AC", DS6000: "ACL" !!
 | ||||
|             else if((!strcmp(device->buf, "AC")) || (!strcmp(device->buf, "ACL"))) | ||||
|               { | ||||
|                 devparms->triggeredgesource = 6; | ||||
|                 devparms->triggeredgesource = TRIG_SRC_ACL; | ||||
|               } | ||||
|               else if((device->buf[0] == 'D') && (isdigit(device->buf[1]))) | ||||
|                 { | ||||
|                   //FIXME (not supported yet!)
 | ||||
|                   // devparms->triggeredgesource = 7 + atoi(device->buf + 1);
 | ||||
|                   devparms->triggeredgesource = 0; | ||||
| 
 | ||||
|                   usleep(TMC_GDS_DELAY); | ||||
| 
 | ||||
|                   strlcpy(str, ":TRIG:EDG:SOUR CHAN1", 512); | ||||
| 
 | ||||
|                   if(tmc_write(str) != 20) | ||||
|                   if(devparms->la_channel_cnt > 0) | ||||
|                   { | ||||
|                     line = __LINE__; | ||||
|                     goto GDS_OUT_ERROR; | ||||
|                     devparms->triggeredgesource = 7 + atoi(device->buf + 1); | ||||
|                   } | ||||
|                   else | ||||
|                   { | ||||
|                     devparms->triggeredgesource = 0; | ||||
| 
 | ||||
|                   usleep(TMC_GDS_DELAY); | ||||
|                     usleep(TMC_GDS_DELAY); | ||||
| 
 | ||||
|                     strlcpy(str, ":TRIG:EDG:SOUR CHAN1", 512); | ||||
| 
 | ||||
|                     if(tmc_write(str) != 20) | ||||
|                     { | ||||
|                       line = __LINE__; | ||||
|                       goto GDS_OUT_ERROR; | ||||
|                     } | ||||
| 
 | ||||
|                     usleep(TMC_GDS_DELAY); | ||||
|                   } | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|  |  | |||
|  | @ -522,7 +522,7 @@ void SignalCurve::drawWidget(QPainter *painter, int curve_w, int curve_h) | |||
|   } | ||||
|   else | ||||
|   { | ||||
|     if(devparms->triggeredgesource < 4) | ||||
|     if(devparms->triggeredgesource <= TRIG_SRC_CHAN4) | ||||
|     { | ||||
|       trig_level_arrow_pos = (curve_h / 2) - ((devparms->triggeredgelevel[devparms->triggeredgesource] + devparms->chanoffset[devparms->triggeredgesource]) / ((devparms->chanscale[devparms->triggeredgesource] * devparms->vertdivisions) / curve_h)); | ||||
| 
 | ||||
|  | @ -1184,36 +1184,35 @@ void SignalCurve::drawTopLabels(QPainter *painter) | |||
| 
 | ||||
|   painter->drawText(670, 20, "T"); | ||||
| 
 | ||||
|   convert_to_metric_suffix(str, devparms->triggeredgelevel[devparms->triggeredgesource], 2, 512); | ||||
| 
 | ||||
|   strlcat(str, devparms->chanunitstr[devparms->chanunit[devparms->triggeredgesource]], 512); | ||||
| 
 | ||||
|   if(devparms->triggeredgesource < 4) | ||||
|   if(devparms->triggeredgesource <= TRIG_SRC_CHAN4) | ||||
|   { | ||||
|     convert_to_metric_suffix(str, devparms->triggeredgelevel[devparms->triggeredgesource], 2, 512); | ||||
| 
 | ||||
|     strlcat(str, devparms->chanunitstr[devparms->chanunit[devparms->triggeredgesource]], 512); | ||||
| 
 | ||||
|     painter->setPen(SignalColor[devparms->triggeredgesource]); | ||||
| 
 | ||||
|     painter->drawText(735, 5, 85, 20, Qt::AlignCenter, str); | ||||
|   } | ||||
|   else | ||||
|   { | ||||
|     switch(devparms->triggeredgesource) | ||||
|     { | ||||
|       case 4: | ||||
|       case 5: painter->setPen(Qt::green); | ||||
|               break; | ||||
|       case 6: painter->setPen(QColor(255, 64, 0)); | ||||
|               break; | ||||
|       case TRIG_SRC_EXT: | ||||
|       case TRIG_SRC_EXT5: painter->setPen(Qt::green); | ||||
|                           break; | ||||
|       case TRIG_SRC_ACL:  painter->setPen(QColor(255, 64, 0)); | ||||
|                           break; | ||||
|       default:            painter->setPen(Qt::white); | ||||
|                           break; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   if(devparms->triggeredgesource != 6) | ||||
|   { | ||||
|     painter->drawText(735, 5, 85, 20, Qt::AlignCenter, str); | ||||
|   } | ||||
| 
 | ||||
|   path = QPainterPath(); | ||||
| 
 | ||||
|   path.addRoundedRect(725, 7, 15, 15, 3, 3); | ||||
| 
 | ||||
|   if(devparms->triggeredgesource < 4) | ||||
|   if(devparms->triggeredgesource <= TRIG_SRC_CHAN4) | ||||
|   { | ||||
|     painter->fillPath(path, SignalColor[devparms->triggeredgesource]); | ||||
| 
 | ||||
|  | @ -1223,13 +1222,16 @@ void SignalCurve::drawTopLabels(QPainter *painter) | |||
|   { | ||||
|     switch(devparms->triggeredgesource) | ||||
|     { | ||||
|       case 4: | ||||
|       case 5: painter->fillPath(path, Qt::green); | ||||
|               strlcpy(str, "E", 512); | ||||
|               break; | ||||
|       case 6: painter->fillPath(path, QColor(255, 64, 0)); | ||||
|               strlcpy(str, "AC", 512); | ||||
|               break; | ||||
|       case TRIG_SRC_EXT: | ||||
|       case TRIG_SRC_EXT5: painter->fillPath(path, Qt::green); | ||||
|                           strlcpy(str, "E", 512); | ||||
|                           break; | ||||
|       case TRIG_SRC_ACL:  painter->fillPath(path, QColor(255, 64, 0)); | ||||
|                           strlcpy(str, "AC", 512); | ||||
|                           break; | ||||
|       default:            painter->fillPath(path, Qt::white); | ||||
|                           snprintf(str, 512, "D%i", devparms->triggeredgesource - TRIG_SRC_LA_D0); | ||||
|                           break; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|  | @ -1755,12 +1757,15 @@ void SignalCurve::mousePressEvent(QMouseEvent *press_event) | |||
|             ((trig_level_arrow_pos < 0) && (m_x >= w) && (m_x < (w + 18)) && (m_y >= 0) && (m_y < 22)) || | ||||
|             ((trig_level_arrow_pos > h) && (m_x >= w) && (m_x < (w + 18)) && (m_y <= h) && (m_y > (h - 22)))) | ||||
|       { | ||||
|         trig_level_arrow_moving = 1; | ||||
|         use_move_events = 1; | ||||
|         trig_line_visible = 1; | ||||
|         setMouseTracking(true); | ||||
|         mouse_old_x = m_x; | ||||
|         mouse_old_y = m_y; | ||||
|         if(devparms->triggeredgesource <= TRIG_SRC_CHAN4) | ||||
|         { | ||||
|           trig_level_arrow_moving = 1; | ||||
|           use_move_events = 1; | ||||
|           trig_line_visible = 1; | ||||
|           setMouseTracking(true); | ||||
|           mouse_old_x = m_x; | ||||
|           mouse_old_y = m_y; | ||||
|         } | ||||
|       } | ||||
|       else | ||||
|       { | ||||
|  | @ -1946,7 +1951,7 @@ void SignalCurve::mouseReleaseEvent(QMouseEvent *release_event) | |||
|   } | ||||
|   else if(trig_level_arrow_moving) | ||||
|     { | ||||
|       if(devparms->triggeredgesource > 3) | ||||
|       if(devparms->triggeredgesource > TRIG_SRC_CHAN4) | ||||
|       { | ||||
|         return; | ||||
|       } | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 Teuniz
						Teuniz