1*059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 254f38fcaSMauro Carvalho Chehab 354f38fcaSMauro Carvalho Chehab.. _fm-tx-controls: 454f38fcaSMauro Carvalho Chehab 554f38fcaSMauro Carvalho Chehab******************************** 654f38fcaSMauro Carvalho ChehabFM Transmitter Control Reference 754f38fcaSMauro Carvalho Chehab******************************** 854f38fcaSMauro Carvalho Chehab 954f38fcaSMauro Carvalho ChehabThe FM Transmitter (FM_TX) class includes controls for common features 1054f38fcaSMauro Carvalho Chehabof FM transmissions capable devices. Currently this class includes 1154f38fcaSMauro Carvalho Chehabparameters for audio compression, pilot tone generation, audio deviation 1254f38fcaSMauro Carvalho Chehablimiter, RDS transmission and tuning power features. 1354f38fcaSMauro Carvalho Chehab 1454f38fcaSMauro Carvalho Chehab 1554f38fcaSMauro Carvalho Chehab.. _fm-tx-control-id: 1654f38fcaSMauro Carvalho Chehab 1754f38fcaSMauro Carvalho ChehabFM_TX Control IDs 1854f38fcaSMauro Carvalho Chehab================= 1954f38fcaSMauro Carvalho Chehab 2054f38fcaSMauro Carvalho Chehab``V4L2_CID_FM_TX_CLASS (class)`` 2154f38fcaSMauro Carvalho Chehab The FM_TX class descriptor. Calling 2254f38fcaSMauro Carvalho Chehab :ref:`VIDIOC_QUERYCTRL` for this control will 2354f38fcaSMauro Carvalho Chehab return a description of this control class. 2454f38fcaSMauro Carvalho Chehab 2554f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_DEVIATION (integer)`` 2654f38fcaSMauro Carvalho Chehab Configures RDS signal frequency deviation level in Hz. The range and 2754f38fcaSMauro Carvalho Chehab step are driver-specific. 2854f38fcaSMauro Carvalho Chehab 2954f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_PI (integer)`` 3054f38fcaSMauro Carvalho Chehab Sets the RDS Programme Identification field for transmission. 3154f38fcaSMauro Carvalho Chehab 3254f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_PTY (integer)`` 3354f38fcaSMauro Carvalho Chehab Sets the RDS Programme Type field for transmission. This encodes up 3454f38fcaSMauro Carvalho Chehab to 31 pre-defined programme types. 3554f38fcaSMauro Carvalho Chehab 3654f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_PS_NAME (string)`` 3754f38fcaSMauro Carvalho Chehab Sets the Programme Service name (PS_NAME) for transmission. It is 3854f38fcaSMauro Carvalho Chehab intended for static display on a receiver. It is the primary aid to 3954f38fcaSMauro Carvalho Chehab listeners in programme service identification and selection. In 4054f38fcaSMauro Carvalho Chehab Annex E of :ref:`iec62106`, the RDS specification, there is a full 4154f38fcaSMauro Carvalho Chehab description of the correct character encoding for Programme Service 4254f38fcaSMauro Carvalho Chehab name strings. Also from RDS specification, PS is usually a single 4354f38fcaSMauro Carvalho Chehab eight character text. However, it is also possible to find receivers 4454f38fcaSMauro Carvalho Chehab which can scroll strings sized as 8 x N characters. So, this control 4554f38fcaSMauro Carvalho Chehab must be configured with steps of 8 characters. The result is it must 4654f38fcaSMauro Carvalho Chehab always contain a string with size multiple of 8. 4754f38fcaSMauro Carvalho Chehab 4854f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_RADIO_TEXT (string)`` 4954f38fcaSMauro Carvalho Chehab Sets the Radio Text info for transmission. It is a textual 5054f38fcaSMauro Carvalho Chehab description of what is being broadcasted. RDS Radio Text can be 5154f38fcaSMauro Carvalho Chehab applied when broadcaster wishes to transmit longer PS names, 5254f38fcaSMauro Carvalho Chehab programme-related information or any other text. In these cases, 5354f38fcaSMauro Carvalho Chehab RadioText should be used in addition to ``V4L2_CID_RDS_TX_PS_NAME``. 5454f38fcaSMauro Carvalho Chehab The encoding for Radio Text strings is also fully described in Annex 5554f38fcaSMauro Carvalho Chehab E of :ref:`iec62106`. The length of Radio Text strings depends on 5654f38fcaSMauro Carvalho Chehab which RDS Block is being used to transmit it, either 32 (2A block) 5754f38fcaSMauro Carvalho Chehab or 64 (2B block). However, it is also possible to find receivers 5854f38fcaSMauro Carvalho Chehab which can scroll strings sized as 32 x N or 64 x N characters. So, 5954f38fcaSMauro Carvalho Chehab this control must be configured with steps of 32 or 64 characters. 6054f38fcaSMauro Carvalho Chehab The result is it must always contain a string with size multiple of 6154f38fcaSMauro Carvalho Chehab 32 or 64. 6254f38fcaSMauro Carvalho Chehab 6354f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_MONO_STEREO (boolean)`` 6454f38fcaSMauro Carvalho Chehab Sets the Mono/Stereo bit of the Decoder Identification code. If set, 6554f38fcaSMauro Carvalho Chehab then the audio was recorded as stereo. 6654f38fcaSMauro Carvalho Chehab 6754f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (boolean)`` 6854f38fcaSMauro Carvalho Chehab Sets the 6954f38fcaSMauro Carvalho Chehab `Artificial Head <http://en.wikipedia.org/wiki/Artificial_head>`__ 7054f38fcaSMauro Carvalho Chehab bit of the Decoder Identification code. If set, then the audio was 7154f38fcaSMauro Carvalho Chehab recorded using an artificial head. 7254f38fcaSMauro Carvalho Chehab 7354f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_COMPRESSED (boolean)`` 7454f38fcaSMauro Carvalho Chehab Sets the Compressed bit of the Decoder Identification code. If set, 7554f38fcaSMauro Carvalho Chehab then the audio is compressed. 7654f38fcaSMauro Carvalho Chehab 7754f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_DYNAMIC_PTY (boolean)`` 7854f38fcaSMauro Carvalho Chehab Sets the Dynamic PTY bit of the Decoder Identification code. If set, 7954f38fcaSMauro Carvalho Chehab then the PTY code is dynamically switched. 8054f38fcaSMauro Carvalho Chehab 8154f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (boolean)`` 8254f38fcaSMauro Carvalho Chehab If set, then a traffic announcement is in progress. 8354f38fcaSMauro Carvalho Chehab 8454f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (boolean)`` 8554f38fcaSMauro Carvalho Chehab If set, then the tuned programme carries traffic announcements. 8654f38fcaSMauro Carvalho Chehab 8754f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_MUSIC_SPEECH (boolean)`` 8854f38fcaSMauro Carvalho Chehab If set, then this channel broadcasts music. If cleared, then it 8954f38fcaSMauro Carvalho Chehab broadcasts speech. If the transmitter doesn't make this distinction, 9054f38fcaSMauro Carvalho Chehab then it should be set. 9154f38fcaSMauro Carvalho Chehab 9254f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (boolean)`` 9354f38fcaSMauro Carvalho Chehab If set, then transmit alternate frequencies. 9454f38fcaSMauro Carvalho Chehab 9554f38fcaSMauro Carvalho Chehab``V4L2_CID_RDS_TX_ALT_FREQS (__u32 array)`` 9654f38fcaSMauro Carvalho Chehab The alternate frequencies in kHz units. The RDS standard allows for 9754f38fcaSMauro Carvalho Chehab up to 25 frequencies to be defined. Drivers may support fewer 9854f38fcaSMauro Carvalho Chehab frequencies so check the array size. 9954f38fcaSMauro Carvalho Chehab 10054f38fcaSMauro Carvalho Chehab``V4L2_CID_AUDIO_LIMITER_ENABLED (boolean)`` 10154f38fcaSMauro Carvalho Chehab Enables or disables the audio deviation limiter feature. The limiter 10254f38fcaSMauro Carvalho Chehab is useful when trying to maximize the audio volume, minimize 10354f38fcaSMauro Carvalho Chehab receiver-generated distortion and prevent overmodulation. 10454f38fcaSMauro Carvalho Chehab 10554f38fcaSMauro Carvalho Chehab``V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (integer)`` 10654f38fcaSMauro Carvalho Chehab Sets the audio deviation limiter feature release time. Unit is in 10754f38fcaSMauro Carvalho Chehab useconds. Step and range are driver-specific. 10854f38fcaSMauro Carvalho Chehab 10954f38fcaSMauro Carvalho Chehab``V4L2_CID_AUDIO_LIMITER_DEVIATION (integer)`` 11054f38fcaSMauro Carvalho Chehab Configures audio frequency deviation level in Hz. The range and step 11154f38fcaSMauro Carvalho Chehab are driver-specific. 11254f38fcaSMauro Carvalho Chehab 11354f38fcaSMauro Carvalho Chehab``V4L2_CID_AUDIO_COMPRESSION_ENABLED (boolean)`` 11454f38fcaSMauro Carvalho Chehab Enables or disables the audio compression feature. This feature 11554f38fcaSMauro Carvalho Chehab amplifies signals below the threshold by a fixed gain and compresses 11654f38fcaSMauro Carvalho Chehab audio signals above the threshold by the ratio of Threshold/(Gain + 11754f38fcaSMauro Carvalho Chehab Threshold). 11854f38fcaSMauro Carvalho Chehab 11954f38fcaSMauro Carvalho Chehab``V4L2_CID_AUDIO_COMPRESSION_GAIN (integer)`` 12054f38fcaSMauro Carvalho Chehab Sets the gain for audio compression feature. It is a dB value. The 12154f38fcaSMauro Carvalho Chehab range and step are driver-specific. 12254f38fcaSMauro Carvalho Chehab 12354f38fcaSMauro Carvalho Chehab``V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (integer)`` 12454f38fcaSMauro Carvalho Chehab Sets the threshold level for audio compression freature. It is a dB 12554f38fcaSMauro Carvalho Chehab value. The range and step are driver-specific. 12654f38fcaSMauro Carvalho Chehab 12754f38fcaSMauro Carvalho Chehab``V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (integer)`` 12854f38fcaSMauro Carvalho Chehab Sets the attack time for audio compression feature. It is a useconds 12954f38fcaSMauro Carvalho Chehab value. The range and step are driver-specific. 13054f38fcaSMauro Carvalho Chehab 13154f38fcaSMauro Carvalho Chehab``V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (integer)`` 13254f38fcaSMauro Carvalho Chehab Sets the release time for audio compression feature. It is a 13354f38fcaSMauro Carvalho Chehab useconds value. The range and step are driver-specific. 13454f38fcaSMauro Carvalho Chehab 13554f38fcaSMauro Carvalho Chehab``V4L2_CID_PILOT_TONE_ENABLED (boolean)`` 13654f38fcaSMauro Carvalho Chehab Enables or disables the pilot tone generation feature. 13754f38fcaSMauro Carvalho Chehab 13854f38fcaSMauro Carvalho Chehab``V4L2_CID_PILOT_TONE_DEVIATION (integer)`` 13954f38fcaSMauro Carvalho Chehab Configures pilot tone frequency deviation level. Unit is in Hz. The 14054f38fcaSMauro Carvalho Chehab range and step are driver-specific. 14154f38fcaSMauro Carvalho Chehab 14254f38fcaSMauro Carvalho Chehab``V4L2_CID_PILOT_TONE_FREQUENCY (integer)`` 14354f38fcaSMauro Carvalho Chehab Configures pilot tone frequency value. Unit is in Hz. The range and 14454f38fcaSMauro Carvalho Chehab step are driver-specific. 14554f38fcaSMauro Carvalho Chehab 14654f38fcaSMauro Carvalho Chehab``V4L2_CID_TUNE_PREEMPHASIS`` 14754f38fcaSMauro Carvalho Chehab (enum) 14854f38fcaSMauro Carvalho Chehab 14954f38fcaSMauro Carvalho Chehabenum v4l2_preemphasis - 15054f38fcaSMauro Carvalho Chehab Configures the pre-emphasis value for broadcasting. A pre-emphasis 15154f38fcaSMauro Carvalho Chehab filter is applied to the broadcast to accentuate the high audio 15254f38fcaSMauro Carvalho Chehab frequencies. Depending on the region, a time constant of either 50 15354f38fcaSMauro Carvalho Chehab or 75 useconds is used. The enum v4l2_preemphasis defines possible 15454f38fcaSMauro Carvalho Chehab values for pre-emphasis. Here they are: 15554f38fcaSMauro Carvalho Chehab 15654f38fcaSMauro Carvalho Chehab 15754f38fcaSMauro Carvalho Chehab 15854f38fcaSMauro Carvalho Chehab.. flat-table:: 15954f38fcaSMauro Carvalho Chehab :header-rows: 0 16054f38fcaSMauro Carvalho Chehab :stub-columns: 0 16154f38fcaSMauro Carvalho Chehab 16254f38fcaSMauro Carvalho Chehab * - ``V4L2_PREEMPHASIS_DISABLED`` 16354f38fcaSMauro Carvalho Chehab - No pre-emphasis is applied. 16454f38fcaSMauro Carvalho Chehab * - ``V4L2_PREEMPHASIS_50_uS`` 16554f38fcaSMauro Carvalho Chehab - A pre-emphasis of 50 uS is used. 16654f38fcaSMauro Carvalho Chehab * - ``V4L2_PREEMPHASIS_75_uS`` 16754f38fcaSMauro Carvalho Chehab - A pre-emphasis of 75 uS is used. 16854f38fcaSMauro Carvalho Chehab 16954f38fcaSMauro Carvalho Chehab 17054f38fcaSMauro Carvalho Chehab 17154f38fcaSMauro Carvalho Chehab``V4L2_CID_TUNE_POWER_LEVEL (integer)`` 17254f38fcaSMauro Carvalho Chehab Sets the output power level for signal transmission. Unit is in 17354f38fcaSMauro Carvalho Chehab dBuV. Range and step are driver-specific. 17454f38fcaSMauro Carvalho Chehab 17554f38fcaSMauro Carvalho Chehab``V4L2_CID_TUNE_ANTENNA_CAPACITOR (integer)`` 17654f38fcaSMauro Carvalho Chehab This selects the value of antenna tuning capacitor manually or 17754f38fcaSMauro Carvalho Chehab automatically if set to zero. Unit, range and step are 17854f38fcaSMauro Carvalho Chehab driver-specific. 17954f38fcaSMauro Carvalho Chehab 18054f38fcaSMauro Carvalho ChehabFor more details about RDS specification, refer to :ref:`iec62106` 18154f38fcaSMauro Carvalho Chehabdocument, from CENELEC. 182