^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) .. _fm-tx-controls:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) ********************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) FM Transmitter Control Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) ********************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) The FM Transmitter (FM_TX) class includes controls for common features
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) of FM transmissions capable devices. Currently this class includes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) parameters for audio compression, pilot tone generation, audio deviation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) limiter, RDS transmission and tuning power features.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) .. _fm-tx-control-id:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) FM_TX Control IDs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) =================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) ``V4L2_CID_FM_TX_CLASS (class)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) The FM_TX class descriptor. Calling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) :ref:`VIDIOC_QUERYCTRL` for this control will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) return a description of this control class.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) ``V4L2_CID_RDS_TX_DEVIATION (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) Configures RDS signal frequency deviation level in Hz. The range and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) step are driver-specific.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) ``V4L2_CID_RDS_TX_PI (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) Sets the RDS Programme Identification field for transmission.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) ``V4L2_CID_RDS_TX_PTY (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) Sets the RDS Programme Type field for transmission. This encodes up
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) to 31 pre-defined programme types.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) ``V4L2_CID_RDS_TX_PS_NAME (string)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) Sets the Programme Service name (PS_NAME) for transmission. It is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) intended for static display on a receiver. It is the primary aid to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) listeners in programme service identification and selection. In
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Annex E of :ref:`iec62106`, the RDS specification, there is a full
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) description of the correct character encoding for Programme Service
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) name strings. Also from RDS specification, PS is usually a single
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) eight character text. However, it is also possible to find receivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) which can scroll strings sized as 8 x N characters. So, this control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) must be configured with steps of 8 characters. The result is it must
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) always contain a string with size multiple of 8.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) ``V4L2_CID_RDS_TX_RADIO_TEXT (string)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) Sets the Radio Text info for transmission. It is a textual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) description of what is being broadcasted. RDS Radio Text can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) applied when broadcaster wishes to transmit longer PS names,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) programme-related information or any other text. In these cases,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) RadioText should be used in addition to ``V4L2_CID_RDS_TX_PS_NAME``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) The encoding for Radio Text strings is also fully described in Annex
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) E of :ref:`iec62106`. The length of Radio Text strings depends on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) which RDS Block is being used to transmit it, either 32 (2A block)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) or 64 (2B block). However, it is also possible to find receivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) which can scroll strings sized as 32 x N or 64 x N characters. So,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) this control must be configured with steps of 32 or 64 characters.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) The result is it must always contain a string with size multiple of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) 32 or 64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) ``V4L2_CID_RDS_TX_MONO_STEREO (boolean)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) Sets the Mono/Stereo bit of the Decoder Identification code. If set,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) then the audio was recorded as stereo.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) ``V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (boolean)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) Sets the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) `Artificial Head <http://en.wikipedia.org/wiki/Artificial_head>`__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) bit of the Decoder Identification code. If set, then the audio was
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) recorded using an artificial head.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) ``V4L2_CID_RDS_TX_COMPRESSED (boolean)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) Sets the Compressed bit of the Decoder Identification code. If set,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) then the audio is compressed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) ``V4L2_CID_RDS_TX_DYNAMIC_PTY (boolean)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) Sets the Dynamic PTY bit of the Decoder Identification code. If set,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) then the PTY code is dynamically switched.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) ``V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (boolean)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) If set, then a traffic announcement is in progress.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) ``V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (boolean)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) If set, then the tuned programme carries traffic announcements.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) ``V4L2_CID_RDS_TX_MUSIC_SPEECH (boolean)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) If set, then this channel broadcasts music. If cleared, then it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) broadcasts speech. If the transmitter doesn't make this distinction,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) then it should be set.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) ``V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (boolean)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) If set, then transmit alternate frequencies.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) ``V4L2_CID_RDS_TX_ALT_FREQS (__u32 array)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) The alternate frequencies in kHz units. The RDS standard allows for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) up to 25 frequencies to be defined. Drivers may support fewer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) frequencies so check the array size.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) ``V4L2_CID_AUDIO_LIMITER_ENABLED (boolean)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) Enables or disables the audio deviation limiter feature. The limiter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) is useful when trying to maximize the audio volume, minimize
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) receiver-generated distortion and prevent overmodulation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) ``V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) Sets the audio deviation limiter feature release time. Unit is in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) useconds. Step and range are driver-specific.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) ``V4L2_CID_AUDIO_LIMITER_DEVIATION (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) Configures audio frequency deviation level in Hz. The range and step
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) are driver-specific.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) ``V4L2_CID_AUDIO_COMPRESSION_ENABLED (boolean)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) Enables or disables the audio compression feature. This feature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) amplifies signals below the threshold by a fixed gain and compresses
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) audio signals above the threshold by the ratio of Threshold/(Gain +
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) Threshold).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) ``V4L2_CID_AUDIO_COMPRESSION_GAIN (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) Sets the gain for audio compression feature. It is a dB value. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) range and step are driver-specific.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) ``V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) Sets the threshold level for audio compression freature. It is a dB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) value. The range and step are driver-specific.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) ``V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) Sets the attack time for audio compression feature. It is a useconds
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) value. The range and step are driver-specific.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) ``V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) Sets the release time for audio compression feature. It is a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) useconds value. The range and step are driver-specific.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) ``V4L2_CID_PILOT_TONE_ENABLED (boolean)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) Enables or disables the pilot tone generation feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) ``V4L2_CID_PILOT_TONE_DEVIATION (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) Configures pilot tone frequency deviation level. Unit is in Hz. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) range and step are driver-specific.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) ``V4L2_CID_PILOT_TONE_FREQUENCY (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) Configures pilot tone frequency value. Unit is in Hz. The range and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) step are driver-specific.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) ``V4L2_CID_TUNE_PREEMPHASIS``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) (enum)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) enum v4l2_preemphasis -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) Configures the pre-emphasis value for broadcasting. A pre-emphasis
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) filter is applied to the broadcast to accentuate the high audio
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) frequencies. Depending on the region, a time constant of either 50
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) or 75 useconds is used. The enum v4l2_preemphasis defines possible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) values for pre-emphasis. Here they are:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) .. flat-table::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) :header-rows: 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) :stub-columns: 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) * - ``V4L2_PREEMPHASIS_DISABLED``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) - No pre-emphasis is applied.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) * - ``V4L2_PREEMPHASIS_50_uS``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) - A pre-emphasis of 50 uS is used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) * - ``V4L2_PREEMPHASIS_75_uS``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) - A pre-emphasis of 75 uS is used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) ``V4L2_CID_TUNE_POWER_LEVEL (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) Sets the output power level for signal transmission. Unit is in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) dBuV. Range and step are driver-specific.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) ``V4L2_CID_TUNE_ANTENNA_CAPACITOR (integer)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) This selects the value of antenna tuning capacitor manually or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) automatically if set to zero. Unit, range and step are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) driver-specific.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) For more details about RDS specification, refer to :ref:`iec62106`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) document, from CENELEC.