https://github.com/lipp/lualibusb
the unmodified lualibusb 1.0 brought to github with rockspec
https://github.com/lipp/lualibusb
Last synced: 6 months ago
JSON representation
the unmodified lualibusb 1.0 brought to github with rockspec
- Host: GitHub
- URL: https://github.com/lipp/lualibusb
- Owner: lipp
- License: other
- Created: 2012-03-12T11:07:48.000Z (almost 14 years ago)
- Default Branch: master
- Last Pushed: 2012-03-12T11:20:22.000Z (almost 14 years ago)
- Last Synced: 2025-06-02T06:13:23.487Z (7 months ago)
- Language: Lua
- Homepage: http://files.luaforge.net/releases/lualibusb/lualibusb/1.0
- Size: 102 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README
- Changelog: HISTORY
Awesome Lists containing this project
README
Lua-libusb Binding.
Authors
=======
Jorge Visca
Andres Aguirre
Copyright 2008 MINA Group, Facultad de Ingenieria, Universidad de la
Republica, Uruguay.
See LICENSE
Installation
============
sudo luarocks install https://github.com/lipp/lualibusb/raw/master/rockspecs/lualibusb-scm-1.rockspec
Intro
=====
For sample usage, see test.lua
Tested on Linux, with libusb 0.1.12
Functions
==========
The following correspond to functions in libusb.h . For reference,
see http://libusb.sourceforge.net/doc/functions.html
find_busses()
Returns a number
find_devices(bus)
Returns a number
get_busses()
Returns a dirname->bus_handler map
get_devices(bus_handler)
Returns a filename->device map
open(device)
Returns a dev_handle
close(dev_handle)
Returns true if success. In case of failure returns nil followed by error code.
set_configuration(dev_handle, configuration)
configuration is a number
Returns true if success. In case of failure returns nil followed by error code.
set_altinterface(dev_handle, alternative)
configuration is a number
Returns true if success. In case of failure returns nil followed by error code.
clear_halt(dev_handle, ep)
ep is a number
Returns true if success. In case of failure returns nil followed by error code.
reset(dev_handle)
Returns true if success. In case of failure returns nil followed by error code.
claim_interface(dev_handle, interface)
interface is a number
Returns true if success. In case of failure returns nil followed by error code.
release_interface(dev_handle, interface)
interface is a number
Returns true if success. In case of failure returns nil followed by error code.
control_msg(dev_handle,requesttype,request,value,index,bytes,timeout)
requesttype,request,value,index and timeout are numbers
bytes is a string
Returns a number if success. In case of failure returns nil followed by error code.
get_string_simple(dev_handle,index,buflen)
index is a number
buflen is a number, if missing or 0 defaults to 255
Returns a string. In case of failure returns nil followed by error code.
TODO: usb_get_string
get_descriptor(dev_handle,type,index,size)
type and index are numbers (0..255)
size is a number, if missing or 0 defaults to 255
Returns a string. In case of failure returns nil followed by error code.
get_descriptor_by_endpoint(dev_handle,ep,type,index,size)
type and index are numbers (0..255)
ep is a numbers
size is a number, if missing or 0 defaults to 255
Returns a string. In case of failure returns nil followed by error code.
bulk_write(dev_handle,ep,bytes,timeout)
ep and timeout are numbers
bytes is a string
Returns a number. In case of failure returns nil followed by error code.
bulk_read(dev_handle,ep,size,timeout)
ep, size and timeout are numbers
Returns a string. In case of failure returns nil followed by error code.
interrupt_write(dev_handle,ep,bytes,timeout)
ep and timeout are numbers
bytes is a string
Returns a number. In case of failure returns nil followed by error code.
interrupt_read(dev_handle,ep,size,timeout)
ep, size and timeout are numbers
Returns a string. In case of failure returns nil followed by error code.
Data
====
The following functions access data in libusb.h structs. For reference,
see http://libusb.sourceforge.net/api-1.0/annotated.html .
device_descriptor,
device_config and endpoint_descriptor return a table that maps the name of the
attribute to it's value.
interface_alt_settings returns an array of tables (a table for each alternative),
where each table maps the name of the attribute to it's value.
Most of these values are numbers, except the "extra"'s, which are strings, and
"endpoint" and "interface" which are handlers.
device_descriptor(device)
device_config(device)
interface_alt_settings(interface)
endpoint_descriptor(endpoint_handler)
Constants
=========
The library exports the #defined constants from libusb.h . For your convenience.
===
END