usb-hacking

Tools and experimental code to interface with USB on Linux.

led-ctl
An application that controls a Delcom USB HID Visual Signal Indicator. Uses libusb.
lsusb2
Lists properties and attributes of currently-connected USB devices. This is a custom implementation using libusb that mimics the behavior of lsusb.

Cloning repo and submodules

git clone --recursive https://gitlab.com/btmcg/usb-hacking.git

or

git clone https://gitlab.com/btmcg/usb-hacking.git
git submodule update --init --recursive

Building and running

build options

make -j
Using gcc, build all targets with full optimizations, including benchmarks and tests (if available).
make COMPILER=clang -j
Using clang, build all targets with full optimizations, including benchmarks and tests (if available).
make DEBUG=1 -j
Using gcc, build all targets with no optimizations and debug assertions included.
make DEBUG=1 COMPILER=clang test -j
Using clang, build only the test target (and dependencies) with no optimizations and debug assertions included.

Development

See README.dev.