📄 ctcust.c
字号:
/*-------------------------------- 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 + -