PicoScope 7 Software
Available on Windows, Mac and Linux
Code: Select all
Option Explicit
Declare Function usb_tc08_set_channel Lib "c:\usbtc08.dll" (ByVal handle As Integer, ByVal channel As Integer, ByVal tc_type As Byte) As Integer
Declare Function usb_tc08_run Lib "c:\usbtc08.dll" (ByVal handle As Integer, ByVal interval_ms As Long) As Long
Declare Function usb_tc08_get_temp Lib "c:\usbtc08.dll" (ByVal handle As Integer, ByRef temp_buffer As Single, ByRef times_ms_buffer As Long, ByVal buffer_length As Long, ByRef overflow, ByVal channel As Integer, units As Integer, ByVal fill_missing As Integer) As Long
Declare Function usb_tc08_get_temp_deskew Lib "c:\usbtc08.dll" (ByVal handle As Integer, ByRef temp_buffer As Single, ByRef times_ms_buffer As Long, ByVal buffer_length As Long, ByRef overflow, ByVal channel As Integer, ByVal units As Integer, ByVal fill_missing As Integer) As Long
Declare Function usb_tc08_get_single Lib "c:\usbtc08.dll" (ByVal handle As Integer, ByRef temp As Single, ByRef overflow_flags, ByVal units As Integer) As Long
'==========================================================================
' Shared API Calls
' These functions are designed for use with the USB TC08,
' however, they can (and should) still be used with the legacy API calls
'===========================================================================*/
Declare Function usb_tc08_open_unit Lib "c:\usbtc08.dll" () As Integer
Declare Function usb_tc08_close_unit Lib "c:\usbtc08.dll" (ByVal handle As Integer) As Integer
Declare Function usb_tc08_stop Lib "c:\usbtc08.dll" (ByVal handle As Integer) As Integer
Declare Function usb_tc08_set_mains Lib "c:\usbtc08.dll" (ByVal handle As Integer, ByVal sixty_hertz As Integer) As Integer
Declare Function usb_tc08_get_minimum_interval_ms Lib "c:\usbtc08.dll" (ByVal handle As Integer) As Long
Declare Function usb_tc08_get_formatted_info Lib "c:\usbtc08.dll" (ByVal handle As Integer, ByVal unit_info As String, ByVal string_length As Integer) As Integer
Declare Function usb_tc08_get_unit_info2 Lib "c:\usbtc08.dll" (ByVal handle As Integer, ByVal info As String, ByVal string_length As Integer, ByVal line_no As Integer) As Integer
Declare Function usb_tc08_get_last_error Lib "c:\usbtc08.dll" (ByVal handle As Integer) As Integer
'====================================================================
' Legacy API Calls
' Provided to aid backwards compatibility with code written
' for old TC08 Units (differences exist).
' These functions should not be used in new code and are
' deprecated for removal in a future version of the driver.
'=====================================================================
Declare Function usb_tc08_legacy_run Lib "c:\usbtc08.dll" (ByVal handle As Integer) As Integer
Declare Function usb_tc08_legacy_set_channel Lib "c:\usbtc08.dll" (ByVal handle As Integer, ByVal channel As Integer, ByVal tc_type As Integer, ByVal filter_factor As Integer, ByVal offset As Integer, ByVal slope As Integer) As Integer
Declare Function usb_tc08_legacy_get_temp Lib "c:\usbtc08.dll" (ByVal handle As Integer, ByRef temp As Long, ByVal channel As Integer, ByVal filtered As Integer) As Integer
Declare Function usb_tc08_legacy_get_cold_junction Lib "c:\usbtc08.dll" (ByVal handle As Integer, ByRef temp As Long) As Integer
Declare Function usb_tc08_legacy_get_driver_version Lib "c:\usbtc08.dll" () As Integer
Declare Function usb_tc08_legacy_get_version Lib "c:\usbtc08.dll" (ByVal handle As Integer, ByRef version As Integer) As Integer
Declare Function usb_tc08_legacy_get_cycle Lib "c:\usbtc08.dll" (ByRef cycle As Long, ByVal handle As Integer) As Integer
Option Explicit
Dim tc08_handle As Integer
Dim in_timer As Integer
Private Sub Close_Click()
If (tc08_handle > 0) Then
usb_tc08_close_unit (tc08_handle)
tc08_handle = 0
txtComments.Text = "TC-08 closed"
End If
End Sub
Private Sub Open_Click()
Dim ok As Integer
Dim usbtc08Info As String * 80
If (tc08_handle < 1) Then
txtComments.Text = "Opening TC-08"
txtComments.Refresh
tc08_handle = usb_tc08_open_unit()
If (tc08_handle > 0) Then
ok = usb_tc08_get_unit_info2(tc08_handle, usbtc08Info, 80, 4)
txtComments.Text = "USBTC-08 Opened " + "Serial: " + usbtc08Info
Call usb_tc08_set_mains(tc08_handle, True)
ok = usb_tc08_set_channel(tc08_handle, 0, Asc("K"))
ok = usb_tc08_set_channel(tc08_handle, 1, Asc("K"))
ok = usb_tc08_set_channel(tc08_handle, 2, Asc("K"))
ok = usb_tc08_set_channel(tc08_handle, 3, Asc("K"))
ok = usb_tc08_set_channel(tc08_handle, 4, Asc("K"))
ok = usb_tc08_set_channel(tc08_handle, 5, Asc("K"))
ok = usb_tc08_set_channel(tc08_handle, 6, Asc("K"))
ok = usb_tc08_set_channel(tc08_handle, 7, Asc("K"))
ok = usb_tc08_set_channel(tc08_handle, 8, Asc("K"))
Else
If (tc08_handle = 0) Then
txtComments.Text = "Unable to open TC-08"
Else
txtComments.Text = "Error Code: " & usb_tc08_get_last_error(0)
End If
End If
End If
End Sub
Private Sub Timer1_Timer()
ReDim temp_buffer(9) As Single
Dim overflow_flag As Integer
Dim ok As Integer
If (tc08_handle > 0) Then
If (Not in_timer) Then
in_timer = True
ok = usb_tc08_get_single(tc08_handle, temp_buffer(0), overflow_flag, 0)
If (ok) Then
txtCJC.Text = temp_buffer(0)
txtChannel1.Text = temp_buffer(1)
txtChannel2.Text = temp_buffer(2)
txtChannel3.Text = temp_buffer(3)
txtChannel4.Text = temp_buffer(4)
txtChannel5.Text = temp_buffer(5)
txtChannel6.Text = temp_buffer(6)
txtChannel7.Text = temp_buffer(7)
txtChannel8.Text = temp_buffer(8)
End If
in_timer = False
End If
End If
End Sub