So SilLabs is using HID to control tuner, but is that some vendor specifc Usage Table of HID? I checked the HID Usage Tables and could not find any suitable for FM radio. Have you found more detailed description of this Usage Table somewhere?
Thats the one, just received mine yesterday from Azzurri
Life moves fast, so don't get left behind, buy a fast car!
So SilLabs is using HID to control tuner, but is that some vendor specifc Usage Table of HID? I checked the HID Usage Tables and could not find any suitable for FM radio. Have you found more detailed description of this Usage Table somewhere?
Stop that and help me !
Radio Drivers Round Table
I made a few steps ahead with the Silicon USBRadio.
I modifiwd the C++ DLL to be able to correctly work with VB then i developed a small tool that expose all the RDS capabilities of the dongle. You can view the screenshot.
I can confirm that all the RDS groups and data block are managed also becouse if you directly read the registers from 12 to 15 you have the row data.
Using then the RDS specification documentation i manage to translate them. There are still same oddities but I'm work on them.
You can download all the VB/VC compiled and source from my download page.
What next?
- Adding TMC decoding
- Improve RDS error correction
- Reassembe in a RRPlugin
My real goal is to extend the RRPlugin to manage a couple of dongles to have a "diversity" system
Have Fun.
You can download my Road Runner plugin from: http://www.alibri.it/RRMobile/RRMobile.htm
Can you copy the functionality behind the buttons "freq" and "tune" to an external library which calls excactly as my interface I_FMRadioHAL ?
This gives us the advantage that if some Frontend using my FMRadioHAL it supports the Silabs too.(if a Cinergy driver is written than also the Cinergy)
The end-user only has to replace the DLL. The Frontend developer doesn't need to have a Silabs AND a HQCT.
and a dual-tuner-driver-stub can also be created...
And surely we can discuss about the Interface and its definition...
And have a look at my RDSInterpreter it is an object representation of RDS (by aeroanderz)...
Do you have the ISO14819 complete (TMC) ?
I have a (not encrypted!) locationlist for germany !
So may be we can look into D......... how the TMC location lists are encrypted there
Real-diversity ?
Why should you stick only to Silabs ?
Why not doing a diversity with a 2 Silabs, 1 HQCT and a TMC mouse ?
Just write a 4-tuner-driver-stub and give it the 4 FMRadioHAL's and go !
@RRMobile: Have you given any thought to how you will time synchronize the dual bit-streams for diversity? Assuming you get that worked out, you still might need to do some signal processing to smooth the switching transition -- output from the two A/D converters isn't likely to be the same.
Have you run any tests on the tuninq quality metric you will use for switching? What kind of latency and jitter between the metric and stream do you see?
I think he is planning "little"-iversity - just checking the signal strengths and then switching between the tuner-antennas (not too often)
otherwise he would need to reconstruct the signal which i guess is not too easy ...
Also the latency caused by USB and PC would be too fluctuating for that,so this signal processing has to be done on the µC....
FMode is correct. My "idea" of diversity is probably slight different from the standard market.
This summarize the idea:
The first dongle:
1) does an endless scan of the band getting a list of the available station with all the RDS information available.
2) For the ones that have also carry TMC information read and store them in a file for TMC/GPS specific plugin.
3) drive the second dongle to the best (greater signal) frequence for the currentry selected station (same PS).
4) force the second dongle if one of the station is trasmitting a TA message.
The second dongle:
1) tune to one of the 1° dongle station list where the user can also filter the list according to "National" or "Regianal" station and/or current program played (PTY)
You can download my Road Runner plugin from: http://www.alibri.it/RRMobile/RRMobile.htm
Maybe avoid the signal processing completely and just switch the audio outputs prior to the A/D conversion. Some hardware tweaking would be required.
Bookmarks