Jump to content

MPUSBAPI.DLL (help!)

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
2 replies to this topic

#1
Oceano2012

Oceano2012

    Newbie

  • Members
  • Pip
  • 3 posts
Hello!

How to translate to FreeBasic DLL (microchip) "mpusbapi.dll? I'm interested only five basic functions of the 10 he has:

* MPUSBOpen
* MPUSBRead
* MPUSBWrite
* MPUSBClose
* MPUSBGetDeviceCount

I tried to do the translations of VB or C++ to FreeBasic but without success:


Cls


Const MPUS_FAIL         = 0

Const MPUSB_SUCCESS     = 1

Const MP_WRITE          = 0

Const MP_READ           = 1

Const MAX_NUM_MPUSB_DEV = 127


Const Vid_Pid = "VID_04D8&PID_000A"

Const Outpipe = "\\MCHP_EP3"

Const Inppipe = "\\MCHP_EP3"


Dim As UInteger MyInpPipe

Dim As UInteger MyOutPipe


Dim As Integer  Count


Dim As Any Ptr  hLib


hLib = DylibLoad( "mpusbapi.dll" )

If hLib = 0 Then End


Dim Version As Function () As UInteger

Dim OpenUSB As Function ( ByVal As UInteger, ByVal As String, ByVal As String, ByVal As UInteger, ByVal As UInteger) As Integer

Dim ClosUSB As Function ( ByVal As String ) As Integer

Dim DevCont As Function ( ByVal As String ) As Integer


Version = DyLibSymbol( hLib, "_MPUSBGetDLLVersion" )

OpenUSB = DyLibSymbol( hLib, "_MPUSBOpen" )

ClosUSB = DyLibSymbol( hLib, "_MPUSBClose" )

DevCont = DyLibSymbol( hLib, "_MPUSBGetDeviceCount" )


Count = DevCont(Vid_Pid)


If (Count > 0) Then

	MyOutPipe = OpenUSB( 0, Vid_Pid, Outpipe, MP_WRITE, 0 )

	MyInpPipe = OpenUSB( 0, Vid_Pid, Inppipe, MP_READ,  0 )

Else

	Print "Failed to open data pipes.!"

	Sleep

	End

EndIf


ClosUSB ( Outpipe )


Sleep


End



#2
Oceano2012

Oceano2012

    Newbie

  • Members
  • Pip
  • 3 posts
Problem solved here:

freebasic.net :: View topic - GetDeviceCount = System error! (MPUBSAPI.DLL) [Solved!]

#3
Oceano2012

Oceano2012

    Newbie

  • Members
  • Pip
  • 3 posts
Problem solved with a practical example here:

freebasic.net :: View topic - Contribution: A simple example of MPUSBAPI with FreeBasic