Any standard UECP application can be used to program the encoder. However if special features are required then a home grown application is required. Here a windows version of such an application written in C# Net is described. Nothing more genial than ones own API.
First I have to say that what I explain here will not be a complete RDS/UECP program but a skeleton ready for personalisation. the software components that are used here (eg: custom buttons) will be used as such. Some of the software components I have developed will be made available elsewhere on this site. here is a picture of the application:
This is standard Windows Form programming in C#, not Windows Universal. The serial port is standard NET, but the UECP format encoding maybe of interest.
The frames are first assembled on command from the form. To avoid form blocking when a command is executed, the command is send asynchronously. This is done by sending the command to a FIFO, then a seperate thread takes the commands from the FIFO, formats the frame and sends via the serial port.
Likewise all incoming frames are received on a seperate thread, an event is generated on frame reception. On this event the form retrieves the data and executes the reply results.
Having got the mechanism to send and receive frames we still need to assemble and dis-assemble the UECP frames.
All the information to generate an application to control and manage a standard RDFS encoder. In the same way as the standard functions like PI etc... Manufacture specific information can be sent by embedding such information in the manufacture specific code frame.
In one sense some of this information is academic since substantial changes are on the way for the new RDS specification along with a new UECP definition.