FS#11492 - FM tuner region code cleanup

Attached to Project: Rockbox
Opened by Bertrik Sikken (bertrik) - Thursday, 22 July 2010, 07:48 GMT
Last edited by Bertrik Sikken (bertrik) - Monday, 26 July 2010, 20:19 GMT
Task Type Patches
Category FM Tuner
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Release 3.6
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Currently we have a driver-specific struct and region list for each tuner driver, which specifies settings for an FM region: FM band frequency range, frequency spacing and deemphasis. This information is mostly already present in the fm_region_data struct.

This patch updates the fm_region_data struct (adding a "deemphasis" field), allowing all of the driver-specific structs to be removed. Each tuner driver now calculates its region settings from the fields in the common fm_region_data struct instead of taking it from its own struct.
For the targets I compiled this for, there was a net binsize saving (and also source code lines savings).

Please test this on your target. I am able to test targets with LV24020, SI4700, RDA5802 tuners myself. Other drivers that need testing are TEA5760, TEA5767 and the ipod remote tuner.
Stuff to test:
* do FM channels still appear on the right frequency? (this tests FM band setting)
* do you hear a change in high frequencies when switching between the Europe and USA/Canada setting? (this test deemphasis, works only for stations where the tenths of MHz are odd). The europe setting should sound brighter.
This task depends upon

Closed by  Bertrik Sikken (bertrik)
Monday, 26 July 2010, 20:19 GMT
Reason for closing:  Accepted
Additional comments about closing:  Slightly modified version committed as SVN r27579