Home Roadmap User docs Developer docs Kernel module Links Project page
BerliOS Logo
Valid HTML 4.0

News

This project now has a logo:

RDS for Linux logo (vertical)

And this is the horizontal version:

RDS for Linux logo (horizontal)

The idea behind it: The original RDS logo (available here) also has two arrangements of 5 concentric circles each, but parts of the circles are hidden. Under Linux, it's all transparent...

Here's the SVG sources of the logos: horizontal and vertical version.

Introduction

This project deals with the development of software to receive, decode, and display RDS (Radio Data System) data transmitted by analog radio stations. Data includes station name, time, radio text, or traffic messages (TMC). As the latter is used by car navigation systems, RDS will exist for several more years, despite the growing importance of digital radio.

The API for the reception of RDS data is described in the V4L2 specifications since several years. But only since the saa6588 module appears in kernel 2.6.14, the use of the RDS interface is actually possible.

In this project, the whole chain of software was planned and developed: With the saa6588 kernel module, the daemon rdsd, the client library librds, and the user application rdsquery, all necessary components are available now.

The project demonstrates pretty well the possibilities of Linux and OpenSource. A client-server sytem that receives RDS data from several radio cards and distributes them to several clients has never been available as free software before. Such a system becomes only possible through a driver concept like the Video4Linux-API. In this form, it is only possible under Linux.

What is rdsd ?

The Radio Data System Daemon is a daemon that reads raw RDS data from one or more input sources, decodes it, and serves the results to clients that can connect via TCP/IP or a unix domain socket.

rdsd is free software, published under the terms of the GNU General Public License (GPL).

What is librds ?

librds is a library that simplifies the creation of user applications that need to connect to an RDS daemon. It provides functions to create connections to rdsd and does all the boring protocol handling.

librds is free software, published under the terms of the GNU Library License (LGPL).

What is rdsquery ?

rdsquery is a commandline tool that uses librds to fetch decoded RDS data from rdsd. It was initially created to test librds, but is also useful for script applications.

Status

See the roadmap for more information about how the status of this project is defined.

rdsd, librds, and rdsquery are in alpha state now. Releases can be downloaded here.

Getting the sources

rdsd, librds, and rdsquery source release can be downloaded from http://developer.berlios.de/projects/rdsd/.

Sources are also available from the Subversion (SVN) repository. If you checkout the whole repository, you'll get rdsd,librds and rdsquery sources.

Subversion packages are available for any decent operating system. Debian users simply type apt-get install subversion. Users of other distributions can install subversion using the package tool of their system.

I recommend reading the book Version Control With Subversion (freely available online), especially if you never worked with a version control system before.

With SVN installed, you can checkout the sources via anonymous SVN like this:

mkdir /new/directory
cd /new/directory
svn checkout svn://svn.berlios.de/rdsd

After you successfully checked out the sources, you can always update to the latest version by changing into the top level directory (the one you created in the last step) and simply type:

svn update

Note that you don't need the URL anymore. SVN saved this information when you initially checked out the sources.

Getting involved

This project needs your help! The whole software is not ready yet. As this is quite a new project, you can have a lot of influence if you join in now! The open tasks include not only coding, but also documentation, maintenance, improvement of this homepage, and others.

Have a look at the developer doc page to find out how to become a developer.