📄 atpte.c
字号:
GSMmemset(&MmiCal.flag_Cal, 0x00, sizeof(MmiCal.flag_Cal));
buff = paramArray[1].Value;
MmiCal.flag_Cal = buff;
NVM_Write(E2P_CHECK_CAL,&MmiCal.flag_Cal);
//ATSendReply( "SetHWRev:DONE" );
//ATSendReply( "Setflag_Cal:DONE" );
return DIDIT;
}
/*- Local Functions --------------------------------------------------------- */
/* Command for Product Number
/* Name: HndlATrPRODUCTNUM
/* Type: Read
/* Using : AT+PRODUCTNUM?
/* Desc : Product Number 阑 佬绢柯促.
/* Returns: OK or ERROR
/* Note :
/* ------------------------------------------------------------------------*/
ATCMD_RESULT HndlATrPRODUCTNUM(void)
{
INT8 *str0 = ( INT8 * ) GSMMalloc( 125 );
NVM_Read( E2P_PRODUCTNUM, str0 );
str0[8]='\0';
ATSendReply( str0 );
GSMFree( str0 );
// ATSendReply( "GetProductNum:DONE" );
return DIDIT;
}
/*- Local Functions --------------------------------------------------------- */
/* Command for Product Number
/* Name: HndlATsPRODUCTNUM
/* Type: Set
/* Using : AT+PRODUCTNUM="<value>"
/* Desc : Product Number 阑 技泼茄促.
/* Returns: OK or ERROR
/* Note : <value> - String
/* ------------------------------------------------------------------------*/
ATCMD_RESULT HndlATsPRODUCTNUM(INT8 *paramStrPtr)
{
UINT8 CalBuff[8];
UINT16 stringLen;
NVMMmiCal_t MmiCal;
UINT8 nFinal;
ATCMD_RESULT result;
PARAMETER_RECORD paramArray[1];
ParameterStructInit(paramArray, 1);
result = ParseForNOptIntAndString( paramStrPtr, 1, paramArray, &nFinal );
if((result != DIDIT) || (paramArray[0].ParamType != ATCMD_PARAMTYPE_STRING))
return AT_ECMDERROR;
stringLen = paramArray[0].String.Len;
if ( stringLen > 8 )
stringLen = 8;
GSMmemset(MmiCal.ProductNum, 0x00, 8); /* garbage value reset */
GSMmemcpy(MmiCal.ProductNum, paramArray[0].String.Buffer, stringLen);
NVM_Write(E2P_PRODUCTNUM,MmiCal.ProductNum);
//ATSendReply( "SetProductNum:DONE" );
return DIDIT;
}
/*- Local Functions --------------------------------------------------------- */
/* Command for Stack Reset
/* Name: HndlATsSTACKRESET
/* Type: Set
/* Using : AT+STACKRESET = <value>
/* Desc : Stack 阑 reset 茄促.
/* Returns: OK or ERROR
/* Note : <value> 狼 蔼捞 1牢 版快俊父 角青茄促.
/* ------------------------------------------------------------------------*/
ATCMD_RESULT HndlATsSTACKRESET(INT8 *paramStrPtr)
{
UINT8 nFinal;
ATCMD_RESULT result;
PARAMETER_RECORD paramArray[1];
ParameterStructInit(paramArray, 1);
result = ParseForNOptIntAndString( paramStrPtr, 1, paramArray, &nFinal );
if((result != DIDIT) || (paramArray[0].Value != 1))
return AT_ECMDERROR;
Mmi_CustReset(0x2761);
//ATSendReply( "Stackreset:DONE" );
return DIDIT;
}
/*- Local Functions --------------------------------------------------------- */
/* Command for Software Version
/* Name: HndlATsSWVERSION
/* Type: Set
/* Using : AT+SWVERSION = value
/* Desc : SW Version阑 Read
/* Returns: OK or ERROR
/* Note : value 狼 蔼捞 1牢 版快俊父 悼累
/* ------------------------------------------------------------------------*/
ATCMD_RESULT HndlATsSWVERSION(INT8 * paramStrPtr)
{
extern CHAR * mmi_getRealSWVersion(void);
extern CHAR * mmi_getSWVersion(void);
UINT8 nFinal;
ATCMD_RESULT result;
PARAMETER_RECORD paramArray[1];
ParameterStructInit(paramArray, 1);
result = ParseForNOptIntAndString( paramStrPtr, 1, paramArray, &nFinal );
if((result != DIDIT) || (paramArray[0].Value != 1))
return AT_ECMDERROR;
/* 2004.07.02 dsw, yhchoi : E310 篮 铰牢 滚傈苞 郴何 滚傈阑 蝶肺 包府茄促. */
/* 弊贰辑 剧魂 苞沥俊辑 IMEI and OptiTrace 橇肺弊伐捞 SW Version 阑 夸没 沁阑锭 郴何 滚傈疙阑 焊尘荐 乐档废 茄促.*/
#if defined (__DSW_SGH_E300_VODA__)
ATSendReply( mmi_getSWVersion( ) );
#else
ATSendReply( mmi_getRealSWVersion( ) );
#endif
return DIDIT;
}
/*- Local Functions --------------------------------------------------------- */
/* Command for Qos Parameter
/* Name: HndlATsQOSPARAM
/* Type: Set
/* Using : AT+QOSPARAM=Delay, Reliability, Peak Throughput, Mean Throughput, Precedence
/* Desc : Network QoS 瘤沥窍咯 Set
/* Returns: OK or ERROR
/* Note :
/* ------------------------------------------------------------------------*/
ATCMD_RESULT HndlATsQOSPARAM(INT8 * paramStrPtr)
{
UINT8 flag;
NetParam *QosParam = ( UINT8 * ) GSMMalloc( sizeof( NetParam ) );
UINT8 nFinal;
ATCMD_RESULT result;
PARAMETER_RECORD paramArray[5];
UINT8 i;
ParameterStructInit(paramArray, 5);
result = ParseForNOptIntAndString( paramStrPtr, 5, paramArray, &nFinal );
if((nFinal >= 5 ) && (nFinal < 0))
return AT_ECMDERROR;
GSMmemset( QosParam, 0xff, sizeof(NetParam) );
QosParam->SetPTEQoS = 0x00;
for (i=0; i < 5; i++)
{
if(paramArray[i].ParamType != ATCMD_PARAMTYPE_NUMERIC)
return AT_ECMDERROR;
}
/* set QoS DelayClass(class0~4) */
if((QosParam->QoSDelayClass = paramArray[0].Value) > SNGS_DelayClass_4)
{
QosParam->QoSDelayClass = SNGS_DelayClass_0;
}
/* set QoS ReliabilityClass(class0~5,class77) */
if((QosParam->QoSReliabilityClass = paramArray[1].Value) > ReliabilityClass5 )
{
QosParam->QoSReliabilityClass = SNGS_PrecClass_0;
}
/* set QoS PeakThroughput(class0~9) */
if((QosParam->QoSPeakThroughput = paramArray[2].Value) > PkThrghptClass256kB)
{
QosParam->QoSPeakThroughput = PkThrghptClassS;
}
/* set QoS MeanThroughput(class0~18, class31) */
if((QosParam->QoSMeanThroughput = paramArray[3].Value) > SNGS_MeanTput_50MB)
{
QosParam->QoSMeanThroughput = ReliabilityClassInit;
}
/* set QoS PrecedenceClass(class0~3) */
if((QosParam->QoSPrecedenceClass = paramArray[4].Value) > SNGS_PrecClass_3 )
{
QosParam->QoSPrecedenceClass = SNGS_MeanTput_INIT;
}
QosParam->SetPTEQoS = TRUE;
NVM_Write(E2P_NWSERVERQoSPARAM(UP_SIMIndex, 0), QosParam);
//ATSendReply( "SetQoSParam : DONE" );
GSMFree(QosParam);
return DIDIT;
}
/*- Local Functions --------------------------------------------------------- */
/* Command for Qos Parameter
/* Name: HndlATrQOSPARAM
/* Type: Read
/* Using : AT+QOSPARAM?
/* Desc : 泅犁 Setting 等 蔼阑 Read
/* Returns: OK
/* Note :
/* ------------------------------------------------------------------------*/
ATCMD_RESULT HndlATrQOSPARAM(void)
{
UINT8 *str = ( UINT8 * ) GSMMalloc( sizeof(UINT8)*120 );
NetParam *QosParam = ( UINT8 * ) GSMMalloc( sizeof( NetParam ) );;
NVM_Read (E2P_NWSERVERQoSPARAM(UP_SIMIndex, 0), QosParam);
GSMsprintf(str,"QoSDelayClass:%d", QosParam->QoSDelayClass);
ATSendReply( str );
GSMsprintf(str,"QoSReliabilityClass:%d", QosParam->QoSReliabilityClass);
ATSendReply( str );
GSMsprintf(str,"QoSPeakThroughput:%d", QosParam->QoSPeakThroughput);
ATSendReply( str );
GSMsprintf(str,"QoSMeanThroughput:%d", QosParam->QoSMeanThroughput);
ATSendReply( str );
GSMsprintf(str,"QoSPrecedenceClass:%d", QosParam->QoSPrecedenceClass);
ATSendReply( str );
//ATSendReply( "GetQoSParam : DONE" );
GSMFree(str);
GSMFree(QosParam);
return DIDIT;
}
/*- Local Functions --------------------------------------------------------- */
/* Command for Greeting String
/* Name: HndlATsGREETINGSTRING
/* Type: Set
/* Using : AT+GREETINGSTRING=<Greeting Message String>
/* Desc : Greeting Message String阑 Set
/* Returns: OK or ERROR
/* Note :
/* ------------------------------------------------------------------------*/
ATCMD_RESULT HndlATsGREETINGSTRING(INT8 * paramStrPtr)
{
INT8 *str = ( INT8 * ) GSMMalloc( 256 );
UINT8 nFinal;
ATCMD_RESULT result;
PARAMETER_RECORD paramArray[1];
#ifdef __SEC_UNICODE__
WCHAR GreetingText[65];
#endif
ParameterStructInit(paramArray, 1);
result = ParseForNOptIntAndString( paramStrPtr, 1, paramArray, &nFinal );
if (paramArray[0].ParamType != ATCMD_PARAMTYPE_STRING )
return AT_ECMDERROR;
GSMsprintf( str, "%s", paramArray[0].String.Buffer);
#ifdef __SEC_UNICODE__
ker_memsetW(GreetingText, 0x00, 65);
ker_UTF8toLEUCS2(GreetingText, paramArray[0].String.Buffer, paramArray[0].String.Len);
#endif
if( GSMstrlen( str ) >= sizeof(Greet_t) )
{
ATSendReply( "errror:Too long string" );
return AT_ECMDERROR;
}
else
#ifdef __SEC_UNICODE__
NVM_Write(E2P_GREETING, GreetingText);
#else
NVM_Write( E2P_GREETING, str );
#endif
GSMFree( str );
return DIDIT;
}
/*- Local Functions --------------------------------------------------------- */
/* Command for Greeting String
/* Name: HndlATrGREETINGSTRING
/* Type: Read
/* Using : AT+GREETINGSTRING?
/* Desc : Greeting Message String阑 Read
/* Returns: OK
/* Note :
/* ------------------------------------------------------------------------*/
ATCMD_RESULT HndlATrGREETINGSTRING(void)
{
INT8 *str = ( INT8 * ) GSMMalloc( 256 );
#ifdef __SEC_UNICODE__
WCHAR GreetingText[65];
INT8 *buff = ( INT8 * ) GSMMalloc( 65 );
#endif
#ifdef __SEC_UNICODE__
NVM_Read(E2P_GREETING, GreetingText);
ker_LEUCS2toUTF8(buff, GreetingText, 65);
ATSendReply(buff);
#else
NVM_Read( E2P_GREETING, str );
ATSendReply( str );
#endif
GSMFree( str );
return DIDIT;
}
/*- Local Functions --------------------------------------------------------- */
/* Command for Ring Test
/* Name: HndlATsRINGTEST
/* Type: Set
/* Using : AT+RINGTEST=<Frequency>,<Volume>
/* Desc : Ring Test
/* Returns: OK or ERROR
/* Note :
/* ------------------------------------------------------------------------*/
ATCMD_RESULT HndlATsRINGTEST(INT8 * paramStrPtr)
{
UINT8 nFinal;
ATCMD_RESULT result;
PARAMETER_RECORD paramArray[2];
ParameterStructInit(paramArray, 2);
result = ParseForNOptIntAndString( paramStrPtr, 2, paramArray, &nFinal );
if((result != DIDIT) || (nFinal > 2))
return AT_ECMDERROR;
if((paramArray[0].ParamType != ATCMD_PARAMTYPE_NUMERIC) ||\
(paramArray[1].ParamType != ATCMD_PARAMTYPE_NUMERIC))
return AT_ECMDERROR;
//快急 PWM狼 林颇荐甫 沥茄促....
UHSetRingerFrequency(paramArray[0].Value);
//沥秦柳 林颇荐俊 措秦 捞力绰 澜狼 农扁甫 备茄促.
UHSetRingerDutyRatio(paramArray[1].Value);
//ATSendReply( "RingTest:DONE" );
return DIDIT;
}
/*- Local Functions --------------------------------------------------------- */
/* Command for Ring Test Stop
/* Name: HndlATsRINGTESTSTOP
/* Type: Set
/* Using : AT+RINGTESTSTOP=1
/* Desc : RingTest甫 辆丰
/* Returns: OK or ERROR
/* Note :
/* ------------------------------------------------------------------------*/
ATCMD_RESULT HndlATsRINGTESTSTOP(INT8 * paramStrPtr)
{
UINT8 nFinal;
ATCMD_RESULT result;
PARAMETER_RECORD paramArray[1];
ParameterStructInit(paramArray, 1);
result = ParseForNOptIntAndString( paramStrPtr, 1, paramArray, &nFinal );
if ( paramArray[0].Value != 1)
return AT_ECMDERROR;
UHDisableRinger( );
//ATSendReply( "RingTestStop:DONE" );
return DIDIT;
}
/*- Local Functions --------------------------------------------------------- */
/* Command for Cust Reset
/* Name: HndlATsCUSTRESET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -