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