GNUdap is a Linux interface software for USB MP3 players that use proprietary protocols. The userspace driver is designed to enable communication between the player and the Linux operating system.
One of the interesting features of GNUdap is that it serves as an experimental project to test how strongly-typed programming languages and functional programming paradigms can impact hardware development. The software is developed using the Objective Caml programming language.
To access the supported devices, the software uses camlusb, which is an ocaml binding to libusb. This library functions in userspace to access USB devices. A provided shell supports the main features of the player.
Unlike the official program provided with the MP10, GNUdap offers additional functionalities, such as the ability to transfer MP3s directly to the PC and change the playable status of a file on the DAP. The software's developers plan to include a graphical frontend and a filesystem interface in future releases.
For those interested in learning more about the protocol, the driver, and the shell, visit the Documentation Page. Recent updates include corrected DIR variable in chic.sh and additional documentation.
Overall, GNUdap is a useful software that fills a gap in the market by offering support for proprietary-protoctol MP3 players and mass storage devices on Linux. Its features and experimental nature make this software a promising option for those looking to develop hardware that operates on strongly-typed programming languages and functional programming paradigms.
Version 0.2b: N/A