📄 frmfrequency.frm
字号:
Begin VB.CommandButton cmdEditFreq
Caption = "EDIT"
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Index = 1
Left = 1920
TabIndex = 4
Top = 1440
Width = 705
End
Begin VB.TextBox txtPhaseOffset
BeginProperty Font
Name = "MS Sans Serif"
Size = 13.5
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 405
Index = 0
Left = 2640
Locked = -1 'True
TabIndex = 3
Tag = "0"
Text = "0.000"
Top = 960
Width = 1215
End
Begin VB.CommandButton cmdEditPO
Caption = "EDIT"
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Index = 0
Left = 1920
TabIndex = 2
Top = 960
Width = 705
End
Begin VB.Label lblFrequency0
Caption = "Frequency 0:"
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Index = 0
Left = 120
TabIndex = 13
Top = 480
Width = 1815
End
Begin VB.Label lblMHz
Caption = "MHz"
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Index = 5
Left = 4800
TabIndex = 12
Top = 480
Width = 495
End
Begin VB.Label lblPhaseOffset
Caption = "Phase Offset 0:"
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Index = 0
Left = 120
TabIndex = 11
Top = 960
Width = 1935
End
Begin VB.Label lblMHz
Caption = "Deg"
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Index = 4
Left = 4800
TabIndex = 10
Top = 960
Width = 495
End
Begin VB.Label lblFreq1
Caption = "Frequency 1:"
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Index = 0
Left = 120
TabIndex = 9
Top = 1440
Width = 1815
End
Begin VB.Label lblMHz
Caption = "MHz"
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Index = 0
Left = 4800
TabIndex = 8
Top = 1440
Width = 495
End
End
End
End
Attribute VB_Name = "frmFrequency"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub chkLoadBothDUTs_Click()
Dim cntr As Integer
If chkLoadBothDUTs.value = 1 Then
'Check to see if the DUTs are setup in different communication modes
If EvalBd.LSBFirstDUT1 <> EvalBd.LSBFirstDUT2 Then
MsgBox "To use this feature you must have both DUTs setup to receive" & vbCrLf & "the same data format (LSB First or MSB First).", vbApplicationModal + vbInformation, "Invalid Setting"
Else
'Make sure that you select the dut1 tab before disabling the dut2 tab
If sstChooseDUT.Tab = 1 Then
sstChooseDUT.Tab = 0
End If
'Disable the TAB for DUT2
sstChooseDUT.TabEnabled(1) = False
If Me.Visible = True Then
sstChooseDUT.Tab = 0
End If
'Syncronize the Registermap New values
For cntr = 4 To 6
With EvalBd
'Set DUT2's NewRegMapVals to DUT1's current RegMapVals
.sSetNewRegMapVal 2, cntr, .sGetRegMapVal(1, cntr)
End With
Next cntr
End If
Else
'Enable the TAB for DUT2
sstChooseDUT.TabEnabled(1) = True
'update form values here
RefreshControls
End If
End Sub
Public Sub cmdEditFreq_Click(Index As Integer)
Dim RegAddr As Integer
Dim DUTNum As Integer
'If the index is 0 or 1 then the DUT being programmed is DUT1
'otherwize assume it is DUT2
If Index = 0 Or Index = 1 Then
DUTNum = 0
Else
DUTNum = 1
End If
'Show the edit dialog
frmEditOutFreq.ShowEditDialog txtFreqDSP(Index), "Edit Output Frequency", frmControl.txtSysClkTxt(DUTNum)
'Set the focus to the load button
cmdLoad.SetFocus
'Setup the register address
If Index = 0 Or Index = 2 Then
RegAddr = &H4
Else
If Index = 1 Or Index = 3 Then
RegAddr = &H6
End If
End If
'Setup the DutNumber
If Index = 0 Or Index = 1 Then
DUTNum = 1
Else
DUTNum = 2
End If
'Set the registermap values
EvalBd.sSetNewRegMapVal DUTNum, RegAddr, cbaseDec2Bin(txtFreqDSP(Index).Tag, 32)
End Sub
Public Sub cmdEditPO_Click(Index As Integer)
'Show the edit dialog
frmEditPhaseOffset1.ShowEditDialog txtPhaseOffset(Index), frmControl.txtSysClkTxt(0)
If Index = 0 Then
'Update the New Values register map buffer
EvalBd.sSetNewRegMapVal 1, &H5, cbaseDec2Bin(txtPhaseOffset(Index).Tag, 16)
Else
'Update the New Values register map buffer
EvalBd.sSetNewRegMapVal 2, &H5, cbaseDec2Bin(txtPhaseOffset(Index).Tag, 16)
End If
'Set the focus to the load button
cmdLoad.SetFocus
End Sub
Public Sub cmdLoad_Click()
'Hourglass
Screen.MousePointer = 11
If chkLoadBothDUTs.value = 1 Then
With EvalBd
'Load Register 4 - FTW0
.SerialLoad 0, &H4, .sGetNewRegMapVal(1, &H4)
'Load Register 5 - POW0
.SerialLoad 0, &H5, .sGetNewRegMapVal(1, &H5)
'Load Register 6 - FTW1
.SerialLoad 0, &H6, .sGetNewRegMapVal(1, &H6)
'Update dut2 new regmapvals
.sSetNewRegMapVal 2, &H4, .sGetNewRegMapVal(1, &H4)
.sSetNewRegMapVal 2, &H5, .sGetNewRegMapVal(1, &H5)
.sSetNewRegMapVal 2, &H6, .sGetNewRegMapVal(1, &H6)
End With
Else
With EvalBd
'Load Register 4 - FTW0
.SerialLoad 1, &H4, .sGetNewRegMapVal(1, &H4)
'Load Register 5 - POW0
.SerialLoad 1, &H5, .sGetNewRegMapVal(1, &H5)
'Load Register 6 - FTW1
.SerialLoad 1, &H6, .sGetNewRegMapVal(1, &H6)
'Load Register 4 - FTW0
.SerialLoad 2, &H4, .sGetNewRegMapVal(2, &H4)
'Load Register 5 - POW0
.SerialLoad 2, &H5, .sGetNewRegMapVal(2, &H5)
'Load Register 6 - FTW1
.SerialLoad 2, &H6, .sGetNewRegMapVal(2, &H6)
End With
End If
'Hourglass
Screen.MousePointer = 0
End Sub
Public Sub RefreshControls()
Dim Freq0DUT1 As Variant
Dim PhaseOffsetDUT1 As Variant
Dim Freq1DUT1 As Variant
Dim Freq0DUT2 As Variant
Dim PhaseOffsetDUT2 As Variant
Dim Freq1DUT2 As Variant
'Read the frequency tunning word
txtFreqDSP(0).Tag = cbaseBinS2Dec(EvalBd.sGetNewRegMapVal(1, FTW0))
txtFreqDSP(1).Tag = cbaseBinS2Dec(EvalBd.sGetNewRegMapVal(1, FTW1))
txtPhaseOffset(0).Tag = cbaseBinS2Dec(EvalBd.sGetNewRegMapVal(1, POW0))
txtFreqDSP(2).Tag = cbaseBinS2Dec(EvalBd.sGetNewRegMapVal(2, FTW0))
txtFreqDSP(3).Tag = cbaseBinS2Dec(EvalBd.sGetNewRegMapVal(2, FTW1))
txtPhaseOffset(1).Tag = cbaseBinS2Dec(EvalBd.sGetNewRegMapVal(2, POW0))
'Update the display values from the values retreived
UpdateFormVals
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'Do not allow the user to close the window instead
'just hide it.
If UnloadMode = vbFormControlMenu Then
Cancel = 1
End If
Me.Hide
End Sub
Public Sub UpdateFormVals()
'Update the controls with the current TW
txtFreqDSP(0).Text = FormatOutFreq(DecTW2CarrierFreq(txtFreqDSP(0).Tag, frmControl.txtSysClkTxt(0).Text))
txtFreqDSP(1).Text = FormatOutFreq(DecTW2CarrierFreq(txtFreqDSP(1).Tag, frmControl.txtSysClkTxt(0).Text))
txtFreqDSP(2).Text = FormatOutFreq(DecTW2CarrierFreq(txtFreqDSP(2).Tag, frmControl.txtSysClkTxt(1).Text))
txtFreqDSP(3).Text = FormatOutFreq(DecTW2CarrierFreq(txtFreqDSP(3).Tag, frmControl.txtSysClkTxt(1).Text))
txtPhaseOffset(0).Text = Format(CalcPO(txtPhaseOffset(0).Tag), "0.000")
txtPhaseOffset(1).Text = Format(CalcPO(txtPhaseOffset(1).Tag), "0.000")
End Sub
Private Sub txtFreqDSP_Change(Index As Integer)
' 'Update the RAM / Linear Sweep Window
' frmRAMConfig.txtFreqDSP(Index).Text = txtFreqDSP(Index).Text
' frmRAMConfig.txtFreqDSP(Index).Tag = txtFreqDSP(Index).Tag
End Sub
Private Sub txtPhaseOffset_Change(Index As Integer)
' frmRAMConfig.txtPhaseOffset(Index).Text = txtPhaseOffset(Index).Text
' frmRAMConfig.txtPhaseOffset(Index).Tag = txtPhaseOffset(Index).Tag
End Sub
Public Sub PowerDownForm(ByVal DUTNum As Integer, ByVal bPowDwn As Boolean)
Dim cntr As Integer
'Make sure that dutnum is either 1 or 2
If DUTNum <> 1 Then
DUTNum = 2
End If
If DUTNum = 1 Then
lblFrequency0(0).Enabled = Not bPowDwn
lblPhaseOffset(0).Enabled = Not bPowDwn
cmdEditFreq(0).Enabled = Not bPowDwn
cmdEditPO(0).Enabled = Not bPowDwn
txtFreqDSP(0).Enabled = Not bPowDwn
txtPhaseOffset(0).Enabled = Not bPowDwn
lblMHz(4).Enabled = Not bPowDwn
lblMHz(5).Enabled = Not bPowDwn
fraFreqTW(0).Enabled = Not bPowDwn
If HasLinearSweep(DUTNum - 1) Then
lblFreq1(0).Enabled = Not bPowDwn
txtFreqDSP(1).Enabled = Not bPowDwn
cmdEditFreq(1).Enabled = Not bPowDwn
lblMHz(0).Enabled = Not bPowDwn
End If
Else
lblFrequency0(1).Enabled = Not bPowDwn
lblPhaseOffset(1).Enabled = Not bPowDwn
cmdEditFreq(2).Enabled = Not bPowDwn
cmdEditPO(1).Enabled = Not bPowDwn
txtFreqDSP(2).Enabled = Not bPowDwn
txtPhaseOffset(1).Enabled = Not bPowDwn
lblMHz(6).Enabled = Not bPowDwn
lblMHz(7).Enabled = Not bPowDwn
fraFreqTW(1).Enabled = Not bPowDwn
If HasLinearSweep(DUTNum - 1) Then
lblFreq1(1).Enabled = Not bPowDwn
cmdEditFreq(3).Enabled = Not bPowDwn
txtFreqDSP(3).Enabled = Not bPowDwn
lblMHz(1).Enabled = Not bPowDwn
End If
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -