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

📄 hf_msg.h

📁 蓝牙HANDFREE软件源代码
💻 H
字号:
#ifndef _HFMSG_H
#define _HFMSG_H

#include "handsfree_types.h"


typedef uint16              pkt_type_t;


enum
{
    HfIdle,
    HfConnectingAsMaster,
    HfConnectingAsSlave,
    HfConnected,
    HfPairing,
    HfScoConnected,
    HfError
};


/* 
    This file defines the messages to be used when communication with
    the hands free device running on chip from an external GUI using
    BCSP channel 13.
*/


/* HF messages */
#define HF_MSG_BASE 0x00

enum
{
    START_REQ = HF_MSG_BASE,
    START_CFM,    
    ERROR_IND,
    CANCEL_REQ,
    
    PAIR_REQ,
    PAIR_CFM,

    LOCAL_STATE_CHANGE_IND,
    INDICATOR_UPDATE_IND,
    VOLUME_CHANGE_REQ,
    VOLUME_CHANGE_IND,
    MIC_CHANGE_REQ,
    MIC_CHANGE_IND,
    MUTE_MIC_REQ,
    RING_IND,
    CALLER_ID_IND,
    CALLER_ID_REQ,
    NREC_DISABLE_REQ,

    AUDIO_TRANSFER_REQ,
    DISCONNECT_REQ,
    ANSWER_REQ,
    HANG_UP_REQ,

    DIAL_NUMBER_REQ,
    DIAL_MEMORY_REQ,
    LAST_NUMBER_REDIAL_REQ,
    VOICE_DIAL_REQ,
    VOICE_DIAL_IND,
	SEND_DTMF_REQ
};


typedef struct
{
    uint16 supported_features;
} START_REQ_T ;


typedef struct
{
    uint16 version;
    uint16 isPaired;
} START_CFM_T ;


typedef struct
{
    timeout_t timeout;
} PAIR_REQ_T;


typedef struct
{
    pairing_status_t status;
} PAIR_CFM_T;


typedef struct
{
    uint16 num_length;
    uint8  dial_number[1];
} DIAL_NUMBER_REQ_T;


typedef struct
{
    uint16 num_length;
    uint8 dial_memLoc[1];
} DIAL_MEMORY_REQ_T;


/*lint -esym(756, LAST_NUMBER_REDIAL_REQ_T) */
typedef struct
{    
    int dummy;
} LAST_NUMBER_REDIAL_REQ_T;


typedef struct
{    
    error_code_t reason;
} ERROR_IND_T;


/*lint -esym(756, CANCEL_REQ_T) */
typedef struct
{    
    /* empty */
} CANCEL_REQ_T;


typedef struct
{
    uint16 service_ind;
    uint16 call_ind;
    uint16 call_setup_ind;
} INDICATOR_UPDATE_IND_T;


typedef struct
{
    int8 increment;
    uint8 gain;
} VOLUME_CHANGE_REQ_T;


typedef struct
{
    uint8 gain;
} VOLUME_CHANGE_IND_T;


/*lint -esym(756, MIC_CHANGE_REQ_T) */
typedef struct
{
    uint8 gain;
} MIC_CHANGE_REQ_T;


typedef struct
{
    uint8 gain;
} MIC_CHANGE_IND_T;


/*lint -esym(756, MUTE_MIC_REQ_T) */
typedef struct
{
    uint16 dummy;
} MUTE_MIC_REQ_T;


/*lint -esym(756, ANSWER_REQ_T) */
typedef struct
{
    /* empty */  
} ANSWER_REQ_T;


/*lint -esym(756, HANG_UP_REQ_T) */
typedef struct
{
    int dummy;
} HANG_UP_REQ_T;


typedef struct
{
    pkt_type_t pktType;
} AUDIO_TRANSFER_REQ_T;


typedef struct
{
    uint16 state;
} RING_IND_T;


typedef struct
{
    uint16 length;
    uint8 caller_id_number[1];
} CALLER_ID_IND_T;


typedef struct
{
    uint16 enable;
} CALLER_ID_REQ_T;


typedef struct
{
    hf_link_type_t linkType;    
} DISCONNECT_REQ_T;


typedef struct
{
    uint16 enable;
} VOICE_DIAL_REQ_T;


typedef struct
{
    uint16 status;
} VOICE_DIAL_IND_T;


typedef struct
{
    uint16 new_state;
} LOCAL_STATE_CHANGE_IND_T;


/*lint -esym(756, NREC_DISABLE_REQ_T) */
typedef struct
{
    uint16 dummy;
} NREC_DISABLE_REQ_T;


typedef struct
{
	char dtmf;
} SEND_DTMF_REQ_T;



/* 
    Define a single message type that can be sent over BCSP channel 13
    to an external GUI.
*/

typedef struct
{
    uint16 length;
    uint16 type;
    
    union {
        START_CFM_T                     start_cfm;
        PAIR_CFM_T                      pair_cfm;
        ERROR_IND_T                     error_ind;
        VOLUME_CHANGE_IND_T             volume_change_ind;
        MIC_CHANGE_IND_T                mic_change_ind;
        INDICATOR_UPDATE_IND_T          indicator_state_update_ind;
        RING_IND_T                      ring_ind;
        CALLER_ID_IND_T                 caller_id_ind;
        LOCAL_STATE_CHANGE_IND_T        local_state_change_ind;
        VOICE_DIAL_IND_T                voice_dial_ind;
    } hf_msg;
} HF_TO_GUI_MSG_T;


#endif

⌨️ 快捷键说明

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