Hello,
A bit late, there is a Libusb [1] binding (using UFFI) and support for the Human Interface Device [2] (that uses the binding but is written in pure Smalltalk) for Pharo. Everything is on the github repository [3]. « Install » and « Quick start » sections give you all you need to start using the project. One could also have a look at the wiki [4]. It works on Linux but hasn’t been tested on Mac OS nor Windows (it should work since libusb library works on these platforms). Do not forget to install the 32 bits versions of libusb on your computer. The purpose of this library is to provide the ability to use USB devices directly from Pharo. For example, one could get data from a PS3 controller, a mouse, a keyboard, an Arduino device, etc… Cheers, Julien PS: I realised this project during an internship in TaMère SCRL company [5]. Thanks to them! Links: [1]: http://libusb.info [5]: http://tamere.eu
|
Nice!!! Thanks for sharing :) On Thu, Oct 12, 2017 at 1:29 PM, Julien <[hidden email]> wrote:
|
In reply to this post by Julien Delplanque-2
Very cool. Would that be doable to adapt for a 64bits version?
Thierry 2017-10-12 13:29 GMT+02:00 Julien <[hidden email]>:
|
In reply to this post by Guillermo Polito
You’re welcome! :-)
|
In reply to this post by Thierry Goubier
Normally, it should be possible.
Libusb can be compiled for 64bits architectures. I don’t know if it changes something in the UFFI binding side? Julien
|
On Thu, Oct 12, 2017 at 2:49 PM, Julien <[hidden email]> wrote:
It should not, besides the library's location. And, if you find a case where the binding does not work on 64 bits it is either: - a UFFI bug in the type mappings (e.g., a wrong mapping between a type name and the correct 32/64 bit size and marshalling) - or a bug in the bindings using the wrong types (e.g., using long instead of void*)
|
2017-10-12 15:05 GMT+02:00 Guillermo Polito <[hidden email]>:
That was the first hurdle. Easily solved.
And the first FFI call fails (the lib init). Thierry
|
In reply to this post by Julien Delplanque-2
2017-10-12 13:29 GMT+02:00 Julien <[hidden email]>:
Cool project.
And did you use it for these kind of devices? Or anything else?
|
There is an example with an HID mouse on the wiki https://github.com/tamerescrl/libusb-pharo/wiki/Get-and-parse-HID-reports I managed to get data from a PS3 controller but I can not find my code anymore, I think I lost it. It was not that hard to do, I may re-do it one day and write a small tutorial. The only problem with PS3 controller is that the HID descriptor is hidden (you have to get it from the internet, it is not stored in the device). Julien
|
Hi Julien I will read the small tutorial for sure.
I have many PS3 paddle at home waiting for it. Stef On Thu, Oct 12, 2017 at 3:34 PM, Julien <[hidden email]> wrote: > > >> >> >> For example, one could get data from a PS3 controller, a mouse, a >> keyboard, an Arduino device, etc… > > > And did you use it for these kind of devices? Or anything else? > > > There is an example with an HID mouse on the wiki > https://github.com/tamerescrl/libusb-pharo/wiki/Get-and-parse-HID-reports > > I managed to get data from a PS3 controller but I can not find my code > anymore, I think I lost it. > > It was not that hard to do, I may re-do it one day and write a small > tutorial. > > The only problem with PS3 controller is that the HID descriptor is hidden > (you have to get it from the internet, it is not stored in the device). > > Julien |
Free forum by Nabble | Edit this page |