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

📄 cvmcon.cpp

📁 SITEL的2.4G无线分机CVM的基站端FP参考程序
💻 CPP
📖 第 1 页 / 共 5 页
字号:
        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 + -