| 
 
| 
|  Author | Topic: USB HID  (Read 1816 times) |  |  
| 
| 
| wyzeowl New Member
 
 
 member is offline
 
  
 
 
 
 
  
 
 Posts: 5
 
 | 
|  | USB HID « Thread started on: Oct 26th, 2010, 5:20pm »
 |  |  Hi Folks
 I need to communicate with a usb HID. can anyone point me in the right direction.
 Cheers
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| admin Administrator
 
 
 member is offline
 
  
 
 
 
 
  
 
 Posts: 1145
 
 | 
|  | Re: USB HID « Reply #1 on: Oct 26th, 2010, 9:53pm »
 |  |  on Oct 26th, 2010, 5:20pm, wyzeowl  wrote:
 | | I need to communicate with a usb HID. | 
 | 
 The way I know it's been done successfully is by using this DLL:
 
 http://www.kadtronix.com/usbhidapi.htm
 
 Unfortunately it's not free (it costs $39) but I'm reliably informed it makes the task very easy.
 
 In principle you can probably do it directly from BB4W code, but I'm not aware of anybody having achieved it.
 
 Richard.
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| dynamic35 New Member
 
 
 member is offline
 
  
 
 
 
 
  
 Gender:
  Posts: 34
 
 | 
|  | Re: USB HID / USB Silicon lab « Reply #2 on: Mar 30th, 2011, 9:21pm »
 |  |  I have seen VB declaration:
 Public Declare Function SI_Open Lib "SiUSBXp.dll" (ByVal dwDevice As UInt32, ByRef cyHandle As UInt32) As Integer
 
 I can use BBC to read serial real time information along COM1...COM19  (thanks to many examples, advices by Richard in many discussions and manuals etc.)  However, I am unable to read and write  in my BBC4w program any information that moves in or out via my PC's  USB port
 
 That Siusbxp.dll ,I have in my pc now. How to change that VB statement  into suitable format in BBC4w?
 Rgs from Finland
 
 
 
 
 
 |  
| 
| « Last Edit: Mar 30th, 2011, 9:24pm by dynamic35 » |  Logged |  
 |  |  |  
| 
| 
| admin Administrator
 
 
 member is offline
 
  
 
 
 
 
  
 
 Posts: 1145
 
 | 
|  | Re: USB HID / USB Silicon lab « Reply #3 on: Mar 30th, 2011, 9:45pm »
 |  |  on Mar 30th, 2011, 9:21pm, dynamic35  wrote:
 | | I have seen VB declaration: Public Declare Function SI_Open Lib "SiUSBXp.dll" (ByVal dwDevice As UInt32, ByRef cyHandle As UInt32) As Integer
 How to change that VB statement  into suitable format in BBC4w?
 | 
 | 
 Code:
       SYS "LoadLibrary", "SiUSBXp.dll" TO siusbxp%
      SYS "GetProcAddress", siusbxp%, "SI_Open" TO SI_Open Alternatively you can use Jon Ripley's LoadDLL library to do the same thing more neatly:
 
 Code:
       SI_Open = FN_LoadDLL("SiUSBXp.dll","SI_Open") In either case you would call the function as follows:
 
 Code:
       SYS SI_Open, dwDevice%, ^cyHandle% TO result% Richard.
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| dynamic35 New Member
 
 
 member is offline
 
  
 
 
 
 
  
 Gender:
  Posts: 34
 
 | 
|  | Re: USB HID « Reply #4 on: Mar 30th, 2011, 9:48pm »
 |  |  THank you again very much..
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| dynamic35 New Member
 
 
 member is offline
 
  
 
 
 
 
  
 Gender:
  Posts: 34
 
 | 
|  | Re: USB HID « Reply #5 on: Apr 4th, 2011, 9:32pm »
 |  |  on Mar 30th, 2011, 9:48pm, dynamic35  wrote:
 | | THank you again very much.. | 
 | 
 This another finding from internet below is more  complicated. How could this be written in BBC Basic?
 
 Private Declare Function  SI_Write Lib "SiUSBXp.dll" (ByVal handle As Long, ByVal Buffer As Long, ByVal NumBytesToWrite As Long, ByRef NumBytesWritten As Long) As Long
 
 So I am trying to use an usb port instead of classical COM1  that was opened for random binary input output
 19200, 8,N,1   . Silicon Labs driver
 
 Rgs d mic
 
 Ref discussions from
 http://www.cygnal.org/ubb/Forum9/HTML/000811.html
 |  
| 
| « Last Edit: Apr 4th, 2011, 9:35pm by dynamic35 » |  Logged |  
 |  |  |  
| 
| 
| admin Administrator
 
 
 member is offline
 
  
 
 
 
 
  
 
 Posts: 1145
 
 | 
|  | Re: USB HID « Reply #6 on: Apr 4th, 2011, 9:43pm »
 |  |  on Apr 4th, 2011, 9:32pm, dynamic35  wrote:
 | | How could this be written in BBC Basic? Code:
 Private Declare Function  SI_Write Lib "SiUSBXp.dll" (ByVal handle As Long, ByVal Buffer As Long, ByVal NumBytesToWrite As Long, ByRef NumBytesWritten As Long) As Long 
 | 
 | 
 To call that function in BBC BASIC you would do:
 
 Code:
 SYS SI_Write, handle%, Buffer%, NumBytesToWrite%, ^NumBytesWritten% TO result% (having previously set Buffer% to point to the data to be written).
 
 Richard.
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| dynamic35 New Member
 
 
 member is offline
 
  
 
 
 
 
  
 Gender:
  Posts: 34
 
 | 
|  | Re: USB HID « Reply #7 on: Apr 10th, 2011, 7:40pm »
 |  |  The CP210x USB to UART Bridge Virtual COM Port (VCP) drivers are required for device operation as a Virtual COM Port to facilitate host communication with CP210x products. The command like this
 port% = OPENUP("COM3: baud=19200 parity=N data=8 stop=1")
 works well then if a serial equipment is pushed into an USB 'hole' in a PC.
 
 In my Xp there must be found then- under  device manager /system- COM & LPT port a following driver:
 Silicon Labs CP210X USB Uart Bridge (COM 3)
 
 My question is how to put/call  into a BBC Basic program  that Silicon labs driver?
 cp2010x. manufacturing.dll such that the user has no need to install him/herself the driver under his/her system?
 |  
| 
|  |  Logged |  
 |  |  |  
 |