Back to home page

OSCL-LXR

 
 

    


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.