Everything you ever wanted to know about libusb
The Linux kernel contains a complete subsystem for creating the device end of a USB connection. This means a capable embedded Linux system can look like a thumb drive, HID device, serial device, video device, audio device, or another type of device using a range of built-in drivers. It’s also possible to create custom drivers for moving data to and from custom devices. This presentation and hands-on lab will describe some of the basics of USB and then describe how to create USB devices using the Linux gadget subsystem and communicate with them from a host using libusb.
All the Embedded Apprentice Linux Engineer classes will involve using embedded hardware during the hands-on labs. We will be using the PocketBeagle and a BaconBits cape which are included with the $75 USD registration fee for E-ALE at SCaLE61x and ELC. We will only support doing the labs on the official HW kit; please don't bring your own and try to use that. The HW kits will be delivered to the attendee at the first seminar they choose to attend.
The BaconBits cape has the following capabilities:
Alan started programming when he was four years old on his dad’s Commodore 64 and began using Linux in the mid-90s while in high school. He currently works for SoftIron, a Silicon Valley startup making the world’s finest appliances for the data center. Alan is the creator and maintainer of M-Stack, a free and open source USB device stack for PIC microcontrollers, and HIDAPI, a cross-platform host-side USB HID library; and is a contributor to the Linux kernel in the areas of USB and 802.15.4. He has presented at Microchip MASTERs, at Embedded Linux Conference in the US and Europe, and as an instructor for the Linux Foundation.