Finally had time to work on the code again. Figured out last night that the registers are big endian, while the code that usually processes the data is little endian (for some unknown reason). To tell the truth, this chip set could probably controlled by reading a single 256-bit value and sending back a single 96-bit value. Current code breaks these up into 16-bit registers to align with how the registers are described in the chip's spec sheet. Use of single read and rewrite buffers might make the code a bit unwieldy.
In any case, I now have working wiringPi code for initializing the chip, tuning to a specific station, and setting the volume, as well as some tools to assist with coding (e.g., print_registers). Still to do: develop more controls (e.g., print_RDS) and remove the dependency on the wiringPi library. More later.
- Tim