What is camlusb?

Camlusb is an Ocaml binding to libusb.

Libusb is a portable library to access USB devices in user space, available for various operating systems.

The aim of this project is allowing to call libusb functions from the Objective Caml programming language.
Camlusb is been developed using camlidl for the interface between C and Ocaml.

Project's goals are:
  1. To develop a library that is as close as I can to the libusb interface.

  2. To develop a second, higher level, interface that makes better use of the Ocaml possibilities.

At the moment camlusb supports all functions in the 0.1.7 libusb version, but I could test only few of these. See the documentation for more info.

A number of higher level functions is also available.

Is it really possible to communicate with hardware on linux without C?

Yes it is, in fact camlusb is being used in the gnudap project.

May I help?

Yes, you may :) Just audit the IDL code, checking if the types of all functions are right - I don't know too much about USB, just learned what I needed to make my mp3 player work. The IDL file is really short, and contains only function prototypes, so this is an easy task that would really prove useful.