This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

USB-TO-GPIO: _____ SMB-to-GPIO. dll _____ & _____ Example VB code

Part Number: USB-TO-GPIO, TUSB3210

Hello All

This post is dedicated to all the necrophiles who love to create projects in the language of dead dinosaurs.
If you haven’t guessed what language I’m talking about, this is the VB6 programming language.
After a lengthy search for the original library for managing USB-TO-GPIO, and not finding one on the Internet, I decided to create my own.
So:
I present to all the abaldenny library !
Drum roll, spotlights in the studio !

  • SMB-to-GPIO.dll

 

This software and library is designed to organize communication between your VB project and the USB-to-GPIO TexasInstruments module.

Supported versions of USB-to-GPIO FirmWare
====================================

  • 1.0.10
  • 2.0.19

 

 

List of DLL functions:
=====================

	GPIO_FW_VER_Read(iDevFWver As String, iVendorID As String, iProductID As String) As Long
		
	GPIO_EEPROM_Read(DevFWVer As String, DEEPROM() As Byte) As Long
	
	GPIO_EEPROM_Write(DevFWVer As String, DEEPROM() As Byte) As Long
	
	GPIO_ReadI2CBlock(iCmd As Integer, DataArray() As Byte, iNumBytesRd As Integer, nTargetID As Integer) As Long
	
	GPIO_WriteI2CBlock(iCmd As Integer, DataArray() As Byte, iNumBytesWr As Integer, nTargetID As Integer) As Long
	
	GPIO_SendSMBusByte(DataL As Long, nTargetID As Integer) As Long
	
	GPIO_WriteSMBusByte(iCmd As Integer, DataL As Long, nTargetID As Integer) As Long
	
	GPIO_WriteSMBusWord(iCmd As Integer, DataH As Long, DataL As Long, nTargetID As Integer) As Long
	
	GPIO_WriteSMBusBlock(iCmd As Integer, DataArray() As Byte, iNumBytesWr As Integer, nTargetID As Integer) As Long
	
	GPIO_ReceiveSMBusByte(DataB As Long, nTargetID As Integer) As Long
	
	GPIO_ReadSMBusByte(iCmd As Integer, DataB As Long, nTargetID As Integer) As Long
	
	GPIO_ReadSMBusWord(iCmd As Integer, DataH As Long, DataL As Long, nTargetID As Integer) As Long
	
	GPIO_ReadSMBusBlock(iCmd As Integer, DataArray() As Byte, iNumBytesRd As Integer, nTargetID As Integer) As Long
	
	GPIO_WriteReadI2CBlock(iCmd As Integer, DataArrayW() As Byte, DataArrayR() As Byte, _
	                       iNumBytesWr As Integer, iNumBytesRd As Integer, nTargetID As Integer) As Long
	
	GPIO_WriteReadSMBusBlock(iCmd As Integer, DataArrayW() As Byte, DataArrayR() As Byte, _
	                       iNumBytesWr As Integer, iNumBytesRd As Integer, nTargetID As Integer) As Long
	
	GPIO_ProcessCall(iCmd As Integer, wDataH As Long, wDataL As Long, rDataH As Long, rDataL As Long, nTargetID As Integer) As Long
	
	GPIO_ReadWriteP0Line(DataA As Byte, DataB As Byte) As Long
	
	GPIO_SetP0Line(DataB As Byte) As Long
	
	GPIO_GetP0Line(DataB As Byte) As Long
	
	GPIO_GetPMBusLine(DataB As Byte) As Long
	
	GPIO_SetPMBusLine(DataB As Byte) As Long
	
	GPIO_SetP1Line(DataA As Byte, DataB As Byte, DataC As Byte) As Long
	
	GPIO_Test() As Long
	
	GPIO_CheckSdaSclIfError() As Long

PEC_Control
==========
For SMB functions PEC is available.
If nTargetID is even => PEC Off.
If nTargetID is not even => PEC On.

The attached archive contains an example of source code for creating a project using SMB-to-GPIO.dll and Firmware EEPROM files for USB-TO-GPIO.

SMB-to-GPIO_28c.zip