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-GPIO2: User's Guide lacks detail of previous USB-TO-GPIO module

Part Number: USB-TO-GPIO2

We developed python code to communicate with the USB-TO-GPIO module based on section 3 "Firmware Programming and Communications Protocol" of the User's Guide for that module (SLLU093).  We would like to do the same with the new USB-TO-GPIO2 module.  We attempted to use the new module with our original code but their appears to be some incompatibilities.  For example we have code that reads the FW version from the original USB-TO-GPIO per section 3.2 of SLLU093.  This does not work with the new USB-TO-GPIO2 module.  The User's Guide for the USB-TO-GPIO2 module (SLLU349) does not contain any information like what is in section 3 of the original modules user guide so we don't have any way to determine how to change our code to work with it.

Is there any place to get the type of information that is in Section 3 of SLLU093 but that pertains to the new USB-TO-GPIO2 module?

  • Note we do recognize that the VID and PID of the new GPIO2 module are also different than the original GPIO module, and have accounted for that.  We believe we are connected to the new module successfully, but that the details of the commands in Section 3 have changed for the new GPIO2 module.

  •  

    Let me look to see what we have for those programing details that we can make public.

  •  

    The USB-TO-GPIO2 interface adapter is vastly different internally than the USB-TO-GPIO adapter was.  It is built around a different embedded processor following the end of life of the core embedded processor used in the original UBS-TO-GPIO adapter, so it is likely that the code changes required will be significant.

    We do not have a public document covering the programming of the USB-TO-GPIO2 adapter immediately available, but are working on converting our internal documentation into a publicly publishable form.  If you are willing to share how you are using the USB-TO-GPIO2 adapter, that may help as well.

  • Thanks Peter, 

    We currently interact with the GPIO device it in Python with Python hidapi, using the details provided in section 3 of its user guide to know what to send to it.

    I installed the Fusion stuff and I see the "SMBus & I2C & SAA Debug Tool".  That seems to see the attached GPIO2 device.  It says the devices address is 0x0B, and under SAA Settings that the USB Adapter FW Version is 2.1.0.0

    I hypothesized that this tool is probably talking to the device through one of the "APIs" described in the documentation (.NET or COM APIs).  So I started to look at if I can use the .NET API from python with pythonnet.

    I think I have done this successfully as far as loading the dll in python, but when I use the Discover() method, it returns 0 indicating it is not finding any devices....

    Here is my Python code.  At the end, n=0 ....

    import sys
    #directory with TIDP.SAA.dll
    sys.path.append('C:\\Windows\\Microsoft.NET\\assembly\\GAC_MSIL\\TIDP.SAA\\v4.0_3.0.8.15626__4ce2ce38201aeb82')

    import clr
    clr.AddReference("TIDP.SAA")
    from TIDP.SAA import TIBusAdapters

    Adapters = TIBusAdapters()

    n = Adapters.Discover()

  •  

    I appreciate the details.  Thank you.  I will see what I can find to help you.

  •  

    The USB-TO-GPIO2 uses a different API than the USB-TO-GPIO, and we have not released that API to the public yet.  I do not have a schedule for making that API public or releasing the communications details using the USB-TO-GPIO2 and it's API.