MinimalModbus is an easy-to-use Python module for talking to instruments (slaves) from a computer (master) using the Modbus protocol. Example code includes drivers for Eurotherm and Omega process controllers. The only dependency is the pySerial module. This software supports the ‘Modbus RTU’ serial communication version of the protocol, and is intended for use on Linux, OS X, and Windows platforms. It has been tested with Python2.6, Python2.7, and Python3.2.
HAL/C++ is a library using dbusmm to access the HAL daemon. The library is not a wrapper around libhal and libhal-storage, but rather a reimplementation using dbusmm to communicate with the HAL daemon. Even though it is modeled after the official libhal and libhal-storage, it does not aim at complete adherance to the original API. The library is application-oriented, so for now, features that would only be useful to system-level applications or daemons, or HAL addons, are not being implemented. However, some of these features are mostly conveniences in the original libhal, and can be emulated even with the existing API.
v4l-utils is a collection of various video4linux (V4L) and DVB utilities. libv4l is an accompanying collection of libraries that adds a thin abstraction layer on top of video4linux2 (V4L2) devices. The purpose of this layer is to make it easy for application writers to support a wide variety of devices without having to write separate code for different devices in the same class. It consists of 3 different libraries. libv4lconvert offers functions to convert from any (known) pixel format to V4l2_PIX_FMT_BGR24 or V4l2_PIX_FMT_YUV420. libv4l1 offers the (deprecated) v4l1 API on top of v4l2 devices, independent of the drivers for those devices supporting v4l1 compatibility (which many v4l2 drivers do not). libv4l2 offers the v4l2 API on top of v4l2 devices, while adding support for the application transparent libv4lconvert conversion where necessary.
prettyprint is intended to provide an infrastructure and tools to describe and manipulate hardware registers and fields. Once described, it is possible to read and write fields symbolically. This allows one to browse the state of their hardware. Examples provided include simple state dumpers as well as a FUSE filesystem.
The USB Network Daemon is an application that makes a USB interface available over the network as transparently as possible. Because the data structures that are accepted by the daemon are similar to the direct USB calls of a well-known USB driver vendor, the (additional) implementation of the network interface can be done easily. Because of that, applications can be adapted for both local direct and remote network USB accesses easily.
Multiple Devices Proxy is an application proxy to communicate with pipes, serial ports (RS-232/RS-485), TCP/IP, and potentially all devices in a host computer via TCP/IP sockets. It supports multicast and communication isolation. Any server may have many resources, e.g. 2 pipes, 4 RS-232, and 2 connected sockets to another server. Clients may ask for 1 to many of these resources, and all data will be multicast.
The SAITEK X52 PRO Flight System is a USB-HID compatible joystick designed for flight simulation usage. The HID part of the joystick is fully supported on Linux 2.6.x. The device also contains a multi-function display (MFD) consisting of 3x16 alphanumeric lines, and several bi-color LED illuminated buttons that can be enabled individually. The MFD and the LEDs cannot be accessed using the default Linux joystick driver, but need special device commands. The aim of the x52 PRO MFD library is to encapsulate these commands and enable accessing the MFD and LED features under Linux.
CANpie defines a Standard API for access to the CAN (Controller Area Network) bus. The API provides functionality for ISO/OSI Layer 2 (Data Link Layer). The CANpie driver is the base for HLPs like CANopen, DeviceNet, J1939, etc. Through its low memory footprint, CANpie can be used for embedded applications (without any OS) as well as for Linux. Access to the Linux CAN driver is via a socket interface (AF_CAN).