0001 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
0002
0003 .. _fm-tx-controls:
0004
0005 ********************************
0006 FM Transmitter Control Reference
0007 ********************************
0008
0009 The FM Transmitter (FM_TX) class includes controls for common features
0010 of FM transmissions capable devices. Currently this class includes
0011 parameters for audio compression, pilot tone generation, audio deviation
0012 limiter, RDS transmission and tuning power features.
0013
0014
0015 .. _fm-tx-control-id:
0016
0017 FM_TX Control IDs
0018 =================
0019
0020 ``V4L2_CID_FM_TX_CLASS (class)``
0021 The FM_TX class descriptor. Calling
0022 :ref:`VIDIOC_QUERYCTRL` for this control will
0023 return a description of this control class.
0024
0025 ``V4L2_CID_RDS_TX_DEVIATION (integer)``
0026 Configures RDS signal frequency deviation level in Hz. The range and
0027 step are driver-specific.
0028
0029 ``V4L2_CID_RDS_TX_PI (integer)``
0030 Sets the RDS Programme Identification field for transmission.
0031
0032 ``V4L2_CID_RDS_TX_PTY (integer)``
0033 Sets the RDS Programme Type field for transmission. This encodes up
0034 to 31 pre-defined programme types.
0035
0036 ``V4L2_CID_RDS_TX_PS_NAME (string)``
0037 Sets the Programme Service name (PS_NAME) for transmission. It is
0038 intended for static display on a receiver. It is the primary aid to
0039 listeners in programme service identification and selection. In
0040 Annex E of :ref:`iec62106`, the RDS specification, there is a full
0041 description of the correct character encoding for Programme Service
0042 name strings. Also from RDS specification, PS is usually a single
0043 eight character text. However, it is also possible to find receivers
0044 which can scroll strings sized as 8 x N characters. So, this control
0045 must be configured with steps of 8 characters. The result is it must
0046 always contain a string with size multiple of 8.
0047
0048 ``V4L2_CID_RDS_TX_RADIO_TEXT (string)``
0049 Sets the Radio Text info for transmission. It is a textual
0050 description of what is being broadcasted. RDS Radio Text can be
0051 applied when broadcaster wishes to transmit longer PS names,
0052 programme-related information or any other text. In these cases,
0053 RadioText should be used in addition to ``V4L2_CID_RDS_TX_PS_NAME``.
0054 The encoding for Radio Text strings is also fully described in Annex
0055 E of :ref:`iec62106`. The length of Radio Text strings depends on
0056 which RDS Block is being used to transmit it, either 32 (2A block)
0057 or 64 (2B block). However, it is also possible to find receivers
0058 which can scroll strings sized as 32 x N or 64 x N characters. So,
0059 this control must be configured with steps of 32 or 64 characters.
0060 The result is it must always contain a string with size multiple of
0061 32 or 64.
0062
0063 ``V4L2_CID_RDS_TX_MONO_STEREO (boolean)``
0064 Sets the Mono/Stereo bit of the Decoder Identification code. If set,
0065 then the audio was recorded as stereo.
0066
0067 ``V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (boolean)``
0068 Sets the
0069 `Artificial Head <http://en.wikipedia.org/wiki/Artificial_head>`__
0070 bit of the Decoder Identification code. If set, then the audio was
0071 recorded using an artificial head.
0072
0073 ``V4L2_CID_RDS_TX_COMPRESSED (boolean)``
0074 Sets the Compressed bit of the Decoder Identification code. If set,
0075 then the audio is compressed.
0076
0077 ``V4L2_CID_RDS_TX_DYNAMIC_PTY (boolean)``
0078 Sets the Dynamic PTY bit of the Decoder Identification code. If set,
0079 then the PTY code is dynamically switched.
0080
0081 ``V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (boolean)``
0082 If set, then a traffic announcement is in progress.
0083
0084 ``V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (boolean)``
0085 If set, then the tuned programme carries traffic announcements.
0086
0087 ``V4L2_CID_RDS_TX_MUSIC_SPEECH (boolean)``
0088 If set, then this channel broadcasts music. If cleared, then it
0089 broadcasts speech. If the transmitter doesn't make this distinction,
0090 then it should be set.
0091
0092 ``V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (boolean)``
0093 If set, then transmit alternate frequencies.
0094
0095 ``V4L2_CID_RDS_TX_ALT_FREQS (__u32 array)``
0096 The alternate frequencies in kHz units. The RDS standard allows for
0097 up to 25 frequencies to be defined. Drivers may support fewer
0098 frequencies so check the array size.
0099
0100 ``V4L2_CID_AUDIO_LIMITER_ENABLED (boolean)``
0101 Enables or disables the audio deviation limiter feature. The limiter
0102 is useful when trying to maximize the audio volume, minimize
0103 receiver-generated distortion and prevent overmodulation.
0104
0105 ``V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (integer)``
0106 Sets the audio deviation limiter feature release time. Unit is in
0107 useconds. Step and range are driver-specific.
0108
0109 ``V4L2_CID_AUDIO_LIMITER_DEVIATION (integer)``
0110 Configures audio frequency deviation level in Hz. The range and step
0111 are driver-specific.
0112
0113 ``V4L2_CID_AUDIO_COMPRESSION_ENABLED (boolean)``
0114 Enables or disables the audio compression feature. This feature
0115 amplifies signals below the threshold by a fixed gain and compresses
0116 audio signals above the threshold by the ratio of Threshold/(Gain +
0117 Threshold).
0118
0119 ``V4L2_CID_AUDIO_COMPRESSION_GAIN (integer)``
0120 Sets the gain for audio compression feature. It is a dB value. The
0121 range and step are driver-specific.
0122
0123 ``V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (integer)``
0124 Sets the threshold level for audio compression freature. It is a dB
0125 value. The range and step are driver-specific.
0126
0127 ``V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (integer)``
0128 Sets the attack time for audio compression feature. It is a useconds
0129 value. The range and step are driver-specific.
0130
0131 ``V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (integer)``
0132 Sets the release time for audio compression feature. It is a
0133 useconds value. The range and step are driver-specific.
0134
0135 ``V4L2_CID_PILOT_TONE_ENABLED (boolean)``
0136 Enables or disables the pilot tone generation feature.
0137
0138 ``V4L2_CID_PILOT_TONE_DEVIATION (integer)``
0139 Configures pilot tone frequency deviation level. Unit is in Hz. The
0140 range and step are driver-specific.
0141
0142 ``V4L2_CID_PILOT_TONE_FREQUENCY (integer)``
0143 Configures pilot tone frequency value. Unit is in Hz. The range and
0144 step are driver-specific.
0145
0146 ``V4L2_CID_TUNE_PREEMPHASIS``
0147 (enum)
0148
0149 enum v4l2_preemphasis -
0150 Configures the pre-emphasis value for broadcasting. A pre-emphasis
0151 filter is applied to the broadcast to accentuate the high audio
0152 frequencies. Depending on the region, a time constant of either 50
0153 or 75 useconds is used. The enum v4l2_preemphasis defines possible
0154 values for pre-emphasis. Here they are:
0155
0156
0157
0158 .. flat-table::
0159 :header-rows: 0
0160 :stub-columns: 0
0161
0162 * - ``V4L2_PREEMPHASIS_DISABLED``
0163 - No pre-emphasis is applied.
0164 * - ``V4L2_PREEMPHASIS_50_uS``
0165 - A pre-emphasis of 50 uS is used.
0166 * - ``V4L2_PREEMPHASIS_75_uS``
0167 - A pre-emphasis of 75 uS is used.
0168
0169
0170
0171 ``V4L2_CID_TUNE_POWER_LEVEL (integer)``
0172 Sets the output power level for signal transmission. Unit is in
0173 dBuV. Range and step are driver-specific.
0174
0175 ``V4L2_CID_TUNE_ANTENNA_CAPACITOR (integer)``
0176 This selects the value of antenna tuning capacitor manually or
0177 automatically if set to zero. Unit, range and step are
0178 driver-specific.
0179
0180 For more details about RDS specification, refer to :ref:`iec62106`
0181 document, from CENELEC.