18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci.. _fm-tx-controls:
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci********************************
68c2ecf20Sopenharmony_ciFM Transmitter Control Reference
78c2ecf20Sopenharmony_ci********************************
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciThe FM Transmitter (FM_TX) class includes controls for common features
108c2ecf20Sopenharmony_ciof FM transmissions capable devices. Currently this class includes
118c2ecf20Sopenharmony_ciparameters for audio compression, pilot tone generation, audio deviation
128c2ecf20Sopenharmony_cilimiter, RDS transmission and tuning power features.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci.. _fm-tx-control-id:
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciFM_TX Control IDs
188c2ecf20Sopenharmony_ci=================
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci``V4L2_CID_FM_TX_CLASS (class)``
218c2ecf20Sopenharmony_ci    The FM_TX class descriptor. Calling
228c2ecf20Sopenharmony_ci    :ref:`VIDIOC_QUERYCTRL` for this control will
238c2ecf20Sopenharmony_ci    return a description of this control class.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_DEVIATION (integer)``
268c2ecf20Sopenharmony_ci    Configures RDS signal frequency deviation level in Hz. The range and
278c2ecf20Sopenharmony_ci    step are driver-specific.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_PI (integer)``
308c2ecf20Sopenharmony_ci    Sets the RDS Programme Identification field for transmission.
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_PTY (integer)``
338c2ecf20Sopenharmony_ci    Sets the RDS Programme Type field for transmission. This encodes up
348c2ecf20Sopenharmony_ci    to 31 pre-defined programme types.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_PS_NAME (string)``
378c2ecf20Sopenharmony_ci    Sets the Programme Service name (PS_NAME) for transmission. It is
388c2ecf20Sopenharmony_ci    intended for static display on a receiver. It is the primary aid to
398c2ecf20Sopenharmony_ci    listeners in programme service identification and selection. In
408c2ecf20Sopenharmony_ci    Annex E of :ref:`iec62106`, the RDS specification, there is a full
418c2ecf20Sopenharmony_ci    description of the correct character encoding for Programme Service
428c2ecf20Sopenharmony_ci    name strings. Also from RDS specification, PS is usually a single
438c2ecf20Sopenharmony_ci    eight character text. However, it is also possible to find receivers
448c2ecf20Sopenharmony_ci    which can scroll strings sized as 8 x N characters. So, this control
458c2ecf20Sopenharmony_ci    must be configured with steps of 8 characters. The result is it must
468c2ecf20Sopenharmony_ci    always contain a string with size multiple of 8.
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_RADIO_TEXT (string)``
498c2ecf20Sopenharmony_ci    Sets the Radio Text info for transmission. It is a textual
508c2ecf20Sopenharmony_ci    description of what is being broadcasted. RDS Radio Text can be
518c2ecf20Sopenharmony_ci    applied when broadcaster wishes to transmit longer PS names,
528c2ecf20Sopenharmony_ci    programme-related information or any other text. In these cases,
538c2ecf20Sopenharmony_ci    RadioText should be used in addition to ``V4L2_CID_RDS_TX_PS_NAME``.
548c2ecf20Sopenharmony_ci    The encoding for Radio Text strings is also fully described in Annex
558c2ecf20Sopenharmony_ci    E of :ref:`iec62106`. The length of Radio Text strings depends on
568c2ecf20Sopenharmony_ci    which RDS Block is being used to transmit it, either 32 (2A block)
578c2ecf20Sopenharmony_ci    or 64 (2B block). However, it is also possible to find receivers
588c2ecf20Sopenharmony_ci    which can scroll strings sized as 32 x N or 64 x N characters. So,
598c2ecf20Sopenharmony_ci    this control must be configured with steps of 32 or 64 characters.
608c2ecf20Sopenharmony_ci    The result is it must always contain a string with size multiple of
618c2ecf20Sopenharmony_ci    32 or 64.
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_MONO_STEREO (boolean)``
648c2ecf20Sopenharmony_ci    Sets the Mono/Stereo bit of the Decoder Identification code. If set,
658c2ecf20Sopenharmony_ci    then the audio was recorded as stereo.
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (boolean)``
688c2ecf20Sopenharmony_ci    Sets the
698c2ecf20Sopenharmony_ci    `Artificial Head <http://en.wikipedia.org/wiki/Artificial_head>`__
708c2ecf20Sopenharmony_ci    bit of the Decoder Identification code. If set, then the audio was
718c2ecf20Sopenharmony_ci    recorded using an artificial head.
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_COMPRESSED (boolean)``
748c2ecf20Sopenharmony_ci    Sets the Compressed bit of the Decoder Identification code. If set,
758c2ecf20Sopenharmony_ci    then the audio is compressed.
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_DYNAMIC_PTY (boolean)``
788c2ecf20Sopenharmony_ci    Sets the Dynamic PTY bit of the Decoder Identification code. If set,
798c2ecf20Sopenharmony_ci    then the PTY code is dynamically switched.
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (boolean)``
828c2ecf20Sopenharmony_ci    If set, then a traffic announcement is in progress.
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (boolean)``
858c2ecf20Sopenharmony_ci    If set, then the tuned programme carries traffic announcements.
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_MUSIC_SPEECH (boolean)``
888c2ecf20Sopenharmony_ci    If set, then this channel broadcasts music. If cleared, then it
898c2ecf20Sopenharmony_ci    broadcasts speech. If the transmitter doesn't make this distinction,
908c2ecf20Sopenharmony_ci    then it should be set.
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (boolean)``
938c2ecf20Sopenharmony_ci    If set, then transmit alternate frequencies.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_ALT_FREQS (__u32 array)``
968c2ecf20Sopenharmony_ci    The alternate frequencies in kHz units. The RDS standard allows for
978c2ecf20Sopenharmony_ci    up to 25 frequencies to be defined. Drivers may support fewer
988c2ecf20Sopenharmony_ci    frequencies so check the array size.
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_LIMITER_ENABLED (boolean)``
1018c2ecf20Sopenharmony_ci    Enables or disables the audio deviation limiter feature. The limiter
1028c2ecf20Sopenharmony_ci    is useful when trying to maximize the audio volume, minimize
1038c2ecf20Sopenharmony_ci    receiver-generated distortion and prevent overmodulation.
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (integer)``
1068c2ecf20Sopenharmony_ci    Sets the audio deviation limiter feature release time. Unit is in
1078c2ecf20Sopenharmony_ci    useconds. Step and range are driver-specific.
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_LIMITER_DEVIATION (integer)``
1108c2ecf20Sopenharmony_ci    Configures audio frequency deviation level in Hz. The range and step
1118c2ecf20Sopenharmony_ci    are driver-specific.
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_ENABLED (boolean)``
1148c2ecf20Sopenharmony_ci    Enables or disables the audio compression feature. This feature
1158c2ecf20Sopenharmony_ci    amplifies signals below the threshold by a fixed gain and compresses
1168c2ecf20Sopenharmony_ci    audio signals above the threshold by the ratio of Threshold/(Gain +
1178c2ecf20Sopenharmony_ci    Threshold).
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_GAIN (integer)``
1208c2ecf20Sopenharmony_ci    Sets the gain for audio compression feature. It is a dB value. The
1218c2ecf20Sopenharmony_ci    range and step are driver-specific.
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (integer)``
1248c2ecf20Sopenharmony_ci    Sets the threshold level for audio compression freature. It is a dB
1258c2ecf20Sopenharmony_ci    value. The range and step are driver-specific.
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (integer)``
1288c2ecf20Sopenharmony_ci    Sets the attack time for audio compression feature. It is a useconds
1298c2ecf20Sopenharmony_ci    value. The range and step are driver-specific.
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (integer)``
1328c2ecf20Sopenharmony_ci    Sets the release time for audio compression feature. It is a
1338c2ecf20Sopenharmony_ci    useconds value. The range and step are driver-specific.
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ci``V4L2_CID_PILOT_TONE_ENABLED (boolean)``
1368c2ecf20Sopenharmony_ci    Enables or disables the pilot tone generation feature.
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci``V4L2_CID_PILOT_TONE_DEVIATION (integer)``
1398c2ecf20Sopenharmony_ci    Configures pilot tone frequency deviation level. Unit is in Hz. The
1408c2ecf20Sopenharmony_ci    range and step are driver-specific.
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ci``V4L2_CID_PILOT_TONE_FREQUENCY (integer)``
1438c2ecf20Sopenharmony_ci    Configures pilot tone frequency value. Unit is in Hz. The range and
1448c2ecf20Sopenharmony_ci    step are driver-specific.
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ci``V4L2_CID_TUNE_PREEMPHASIS``
1478c2ecf20Sopenharmony_ci    (enum)
1488c2ecf20Sopenharmony_ci
1498c2ecf20Sopenharmony_cienum v4l2_preemphasis -
1508c2ecf20Sopenharmony_ci    Configures the pre-emphasis value for broadcasting. A pre-emphasis
1518c2ecf20Sopenharmony_ci    filter is applied to the broadcast to accentuate the high audio
1528c2ecf20Sopenharmony_ci    frequencies. Depending on the region, a time constant of either 50
1538c2ecf20Sopenharmony_ci    or 75 useconds is used. The enum v4l2_preemphasis defines possible
1548c2ecf20Sopenharmony_ci    values for pre-emphasis. Here they are:
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ci.. flat-table::
1598c2ecf20Sopenharmony_ci    :header-rows:  0
1608c2ecf20Sopenharmony_ci    :stub-columns: 0
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ci    * - ``V4L2_PREEMPHASIS_DISABLED``
1638c2ecf20Sopenharmony_ci      - No pre-emphasis is applied.
1648c2ecf20Sopenharmony_ci    * - ``V4L2_PREEMPHASIS_50_uS``
1658c2ecf20Sopenharmony_ci      - A pre-emphasis of 50 uS is used.
1668c2ecf20Sopenharmony_ci    * - ``V4L2_PREEMPHASIS_75_uS``
1678c2ecf20Sopenharmony_ci      - A pre-emphasis of 75 uS is used.
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ci``V4L2_CID_TUNE_POWER_LEVEL (integer)``
1728c2ecf20Sopenharmony_ci    Sets the output power level for signal transmission. Unit is in
1738c2ecf20Sopenharmony_ci    dBuV. Range and step are driver-specific.
1748c2ecf20Sopenharmony_ci
1758c2ecf20Sopenharmony_ci``V4L2_CID_TUNE_ANTENNA_CAPACITOR (integer)``
1768c2ecf20Sopenharmony_ci    This selects the value of antenna tuning capacitor manually or
1778c2ecf20Sopenharmony_ci    automatically if set to zero. Unit, range and step are
1788c2ecf20Sopenharmony_ci    driver-specific.
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ciFor more details about RDS specification, refer to :ref:`iec62106`
1818c2ecf20Sopenharmony_cidocument, from CENELEC.
182