162306a36Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci.. _fm-tx-controls: 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci******************************** 662306a36Sopenharmony_ciFM Transmitter Control Reference 762306a36Sopenharmony_ci******************************** 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciThe FM Transmitter (FM_TX) class includes controls for common features 1062306a36Sopenharmony_ciof FM transmissions capable devices. Currently this class includes 1162306a36Sopenharmony_ciparameters for audio compression, pilot tone generation, audio deviation 1262306a36Sopenharmony_cilimiter, RDS transmission and tuning power features. 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci.. _fm-tx-control-id: 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciFM_TX Control IDs 1862306a36Sopenharmony_ci================= 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci``V4L2_CID_FM_TX_CLASS (class)`` 2162306a36Sopenharmony_ci The FM_TX class descriptor. Calling 2262306a36Sopenharmony_ci :ref:`VIDIOC_QUERYCTRL` for this control will 2362306a36Sopenharmony_ci return a description of this control class. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci``V4L2_CID_RDS_TX_DEVIATION (integer)`` 2662306a36Sopenharmony_ci Configures RDS signal frequency deviation level in Hz. The range and 2762306a36Sopenharmony_ci step are driver-specific. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci``V4L2_CID_RDS_TX_PI (integer)`` 3062306a36Sopenharmony_ci Sets the RDS Programme Identification field for transmission. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci``V4L2_CID_RDS_TX_PTY (integer)`` 3362306a36Sopenharmony_ci Sets the RDS Programme Type field for transmission. This encodes up 3462306a36Sopenharmony_ci to 31 pre-defined programme types. 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci``V4L2_CID_RDS_TX_PS_NAME (string)`` 3762306a36Sopenharmony_ci Sets the Programme Service name (PS_NAME) for transmission. It is 3862306a36Sopenharmony_ci intended for static display on a receiver. It is the primary aid to 3962306a36Sopenharmony_ci listeners in programme service identification and selection. In 4062306a36Sopenharmony_ci Annex E of :ref:`iec62106`, the RDS specification, there is a full 4162306a36Sopenharmony_ci description of the correct character encoding for Programme Service 4262306a36Sopenharmony_ci name strings. Also from RDS specification, PS is usually a single 4362306a36Sopenharmony_ci eight character text. However, it is also possible to find receivers 4462306a36Sopenharmony_ci which can scroll strings sized as 8 x N characters. So, this control 4562306a36Sopenharmony_ci must be configured with steps of 8 characters. The result is it must 4662306a36Sopenharmony_ci always contain a string with size multiple of 8. 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci``V4L2_CID_RDS_TX_RADIO_TEXT (string)`` 4962306a36Sopenharmony_ci Sets the Radio Text info for transmission. It is a textual 5062306a36Sopenharmony_ci description of what is being broadcasted. RDS Radio Text can be 5162306a36Sopenharmony_ci applied when broadcaster wishes to transmit longer PS names, 5262306a36Sopenharmony_ci programme-related information or any other text. In these cases, 5362306a36Sopenharmony_ci RadioText should be used in addition to ``V4L2_CID_RDS_TX_PS_NAME``. 5462306a36Sopenharmony_ci The encoding for Radio Text strings is also fully described in Annex 5562306a36Sopenharmony_ci E of :ref:`iec62106`. The length of Radio Text strings depends on 5662306a36Sopenharmony_ci which RDS Block is being used to transmit it, either 32 (2A block) 5762306a36Sopenharmony_ci or 64 (2B block). However, it is also possible to find receivers 5862306a36Sopenharmony_ci which can scroll strings sized as 32 x N or 64 x N characters. So, 5962306a36Sopenharmony_ci this control must be configured with steps of 32 or 64 characters. 6062306a36Sopenharmony_ci The result is it must always contain a string with size multiple of 6162306a36Sopenharmony_ci 32 or 64. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci``V4L2_CID_RDS_TX_MONO_STEREO (boolean)`` 6462306a36Sopenharmony_ci Sets the Mono/Stereo bit of the Decoder Identification code. If set, 6562306a36Sopenharmony_ci then the audio was recorded as stereo. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci``V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (boolean)`` 6862306a36Sopenharmony_ci Sets the 6962306a36Sopenharmony_ci `Artificial Head <http://en.wikipedia.org/wiki/Artificial_head>`__ 7062306a36Sopenharmony_ci bit of the Decoder Identification code. If set, then the audio was 7162306a36Sopenharmony_ci recorded using an artificial head. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci``V4L2_CID_RDS_TX_COMPRESSED (boolean)`` 7462306a36Sopenharmony_ci Sets the Compressed bit of the Decoder Identification code. If set, 7562306a36Sopenharmony_ci then the audio is compressed. 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci``V4L2_CID_RDS_TX_DYNAMIC_PTY (boolean)`` 7862306a36Sopenharmony_ci Sets the Dynamic PTY bit of the Decoder Identification code. If set, 7962306a36Sopenharmony_ci then the PTY code is dynamically switched. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci``V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (boolean)`` 8262306a36Sopenharmony_ci If set, then a traffic announcement is in progress. 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci``V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (boolean)`` 8562306a36Sopenharmony_ci If set, then the tuned programme carries traffic announcements. 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci``V4L2_CID_RDS_TX_MUSIC_SPEECH (boolean)`` 8862306a36Sopenharmony_ci If set, then this channel broadcasts music. If cleared, then it 8962306a36Sopenharmony_ci broadcasts speech. If the transmitter doesn't make this distinction, 9062306a36Sopenharmony_ci then it should be set. 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci``V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (boolean)`` 9362306a36Sopenharmony_ci If set, then transmit alternate frequencies. 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci``V4L2_CID_RDS_TX_ALT_FREQS (__u32 array)`` 9662306a36Sopenharmony_ci The alternate frequencies in kHz units. The RDS standard allows for 9762306a36Sopenharmony_ci up to 25 frequencies to be defined. Drivers may support fewer 9862306a36Sopenharmony_ci frequencies so check the array size. 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci``V4L2_CID_AUDIO_LIMITER_ENABLED (boolean)`` 10162306a36Sopenharmony_ci Enables or disables the audio deviation limiter feature. The limiter 10262306a36Sopenharmony_ci is useful when trying to maximize the audio volume, minimize 10362306a36Sopenharmony_ci receiver-generated distortion and prevent overmodulation. 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci``V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (integer)`` 10662306a36Sopenharmony_ci Sets the audio deviation limiter feature release time. Unit is in 10762306a36Sopenharmony_ci useconds. Step and range are driver-specific. 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci``V4L2_CID_AUDIO_LIMITER_DEVIATION (integer)`` 11062306a36Sopenharmony_ci Configures audio frequency deviation level in Hz. The range and step 11162306a36Sopenharmony_ci are driver-specific. 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_ENABLED (boolean)`` 11462306a36Sopenharmony_ci Enables or disables the audio compression feature. This feature 11562306a36Sopenharmony_ci amplifies signals below the threshold by a fixed gain and compresses 11662306a36Sopenharmony_ci audio signals above the threshold by the ratio of Threshold/(Gain + 11762306a36Sopenharmony_ci Threshold). 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_GAIN (integer)`` 12062306a36Sopenharmony_ci Sets the gain for audio compression feature. It is a dB value. The 12162306a36Sopenharmony_ci range and step are driver-specific. 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (integer)`` 12462306a36Sopenharmony_ci Sets the threshold level for audio compression freature. It is a dB 12562306a36Sopenharmony_ci value. The range and step are driver-specific. 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (integer)`` 12862306a36Sopenharmony_ci Sets the attack time for audio compression feature. It is a useconds 12962306a36Sopenharmony_ci value. The range and step are driver-specific. 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (integer)`` 13262306a36Sopenharmony_ci Sets the release time for audio compression feature. It is a 13362306a36Sopenharmony_ci useconds value. The range and step are driver-specific. 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci``V4L2_CID_PILOT_TONE_ENABLED (boolean)`` 13662306a36Sopenharmony_ci Enables or disables the pilot tone generation feature. 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci``V4L2_CID_PILOT_TONE_DEVIATION (integer)`` 13962306a36Sopenharmony_ci Configures pilot tone frequency deviation level. Unit is in Hz. The 14062306a36Sopenharmony_ci range and step are driver-specific. 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci``V4L2_CID_PILOT_TONE_FREQUENCY (integer)`` 14362306a36Sopenharmony_ci Configures pilot tone frequency value. Unit is in Hz. The range and 14462306a36Sopenharmony_ci step are driver-specific. 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ci``V4L2_CID_TUNE_PREEMPHASIS`` 14762306a36Sopenharmony_ci (enum) 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_cienum v4l2_preemphasis - 15062306a36Sopenharmony_ci Configures the pre-emphasis value for broadcasting. A pre-emphasis 15162306a36Sopenharmony_ci filter is applied to the broadcast to accentuate the high audio 15262306a36Sopenharmony_ci frequencies. Depending on the region, a time constant of either 50 15362306a36Sopenharmony_ci or 75 useconds is used. The enum v4l2_preemphasis defines possible 15462306a36Sopenharmony_ci values for pre-emphasis. Here they are: 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci.. flat-table:: 15962306a36Sopenharmony_ci :header-rows: 0 16062306a36Sopenharmony_ci :stub-columns: 0 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci * - ``V4L2_PREEMPHASIS_DISABLED`` 16362306a36Sopenharmony_ci - No pre-emphasis is applied. 16462306a36Sopenharmony_ci * - ``V4L2_PREEMPHASIS_50_uS`` 16562306a36Sopenharmony_ci - A pre-emphasis of 50 uS is used. 16662306a36Sopenharmony_ci * - ``V4L2_PREEMPHASIS_75_uS`` 16762306a36Sopenharmony_ci - A pre-emphasis of 75 uS is used. 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci``V4L2_CID_TUNE_POWER_LEVEL (integer)`` 17262306a36Sopenharmony_ci Sets the output power level for signal transmission. Unit is in 17362306a36Sopenharmony_ci dBuV. Range and step are driver-specific. 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci``V4L2_CID_TUNE_ANTENNA_CAPACITOR (integer)`` 17662306a36Sopenharmony_ci This selects the value of antenna tuning capacitor manually or 17762306a36Sopenharmony_ci automatically if set to zero. Unit, range and step are 17862306a36Sopenharmony_ci driver-specific. 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ciFor more details about RDS specification, refer to :ref:`iec62106` 18162306a36Sopenharmony_cidocument, from CENELEC. 182