📄 dsomaindlg.cpp
字号:
ord[1]=ATT_10; //衰减10dB
ord[3]=AD8337_2DB_H_CH2;
ord[4]=AD8337_2DB_L_CH2;
ord[5]=PWM2_2DB;
break;
case 7: //200mV/div
ord[1]=ATT_10; //衰减1dB
ord[3]=AD8337_5DB_H_CH2;
ord[4]=AD8337_5DB_L_CH2;
ord[5]=PWM2_5DB;
break;
case 8: //100mV/div
ord[1]=ATT_1;//衰减1dB
ord[3]=AD8337_1DB_H_CH2;
ord[4]=AD8337_1DB_L_CH2;
ord[5]=PWM2_1DB;
break;
case 9: //50mV/div
ord[1]=ATT_1;//衰减1dB
ord[3]=AD8337_2DB_H_CH2;
ord[4]=AD8337_2DB_L_CH2;
ord[5]=PWM2_2DB;
break;
case 10: //20mV/div
ord[1]=ATT_1; //衰减1dB
ord[3]=AD8337_5DB_H_CH2;
ord[4]=AD8337_5DB_L_CH2;
ord[5]=PWM2_5DB;
break;
case 11: //10mV/div
ord[1]=ATT_1; //衰减1dB
ord[3]=AD8337_10DB_H_CH2;
ord[4]=AD8337_10DB_L_CH2;
ord[5]=PWM2_10DB;
break;
case 12: //5mV/div
ord[1]=ATT_1; //衰减1dB
ord[3]=AD8337_20DB_H_CH2;
ord[4]=AD8337_20DB_L_CH2;
ord[5]=PWM2_20DB;
break;
}
ord[1]|=coupline_reg;
SendCommandToUSB(VR_USRCMD);
Sleep(50);
ord[0]=CMD_I;
ord[1]=0x00;
ord[1]|=coupline_reg;
SendCommandToUSB(VR_USRCMD);
m_displayWnd.ReDrawSCreen();
m_displayWnd.ReDrawSCreen();
}
void CDSOMainDlg::OnChaX1()
{
m_cha_1x_but.SetCheck(1);
m_cha_10x_but.SetCheck(0);
m_cha_100x_but.SetCheck(0);
cha_param.probe =1;
m_displayWnd.ReDrawSCreen();
InvalidateRect (&cha_dbCtrl_rect);
//m_chbdbCtl.SetDisString ("500V 200 100 50 20 10 5 2 1V 500mV 200 100 50mV");
m_chadbCtl.SetDisString ("50V 20 10 5 2 1 500mV 200 100 50 20 10 5mV");
}
void CDSOMainDlg::OnCha10x()
{
m_cha_1x_but.SetCheck(0);
m_cha_10x_but.SetCheck(1);
m_cha_100x_but.SetCheck(0);
cha_param.probe =10;
m_displayWnd.ReDrawSCreen();
m_chadbCtl.SetDisString ("500V 200 100 50 20 10 5 2 1V 500mV 200 100 50mV");
InvalidateRect (&cha_dbCtrl_rect);
}
void CDSOMainDlg::OnCha100x()
{
m_cha_1x_but.SetCheck(0);
m_cha_10x_but.SetCheck(0);
m_cha_100x_but.SetCheck(1);
cha_param.probe =100;
m_displayWnd.ReDrawSCreen();
m_chadbCtl.SetDisString ("5KV 2 1KV 500V 200 100 50 20 10 5 2 1V 500mV");
InvalidateRect (&cha_dbCtrl_rect);
}
void CDSOMainDlg::OnChb1x()
{
m_chb_1x_but.SetCheck(1);
m_chb_10x_but.SetCheck(0);
m_chb_100x_but.SetCheck(0);
chb_param.probe =1;
m_displayWnd.ReDrawSCreen();
m_chbdbCtl.SetDisString ("50V 20 10 5 2 1 500mV 200 100 50 20 10 5mV");
InvalidateRect (&chb_dbCtrl_rect);
}
void CDSOMainDlg::OnChb10x()
{ m_chb_1x_but.SetCheck(0);
m_chb_10x_but.SetCheck(1);
m_chb_100x_but.SetCheck(0);
chb_param.probe =10;
m_displayWnd.ReDrawSCreen();
m_chbdbCtl.SetDisString ("500V 200 100 50 20 10 5 2 1V 500mV 200 100 50mV");
InvalidateRect (&chb_dbCtrl_rect);
}
void CDSOMainDlg::OnChb100x()
{
m_chb_1x_but.SetCheck(0);
m_chb_10x_but.SetCheck(0);
m_chb_100x_but.SetCheck(1);
chb_param.probe =100;
m_displayWnd.ReDrawSCreen();
m_chbdbCtl.SetDisString ("5KV 2 1KV 500V 200 100 50 20 10 5 2 1V 500mV");
InvalidateRect (&chb_dbCtrl_rect);
}
//#define TRIGGER_EGDE 0x0c
//#define TRIGGER_VIDEO 0x0d
//#define TRIGGER_PLUS 0x0e
void CDSOMainDlg::OnTrigType()
{ DWORD t;
trigger.method =m_trig_type_but.GetSelectSite();
ord[0]='C';
WORD i;
if(trigger.method==0)
{ if(trigger.source==0||trigger.source==1)
{ ord[1]=TRIG_SEL_INT;
SendCommandToUSB(VR_USRCMD);
}
m_video_type.ShowWindow(SW_HIDE);
m_level_ctl.ShowWindow(SW_SHOW);
m_lineNr_ctl.ShowWindow(SW_HIDE);
m_alllines_ctl.ShowWindow(SW_HIDE);
m_field2_ctl.ShowWindow(SW_HIDE);
m_field1_ctl.ShowWindow(SW_HIDE);
m_secam_ctl.ShowWindow(SW_HIDE);
m_ntsc_ctl.ShowWindow(SW_HIDE);
m_pal_ctl.ShowWindow(SW_HIDE);
m_linesSel_ctl.ShowWindow(SW_HIDE);
m_lines_ctl.ShowWindow(SW_HIDE);
m_video_trg_ctl.ShowWindow(SW_HIDE);
m_tvmode_ctl.ShowWindow(SW_HIDE);
m_trig_level_ctrl.ShowWindow(SW_SHOW);
m_pluse_time_down_but.ShowWindow(SW_HIDE);
m_pluse_time_up_but.ShowWindow(SW_HIDE);
m_pluse_time_setup_but.ShowWindow(SW_HIDE);
m_pluse_mes_ctl.ShowWindow(SW_HIDE);
}
else
if(trigger.method==1)
{
ord[1]=TRIG_SEL_VIDEO;
SendCommandToUSB(VR_USRCMD);
i=1024-video_lines;
ord[0]=CMD_VIDEO_TRG;
ord[1]=BYTE((i>>8)&0x03);
ord[2]=(BYTE)(i&0x00ff);
SendCommandToUSB(VR_USRCMD);
m_level_ctl.ShowWindow(SW_HIDE);
m_video_type.ShowWindow(SW_SHOW);
m_video_type.SetWindowText("Video Type");
m_lineNr_ctl.ShowWindow(SW_SHOW);
m_lineNr_ctl.SetWindowText("Line NR");
m_alllines_ctl.ShowWindow(SW_SHOW);
m_alllines_ctl.SetWindowText("All lines");
m_field2_ctl.ShowWindow(SW_SHOW);
m_field2_ctl.SetWindowText("Field2");
m_field1_ctl.ShowWindow(SW_SHOW);
m_field1_ctl.SetWindowText("Field1");
m_secam_ctl.ShowWindow(SW_SHOW);
m_ntsc_ctl.ShowWindow(SW_SHOW);
m_pal_ctl.ShowWindow(SW_SHOW);
m_linesSel_ctl.ShowWindow(SW_SHOW);
m_lines_ctl.ShowWindow(SW_SHOW);
m_video_trg_ctl.ShowWindow(SW_SHOW);
m_tvmode_ctl.ShowWindow(SW_SHOW);
m_trig_level_ctrl.ShowWindow(SW_HIDE);
m_pluse_time_down_but.ShowWindow(SW_HIDE);
m_pluse_time_up_but.ShowWindow(SW_HIDE);
m_pluse_time_setup_but.ShowWindow(SW_HIDE);
m_pluse_mes_ctl.ShowWindow(SW_HIDE);
}
else
if(trigger.method==2)
{
ord[1]=TRG_SEL_PLUS;
SendCommandToUSB(VR_USRCMD);
ord[0]=CMD_PLUSE_TRG;
t=pluse_time/20;
ord[1]=(BYTE)((t>>24)&0x000000ff);
ord[2]=(BYTE)((t>>16)&0x000000ff);
ord[3]=(BYTE)((t>>8)&0x000000ff);
ord[4]=(BYTE)(t&0x000000ff);
SendCommandToUSB(VR_USRCMD);
m_level_ctl.ShowWindow(SW_HIDE);
m_video_type.ShowWindow(SW_SHOW);
m_video_type.SetWindowText("Plus With");
m_lineNr_ctl.ShowWindow(SW_SHOW);
m_lineNr_ctl.SetWindowText(" =");
m_alllines_ctl.ShowWindow(SW_SHOW);
m_alllines_ctl.SetWindowText(" ≠");
m_field2_ctl.ShowWindow(SW_SHOW);
m_field2_ctl.SetWindowText(" >");
m_field1_ctl.ShowWindow(SW_SHOW);
m_field1_ctl.SetWindowText(" <");
m_secam_ctl.ShowWindow(SW_HIDE);
m_ntsc_ctl.ShowWindow(SW_HIDE);
m_pal_ctl.ShowWindow(SW_HIDE);
m_linesSel_ctl.ShowWindow(SW_HIDE);
// m_plus_time.ShowWindow(SW_SHOW);
m_lines_ctl.ShowWindow(SW_HIDE);
m_video_trg_ctl.ShowWindow(SW_SHOW);
m_tvmode_ctl.ShowWindow(SW_HIDE);
m_trig_level_ctrl.ShowWindow(SW_HIDE);
m_pluse_time_down_but.ShowWindow(SW_SHOW);
m_pluse_time_up_but.ShowWindow(SW_SHOW);
m_pluse_time_setup_but.ShowWindow(SW_SHOW);
m_pluse_mes_ctl.ShowWindow(SW_SHOW);
}
CRect rect(870,250,910,320);
InvalidateRect(&rect,true);
m_displayWnd.ReDrawSCreen();
}
void CDSOMainDlg::OnChaDw()
{
isChaDW=!isChaDW;
ord[0]='C';
// display.freq_on_ch1=isChaDW;
if(isChaDW){cha_param.bw_limit =true;
ord[1]=CHA_BW_ISLIMIT;
m_cha_dw_but.SetIcon(IDI_DW_G);
}
else{cha_param.bw_limit =false;
ord[1]=CHA_BW_NOLIMIT;
m_cha_dw_but.SetIcon(IDI_DW_B);
}
// SendCommandToUSB(VR_USRCMD);
m_displayWnd.ReDrawSCreen();
// m_displayWnd.SetCha_ON_OFF(isChaON);
}
void CDSOMainDlg::OnChbDw()
{
isChbDW=!isChbDW;
ord[0]='C';
if(isChbDW)
{chb_param.bw_limit =true;
ord[1]=CHB_BW_ISLIMIT;
m_chb_dw_but.SetIcon(IDI_DW_Y);
}
else
{chb_param.bw_limit =false;
ord[1]=CHB_BW_NOLIMIT;
m_chb_dw_but.SetIcon(IDI_DW_B);
}
SendCommandToUSB(VR_USRCMD);
m_displayWnd.ReDrawSCreen();
}
void CDSOMainDlg::OnChaInv()
{
isChaInv=!isChaInv;
if(isChaInv)
{ cha_param.reversal=true;
m_cha_inv_but.SetIcon(IDI_INV_G);
}
else
{ cha_param.reversal=false;
m_cha_inv_but.SetIcon(IDI_INV_B);
}
m_displayWnd.ReDrawSCreen();
}
void CDSOMainDlg::OnChbInv()
{
isChbInv=!isChbInv;
if(isChbInv)
{chb_param.reversal=true;
m_chb_inv_but.SetIcon(IDI_INV_Y);
}
else{chb_param.reversal=false;
m_chb_inv_but.SetIcon(IDI_INV_B);
}
m_displayWnd.ReDrawSCreen();
}
/* AD5314 控制命令描述 10Bits SPI D/A Vout=Vref X D /1024
* BIT15 BIT0
* A1 A0 PD LDAC D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 X X
* MSB |<--------DATA BITS-------------------->| LSB
* A1 A0 DAC Address
* 0 0 DAC A Trig level
* 0 1 DAC B CHA REF
* 1 0 DAC C CHB REF
* 1 1 DAC D AD8001 IN+ vlot level offset
* PD =0 :所有DAC 低功耗模式 DAC output a high impedance 1: 正常操作
* LDAC =0 :所有DAC寄存器同时更新 1 : 仅被选中的DAC被更新
* SPI Frist LSB
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15
A1 A0 PD LDAC D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 X X
0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
*/
void CDSOMainDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// if(!(nSBCode==SB_LINEDOWN||nSBCode==SB_LINEUP||nSBCode==SB_THUMBPOSITION))return;
int i;
// BYTE cmp_A,cmp_B;
WORD dx;//dx1,dx3;
CString mes;
CSliderCtrl *pSlider = (CSliderCtrl *)pScrollBar;
if(pSlider == &m_trig_level_ctrl)
{
i =255- pSlider->GetPos ();
trigger.level=i;
trigger.display =true;
trigger.disp_counter=0;
if(trigger.source==0||trigger.source==1)
{
dx=(2300+((i-255)*1000)/255)*1024/3183;
dx<<=2;
dx&=0x1fff;
//dx1=0;
///dx3=0;
//dx1=dx;
//dx3=dx;
dx|=(PD|0x0000); //通道0
ord[0]='A';
ord[1]=(BYTE)((dx>>8)&0x00ff);
ord[2]=(BYTE)(dx&0x00ff);
SendCommandToUSB(VR_USRCMD);
/*
if(i==255)
{cmp_A=255-20;
i=255-10;
cmp_B=255;
}
else
if(i==0)
{
cmp_A=0;
i=10;
cmp_B=20;
}
else
{
cmp_A=i-10;
cmp_B=i+10;
}
*/
//vx=1000+((trigger.level )*400)/(DISHEIGHT/2);
//dx=vx*1024/3300;
//dx<<=2;
//dx|=PD;//|0x8000; //通道0
//mes.Format("%d,%02x,%02x",i,cmp_A,cmp_B);
//m_mes_ctrl.SetWindowText(mes);
//ord[0]='M';
//ord[1]=cmp_A;
// ord[2]=cmp_B;
}
else
if(trigger.source==2) //Ext trigger
{
ord[0]='A';
ord[1]=0x62;
ord[2]=0x8c;
}
SendCommandToUSB(VR_USRCMD);
m_displayWnd.ReDrawSCreen();
}else
if(pSlider == &m_cha_offset_ctl)
{
i =pSlider->GetPos ();
dx=i;
dx<<=2;
// dx&=0x1fff;
//dx1=0;
///dx3=0;
//dx1=dx;
//dx3=dx;
dx|=(PD|0x2000); //通道1
ord[0]='A';
ord[1]=(BYTE)((dx>>8)&0x00ff);
ord[2]=(BYTE)(dx&0x00ff);
SendCommandToUSB(VR_USRCMD);
}
else
{ if(pScrollBar->GetDlgCtrlID()==IDC_LINES_SEL)
{
video_lines=m_linesSel_ctl.GetPos();
i=1024-video_lines;
ord[0]=CMD_VIDEO_TRG;
ord[1]=BYTE((i>>8)&0x03);
ord[2]=(BYTE)(i&0x00ff);
SendCommandToUSB(VR_USRCMD);
// SendCommandToUSB(VR_USRCMD);
}
}
CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}
void CDSOMainDlg::OnTrigMode()
{
trigger.mode =m_trig_mode_but.GetSelectSite();
m_displayWnd.ReDrawSCreen();
ord[0]='C';
switch( trigger.mode)
{case 0:
ord[1]=TRIGGER_AUTO;
break;
case 1:
ord[1]=TRIGGER_NORMAL;
break;
case 2:
ord[1]=TRIGGER_SIGNLE;
break;
}
SendCommandToUSB(VR_USRCMD);
}
void CDSOMainDlg::OnTrigSourceSelect()
{
trigger.source =m_TrigSource_but.GetSelectSite();
// WORD dx;
ord[0]='C';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -