The Advanced Linux Sound Architecture is composed of several parts. The first is a fully modularized sound driver which supports module autoloading, devfs, isapnp autoconfiguration, and gives complete access to analog audio, digital audio, control, mixer, synthesizer, DSP, MIDI, and timer components of audio hardware. It also includes a fully-featured kernel-level sequencer, a full compatibility layer for OSS/Free applications, an object-oriented C library which covers and enhances the ALSA kernel driver functionality for applications (client/server, plugins, PCM sharing/multiplexing, PCM metering, etc.), an interactive configuration program for the driver, and some simple utilities for basic management.
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).
Device::ParallelPort is a Perl API that allows low level access to the parallel port of most computers. It does this by using a number of drivers, which can be customized and added to, including Linux (direct and parport), Win32, Script, Dummy, and more. It also contains a number of direct access devices including an example printer and a relay controller card.
DirectFB is a thin library that provides developers with hardware graphics acceleration, input device handling and abstraction, an integrated windowing system with support for translucent windows and multiple display layers on top of the Linux framebuffer device. It is a complete hardware abstraction layer with software fallbacks for every graphics operation that is not supported by the underlying hardware.
EasyPMP is a program used to create and maintain the music database on a variety of portable music players. This allows tracks to be browsed by artist, album, genre, etc., rather than by directory structure. The following devices are supported: iRiver H100 series; iRiver H300 series; iRiver H10 UMS; iRiver H10 MTP (with emergency connect mode); iRiver H10Jr. UMS; iRiver U10 UMS; MEDION MDJuke220 and MDJuke 440; and Samsung YH-820, YH-920, and YH-925. It is developed as part of a project called PMPlib, which aims to develop a library that can be used by desktop media players and other programs, in order to support these devices.
Rosetta Stone API aims to create a programming equivalent to the popular Unix Rosetta Stone, which gives commands for common tasks for many different flavors of Unix. RSApi is a Web page and library dedicated to getting system information out of different Unix platforms including Linux, Tru64, Solaris, HP-UX, and AIX.
Sand Kit contains libraries designed for neural networks training and calculations, and a Linux kernel module for the SAND board neuro accelerator. The calculation library supports Multi Layer Perceptron (MLP), Radial Basic Function (RBF), and Kohonen networks in hardware acceleration mode and MLP and RBF networks in software emulation mode. It provides a C++ class library and simple C routines for neural network calculations. It has a flexible configuration which includes setting the maximum permitted memory usage, calculation and memory usage optimization options, input and output data sources, and debugging options. The configuration can be changed simply by editing the configuration file and/or with the built-in Gtk+ user interface. The learning library provides a flexible way to write new learning algorithms and methods using a powerful modules library. It contains several common learning routines, including an enhanced random search and resilient backpropogation algorithms. It is integrated with the calculation library to use software as well as hardware modes. All methods have separate configuration files. Support for interface plugins is provided, and all learning routines have built-in Gtk+ interface plugins.
System# is a .NET library intended for the description of real-time embedded systems. It comes with a built-in simulator kernel and a code transformation engine that converts a design into synthesizable VHDL. The main focus is currently the development of FPGA designs. System# not only supports register-transfer-level (RTL) descriptions whose translation to VHDL is straightforward, but is also capable of converting clocked threads with wait statements to a synthesizable VHDL state machine. Furthermore, System# introduces synthesizable transaction-level modeling features. From a technological point of view, it uses reflection and assembly code (CIL) decompilation to reconstruct an abstract syntax tree (AST) from the system design. The AST conforms to SysDOM, a document object model for describing component-based reactive systems. An unparsing stage converts the AST to VHDL. The decompilation process can be instrumented in various ways by attribute-based programming. Furthermore, transformations of the AST itself are possible. This enables implementation of advanced features such as converting clocked threads to finite state machines.