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

📄 smi_bt.c

📁 是一个手机功能的模拟程序
💻 C
字号:
/* 
+----------------------------------------------------------------------------- 
|  Project :  GSM-F&D (8411)
|  Modul   :  SMI
+----------------------------------------------------------------------------- 
|  Copyright 2002 Texas Instruments Berlin, AG 
|                 All rights reserved. 
| 
|                 This file is confidential and a trade secret of Texas 
|                 Instruments Berlin, AG 
|                 The receipt of or possession of this file does not convey 
|                 any rights to reproduce or disclose its contents or to 
|                 manufacture, use, or sell anything it may describe, in 
|                 whole, or in part, without the specific written consent of 
|                 Texas Instruments Berlin, AG. 
+----------------------------------------------------------------------------- 
|  Purpose :  Functions for processing incomming primitives from the Bluetooth
|             Interface, which are called by the GSM stack
+----------------------------------------------------------------------------- 
*/ 

#define ENTITY_SMI
#if defined (NEW_FRAME)

#include <string.h>
#include <stdarg.h>
#include "typedefs.h"
#include "vsi.h"
#include "custom.h"
#include "gsm.h"
#include "prim.h"
#include "tok.h"

#include "aci_cmh.h"
#include "ksd.h"
#include "aca.h"
#include "smi.h"

#include "gdi.h"
#include "audio.h"

#else

#include <string.h>
#include <stdarg.h>
#include "stddefs.h"
#include "custom.h"
#include "gsm.h"
#include "prim.h"
#include "vsi.h"
#include "tok.h"

#include "aci_cmh.h"
#include "ksd.h"
#include "aca.h"
#include "smi.h"

#include "gdi.h"
#include "audio.h"

#endif

#ifdef BT_ADAPTER
#include "dti.h"
#include "bti.h"
#endif
#ifdef BT_INTERFACE
#include "p_btp.h"
#endif /* BT_ADAPTER */

static UBYTE dummy[BTI_BD_ADDR_LENGTH];




/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_init_profile_cnf  |
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_INIT_PROFILE_CNF received from Bluetooth interface.

*/
GLOBAL const void bt_init_profile_cnf
                  (
                    T_BTP_INIT_PROFILE_CNF *btp_init_profile_cnf
                  )
{


  TRACE_FUNCTION ("bt_init_profile_cnf()");
  PACCESS        (btp_init_profile_cnf);

    switch (btp_init_profile_cnf->device)
    {

    case BTI_HEADSET:
        if(btp_init_profile_cnf->result==BTI_OK)
            ui_bt(UI_BT_HS_INIT_SUCCES, dummy);
        else
            ui_bt(UI_BT_HS_INIT_ERROR, dummy);
        break;

    case BTI_DIAL_UP:
        if(btp_init_profile_cnf->result==BTI_OK)
            ui_bt(UI_BT_DU_INIT_SUCCES, dummy);
        else
            ui_bt(UI_BT_DU_INIT_ERROR, dummy);


        break;

    default:
        ui_bt(UI_BT_UNKNOWN_DEVICE, dummy);

        break;
    }



  PFREE (btp_init_profile_cnf);
}



/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_deinit_profile_cnf|
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_DEINIT_PROFILE_CNF received from Bluetooth Interface.

*/
GLOBAL const void bt_deinit_profile_cnf
                  (
                    T_BTP_DEINIT_PROFILE_CNF *btp_deinit_profile_cnf
                  )
{


  TRACE_FUNCTION ("bt_deinit_profile_cnf()");
  PACCESS        (btp_deinit_profile_cnf);

  switch (btp_deinit_profile_cnf->device)
    {

    case BTI_HEADSET:
        if(btp_deinit_profile_cnf->result==BTI_OK)
            ui_bt(UI_BT_HS_DEINIT_SUCCES, dummy);
        else
            ui_bt(UI_BT_HS_DEINIT_ERROR, dummy);
        break;

    case BTI_DIAL_UP:
        if(btp_deinit_profile_cnf->result==BTI_OK)
            ui_bt(UI_BT_DU_DEINIT_SUCCES, dummy);
        else
            ui_bt(UI_BT_DU_DEINIT_ERROR, dummy);


        break;

    default:
        ui_bt(UI_BT_UNKNOWN_DEVICE, dummy);

        break;
    }



  PFREE (btp_deinit_profile_cnf);
}


/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_device_search_cnf |
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_DEVICE_SEARCH_CNF received from Bluetooth Interface.

*/
GLOBAL const void bt_device_search_cnf
                  (
                    T_BTP_DEVICE_SEARCH_CNF *btp_device_search_cnf
                  )
{


  TRACE_FUNCTION ("bt_device_search_cnf()");
  PACCESS        (btp_device_search_cnf);


  switch (btp_device_search_cnf->result)
    {

    case BTI_HEADSET:
        ui_bt(UI_BT_HS_SEARCH_FINISHED, dummy);
        break;

    case BTI_DIAL_UP:
        ui_bt(UI_BT_DU_SEARCH_FINISHED, dummy);
        break;

    default:
        ui_bt(UI_BT_UNKNOWN_DEVICE, dummy);

        break;
    }

  PFREE (btp_device_search_cnf);
}

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_device_found_ind  |
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_DEVICE_FOUND_IND received from Bluetooth Interface.

*/
GLOBAL const void bt_device_found_ind
                  (
                    T_BTP_DEVICE_FOUND_IND *btp_device_found_ind
                  )
{


  TRACE_FUNCTION ("bt_device_found_ind()");
  PACCESS        (btp_device_found_ind);

  switch (btp_device_found_ind->services)
    {

    case BTI_HEADSET:
        ui_bt(UI_BT_HS_FOUND, btp_device_found_ind->bd_addr);
        break;

    case BTI_DIAL_UP:
        ui_bt(UI_BT_DU_FOUND, btp_device_found_ind->bd_addr);
        break;

    default:
        ui_bt(UI_BT_UNKNOWN_DEVICE, dummy);

        break;
    }

  PFREE (btp_device_found_ind);
}


/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_connect_device_cnf|
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_CONNECT_DEVICE_CNF received from Bluetooth Interface.

*/
GLOBAL const void bt_connect_device_cnf
                  (
                    T_BTP_CONNECT_DEVICE_CNF *btp_connect_device_cnf
                  )
{


  TRACE_FUNCTION ("bt_connect_device_cnf()");
  PACCESS        (btp_connect_device_cnf);

  switch (btp_connect_device_cnf->device)
    {
    case BTI_HEADSET:
        if(btp_connect_device_cnf->result==BTI_OK)
            ui_bt(UI_BT_HS_CONNECTED, btp_connect_device_cnf->bd_addr);
        else
            ui_bt(UI_BT_HS_CONNECT_ERROR, btp_connect_device_cnf->bd_addr);
        break;

    case BTI_DIAL_UP:
        if(btp_connect_device_cnf->result==BTI_OK)
            ui_bt(UI_BT_DU_CONNECTED, btp_connect_device_cnf->bd_addr);
        else
            ui_bt(UI_BT_DU_CONNECT_ERROR, btp_connect_device_cnf->bd_addr);

        break;

    default:
        ui_bt(UI_BT_UNKNOWN_DEVICE, dummy);

        break;
    }


  PFREE (btp_connect_device_cnf);
}

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_connect_device_ind|
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_CONNECT_DEVICE_IND received from Bluetooth Interface.

*/
GLOBAL const void bt_connect_device_ind
                  (
                    T_BTP_CONNECT_DEVICE_IND *btp_connect_device_ind
                  )
{


  TRACE_FUNCTION ("bt_connect_device_ind()");
  PACCESS        (btp_connect_device_ind);




  PFREE (btp_connect_device_ind);
}


/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_disconnect_device_cnf|
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_DISCONNECT_DEVICE_CNF received from Bluetooth Interface.

*/
GLOBAL const void bt_disconnect_device_cnf
                  (
                    T_BTP_DISCONNECT_DEVICE_CNF *btp_disconnect_device_cnf
                  )
{


  TRACE_FUNCTION ("bt_disconnect_device_cnf()");
  PACCESS        (btp_disconnect_device_cnf);


  switch (btp_disconnect_device_cnf->device)
    {

    case BTI_HEADSET:
        ui_bt(UI_BT_HS_DISCONNECTED, btp_disconnect_device_cnf->bd_addr);
        break;

    case BTI_DIAL_UP:
        ui_bt(UI_BT_DU_DISCONNECTED, btp_disconnect_device_cnf->bd_addr);
        break;

    default:
        ui_bt(UI_BT_UNKNOWN_DEVICE, dummy);

        break;
    }


  PFREE (btp_disconnect_device_cnf);
}



/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_disconnect_device_ind|
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_DISCONNECT_DEVICE_IND received from Bluetooth Interface.

*/
GLOBAL const void bt_disconnect_device_ind
                  (
                    T_BTP_DISCONNECT_DEVICE_IND *btp_disconnect_device_ind
                  )
{


  TRACE_FUNCTION ("bt_disconnect_device_ind()");
  PACCESS        (btp_disconnect_device_ind);


  switch (btp_disconnect_device_ind->device)
    {

    case BTI_HEADSET:
        ui_bt(UI_BT_HS_DISCONNECTED, btp_disconnect_device_ind->bd_addr);
        break;

    case BTI_DIAL_UP:
        ui_bt(UI_BT_DU_DISCONNECTED, btp_disconnect_device_ind->bd_addr);
        break;

    default:
        ui_bt(UI_BT_UNKNOWN_DEVICE, dummy);

        break;
    }



  PFREE (btp_disconnect_device_ind);
}

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_audio_connection_ind|
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_AUDIO_CONNECTION_IND received from Bluetooth Interface.

*/
GLOBAL const void bt_audio_connection_ind
                  (
                    T_BTP_AUDIO_CONNECTION_IND *btp_audio_connection_ind
                  )
{


  TRACE_FUNCTION ("bt_audio_connection_ind()");
  PACCESS        (btp_audio_connection_ind);




  PFREE (btp_audio_connection_ind);
}

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_transfer_audio_in_cnf|
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_TRANSFER_AUDIO_IN_CNF received from Bluetooth Interface.

*/
GLOBAL const void bt_transfer_audio_in_cnf
                  (
                    T_BTP_TRANSFER_AUDIO_IN_CNF *btp_transfer_audio_in_cnf
                  )
{


  TRACE_FUNCTION ("bt_transfer_audio_in_cnf()");
  PACCESS        (btp_transfer_audio_in_cnf);




  PFREE (btp_transfer_audio_in_cnf);
}


/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_transfer_audio_out_cnf|
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_TRANSFER_AUDIO_OUT_CNF received from Bluetooth Interface.

*/
GLOBAL const void bt_transfer_audio_out_cnf
                  (
                    T_BTP_TRANSFER_AUDIO_OUT_CNF *btp_transfer_audio_out_cnf
                  )
{


  TRACE_FUNCTION ("bt_transfer_audio_out_cnf()");
  PACCESS        (btp_transfer_audio_out_cnf);




  PFREE (btp_transfer_audio_out_cnf);
}

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_pin_ind     |
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_PIN_IND received from Bluetooth Interface.

*/
GLOBAL const void bt_pin_ind
                  (
                    T_BTP_PIN_IND *btp_pin_ind
                  )
{


  TRACE_FUNCTION ("bt_pin_ind()");
  PACCESS        (btp_pin_ind);




  PFREE (btp_pin_ind);
}


/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : SMI_BT               |
| STATE   : code                      ROUTINE : bt_reconfig_profile_cnf|
+--------------------------------------------------------------------+

  PURPOSE : Process primitive BTP_RECONFIG_PROFILE_CNF received from Bluetooth Interface.

*/
GLOBAL const void bt_reconfig_profile_cnf
                  (
                    T_BTP_RECONFIG_PROFILE_CNF *btp_reconfig_profile_cnf
                  )
{


  TRACE_FUNCTION ("bt_reconfig_profile_cnf()");
  PACCESS        (btp_reconfig_profile_cnf);




  PFREE (btp_reconfig_profile_cnf);
}





⌨️ 快捷键说明

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