During the last weeks I worked a bit on the GNU Radio RDS implementation.
In particular I
- got rid of the libxml2 dependency
- refactored encoder and decoder
- split decoder in demodulation and parsing block
- added new parsers for some frame types
- more verbose console output
- the decoder can be extended pretty easy know (there is a dedicated parser function for each frame type)
- blocks have logging and debugging options to configure their output
- added TMC messages
- the encoder can be reconfigured during runtime via UDP
The last bullet point implies that you can connect to the receiver via netcat and change the parameters while the transmitter is running. For example, you can
- change the displayed text
- toggle the Traffic Announcement (TA) flag that is used to interrupt music and switch to radio
I played a bit around and tested interoperability with the radio in my car and some GPS navigation systems. The picture shows a TMC (Traffic Message Channel) enabled GPS device that reports a terror attack near Paderborn.
Note, if you play around with the software, please assert that you do not interfere with any public services and use minimal power to avoid this.