summaryrefslogtreecommitdiffstats
path: root/firmware/export/si4700.h
AgeCommit message (Collapse)AuthorFilesLines
2022-02-07RFT: convert Gigabeat RDS to threadWolfram Sang1-8/+0
This kind of reverts 7b596416bf ("Gigabeat S: Update RDS processing to use asynchronous I2C rather than thread."). However, requiring RDS to run in thread context will a) allow more upcoming features and b) remove quite some complexity from the codebase (see the diffstat here) because Gigabeat is the only user. iMX31 should be able to handle one more thread, as it can even run Linux. Change-Id: I46130034595ba66392c5417c275d036f4bd26943
2021-11-18Sansa Clip+: add RDS supportWolfram Sang1-1/+7
Based on a patch by Amaury Pouly which was based on a patch from Ryan Hitchman. I mainly moved the code for polling into the tuner driver so it can be reused by other targets. I added the CONFIG parameter for the polling frequency (in ticks) to save energy. Also, I did some minor cleanups. Change-Id: I95a62e7e1e42c62dbf47ecb27a3b312a42be62aa
2017-02-11Improve radio RDS driver and frameworkMichael Sevakis1-15/+13
* Remove unused bits like the radio event and simplify basic radio interface. It can be more self-contained with rds.h only required by radio and tuner code. * Add post-processing to text a-la Silicon Labs AN243. The chip's error correction can only do so much; additional checks are highly recommended. Simply testing for two identical messages in a row is extremely effective and I've never seen corrupted text since doing that, even with mediocre reception. Groups segments must arrive in order, not randomly; logic change only accepts them in order, starting at 0. Time readout was made a bit better but really we'd need to use verbose mode and ensure that no errors were seen during receiving of time and more checks would be need to have a stable PI. The text is the important bit anyway. * Time out of stale text. * Text is no longer updated until a complete group has been received, as is specified in the standard. Perhaps go back to scrolling text lines in the radio screen? * Add proper character conversion to UTF-8. Only the default G0 table for the moment. The other two could be added in. * Add variants "RDS_CFG_PROCESS" and "RDS_CFG_PUSH" to allow the option for processed RDS data to be pushed to the driver and still do proper post-processing (only text conversion for now for the latter). Change-Id: I4d83f8b2e89a209a5096d15ec266477318c66925
2011-12-29RDS: Use a define that doesn't imply any particular hardware dependency.Michael Sevakis1-4/+4
Theoretically, anything with the capability could implement the decoding action in an ISR on any radio chip supporting RDS. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31464 a1c6a512-1295-4272-9138-f99709370657
2011-12-29Gigabeat S: Update RDS processing to use asynchronous I2C rather than thread.Michael Sevakis1-2/+10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31462 a1c6a512-1295-4272-9138-f99709370657
2011-12-17FS#12370: Initial RDS support for Si4701/Si4703 tuner (beast and clip zip)Bertrik Sikken1-0/+14
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31346 a1c6a512-1295-4272-9138-f99709370657
2010-11-18fix reds, not so nice fiddling with simulator stubs to make it all worksJonathan Gordon1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28614 a1c6a512-1295-4272-9138-f99709370657
2010-11-11Signal strength meter for FM radio - FS#8151 by Przemysław HołubowskiBertrik Sikken1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28559 a1c6a512-1295-4272-9138-f99709370657
2010-07-26FM tuner region code cleanup - FS #11492 by me.Bertrik Sikken1-9/+0
This removes the tuner-specific region structs and makes each driver use the common one (which is now extended with a deemphasis field) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27579 a1c6a512-1295-4272-9138-f99709370657
2010-06-15Support for mystery FM chip in some Sansa Clip+, FS #11403 by meBertrik Sikken1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26864 a1c6a512-1295-4272-9138-f99709370657
2008-12-27Make si4700 tuner driver more sane with bit and field defines and entirely ↵Michael Sevakis1-0/+6
hide strange i2c interface from code with write/set/clear/masked functionality. On Gigabeat S use by-the-book busmode selection and GPIO lines. Implement some primitive station detection, debug registers in screen, and misc. changes to tie things together. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19600 a1c6a512-1295-4272-9138-f99709370657
2008-12-23Fix inverted de-emphasis bit for si470x FM chip.Bertrik Sikken1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19566 a1c6a512-1295-4272-9138-f99709370657
2008-12-09FS#9609 FM radio support for the Gigabeat S, seeking/scanning is not yet Nils Wallménius1-0/+12
implemented but manual tuning works nicely. Thanks to Rafaël Carré, Bertrik Sikken and Robert Menes for suggestions and debugging help. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19372 a1c6a512-1295-4272-9138-f99709370657
2008-11-11Add more driver stubs to make the Fuze and e200v2 main builds compile; ↵Dave Chapman1-0/+36
Correct the memory definition for the Fuze (8MB) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19090 a1c6a512-1295-4272-9138-f99709370657