⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 triton_audio.c

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 C
📖 第 1 页 / 共 3 页
字号:
//===============================================================================
//            TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION
//
//   Property of Texas Instruments
//   For  Unrestricted  Internal  Use  Only
//   Unauthorized reproduction and/or distribution is strictly prohibited.
//   This product is protected under copyright law and trade secret law
//   as an unpublished work.
//   Created 2000, (C) Copyright 2000 Texas Instruments.  All rights reserved.
//
//   Filename           : triton_audio.c
//
//   Description        : audio module functions library
//
//   Project            : Neptune/Triton
//
//   Author             : Franck Locatelli
//
//  
//   Date of Generation :9/15/2004
//
//===============================================================================



#include "global_types.h"
#include "mapping.h"
#include "triton_mapping.h"
#include "mem.h"
#include "msi2c.h"
#include "triton_audio.h"



/* ============================================================================
* FUNCTIONS
* =============================================================================
*/
//---------------------------------------------------------------------
// NAME        :  Triton_Audio_Power
//
// DESCRIPTION : this function enable or disable stereo downlink path, voice uplink path and voice downlink path
//
// PARAMETERS  : stereo_downlink_path 
//                    AUDIO_STEREO_DOWNLINK_PATH_ENABLE
//                    AUDIO_STEREO_DOWNLINK_PATH_DISABLE
//               voice_uplink_path 
//                    AUDIO_VOICE_UPLINK_PATH_ENABLE
//                    AUDIO_VOICE_UPLINK_PATH_DISABLE
//               voice_downlink_path 
//                    AUDIO_VOICE_DOWNLINK_PATH_ENABLE
//                    AUDIO_VOICE_DOWNLINK_PATH_DISABLE
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_Audio_Power(UWORD8 stereo_downlink_path, UWORD8 voice_uplink_path, UWORD8 voice_downlink_path)
{
  //Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);

  //enable Triton Stereo Downlink Path
  MSI2C_MasterPollingSendAbb(AUDIO_TOGB, ( stereo_downlink_path | voice_uplink_path | voice_downlink_path ) );  //Enable STS & STR

  return;
}


//---------------------------------------------------------------------
// NAME        :  Triton_Audio_Volume_settings
//
// DESCRIPTION : this function sets triton audio part volume (left and right)
//
// PARAMETERS  :   audlgain and audrgain
//                    AUDIO_GAIN_0dB 
//                    AUDIO_GAIN__1dB 
//                    AUDIO_GAIN__2dB 
//                    AUDIO_GAIN__3dB 
//                    AUDIO_GAIN__4dB 
//                    AUDIO_GAIN__5dB 
//                    AUDIO_GAIN__6dB 
//                    AUDIO_GAIN__7dB 
//                    AUDIO_GAIN__8dB 
//                    AUDIO_GAIN__9dB 
//                    AUDIO_GAIN__10dB 
//                    AUDIO_GAIN__11dB 
//                    AUDIO_GAIN__12dB 
//                    AUDIO_GAIN__13dB 
//                    AUDIO_GAIN__14dB 
//                    AUDIO_GAIN__15dB 
//                    AUDIO_GAIN__16dB 
//                    AUDIO_GAIN__17dB 
//                    AUDIO_GAIN__18dB 
//                    AUDIO_GAIN__19dB 
//                    AUDIO_GAIN__20dB 
//                    AUDIO_GAIN__21dB 
//                    AUDIO_GAIN__22dB 
//                    AUDIO_GAIN__23dB 
//                    AUDIO_GAIN__24dB 
//                    AUDIO_GAIN__25dB 
//                    AUDIO_GAIN__26dB 
//                    AUDIO_GAIN__27dB 
//                    AUDIO_GAIN__28dB 
//                    AUDIO_GAIN__29dB 
//                    AUDIO_GAIN__30dB 
//                    AUDIO_GAIN_MUTE 
//                    
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_Audio_Volume_settings(UWORD8 audlgain, UWORD8 audrgain)
{

  //Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);

  MSI2C_MasterPollingSendAbb(AUDIO_AUDLGAIN, (audlgain & 0x1F) );
  MSI2C_MasterPollingSendAbb(AUDIO_AUDRGAIN, (audlgain & 0x1F) );

  return;
}

//---------------------------------------------------------------------
// NAME        :  Triton_Audio_Outputs_Enabling_And_Mixing
//
// DESCRIPTION : this function allocates audio/voice source for each output and enables it
//
// PARAMETERS  :  hf_settings
//                    AUDIO_HF_NONE 
//                    AUDIO_HF_VOICE_SPEECH 
//                    AUDIO_HF_AUDIO_MONO_FROM_LEFT_CHANNEL 
//                    AUDIO_HF_FM_MONO_FROM_VUL_FM_PGA 
//                    AUDIO_HF_VOICE_SPEECH_AND_AUDIO_MONO 
//                    AUDIO_HF_VOICE_SPEECH_AND_FM_MONO 
//                    AUDIO_HF_AUDIO_MONO_AND_FM_MONO 
//                    
//                carkit_settings
//                    AUDIO_CAR_KIT_NONE 
//                    AUDIO_CAR_KIT_VOICE_SPEECH_ON_LEFT_AMP 
//                    AUDIO_CAR_KIT_STEREO_ON_LEFT_AND_RIGHTS_AMP 
//                    AUDIO_CAR_KIT_VOICE_SPEECH_AND_AUDIO_MONO_ON_LEFT_AMP 
//                    
//                auxo_settings
//                    AUDIO_AUXO_NONE 
//                    AUDIO_AUXO_VOICE_SPEECH 
//                    AUDIO_AUXO_AUDIO_MONO_FROM_LEFT_CHANNEL 
//                    AUDIO_AUXO_VOICE_SPEECH_AND_AUDIO_MONO 
//                    
//                ear_settings
//                    AUDIO_EAR_NONE 
//                    AUDIO_EAR_VOICE_SPEECH 
//                    AUDIO_EAR_AUDIO_MONO_FROM_LEFT_CHANNEL 
//                    AUDIO_EAR_VOICE_SPEECH_AND_AUDIO_MONO 
//                    
//                hsol_settings
//                    AUDIO_HSOL_NONE 
//                    AUDIO_HSOL_VOICE_SPEECH
//                    AUDIO_HSOL_AUDIO_MONO_FROM_LEFT_CHANNEL 
//                    AUDIO_HSOL_FM_LEFT_MONO_FROM_VUL_FM_PGA
//                    AUDIO_HSOL_VOICE_SPEECH_AND_AUDIO_MONO_ON_LEFT_AMP 
//                    AUDIO_HSOL_VOICE_SPEECH_AND_FM_ON_LEFT_AMP 
//                    AUDIO_HSOL_AUDIO_LEFT_MONO_AND_FM_LEFT 
//                    
//                hsor_settings
//                    AUDIO_HSOR_NONE 
//                    AUDIO_HSOR_VOICE_SPEECH 
//                    AUDIO_HSOR_AUDIO_MONO_FROM_RIGHT_CHANNEL 
//                    AUDIO_HSOR_FM_RIGHT_MONO_FROM_VUL_FM_PGA 
//                    AUDIO_HSOR_VOICE_SPEECH_AND_AUDIO_MONO_ON_RIGHT_AMP 
//                    AUDIO_HSOR_VOICE_SPEECH_AND_FM_ON_RIGHT_AMP 
//                    AUDIO_HSOR_AUDIO_RIGHT_MONO_AND_FM_RIGHT 
//                    AUDIO_HSOR_INVERTED_VOICE_SPEECH 
//                    
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_Audio_Outputs_Enabling_And_Mixing(UWORD8 hf_settings, UWORD8 carkit_settings, UWORD8 auxo_settings, UWORD8 ear_settings, UWORD8 hsol_settings, UWORD8 hsor_settings)
{
  //Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);
  
  MSI2C_MasterPollingSendAbb(AUDIO_OUTEN3, (hf_settings & 0x07) );
  MSI2C_MasterPollingSendAbb(AUDIO_OUTEN2, ((carkit_settings | auxo_settings | ear_settings) & 0x3F) );
  MSI2C_MasterPollingSendAbb(AUDIO_OUTEN1, ( (hsol_settings | hsor_settings) & 0x7F) );

  return;
}

//---------------------------------------------------------------------
// NAME        :  Triton_Voice_Gain_Settings
//
// DESCRIPTION : this function set triton voice gain
//
// PARAMETERS  :  voice_downlink_volume
//                    AUDIO_VOICE_DOWNLINK_VOLUME_0dB
//                    AUDIO_VOICE_DOWNLINK_VOLUME__6dB 
//                    AUDIO_VOICE_DOWNLINK_VOLUME__12dB
//                    AUDIO_VOICE_DOWNLINK_VOLUME__18dB 
//                    AUDIO_VOICE_DOWNLINK_VOLUME__24dB 
//                    AUDIO_VOICE_DOWNLINK_VOLUME_MUTE 
//                voice_downlink_digital_gain
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN__6 
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN__5 
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN__4 
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN__3 
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN__2 
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN__1 
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN_0 
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN_1 
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN_2 
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN_3 
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN_4 
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN_5 
//                     AUDIO_VOICE_DOWNLINK_DIG_GAIN_6 
//                    
//                voice_uplink_digital_gain
//                    AUDIO_VOICE_UPLINK_DIG_GAIN__12 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN__11 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN__10 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN__9 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN__8 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN__7 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN__6 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN__5 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN__4 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN__3 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN__2 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN__1 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_0 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_1 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_2 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_3 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_4 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_5 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_6 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_7 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_8 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_9 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_10 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_11 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_12 
//                    AUDIO_VOICE_UPLINK_DIG_GAIN_VDX_MUTE 
//                    
//                voice_sidetone
//                    AUDIO_VOICE_SIDETONE__23 
//                    AUDIO_VOICE_SIDETONE__20 
//                    AUDIO_VOICE_SIDETONE__17 
//                    AUDIO_VOICE_SIDETONE__14 
//                    AUDIO_VOICE_SIDETONE__11 
//                    AUDIO_VOICE_SIDETONE__8 
//                    AUDIO_VOICE_SIDETONE__5 
//                    AUDIO_VOICE_SIDETONE__2 
//                    AUDIO_VOICE_SIDETONE_1 
//                    AUDIO_VOICE_SIDETONE_MUTE 
//                    
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_Voice_Gain_Settings(UWORD8 voice_downlink_volume, UWORD8  voice_downlink_digital_gain, UWORD8  voice_uplink_digital_gain, UWORD8 voice_sidetone)
{
  //Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);
  
  MSI2C_MasterPollingSendAbb(AUDIO_VDLGAIN, ( ( voice_downlink_digital_gain | voice_downlink_volume) & 0x7F ) );
  MSI2C_MasterPollingSendAbb(AUDIO_VULGAIN, ( ( voice_uplink_digital_gain ) & 0x3F ) );
  MSI2C_MasterPollingSendAbb(AUDIO_SIDETONE, ( ( voice_sidetone ) & 0x0F ) );

  return;
}

//---------------------------------------------------------------------
// NAME        :  Triton_Audio_Outputs_Charge_Settings
//
// DESCRIPTION : this function sets audio outputs charge/discharge
//
// PARAMETERS  :  carkit_charge
//                    AUDIO_CARKIT_CHARGE
//                    AUDIO_CARKIT_DISCHARGE
//                    AUDIO_CARKIT_CHARGE_AUTO
//                auxo_charge
//                    AUDIO_AUXO_CHARGE
//                    AUDIO_AUXO_DISCHARGE
//                    AUDIO_AUXO_CHARGE_AUTO
//                ear_charge
//                    AUDIO_EAR_CHARGE
//                    AUDIO_EAR_DISCHARGE
//                    AUDIO_EAR_CHARGE_AUTO
//                hso_charge
//                    AUDIO_HSO_CHARGE
//                    AUDIO_HSO_DISCHARGE
//                    AUDIO_HSO_CHARGE_AUTO
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_Audio_Outputs_Charge_Settings(UWORD8 carkit_charge, UWORD8 auxo_charge, UWORD8 ear_charge, UWORD8 hso_charge)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -