VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "Demo :  Analog out for 7021"
   ClientHeight    =   4710
   ClientLeft      =   1515
   ClientTop       =   1875
   ClientWidth     =   6900
   BeginProperty Font 
      Name            =   "MS Sans Serif"
      Size            =   9.75
      Charset         =   0
      Weight          =   400
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   LinkMode        =   1  'Source
   LinkTopic       =   "Form1"
   PaletteMode     =   1  'UseZOrder
   ScaleHeight     =   4710
   ScaleWidth      =   6900
   Begin VB.TextBox analogoutText 
      Height          =   360
      Left            =   4800
      TabIndex        =   13
      Text            =   "0.0"
      Top             =   2160
      Width           =   1812
   End
   Begin VB.Frame Frame1 
      Caption         =   "Setting I-7000 Configuration  "
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   9.75
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   2412
      Left            =   120
      TabIndex        =   4
      Top             =   2160
      Width           =   3972
      Begin VB.Frame Frame3 
         Caption         =   "CheckSum"
         Height          =   732
         Left            =   360
         TabIndex        =   10
         Top             =   1440
         Width           =   3132
         Begin VB.OptionButton chksumOption 
            Caption         =   "Disable"
            Height          =   372
            Index           =   1
            Left            =   1440
            TabIndex        =   12
            Top             =   240
            Value           =   -1  'True
            Width           =   1332
         End
         Begin VB.OptionButton chksumOption 
            Caption         =   "Enable"
            Height          =   372
            Index           =   0
            Left            =   240
            TabIndex        =   11
            Top             =   240
            Width           =   1332
         End
      End
      Begin VB.ComboBox comCombo 
         Height          =   336
         ItemData        =   "Form1.frx":0000
         Left            =   360
         List            =   "Form1.frx":0010
         TabIndex        =   6
         Text            =   "COM1"
         Top             =   600
         Width           =   1332
      End
      Begin VB.ComboBox baudCombo 
         Height          =   336
         ItemData        =   "Form1.frx":002C
         Left            =   2160
         List            =   "Form1.frx":0048
         TabIndex        =   5
         Text            =   "9600"
         Top             =   600
         Width           =   1332
      End
      Begin VB.Label Label3 
         Caption         =   "COM Port:"
         Height          =   372
         Left            =   360
         TabIndex        =   8
         Top             =   360
         Width           =   1332
      End
      Begin VB.Label Label4 
         Caption         =   "Baud Rate:"
         Height          =   372
         Left            =   2160
         TabIndex        =   7
         Top             =   360
         Width           =   1212
      End
   End
   Begin VB.TextBox addressText 
      Height          =   360
      Left            =   4800
      TabIndex        =   3
      Text            =   "2"
      Top             =   1200
      Width           =   1812
   End
   Begin VB.CommandButton Command1 
      Caption         =   "Analog Out"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   12
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   612
      Left            =   4800
      TabIndex        =   1
      Top             =   2880
      Width           =   1812
   End
   Begin VB.CommandButton exitCmd 
      Caption         =   "E&xit"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   13.5
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   612
      Left            =   4800
      TabIndex        =   0
      Top             =   3960
      Width           =   1812
   End
   Begin VB.Label Label2 
      Caption         =   "Counter=0   The Analog output:"
      Height          =   492
      Left            =   240
      TabIndex        =   15
      Top             =   360
      Width           =   3972
   End
   Begin VB.Label Label1 
      Caption         =   "Analog Output Value:"
      Height          =   252
      Left            =   4800
      TabIndex        =   14
      Top             =   1920
      Width           =   2052
   End
   Begin VB.Label Label8 
      Caption         =   "COM Port:"
      Height          =   372
      Left            =   720
      TabIndex        =   9
      Top             =   3720
      Width           =   1332
   End
   Begin VB.Label Label6 
      Caption         =   "Module Address[Hex]:"
      Height          =   252
      Left            =   4800
      TabIndex        =   2
      Top             =   960
      Width           =   2052
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command2_Click()
    Close (Port)
End Sub

Private Sub baudCombo_Click()
    ConfigChange = 1
    If COMOpen > 0 Then
        Close_Com (Port)
    End If
End Sub


Private Sub chksumOption_Click(Index As Integer)
    ConfigChange = 1
    If COMOpen > 0 Then
        Close_Com (Port)
    End If
End Sub


Private Sub comCombo_Click()
    ConfigChange = 1
    If COMOpen > 0 Then
        Close_Com (Port)
    End If
End Sub


Private Sub Command1_Click()
    
      
    SendTo7000 = Space(100)
    ReceiveFrom7000 = Space(100)
    
    If COMOpen = 0 Or ConfigChange > 0 Then
        OpenCom
    End If
      
      
    w7000(0) = comCombo.ListIndex + 1 ' COM Port
    
    w7000(1) = Val("&H" & addressText.Text) ' Module Address
 
    w7000(2) = &H7021
    
    If chksumOption(0).Value Then
        w7000(3) = 1       ' CheckSum Enable
    Else
        w7000(3) = 0
    End If
    
    w7000(4) = 100     ' TimeOut = 0.1 second
 
    w7000(5) = 0       ' channel no
    w7000(6) = 1       ' string debug
    
    f7000(0) = Val(analogoutText.Text)
    Ret = AnalogOut(w7000(0), f7000(0), SendTo7000, ReceiveFrom7000)
    
    If Ret <> 0 Then
           Beep
           A$ = "The Error Code:" + Str$(Ret)
           MsgBox A$, 0, "AnalogOut() error !!!"
           Close_Com (Port)
           End
    End If
     
    Counter = Counter + 1
    A$ = "Counter=" + Str$(Counter)
    A$ = A$ + "  The Analog Output value:" + Format$(f7000(0), "0.###")
    Label2.Caption = A$
    Beep
  End Sub

Private Sub exitCmd_Click()
  '------- CLOSE_COM -------------------------
    If COMOpen > 0 Then
        Close_Com (Port)
    End If
    End
End Sub

Private Sub Form_Load()
    comCombo.ListIndex = 1
    baudCombo.ListIndex = 2
    DataBit = 8    ' 8 data bit
    Parity = 0     ' Non Parity
    StopBit = 0    ' One Stop Bit
    COMOpen = 0
    Index = 0
    Counter = 0
    ConfigChange = 0
   End Sub

Private Sub Form_Unload(Cancel As Integer)
    If COMOpen > 0 Then
        Close_Com (Port)
    End If
End Sub



Private Sub runCmd_Click()
    Dim length As Integer
    Dim A$
    Dim i As Long
    Dim Cmd As String
    Dim Buf As String
    Dim Ret, status As Integer
  
    'Cmd = Space(80)
    'Buf = Space(80)
    
    Cmd = "                         "
    Buf = "                         "
    
    If COMOpen = 0 Then
         OpenCom
    End If

   
    Cmd = commandText.Text
       
    'Ret = Send_Cmd(Port, Cmd, 1000, 0)
    'If Ret > 0 Then
    '    Beep
    '    A$ = "The Error Code:" + Str$(Ret)
    '    MsgBox A$, 0, "SEND_CMD error !!!"
    '    End
    'End If
   
    '------- READ_COM_STATUS --------------
    For i = 0 To 300000
        Ret = Read_Com_Status(Port, Buf, status)
        Ret = Ret And &H300
        If Ret <> 0 Then
           Exit For
        End If
    Next
    
    
    receiveText.Text = Buf
    Beep
    '------------------------------------------
   
End Sub







Public Function OpenCom()
    Dim A$, B$
    Dim i, Response, RetValue As Integer
    Dim Cmd As String
    
    Cmd = Space(80)
    
 
    A$ = Space(80)
    B$ = Space(80)
    Port = comCombo.ListIndex + 1
        
    ' decide the baud rate
    Select Case baudCombo.ListIndex
        Case 0
             BaudRate = 115200
        Case 1
             BaudRate = 57600
        Case 2
             BaudRate = 38400
        Case 3
             BaudRate = 19200
        Case 4
             BaudRate = 9600
        Case 5
             BaudRate = 4800
        Case 6
             BaudRate = 2400
        Case 7
             BaudRate = 1200
    End Select
        
      
    RetValue = Open_Com(Port, BaudRate, DataBit, Parity, StopBit)
    If RetValue > 0 Then
        Beep
        Response = MsgBox("Quit this demo?", vbYesNo, "OPEN_COM Error Code:" + Str(RetValue))
        If Response = vbYes Then
              'Close_Com (Port)
        End
        End If
    End If
  
    'Cmd = "~**"
    'Ret = Send_Cmd(Port, Cmd, 1000, 0)
    'If Ret > 0 Then
    '    Beep
    '    A$ = "The Error Code:" + Str$(Ret)
    '    MsgBox A$, 0, "SEND_CMD error !!!"
    '    End
    'End If

    COMOpen = 1
    ConfigChange = 0
End Function

