18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci.. _fm-tx-controls: 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci******************************** 68c2ecf20Sopenharmony_ciFM Transmitter Control Reference 78c2ecf20Sopenharmony_ci******************************** 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciThe FM Transmitter (FM_TX) class includes controls for common features 108c2ecf20Sopenharmony_ciof FM transmissions capable devices. Currently this class includes 118c2ecf20Sopenharmony_ciparameters for audio compression, pilot tone generation, audio deviation 128c2ecf20Sopenharmony_cilimiter, RDS transmission and tuning power features. 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci.. _fm-tx-control-id: 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciFM_TX Control IDs 188c2ecf20Sopenharmony_ci================= 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci``V4L2_CID_FM_TX_CLASS (class)`` 218c2ecf20Sopenharmony_ci The FM_TX class descriptor. Calling 228c2ecf20Sopenharmony_ci :ref:`VIDIOC_QUERYCTRL` for this control will 238c2ecf20Sopenharmony_ci return a description of this control class. 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_DEVIATION (integer)`` 268c2ecf20Sopenharmony_ci Configures RDS signal frequency deviation level in Hz. The range and 278c2ecf20Sopenharmony_ci step are driver-specific. 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_PI (integer)`` 308c2ecf20Sopenharmony_ci Sets the RDS Programme Identification field for transmission. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_PTY (integer)`` 338c2ecf20Sopenharmony_ci Sets the RDS Programme Type field for transmission. This encodes up 348c2ecf20Sopenharmony_ci to 31 pre-defined programme types. 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_PS_NAME (string)`` 378c2ecf20Sopenharmony_ci Sets the Programme Service name (PS_NAME) for transmission. It is 388c2ecf20Sopenharmony_ci intended for static display on a receiver. It is the primary aid to 398c2ecf20Sopenharmony_ci listeners in programme service identification and selection. In 408c2ecf20Sopenharmony_ci Annex E of :ref:`iec62106`, the RDS specification, there is a full 418c2ecf20Sopenharmony_ci description of the correct character encoding for Programme Service 428c2ecf20Sopenharmony_ci name strings. Also from RDS specification, PS is usually a single 438c2ecf20Sopenharmony_ci eight character text. However, it is also possible to find receivers 448c2ecf20Sopenharmony_ci which can scroll strings sized as 8 x N characters. So, this control 458c2ecf20Sopenharmony_ci must be configured with steps of 8 characters. The result is it must 468c2ecf20Sopenharmony_ci always contain a string with size multiple of 8. 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_RADIO_TEXT (string)`` 498c2ecf20Sopenharmony_ci Sets the Radio Text info for transmission. It is a textual 508c2ecf20Sopenharmony_ci description of what is being broadcasted. RDS Radio Text can be 518c2ecf20Sopenharmony_ci applied when broadcaster wishes to transmit longer PS names, 528c2ecf20Sopenharmony_ci programme-related information or any other text. In these cases, 538c2ecf20Sopenharmony_ci RadioText should be used in addition to ``V4L2_CID_RDS_TX_PS_NAME``. 548c2ecf20Sopenharmony_ci The encoding for Radio Text strings is also fully described in Annex 558c2ecf20Sopenharmony_ci E of :ref:`iec62106`. The length of Radio Text strings depends on 568c2ecf20Sopenharmony_ci which RDS Block is being used to transmit it, either 32 (2A block) 578c2ecf20Sopenharmony_ci or 64 (2B block). However, it is also possible to find receivers 588c2ecf20Sopenharmony_ci which can scroll strings sized as 32 x N or 64 x N characters. So, 598c2ecf20Sopenharmony_ci this control must be configured with steps of 32 or 64 characters. 608c2ecf20Sopenharmony_ci The result is it must always contain a string with size multiple of 618c2ecf20Sopenharmony_ci 32 or 64. 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_MONO_STEREO (boolean)`` 648c2ecf20Sopenharmony_ci Sets the Mono/Stereo bit of the Decoder Identification code. If set, 658c2ecf20Sopenharmony_ci then the audio was recorded as stereo. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (boolean)`` 688c2ecf20Sopenharmony_ci Sets the 698c2ecf20Sopenharmony_ci `Artificial Head <http://en.wikipedia.org/wiki/Artificial_head>`__ 708c2ecf20Sopenharmony_ci bit of the Decoder Identification code. If set, then the audio was 718c2ecf20Sopenharmony_ci recorded using an artificial head. 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_COMPRESSED (boolean)`` 748c2ecf20Sopenharmony_ci Sets the Compressed bit of the Decoder Identification code. If set, 758c2ecf20Sopenharmony_ci then the audio is compressed. 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_DYNAMIC_PTY (boolean)`` 788c2ecf20Sopenharmony_ci Sets the Dynamic PTY bit of the Decoder Identification code. If set, 798c2ecf20Sopenharmony_ci then the PTY code is dynamically switched. 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (boolean)`` 828c2ecf20Sopenharmony_ci If set, then a traffic announcement is in progress. 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (boolean)`` 858c2ecf20Sopenharmony_ci If set, then the tuned programme carries traffic announcements. 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_MUSIC_SPEECH (boolean)`` 888c2ecf20Sopenharmony_ci If set, then this channel broadcasts music. If cleared, then it 898c2ecf20Sopenharmony_ci broadcasts speech. If the transmitter doesn't make this distinction, 908c2ecf20Sopenharmony_ci then it should be set. 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (boolean)`` 938c2ecf20Sopenharmony_ci If set, then transmit alternate frequencies. 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci``V4L2_CID_RDS_TX_ALT_FREQS (__u32 array)`` 968c2ecf20Sopenharmony_ci The alternate frequencies in kHz units. The RDS standard allows for 978c2ecf20Sopenharmony_ci up to 25 frequencies to be defined. Drivers may support fewer 988c2ecf20Sopenharmony_ci frequencies so check the array size. 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_LIMITER_ENABLED (boolean)`` 1018c2ecf20Sopenharmony_ci Enables or disables the audio deviation limiter feature. The limiter 1028c2ecf20Sopenharmony_ci is useful when trying to maximize the audio volume, minimize 1038c2ecf20Sopenharmony_ci receiver-generated distortion and prevent overmodulation. 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (integer)`` 1068c2ecf20Sopenharmony_ci Sets the audio deviation limiter feature release time. Unit is in 1078c2ecf20Sopenharmony_ci useconds. Step and range are driver-specific. 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_LIMITER_DEVIATION (integer)`` 1108c2ecf20Sopenharmony_ci Configures audio frequency deviation level in Hz. The range and step 1118c2ecf20Sopenharmony_ci are driver-specific. 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_ENABLED (boolean)`` 1148c2ecf20Sopenharmony_ci Enables or disables the audio compression feature. This feature 1158c2ecf20Sopenharmony_ci amplifies signals below the threshold by a fixed gain and compresses 1168c2ecf20Sopenharmony_ci audio signals above the threshold by the ratio of Threshold/(Gain + 1178c2ecf20Sopenharmony_ci Threshold). 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_GAIN (integer)`` 1208c2ecf20Sopenharmony_ci Sets the gain for audio compression feature. It is a dB value. The 1218c2ecf20Sopenharmony_ci range and step are driver-specific. 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (integer)`` 1248c2ecf20Sopenharmony_ci Sets the threshold level for audio compression freature. It is a dB 1258c2ecf20Sopenharmony_ci value. The range and step are driver-specific. 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (integer)`` 1288c2ecf20Sopenharmony_ci Sets the attack time for audio compression feature. It is a useconds 1298c2ecf20Sopenharmony_ci value. The range and step are driver-specific. 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ci``V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (integer)`` 1328c2ecf20Sopenharmony_ci Sets the release time for audio compression feature. It is a 1338c2ecf20Sopenharmony_ci useconds value. The range and step are driver-specific. 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci``V4L2_CID_PILOT_TONE_ENABLED (boolean)`` 1368c2ecf20Sopenharmony_ci Enables or disables the pilot tone generation feature. 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci``V4L2_CID_PILOT_TONE_DEVIATION (integer)`` 1398c2ecf20Sopenharmony_ci Configures pilot tone frequency deviation level. Unit is in Hz. The 1408c2ecf20Sopenharmony_ci range and step are driver-specific. 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci``V4L2_CID_PILOT_TONE_FREQUENCY (integer)`` 1438c2ecf20Sopenharmony_ci Configures pilot tone frequency value. Unit is in Hz. The range and 1448c2ecf20Sopenharmony_ci step are driver-specific. 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ci``V4L2_CID_TUNE_PREEMPHASIS`` 1478c2ecf20Sopenharmony_ci (enum) 1488c2ecf20Sopenharmony_ci 1498c2ecf20Sopenharmony_cienum v4l2_preemphasis - 1508c2ecf20Sopenharmony_ci Configures the pre-emphasis value for broadcasting. A pre-emphasis 1518c2ecf20Sopenharmony_ci filter is applied to the broadcast to accentuate the high audio 1528c2ecf20Sopenharmony_ci frequencies. Depending on the region, a time constant of either 50 1538c2ecf20Sopenharmony_ci or 75 useconds is used. The enum v4l2_preemphasis defines possible 1548c2ecf20Sopenharmony_ci values for pre-emphasis. Here they are: 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ci.. flat-table:: 1598c2ecf20Sopenharmony_ci :header-rows: 0 1608c2ecf20Sopenharmony_ci :stub-columns: 0 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ci * - ``V4L2_PREEMPHASIS_DISABLED`` 1638c2ecf20Sopenharmony_ci - No pre-emphasis is applied. 1648c2ecf20Sopenharmony_ci * - ``V4L2_PREEMPHASIS_50_uS`` 1658c2ecf20Sopenharmony_ci - A pre-emphasis of 50 uS is used. 1668c2ecf20Sopenharmony_ci * - ``V4L2_PREEMPHASIS_75_uS`` 1678c2ecf20Sopenharmony_ci - A pre-emphasis of 75 uS is used. 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci``V4L2_CID_TUNE_POWER_LEVEL (integer)`` 1728c2ecf20Sopenharmony_ci Sets the output power level for signal transmission. Unit is in 1738c2ecf20Sopenharmony_ci dBuV. Range and step are driver-specific. 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ci``V4L2_CID_TUNE_ANTENNA_CAPACITOR (integer)`` 1768c2ecf20Sopenharmony_ci This selects the value of antenna tuning capacitor manually or 1778c2ecf20Sopenharmony_ci automatically if set to zero. Unit, range and step are 1788c2ecf20Sopenharmony_ci driver-specific. 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ciFor more details about RDS specification, refer to :ref:`iec62106` 1818c2ecf20Sopenharmony_cidocument, from CENELEC. 182