From 6812e63ff1de85d83412aaf482080d4736bf95b4 Mon Sep 17 00:00:00 2001 From: Matti Aaltonen Date: Mon, 18 Oct 2010 10:52:37 -0300 Subject: [PATCH] --- yaml --- r: 219519 b: refs/heads/master c: eb8942e9b6150d3cc89640f1fb243ca9626a1d14 h: refs/heads/master i: 219517: f1cc6b7672877c64e964755043bbc0bc0be2c00a 219515: 26bea817b9509d4ad115c76bdce1a9e554633fa4 219511: ba91448bfd499f7cfa6f2b923f9d389dda0ac46f 219503: 351c43f287d9b0febe3a9f9430d9f99e9cf663f0 219487: ee7c4a2a87ea69db44ae23f7409a0feb0c3b57b0 219455: 155beee1042bde24f05df6b7911ffd64a766c330 219391: 59cb30bc0847335ee0e5a1560f246a4e4fa68446 v: v3 --- [refs] | 2 +- trunk/Documentation/DocBook/v4l/dev-rds.xml | 68 ++++++++++++++----- .../DocBook/v4l/vidioc-s-hw-freq-seek.xml | 10 ++- 3 files changed, 60 insertions(+), 20 deletions(-) diff --git a/[refs] b/[refs] index 6ed55ff980c2..58b30e01a968 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a682d4cb768381039bdafdc3c04c53cf8d70dcf0 +refs/heads/master: eb8942e9b6150d3cc89640f1fb243ca9626a1d14 diff --git a/trunk/Documentation/DocBook/v4l/dev-rds.xml b/trunk/Documentation/DocBook/v4l/dev-rds.xml index 0869d701b1e5..360d2737e649 100644 --- a/trunk/Documentation/DocBook/v4l/dev-rds.xml +++ b/trunk/Documentation/DocBook/v4l/dev-rds.xml @@ -3,15 +3,16 @@ The Radio Data System transmits supplementary information in binary format, for example the station name or travel information, on an inaudible audio subcarrier of a radio program. This -interface is aimed at devices capable of receiving and decoding RDS +interface is aimed at devices capable of receiving and/or transmitting RDS information. For more information see the core RDS standard and the RBDS standard . Note that the RBDS standard as is used in the USA is almost identical -to the RDS standard. Any RDS decoder can also handle RBDS. Only some of the fields -have slightly different meanings. See the RBDS standard for more information. +to the RDS standard. Any RDS decoder/encoder can also handle RBDS. Only some of the +fields have slightly different meanings. See the RBDS standard for more +information. The RBDS standard also specifies support for MMBS (Modified Mobile Search). This is a proprietary format which seems to be discontinued. The RDS interface does not @@ -21,16 +22,25 @@ be needed, then please contact the linux-media mailing list: &v4l-ml;.
Querying Capabilities - Devices supporting the RDS capturing API -set the V4L2_CAP_RDS_CAPTURE flag in + Devices supporting the RDS capturing API set +the V4L2_CAP_RDS_CAPTURE flag in the capabilities field of &v4l2-capability; -returned by the &VIDIOC-QUERYCAP; ioctl. -Any tuner that supports RDS will set the -V4L2_TUNER_CAP_RDS flag in the capability -field of &v4l2-tuner;. -Whether an RDS signal is present can be detected by looking at -the rxsubchans field of &v4l2-tuner;: the -V4L2_TUNER_SUB_RDS will be set if RDS data was detected. +returned by the &VIDIOC-QUERYCAP; ioctl. Any tuner that supports RDS +will set the V4L2_TUNER_CAP_RDS flag in +the capability field of &v4l2-tuner;. If +the driver only passes RDS blocks without interpreting the data +the V4L2_TUNER_SUB_RDS_BLOCK_IO flag has to be +set, see Reading RDS data. +For future use the +flag V4L2_TUNER_SUB_RDS_CONTROLS has also been +defined. However, a driver for a radio tuner with this capability does +not yet exist, so if you are planning to write such a driver you +should discuss this on the linux-media mailing list: &v4l-ml;. + + Whether an RDS signal is present can be detected by looking +at the rxsubchans field of &v4l2-tuner;: +the V4L2_TUNER_SUB_RDS will be set if RDS data +was detected. Devices supporting the RDS output API set the V4L2_CAP_RDS_OUTPUT flag in @@ -40,16 +50,31 @@ Any modulator that supports RDS will set the V4L2_TUNER_CAP_RDS flag in the capability field of &v4l2-modulator;. In order to enable the RDS transmission one must set the V4L2_TUNER_SUB_RDS -bit in the txsubchans field of &v4l2-modulator;. - +bit in the txsubchans field of &v4l2-modulator;. +If the driver only passes RDS blocks without interpreting the data +the V4L2_TUNER_SUB_RDS_BLOCK_IO flag has to be set. If the +tuner is capable of handling RDS entities like program identification codes and radio +text, the flag V4L2_TUNER_SUB_RDS_CONTROLS should be set, +see Writing RDS data and +FM Transmitter Control Reference.
-
+
Reading RDS data RDS data can be read from the radio device -with the &func-read; function. The data is packed in groups of three bytes, +with the &func-read; function. The data is packed in groups of three bytes. +
+ +
+ Writing RDS data + + RDS data can be written to the radio device +with the &func-write; function. The data is packed in groups of three bytes, as follows: +
+ +
struct <structname>v4l2_rds_data</structname> @@ -111,48 +136,57 @@ as follows: V4L2_RDS_BLOCK_MSK + 7 Mask for bits 0-2 to get the block ID. V4L2_RDS_BLOCK_A + 0 Block A. V4L2_RDS_BLOCK_B + 1 Block B. V4L2_RDS_BLOCK_C + 2 Block C. V4L2_RDS_BLOCK_D + 3 Block D. V4L2_RDS_BLOCK_C_ALT + 4 Block C'. V4L2_RDS_BLOCK_INVALID + read-only 7 An invalid block. V4L2_RDS_BLOCK_CORRECTED + read-only 0x40 A bit error was detected but corrected. V4L2_RDS_BLOCK_ERROR + read-only 0x80 - An incorrectable error occurred. + An uncorrectable error occurred. diff --git a/trunk/Documentation/DocBook/v4l/vidioc-s-hw-freq-seek.xml b/trunk/Documentation/DocBook/v4l/vidioc-s-hw-freq-seek.xml index 14b3ec7ed75b..c30dcc4232c0 100644 --- a/trunk/Documentation/DocBook/v4l/vidioc-s-hw-freq-seek.xml +++ b/trunk/Documentation/DocBook/v4l/vidioc-s-hw-freq-seek.xml @@ -51,7 +51,8 @@ Start a hardware frequency seek from the current frequency. To do this applications initialize the tuner, -type, seek_upward and +type, seek_upward, +spacing and wrap_around fields, and zero out the reserved array of a &v4l2-hw-freq-seek; and call the VIDIOC_S_HW_FREQ_SEEK ioctl with a pointer @@ -89,7 +90,12 @@ field and the &v4l2-tuner; index field. __u32 - reserved[8] + spacing + If non-zero, defines the hardware seek resolution in Hz. The driver selects the nearest value that is supported by the device. If spacing is zero a reasonable default value is used. + + + __u32 + reserved[7] Reserved for future extensions. Drivers and applications must set the array to zero.