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

📄 ctcust.c

📁 free sources for gsm
💻 C
📖 第 1 页 / 共 5 页
字号:
/*-------------------------------- Globals: ------------------------------*/
UINT32 CTFactoryDataSectorBegin = 0L;
BOOLEAN CTSectorAddressNowKnown = FALSE;
static BOOLEAN IsForbidMenuOnDS = TRUE;
#if defined(__DTO_DRM_SEARCH_MO__)
INT8 GLOBAL_TEST =0;
#endif
#if defined (__SGH_XSLIDE_TARGET__)
UINT16 flash_value1=0;  //chosungmin
UINT16 flash_value2=0; 
#endif
/*---------------------------- Local Functions: --------------------------*/
#if ( _MEL_IC_ == UH_MELIC_NEC )
#if 0
#include "..\uh\sound\melic\nec\nec_main.h"
extern unsigned char nec_midi_digital_gain;// = NEC_DIGVOL_GAIN6dB;
extern unsigned char nec_midi_analog_gain;// = NEC_ANAVOL_GAIN0;
extern unsigned char nec_valance_gain;// = NEC_VALANCE_GAIN6dB;
unsigned char fue_System_Set_VolumeBalance( unsigned char MidiVolume, unsigned char AdpcmVolume );

#define NEC_GAIN_MUTE -2

static void CTGetGain()
{
    char* buf = GSMMalloc(80);
    
    GSMstrcpy(buf, "Digital Gain : ");
    switch (nec_midi_digital_gain)
    {
        case NEC_DIGVOL_GAINM    : GSMstrcat(buf, "Mute"); break;
        case NEC_DIGVOL_GAIN0dB  : GSMstrcat(buf, "0dB"); break;
        case NEC_DIGVOL_GAIN6dB  : GSMstrcat(buf, "6dB"); break;
        case NEC_DIGVOL_GAIN12dB : GSMstrcat(buf, "12dB"); break;
        default : GSMstrcat(buf, "unknown");
    }
    CTSendStringResponse(buf);
    
    GSMstrcpy(buf, "Analog Gain : ");
    switch (nec_midi_analog_gain)
    {
        case NEC_ANAVOL_GAINM : GSMstrcat(buf, "Mute"); break;
        case NEC_ANAVOL_GAIN0 : GSMstrcat(buf, "0dB"); break;
        default : GSMstrcat(buf, "unknown");
    }
    CTSendStringResponse(buf);
    
    GSMstrcpy(buf, "Valance Gain : ");
    switch (nec_valance_gain)
    {
        case NEC_VALANCE_GAINM    : GSMstrcat(buf, "Mute"); break;
        case NEC_VALANCE_GAIN0dB  : GSMstrcat(buf, "0dB"); break;
        case NEC_VALANCE_GAIN6dB  : GSMstrcat(buf, "6dB"); break;
        case NEC_VALANCE_GAIN12dB : GSMstrcat(buf, "12dB"); break;
        default : GSMstrcat(buf, "unknown");
    }
    CTSendStringResponse(buf);
        
    GSMFree(buf);
}

static int GetGainValue(CTTokenList* CTCmd)
{
    int val;
    if (CTCmd->NumTokens != 2)
    {
        CTSendStringResponse ("Not done : example : SetDigitalGain,6");
        return -1;
    }
    val = GSMatoi(CTCmd->Token[1]);
    if (val != 0 && val != 6 && val != 12)
    {
        CTSendStringResponse ("Not done : Gain value must be 0 / 6 / 12 / m (mute)");
        return -1;
    }
    if ((CTCmd->Token[1][0] == 'm' || CTCmd->Token[1][0] == 'M') && CTCmd->Token[1][1] == 0)
    {
        return NEC_GAIN_MUTE;
    }
    return val;
}

static void CTSetDigitalGain(CTTokenList * CTCmd)
{
    int val = GetGainValue(CTCmd);
    if (val == -1) 
    {
        return;
    }
    switch (val)
    {
        case NEC_GAIN_MUTE : nec_midi_digital_gain = NEC_DIGVOL_GAINM;    break;
        case 0 :             nec_midi_digital_gain = NEC_DIGVOL_GAIN0dB;  break;
        case 6 :             nec_midi_digital_gain = NEC_DIGVOL_GAIN6dB;  break;
        case 12 :            nec_midi_digital_gain = NEC_DIGVOL_GAIN12dB; break;
        default : GSMprintf("ERROR: CTSetDigitalGain\n");
    }
    nec_Volume_Control(NEC_DIGVOL, nec_midi_digital_gain, NEC_CHANNEL_LR);
    CTSendStringResponse("SetDigitalGain : Success\n");
    CTGetGain();
}

static void CTSetAnalogGain(CTTokenList * CTCmd)
{
    int val = GetGainValue(CTCmd);
    if (val == -1) 
    {
        return;
    }
    if (val == 6 || val == 12)
    {
        CTSendStringResponse ("Not done : Analog Gain value -- 0 / m (mute)");
        return;
    }
    switch (val)
    {
        case NEC_GAIN_MUTE : nec_midi_analog_gain = NEC_ANAVOL_GAINM;  break;
        case 0 :             nec_midi_analog_gain = NEC_ANAVOL_GAIN0;  break;
        default : GSMprintf("ERROR: CTSetAnalogGain\n");
    }
    nec_Volume_Control(NEC_ANAVOL, nec_midi_analog_gain, NEC_CHANNEL_LR);
    CTSendStringResponse("SetAnalogGain : Success\n");
    CTGetGain();
}

static void CTSetValanceGain(CTTokenList * CTCmd)
{
    int val = GetGainValue(CTCmd);
    if (val == -1) 
    {
        return;
    }
    switch (val)
    {
        case NEC_GAIN_MUTE : nec_valance_gain = NEC_VALANCE_GAINM;    break;
        case 0 :             nec_valance_gain = NEC_VALANCE_GAIN0dB;  break;
        case 6 :             nec_valance_gain = NEC_VALANCE_GAIN6dB;  break;
        case 12 :            nec_valance_gain = NEC_VALANCE_GAIN12dB; break;
        default : GSMprintf("ERROR: CTSetValanceGain\n");
    }
    fue_System_Set_VolumeBalance(nec_valance_gain,nec_valance_gain);    CTSendStringResponse("SetValanceGain : Success\n");
    CTGetGain();
}
#endif

#endif
#if ( _MEL_IC_ == UH_MELIC_NEC ) /*Edited by MTIS leekilsun 2004.9.8*//* 20040913 MTIS csn21 Mp3Play赣隆 */
/* NEC9993 0809 start */
extern unsigned char fue_Register_Read_A1(unsigned char Addr, unsigned char * Data);
extern unsigned char fue_Register_Write_A1(unsigned char Addr, unsigned char Data);
extern unsigned char fue_System_Set_MasterVol(unsigned char Volume);
extern unsigned char fue_System_Set_VolumeBalance(unsigned char MidiVolume, unsigned char AdpcmVolume);
extern unsigned char fue_Midi_Control_Volume(unsigned char PortNo, unsigned char Volume);
extern void NecMonoSet(unsigned char mode);
    static void CTNECVOL( CTTokenList * CTCmd )
   {
                   GSMprintf("\n###NEC,30,X1,X2,X3,X4,X5###\n");
                   GSMprintf("\n###X1:Digital Volume( 0(12dB) ~ 2(0dB) ~ 23(MUTE) )  ###\n");
                   GSMprintf("\n###X2:Analog Voume ( 0(0dB) ~ 1(-1.5dB) ~ 31(MUTE) )  ###\n");
                   GSMprintf("\n###X3:Fue_System_Set_MaterVol( 255(0dB) ~ 16(-24dB) ~ 1(-48dB) )  ###\n");
                   GSMprintf("\n###X4:Fue_System_Set_Volume_Balance( 255(12dB) ~ 64(-0dB) ~ 1(-36dB) )  ###\n");
                   GSMprintf("\n###X5:Fue_Midi_Control_Volume( 100%(0 dB) ~ 0 )  ###\n");
                    fue_Register_Write_A1(0x09,GSMatoi(CTCmd->Token[1]));  // degital volume [0dB]
                    fue_Register_Write_A1(0x0a,GSMatoi(CTCmd->Token[1]));  // degital volume [0dB]
                   fue_Register_Write_A1(0x0b,GSMatoi(CTCmd->Token[2]));   // analog volume [0dB]
                    fue_Register_Write_A1(0x0c,GSMatoi(CTCmd->Token[2]));  // analog volume [0dB]
                   fue_System_Set_MasterVol(GSMatoi(CTCmd->Token[3]));
                   fue_System_Set_VolumeBalance(GSMatoi(CTCmd->Token[4]), 0);
                   fue_Midi_Control_Volume(0, GSMatoi(CTCmd->Token[5]));
                   GSMprintf("\n###NECVOL,DigitaVol=%d,AnalogVol=%d,MaterVol=%d,Balance=%d,Volume=%d###\n",GSMatoi(CTCmd->Token[1]),GSMatoi(CTCmd->Token[2]),GSMatoi(CTCmd->Token[3]),GSMatoi(CTCmd->Token[4]),GSMatoi(CTCmd->Token[5]));
   }
 static void CTNECMONO( CTTokenList * CTCmd )
   {
            NecMonoSet(GSMatoi(CTCmd->Token[1]));
   }
extern void  PerControlPSCVLDO_5( BOOLEAN on );
  static void CTNECLKS( CTTokenList * CTCmd )
   {
	switch( GSMatoi(CTCmd->Token[1])){
		case 0:
			GSMprintf("\nVLDO_5 ENABLE \n");
             PerControlPSCVLDO_5( GSMatoi(CTCmd->Token[2]) );
			break;
	      case 1:
			break;
   }
  	}

  #ifdef _NEC_ANALOG_GAIN_VOL_TEST_


extern  unsigned char necgain[100][6];
extern unsigned char nec_melody_id;
extern unsigned char nec_melody_index;
extern unsigned char neceq;
extern unsigned char neceq1;
extern unsigned char necspeakerout;

extern unsigned char nec_Volume_Control(unsigned char Type, unsigned char Vol,unsigned char LR);
extern unsigned long DspLibVolumeControl(unsigned short level);
    static void CTNEC( CTTokenList * CTCmd )
    	{

		  FFS_Handle hFS;
        UINT16 wRC;
       unsigned char before;
	unsigned char nec1;
	unsigned short level;
	   
         switch(GSMatoi(CTCmd->Token[1])){

		case 0:
			
				nec1=GSMatoi(CTCmd->Token[2]);
				before = necgain[nec_melody_id][0];
				GSMprintf("\n###Before Meldoy Master  Gain is %d ###\n",before);

				necgain[nec_melody_id][0]=nec1;

				fue_Midi_Control_Volume(0,nec1);
				if((level = nec1 * 2.55) > 255) 
				level = 255 ;
				DspLibVolumeControl(level);

				GSMprintf("\n###Current Meldoy Master Gain is %d ###\n",nec1);
				wRC = FFS_FileCreateWriteClose(hFFS, 75, 10, 50, necgain, FFS_BUF_NOCOPY );
			break;
			

	      case 1:

				nec1=GSMatoi(CTCmd->Token[2]);
				before = necgain[nec_melody_id][nec_melody_index];
				GSMprintf("\n###Before Meldoy Analog Gain is %d ###\n",before);

				nec_Volume_Control(1, nec1, 0);

				necgain[nec_melody_id][nec_melody_index]=nec1;
				GSMprintf("\n###Current Meldoy Analog Gain is %d ###\n",nec1);
				wRC = FFS_FileCreateWriteClose(hFFS, 75, 10, 50, necgain, FFS_BUF_NOCOPY );

			break;

	     case 2:

			   for(level=0;level<100;level++){
			   	 GSMprintf("\n %d:",level);
			   	  for(nec1=0;nec1<6;nec1++){
				  	
					 GSMprintf("%d,",necgain[level][nec1]);

			   	  	}

			   	}

			break;

	case 3:

			NecMonoSet(GSMatoi(CTCmd->Token[2]));

			break;
	case 4:

			neceq=GSMatoi(CTCmd->Token[2]);

			break;
        case 5:

			neceq1=GSMatoi(CTCmd->Token[2]);

			break;			
      case 6:

			necspeakerout=GSMatoi(CTCmd->Token[2]);

			break;			



         	}
		
   {

      

	   
   }
    	}
#endif //Edited by MTIS leekilsun 2004.11.8 (9)-->start

#endif



/*------------------------------------------------------------------------*/
/*
Name:    CTExampleSimple
Desc:    Example of function without parameters.
Params:  -
Returns: -
Caveats:
*/

static void CTExampleSimple( void )
   {
   CTSendStringResponse( "ExampleSimpleFunc:\n" );
   CTSendStringResponse( "This command takes no parameters.\n" );
   CTSendStringResponse( "It performs the required action and sends a response string back.\n" );
   CTSendStringResponse( "ExampleSimpleFunc:DONE\n" );
   return;
   }
#if defined(__SGH_X810_TARGET__)

static void CTGetMp3path( void )
   {
   char  GetString[100];
   extern UHMutiSPKPathVal UHCheckSpkEn(void);
   extern BOOLEAN UHJackInt_Instate(void);
   GSMsprintf( GetString, "CurSPKStatus=%d , curJackState=%d  \n", UHCheckSpkEn(),UHJackInt_Instate() );
   CTSendStringResponse(GetString );
   return;
   }
#endif
/*------------------------------------------------------------------------*/
/*
Name:    CTExampleVariable
Desc:    Example of function with one parameter.
Params:  -
Returns: -
Caveats:
*/

static void CTExampleVariable( void )
   {
   char  ShortString[10];

   CTSendStringResponse( "ExampleVariableFunc:\n" );
   CTSendStringResponse( "The parameter you entered multiplied by two is" );
   GSMsprintf( ShortString, "%d\n", dummy * 2 );
   CTSendStringResponse( ShortString );
   CTSendStringResponse( "Any of the named command types can also return values.\n" );
   CTSendStringResponse( "ExampleVariableFunc:RET:" );
   CTSendStringResponse( ShortString );
   return;
   }

/*------------------------------------------------------------------------*/
/*

⌨️ 快捷键说明

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