xref: /linux/Documentation/userspace-api/media/v4l/ext-ctrls-fm-rx.rst (revision 778b8ebe5192e7a7f00563a7456517dfa63e1d90)
1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2.. c:namespace:: V4L
3
4.. _fm-rx-controls:
5
6*****************************
7FM Receiver Control Reference
8*****************************
9
10The FM Receiver (FM_RX) class includes controls for common features of
11FM Reception capable devices.
12
13
14.. _fm-rx-control-id:
15
16FM_RX Control IDs
17=================
18
19``V4L2_CID_FM_RX_CLASS (class)``
20    The FM_RX class descriptor. Calling
21    :ref:`VIDIOC_QUERYCTRL` for this control will
22    return a description of this control class.
23
24``V4L2_CID_RDS_RECEPTION (boolean)``
25    Enables/disables RDS reception by the radio tuner
26
27``V4L2_CID_RDS_RX_PTY (integer)``
28    Gets RDS Programme Type field. This encodes up to 31 pre-defined
29    programme types.
30
31``V4L2_CID_RDS_RX_PS_NAME (string)``
32    Gets the Programme Service name (PS_NAME). It is intended for
33    static display on a receiver. It is the primary aid to listeners in
34    programme service identification and selection. In Annex E of
35    :ref:`iec62106`, the RDS specification, there is a full
36    description of the correct character encoding for Programme Service
37    name strings. Also from RDS specification, PS is usually a single
38    eight character text. However, it is also possible to find receivers
39    which can scroll strings sized as 8 x N characters. So, this control
40    must be configured with steps of 8 characters. The result is it must
41    always contain a string with size multiple of 8.
42
43``V4L2_CID_RDS_RX_RADIO_TEXT (string)``
44    Gets the Radio Text info. It is a textual description of what is
45    being broadcasted. RDS Radio Text can be applied when broadcaster
46    wishes to transmit longer PS names, programme-related information or
47    any other text. In these cases, RadioText can be used in addition to
48    ``V4L2_CID_RDS_RX_PS_NAME``. The encoding for Radio Text strings is
49    also fully described in Annex E of :ref:`iec62106`. The length of
50    Radio Text strings depends on which RDS Block is being used to
51    transmit it, either 32 (2A block) or 64 (2B block). However, it is
52    also possible to find receivers which can scroll strings sized as 32
53    x N or 64 x N characters. So, this control must be configured with
54    steps of 32 or 64 characters. The result is it must always contain a
55    string with size multiple of 32 or 64.
56
57``V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT (boolean)``
58    If set, then a traffic announcement is in progress.
59
60``V4L2_CID_RDS_RX_TRAFFIC_PROGRAM (boolean)``
61    If set, then the tuned programme carries traffic announcements.
62
63``V4L2_CID_RDS_RX_MUSIC_SPEECH (boolean)``
64    If set, then this channel broadcasts music. If cleared, then it
65    broadcasts speech. If the transmitter doesn't make this distinction,
66    then it will be set.
67
68``V4L2_CID_TUNE_DEEMPHASIS (enum)``
69    Configures the de-emphasis value for reception. A de-emphasis filter
70    is applied to the broadcast to accentuate the high audio
71    frequencies. Depending on the region, a time constant of either 50
72    or 75 microseconds is used. The enum v4l2_deemphasis defines possible
73    values for de-emphasis. They are:
74
75.. flat-table::
76    :header-rows:  0
77    :stub-columns: 0
78
79    * - ``V4L2_DEEMPHASIS_DISABLED``
80      - No de-emphasis is applied.
81    * - ``V4L2_DEEMPHASIS_50_uS``
82      - A de-emphasis of 50 uS is used.
83    * - ``V4L2_DEEMPHASIS_75_uS``
84      - A de-emphasis of 75 uS is used.
85