summaryrefslogtreecommitdiff
path: root/firmware/drivers/rds.c (follow)
Commit message (Collapse)AuthorAge
* RDS: Fix a few goofs in the unicode tableMichael Sevakis2017-04-21
| | | | Change-Id: I54c681a9eb3d5e90ee4aeedc3ec5dbd6243cb208
* Improve radio RDS driver and frameworkMichael Sevakis2017-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Fix uninitialized variable in decoding of RDS radio textBertrik Sikken2012-11-09
| | | | Change-Id: Ifc678166ac70cc8fc76897c76ccbc4bc3f88cc14
* Fix redAmaury Pouly2012-05-31
| | | | Change-Id: Ifa8b360c97bb1036210b2563cfb87be2630eaab6
* rds: implement more robust PS/RT parsingAmaury Pouly2012-05-31
| | | | | | | | | | | | | | | Our current PS and RT parser is very strict: it requires all segments to be received in order. This is too strong of an assumption even when the reception in good, particularly for long RT messages. This parser handles segments in any order and completes a message only when all segments are present. To avoid keeping obsolete segments, each segment has an associated timeout and is trashed if not updated for a certain period. Change-Id: I79841bb5ab1f838c7702d8281044e226f6510199 Reviewed-on: http://gerrit.rockbox.org/237 Tested-by: Bertrik Sikken <bertrik@sikken.nl> Reviewed-by: Bertrik Sikken <bertrik@sikken.nl>
* rds: add basic RDS clock-time supportBertrik Sikken2012-02-18
| | | | Change-Id: I931182ccd20cf8899f3ce9b6b8d7c7c5f4ea006f
* rds: make programme identification (pi) decoding safer, show pi in the debug ↵Bertrik Sikken2012-02-16
| | | | | | screen Change-Id: I8b547400f4a28ee387157848b9640a3361df937f
* RDS: Use a define that doesn't imply any particular hardware dependency.Michael Sevakis2011-12-29
| | | | | | | | 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
* Gigabeat S: Update RDS processing to use asynchronous I2C rather than thread.Michael Sevakis2011-12-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31462 a1c6a512-1295-4272-9138-f99709370657
* FS#12370: Initial RDS support for Si4701/Si4703 tuner (beast and clip zip)Bertrik Sikken2011-12-17
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31346 a1c6a512-1295-4272-9138-f99709370657