📄 cvmcon.cpp
字号:
case API_FP_RELEASE_IND:
BUSM_SendMailP1(0, USER_TASK, API_FP_RELEASE_RES, ConnectionEI);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_MELODY_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_TONE_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_CLOSE_REQ, SPK_AEC_ENABLED);
MmiState = MMI_STANDBY;
printf("->API_FP_RELEASE_IND: %x\n<-API_FP_RELEASE_RES\nMmiState = MMI_STANDBY\n", (((ApiFpReleaseIndType*) MailPtr)->bConnectionEI) );
break;
case API_FP_REJECT_IND:
MmiState = MMI_STANDBY;
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_MELODY_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_TONE_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_CLOSE_REQ, SPK_AEC_ENABLED);
printf("->API_FP_REJECT_IND: %x\nMmiState = MMI_STANDBY\n", (((ApiFpRejectIndType*) MailPtr)->bConnectionEI) );
break;
}
break;
/**************************************************************
* MMI_WAIT_RELEASE
**************************************************************/
case MMI_WAIT_RELEASE:
switch(((recDataType*) MailPtr)->PrimitiveIdentifier)
{
case API_FP_RELEASE_CFM:
MmiState = MMI_STANDBY;
printf("->API_FP_RELEASE_CFM\nMmiState = MMI_STANDBY\n");
break;
}
break;
/**************************************************************
* MMI_BUSY
**************************************************************/
case MMI_BUSY:
switch(((recDataType*) MailPtr)->PrimitiveIdentifier)
{
case KEY_MESSAGE:
switch(((recDataType*) MailPtr)->bData[0])
{
case 'x': // dummy
break;
}
break;
}
break;
/**************************************************************
* MMI_EXT_DATA
**************************************************************/
case MMI_EXT_DATA:
switch(((recDataType*) MailPtr)->PrimitiveIdentifier)
{
case KEY_MESSAGE:
switch(((recDataType*) MailPtr)->bData[0])
{
case 'o': // hook on
BUSM_SendMailP2(0, USER_TASK, API_FP_RELEASE_REQ, ConnectionEI, 0); // no reason
MmiState = MMI_WAIT_RELEASE;
// BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_CLOSE_REQ, SPK_AEC_ENABLED);
printf("<-API_FP_RELEASE_REQ\nMmiState = MMI_WAIT_RELEASE\n");
break;
case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9': case '0':
case '*': case '#':
BUSM_SendMailP3(0, USER_TASK, API_FP_KEYPAD_REQ, ConnectionEI, 1, ((recDataType*) MailPtr)->bData[0]);
printf("<-API_FP_MULTIKEYPAD_REQ (%c)\n", ((recDataType*) MailPtr)->bData[0]);
break;
case '+':
printf("Setting HsDataTestLength to %u\n", ++HsDataTestLength);
break;
case '-':
printf("Setting HsDataTestLength to %u\n", --HsDataTestLength);
break;
case 'd': // data send test iwu to PP
DataSend(4);
break;
case 'T':
HsDataTestMode = !HsDataTestMode;
if (HsDataTestMode)
{
printf("Start data test\n");
HsDataTestTotalTxCount = 0;
HsDataTestStartTime = clock();
while (HsDataReadyIndCount)
{
DataSend(HsDataTestLength);
}
}
else
{
printf("Stop data test\n");
}
break;
}
break;
case API_FP_DATA_RECEIVE_IND:
HsDataTestTotalRxCount += ((ApiFpDataReceiveIndType*)MailPtr)->bLength;
printf("->API_FP_DATA_RECEIVE_IND (%u bytes %u total)\n", ((ApiFpDataReceiveIndType*)MailPtr)->bLength, HsDataTestTotalRxCount);
{
uint8 i;
for (i = 0; i < ((ApiFpDataReceiveIndType*)MailPtr)->bLength; i++)
{
if (((ApiFpDataReceiveIndType*)MailPtr)->bData[i] != HsDataTestRxCounter++)
{
printf("Data error (byte %u): Received %2.2x Expected %2.2x!\n", i,
((ApiFpDataReceiveIndType*)MailPtr)->bData[i], --HsDataTestRxCounter);
HsDataTestRxCounter = ((ApiFpDataReceiveIndType*)MailPtr)->bData[i] + 1;
}
}
}
printf("<-API_FP_DATA_RECEIVE_READY_REQ\n");
BUSM_SendMailP1(0, USER_TASK, API_FP_DATA_RECEIVE_READY_REQ, ((ApiFpDataReceiveIndType*)MailPtr)->bConnectionEI);
break;
case API_FP_DATA_SEND_READY_IND:
printf("->API_FP_DATA_SEND_READY_IND\n");
HsDataReadyIndCount++;
if (HsDataTestMode)
{
DataSend(HsDataTestLength);
}
break;
case API_FP_RELEASE_IND:
BUSM_SendMailP1(0, USER_TASK, API_FP_RELEASE_RES, ConnectionEI);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_MELODY_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_TONE_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_CLOSE_REQ, SPK_AEC_ENABLED);
MmiState = MMI_STANDBY;
printf("->API_FP_RELEASE_IND: %x\n<-API_FP_RELEASE_RES\nMmiState = MMI_STANDBY\n", (((ApiFpReleaseIndType*) MailPtr)->bConnectionEI) );
break;
case API_FP_REJECT_IND:
MmiState = MMI_STANDBY;
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_MELODY_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_TONE_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_CLOSE_REQ, SPK_AEC_ENABLED);
printf("->API_FP_REJECT_IND: %x\nMmiState = MMI_STANDBY\n", (((ApiFpRejectIndType*) MailPtr)->bConnectionEI) );
break;
}
break;
/**************************************************************
* MMI_FP_WAIT_SETUP
**************************************************************/
case MMI_FP_WAIT_SETUP:
switch(((recDataType*) MailPtr)->PrimitiveIdentifier)
{
case KEY_MESSAGE:
switch(((recDataType*) MailPtr)->bData[0])
{
case 's':
printf("<-API_FP_ALERT_ON_REQ (LINE_SIM)\n");
BUSM_SendMailP1(0, USER_TASK, API_FP_ALERT_ON_REQ, 0/*ConnectionEI*/);
break;
case 'S':
printf("<-API_FP_ALERT_OFF_REQ (LINE_SIM)\n");
BUSM_SendMailP1(0, USER_TASK, API_FP_ALERT_OFF_REQ, 0/*ConnectionEI*/);
break;
case 'o': // hook on
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_CLOSE_REQ, SPK_AEC_ENABLED);
BUSM_SendMailP2(0, USER_TASK, API_FP_RELEASE_REQ, 0/*ConnectionEI*/, 0); // no reason
MmiState = MMI_FP_WAIT_RELEASE;
printf("<-API_FP_RELEASE_REQ\nMmiState = MMI_FP_WAIT_RELEASE\n");
break;
}
break;
case API_FP_CALL_PROC_IND:
printf("->FP_SW_CALL_PROC_ind: %x\n", (((ApiFpConnectIndType*) MailPtr)->bConnectionEI) );
break;
case API_FP_CONNECT_IND:
printf("->API_FP_CONNECT_IND: %x\n", (((ApiFpConnectIndType*) MailPtr)->bConnectionEI) );
// BUSM_SendMailP0(0, USER_TASK, CVM_FP_AUDIO_OPEN_REQ, SPK_AEC_ENABLED);
MmiState = MMI_CONVERSATION;
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_OPEN_REQ, SPK_AEC_ENABLED);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_UNMUTE_REQ, 1);
printf("MmiState = MMI_CONVERSATION\n");
break;
case API_FP_RELEASE_IND:
switch(((ApiFpReleaseIndType*) MailPtr)->bConnectionEI)
{
case SW_EI_TYPE_AUDIO_EXT:
BUSM_SendMailP1(0, USER_TASK, API_FP_RELEASE_RES, ConnectionEI);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_MELODY_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_TONE_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_CLOSE_REQ, SPK_AEC_ENABLED);
MmiState = MMI_STANDBY;
printf("->API_FP_RELEASE_IND: %x\n<-API_FP_RELEASE_RES\nMmiState = MMI_STANDBY\n", (((ApiFpReleaseIndType*) MailPtr)->bConnectionEI) );
break;
default:
BUSM_SendMailP1(0, USER_TASK, API_FP_RELEASE_RES, (((ApiFpReleaseIndType*) MailPtr)->bConnectionEI)); // answer of release
break;
}
break;
case API_FP_REJECT_IND:
switch(((ApiFpRejectIndType*) MailPtr)->bConnectionEI)
{
case SW_EI_TYPE_AUDIO_EXT:
MmiState = MMI_STANDBY;
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_MELODY_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_TONE_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_CLOSE_REQ, SPK_AEC_ENABLED);
printf("->API_FP_REJECT_IND: %x\nMmiState = MMI_STANDBY\n", (((ApiFpRejectIndType*) MailPtr)->bConnectionEI) );
break;
default:
break;
}
break;
}
break;
/**************************************************************
* MMI_FP_WAIT_SETUP
**************************************************************/
case MMI_FP_WAIT_RELEASE:
switch(((recDataType*) MailPtr)->PrimitiveIdentifier)
{
case API_FP_RELEASE_CFM:
MmiState = MMI_STANDBY;
printf("->API_FP_RELEASE_CFM\nMmiState = MMI_STANDBY\n");
break;
case API_FP_RELEASE_IND:
switch(((ApiFpReleaseIndType*) MailPtr)->bConnectionEI)
{
case SW_EI_TYPE_AUDIO_EXT:
BUSM_SendMailP1(0, USER_TASK, API_FP_RELEASE_RES, ConnectionEI);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_MELODY_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_STOP_TONE_REQ, 0);
BUSM_SendMailP1(0, USER_TASK, CVM_FP_AUDIO_CLOSE_REQ, SPK_AEC_ENABLED);
MmiState = MMI_STANDBY;
printf("->API_FP_RELEASE_IND: %x\n<-API_FP_RELEASE_RES\nMmiState = MMI_STANDBY\n", (((ApiFpReleaseIndType*) MailPtr)->bConnectionEI) );
break;
default:
BUSM_SendMailP1(0, USER_TASK, API_FP_RELEASE_RES, (((ApiFpReleaseIndType*) MailPtr)->bConnectionEI)); // answer of release
break;
}
break;
}
break;
}
}
// /****************************************************************************
// * FUNCTION: FpPcConTask
// *
// * INPUTS :
// * OUTPUTS : none
// * RETURNS : none
// *
// * DESCRIPTION:
// ****************************************************************************/
// void FpPcConTask(uint8 *MailPtr)
// {
// switch(((recDataType*) MailPtr)->PrimitiveIdentifier)
// {
// case API_FP_SETUP_IND:
// case API_FP_CONNECT_CFM:
// case API_FP_CONNECT_IND:
// case API_FP_REJECT_IND:
// case API_FP_RELEASE_IND:
// case API_FP_RELEASE_CFM:
// case API_FP_IWU_DATA_IND:
// case API_FP_SIGNAL_ON_IND:
// case CVM_FP_SW_AUDIO_MUTE_IND:
// // case API_FP_MULTIKEYPAD_IND:
// if (((ApiFpConnectIndType*) MailPtr)->bConnectionEI==0)
// {
// #if (FP_PCCON_REMOTE_LINE==1)
// FpPcLineTask(MailPtr);
// #else
// FpPcSpPhTask(MailPtr);
// #endif
// }
// else
// {
// FpPcSpPhTask(MailPtr);
// }
// break;
//
// default:
// FpPcSpPhTask(MailPtr);
// break;
// }
// }
/**************************************************************************
***************************************************************************
* PP-PCCON FUNCTIONS: END
***************************************************************************
**************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -