亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? headset_private.h

?? BLUETOOTH Stereo Headset Source Code,含CVC(噪音消除,回聲抵消),可用于開發(fā)藍牙立體聲耳機,藍牙車載,經(jīng)過測試.
?? H
字號:
/****************************************************************************
Copyright (C) Cambridge Silicon Radio Ltd. 2004-2006
Part of BlueLab 3.6.2-release

FILE NAME
    headset_private.h
    
DESCRIPTION
    
*/

#ifndef _HEADSET_PRIVATE_H_
#define _HEADSET_PRIVATE_H_

#include "headset_battery.h"
#include "headset_debug.h"
#include "stereo_headset_buttons.h"

#include <a2dp.h>
#include <avrcp.h>
#include <hfp.h>
#include <connection.h>
#include <message.h>
#include <app/message/system_message.h>


/* Local application messages base value */ 
#define HEADSET_MSG_BASE    (0x0)

/* Class of device defines */
#define AUDIO_MAJOR_SERV_CLASS  0x200000
#define AV_MAJOR_DEVICE_CLASS   0x000400
#define AV_MINOR_HEADSET        0x000004
#define AV_COD_RENDER           0x040000


/* PIO definititions */
#ifdef DEV_1442
	#define LED_RED             (1<<1)
	#define LED_BLUE            (1<<2)
	#define SOFT_POWER
	#define POWER_HOLD          (1<<9)
	#ifdef WOLFSON_CODEC_WM8731
		#define AUDIO_AMP_LINE      0 /*wolfson uses PIO11 as clock*/
	#else
		#define AUDIO_AMP_LINE      (1<<11) /*for passthrough board*/
	#endif /* WOLFSON_CODEC_WM8731 */
#endif /* DEV_1442 */

#ifdef DEV_1508
	#define LED_RED             (1<<2)
	#define LED_BLUE            (1<<11)
	#define MFB_BUTTON          (1<<3)
	#define AUDIO_AMP_LINE      (1<<4)
    #define SOFT_POWER
    #define POWER_HOLD          (1<<9)
#endif

#ifdef DEV_1645
	#define LED_RED			(1<<15)
	#define LED_BLUE			(1<<14)
	#define SPECIAL_LED_PINS
	#define AUDIO_AMP_LINE      (1<<3)
#endif


#ifdef DEV_1645
	#define SET_AMP(v)				{PioSetDir(AUDIO_AMP_LINE,AUDIO_AMP_LINE); PioSet(AUDIO_AMP_LINE, v); PioSetMicBiasHwEnabled(v);}
#else
	#define SET_AMP(v)				{PioSetDir(AUDIO_AMP_LINE,AUDIO_AMP_LINE); PioSet(AUDIO_AMP_LINE, v);}
#endif
#define PIO_AIO1            (1<<13)
#define PIO_AIO3            (1<<15)


/* PS keys used by the app */
#define LAST_USED_AG        (0)
#define LAST_USED_AV_SOURCE (1)
#define VOLUME_LEVEL        (2)
#define AUTO_RECONNECT      (3)
#define HEADSET_SECURITY    (4)
#define RING_TONE_SELECT    (5)
#define AUTO_SWITCH_OFF_ENABLED    (6)
#define AUTO_SWITCH_OFF_TIMEOUT    (7)
#define LAST_PAIRED_DEVICE (8)
#define MP3_ENABLED (9)
#define LAST_USED_AV_SOURCE_SEP (12)


/* Time to wait after audio has ended before switching off the audio amp */
#define AMP_IDLE_TIMER  6000

/* How long to wait before restarting audio. Used to avoid conficts in signalling */
#define MUSIC_RESTART_DELAY 500

/* If SLC connection not created after this has expired then abort the connect attempt. */
#define SLC_CONNECT_TIMEOUT     (10000)

/* Remain in pairing mode only for this length of time */
#define PAIRING_TIMEOUT         (300000)


typedef uint16 ledState;

/* Local App messages */
enum
{
    APP_AMP_IDLE_IND = HEADSET_MSG_BASE,
    APP_BATTERY_DEAD_IND,
    APP_BATTERY_FULL_IND,
    APP_BATTERY_LOW_IND,
    APP_CHARGER_CONNECTED_IND,
    APP_CHARGER_DISCONNECTED_IND,
    APP_DISCONNECT_HFP_SLC_IND,
    APP_HEADSET_INIT_CFM,
    APP_HFP_SLC_REQ,
    APP_HFP_SLC_TIMEOUT_IND,
    APP_MUSIC_RESTART_IND,
    APP_MUTE_REMINDER,
    APP_PAIR_MODE_END_IND,
    APP_POWER_OFF_IND,
    APP_RING_TIMEOUT_IND,
	APP_POWER_ON_EVENT_SEEN,
	APP_PREVENT_POWER_ON,
    APP_TONE_TO_PLAY_IND,
    APP_UNMUTE_MIC,
    APP_VOICE_DIAL,
    APP_PLAY_PAUSE_SHORT,
	APP_BACKWARD_SHORT,
	APP_AVRCP_CONNECT_REQ,
	APP_AUTO_SWITCH_OFF_IND
};
#define HEADSET_MSG_TOP APP_AVRCP_CONNECT_REQ

typedef struct
{
    uint16 id;
} APP_TONE_TO_PLAY_IND_T;

typedef struct
{
    uint16 voice_recog_enabled;
} APP_VOICE_DIAL_T;

typedef struct
{
    bdaddr addr;
} APP_AVRCP_CONNECT_REQ_T;

typedef enum
{
    headsetInitialising,
    headsetReady,
    headsetConnecting,
    headsetConnected,
    headsetOutgoingCallEstablish,
    headsetIncomingCallEstablish,
    headsetActiveCall
} headsetHfpState;

typedef enum
{
    avHeadsetA2dpInitialising,
    avHeadsetA2dpReady,
    avHeadsetA2dpInitiating,
    avHeadsetA2dpSignallingActive,
    avHeadsetA2dpConnected,
    avHeadsetA2dpStreaming
} headsetA2dpState;

typedef enum
{
    avHeadsetAvrcpInitialising,
    avHeadsetAvrcpReady,
    avHeadsetAvrcpConnecting,
    avHeadsetAvrcpConnected
} headsetAvrcpState;

typedef enum
{
    none_active,
    hfp_active,
    av_active
} activeProfileState;


typedef enum
{
    power_state_off,
    power_state_off_charging,
    power_state_on,
    power_state_on_charging
} power_state;

typedef struct
{
    unsigned auto_switch_off_timeout:16;
    unsigned dummy:10;
    unsigned auto_switch_off_enabled:1;
    unsigned auto_reconnect:1;
    unsigned ring_tone_select:4;
} features_type;

typedef struct
{
    unsigned hfp_volume:8;
    unsigned av_volume:8;
} volume_type;


typedef struct
{
    TaskData            task;
    Task				codec_task;
    TaskData            controls_task;
    PioState            pio_state;

    /* Common states */
    volume_type         speaker_volume;
    activeProfileState  active_profile;
    power_state         headset_power_state;
    power_source_type   power_source;
    features_type       features;
    
    /* AV states */
    A2DP*               a2dp;
    AVRCP*              avrcp;
    headsetA2dpState    a2dp_state;
    headsetAvrcpState   avrcp_state;
	Sink                sig_sink;
    Sink                media_sink;
    a2dp_channel_mode	channel_mode;
	uint32  			rate;   
    bool                avrcp_pending; 	
	
    /* HFP states */
    headsetHfpState     hfp_state;
    uint16              headset_connecting_hfp;
    Sink                slc_sink;
    Sink                sco_sink;
    uint16              supp_features_0;
    hfp_profile         profile_connected;
    HFP                 *hfp;
    HFP                 *hsp;    
	uint16              mic_volume;
	
	/* Boolean variables */
	unsigned			mic_mute_on:1;
	unsigned			using_wbs:1;	
	unsigned			charger_connected:1;
	unsigned			battery_full:1;
	
	unsigned            voice_recognition_enabled:1;
	unsigned            in_band_ring_enabled:1;
	unsigned            pairing_enabled:1;
	unsigned            sent_suspend:1;
	
	unsigned			connect_av:1;	
	unsigned            av_stream_stopped:1;	
	unsigned            stored_av_stream_stopped:1;	
	unsigned            headset_connecting_av:1;
	
	unsigned 			play_state:1;
	unsigned			av_stream_connected:1;
	unsigned			dummy:2;
        
} headsetTaskData;


/****************************************************************************
NAME    
    avGetAppTask
    
DESCRIPTION
  Returns the AV headset application main task.

RETURNS
    Task
*/
Task getAppTask(void);

/****************************************************************************
NAME    
    avGetApp
    
DESCRIPTION
  Returns the AV headset application state

RETURNS
    headsetTaskData
*/
headsetTaskData *getApp(void);


#endif /* _HEADSET_PRIVATE_H_ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu久久天堂性欧美| 日韩久久一区二区| 日韩三级高清在线| 精品噜噜噜噜久久久久久久久试看 | 成人午夜在线视频| 不卡av电影在线播放| 在线观看不卡一区| 精品久久久久久无| 亚洲精品日韩专区silk| 毛片不卡一区二区| 国产91露脸合集magnet| 欧美性生活大片视频| 欧美成人一区二区三区片免费| 国产精品丝袜久久久久久app| 亚洲乱码国产乱码精品精小说| 视频一区免费在线观看| 国产福利一区二区三区视频在线| 色妹子一区二区| 精品国产91乱码一区二区三区| 国产日韩精品视频一区| 午夜精品久久久久影视| 成人黄色在线网站| 欧美成人精品高清在线播放| 亚洲制服丝袜av| 国产69精品久久777的优势| 欧美日韩一区二区在线观看| 久久精品亚洲麻豆av一区二区| 亚洲午夜视频在线| 国产精品123区| 91麻豆精品91久久久久久清纯| 国产精品久久久久久久久免费桃花 | 欧美日韩国产一二三| 国产亚洲一区二区三区| 日韩成人精品在线观看| 91在线免费视频观看| 久久久亚洲精华液精华液精华液| 午夜欧美视频在线观看 | 激情文学综合插| 日本国产一区二区| 中文字幕一区日韩精品欧美| 精彩视频一区二区| 日韩视频在线一区二区| 午夜影院久久久| 黑人精品欧美一区二区蜜桃| 日韩欧美二区三区| 美女免费视频一区| 欧美一级夜夜爽| 亚洲图片你懂的| 91香蕉国产在线观看软件| 国产欧美久久久精品影院| 狠狠色丁香婷综合久久| 精品对白一区国产伦| 日韩激情在线观看| 制服.丝袜.亚洲.另类.中文| 亚洲国产精品人人做人人爽| 欧美天天综合网| 亚洲丶国产丶欧美一区二区三区| 在线亚洲人成电影网站色www| 久久一二三国产| 国产1区2区3区精品美女| 欧美国产精品一区二区三区| 国产99久久久精品| 久久夜色精品国产欧美乱极品| 国产在线精品免费| 久久久久88色偷偷免费| 国产精品一区二区91| 欧美大片拔萝卜| 韩国v欧美v日本v亚洲v| 91精品国产综合久久久久| 奇米在线7777在线精品| 国产亚洲欧美一区在线观看| 国产成人三级在线观看| 国产欧美一区二区精品仙草咪| 国产69精品久久99不卡| 亚洲日本一区二区三区| 欧美在线免费播放| 免费成人av资源网| 国产丝袜欧美中文另类| 99精品久久免费看蜜臀剧情介绍| 亚洲一区二区四区蜜桃| 欧美岛国在线观看| 色综合色综合色综合色综合色综合| 国产精品五月天| 色婷婷综合久久久中文一区二区| 午夜精品久久久久久不卡8050| 日韩欧美中文字幕公布| 成人午夜碰碰视频| 亚洲h在线观看| 久久久欧美精品sm网站| 日本久久一区二区三区| 日本在线观看不卡视频| 国产精品女同一区二区三区| 国产精品1024久久| 午夜精品视频在线观看| 一区二区三区四区激情| 国产精品日产欧美久久久久| 日韩精品资源二区在线| 欧美放荡的少妇| 欧美色成人综合| 色综合久久88色综合天天免费| 国产很黄免费观看久久| 久热成人在线视频| 男人操女人的视频在线观看欧美| 悠悠色在线精品| 亚洲欧美一区二区三区孕妇| 国产精品美女www爽爽爽| 337p日本欧洲亚洲大胆精品| 日韩视频在线一区二区| 日韩欧美专区在线| 日韩精品影音先锋| 日韩免费性生活视频播放| 日韩三级.com| 精品久久人人做人人爰| 欧美电影免费观看高清完整版在线 | 欧美日韩国产影片| 91成人在线观看喷潮| 91最新地址在线播放| 成人激情免费网站| 99久久精品国产一区二区三区| 成人性生交大片免费| 成人黄色小视频在线观看| bt7086福利一区国产| 一本一本久久a久久精品综合麻豆| 成人福利视频在线看| 99久久精品国产毛片| 色欧美乱欧美15图片| 欧美做爰猛烈大尺度电影无法无天| 91视频在线观看| 在线观看日产精品| 欧美日韩精品免费观看视频| 制服丝袜亚洲色图| 2021中文字幕一区亚洲| 国产精品免费看片| 亚洲综合久久久| 日韩精品午夜视频| 激情五月婷婷综合| 成人91在线观看| 欧美午夜不卡在线观看免费| 欧美一区二区福利在线| 国产午夜精品一区二区| 亚洲精品国产a| 日韩精品视频网站| 国产大片一区二区| 91福利视频在线| 日韩精品一区二区在线观看| 亚洲国产高清在线观看视频| 一级中文字幕一区二区| 美女视频免费一区| 99视频有精品| 欧美福利视频一区| 欧美国产一区二区在线观看| 亚洲裸体xxx| 久久成人羞羞网站| aaa亚洲精品| 日韩欧美国产一区在线观看| 国产精品久久毛片a| 午夜视频一区在线观看| 国产麻豆视频一区| 欧美日韩综合不卡| 久久这里只有精品6| 亚洲综合一区二区三区| 久久99精品一区二区三区| 成人激情动漫在线观看| 欧美少妇bbb| 国产精品少妇自拍| 精品一区二区三区欧美| 在线看日本不卡| 欧美国产禁国产网站cc| 秋霞午夜鲁丝一区二区老狼| 91免费观看视频| 久久精品男人的天堂| 三级欧美韩日大片在线看| 成人深夜在线观看| 精品国产一区久久| 首页国产丝袜综合| 91女人视频在线观看| 亚洲一区在线观看免费 | 麻豆一区二区三| 99精品一区二区| 久久精品亚洲麻豆av一区二区| 日韩黄色小视频| 日韩三级视频在线看| 亚洲一二三区在线观看| 91亚洲大成网污www| 久久九九久精品国产免费直播| 男人操女人的视频在线观看欧美| 在线观看日韩电影| 亚洲激情中文1区| 91影院在线免费观看| 中文字幕+乱码+中文字幕一区| 日韩不卡手机在线v区| 欧美少妇bbb| 亚洲午夜在线视频| 欧美影院午夜播放| 亚洲黄色片在线观看| 91麻豆自制传媒国产之光| 亚洲欧洲日韩一区二区三区| av资源网一区| 成人欧美一区二区三区| 91香蕉视频黄|