⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmfrequency.frm

📁 AD9954源码
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         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 + -