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

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

?? headset_private.h

?? bluelab 3.52 里面的立體聲程序源代碼
?? H
字號:
/****************************************************************************
Copyright (C) Cambridge Silicon Radio Ltd. 2004-2006
Part of BlueLab 3.5.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_1307

#define LED_RED             (1<<0)
#define LED_BLUE            (1<<1)
#define MFB_BUTTON          (1<<6)
#define AUDIO_AMP_LINE      (1<<11)

#endif

#ifdef DEV_1508

#define LED_RED             (1<<2)
#define LED_BLUE            (1<<11)
#define MFB_BUTTON          (1<<3)
#define AUDIO_AMP_LINE      (1<<4)

#endif

#ifdef DEV_1442

#define LED_RED             (1<<1)
#define LED_BLUE            (1<<2)
#define MFB_BUTTON          (1<<3)

#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

#endif

#define PIO_AIO1            (1<<13)
#define PIO_AIO3            (1<<15)

#ifndef DEV_1442
#define SOFT_POWER
#define POWER_HOLD          (1<<9)
#endif

/* LED defines */
#define LED_NONE            0
#define LED_PAIRING         1
#define LED_CONNECTED       (1<<1)
#define LED_CHARGING        (1<<2)
#define LED_BATTERY_LOW     (1<<3)
#define LED_INIT            (1<<4)
#define LED_POWER_DOWN      (1<<5)
#define LED_OFF             (1<<6)
#define LED_DEL_PAIRED_LIST (1<<7) 
#define LED_BATTERY_FULL    (1<<8)

/* 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)
/* CVC PS Keys used */
#define PS_PARAM_BASE		(10)
#define PS_PARAM_BASE2		(11)
#define	PS_SEC_KEY			(28)

/* 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         (60000)


typedef uint16 ledState;

/* Local App messages */
enum
{
    APP_AMP_IDLE_IND = HEADSET_MSG_BASE,
    APP_AUTO_SWITCH_OFF_IND,
    APP_A2DP_CLOSE_TIMER,
    APP_BATTERY_DEAD_IND,
    APP_BATTERY_FULL_IND,
    APP_BATTERY_LOW_END_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_INIT_END,
    APP_INIT_LED_UPDATE_IND,
    APP_LED_OFF_PANIC,
    APP_LED_UPDATE_IND,
    APP_MUSIC_RESTART_IND,
    APP_MUTE_REMINDER,
    APP_PAIR_MODE_END_IND,
    APP_PAIR_RESET_LED_UPDATE_IND,
    APP_POWER_CHARGING_OFF,
    APP_POWER_DOWN_LED_UPDATE_IND,    
    APP_POWER_OFF,
    APP_POWER_OFF_IND,
	APP_RED_LED_UPDATE_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
};

typedef struct
{
	uint8			count;
	MessageId		id;
} APP_ON_EVENT_LED_UPDATE_IND_T;

typedef struct
{
    uint16 id;
} APP_TONE_TO_PLAY_IND_T;

typedef struct
{
    uint16 voice_recog_enabled;
} APP_VOICE_DIAL_T;

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

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

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

typedef enum
{
    none_active,
    hfp_active,
    av_active
} activeProfileState;

typedef enum
{
    tone_type_power_on = 0,
    tone_type_power_off,
    tone_type_error,
    tone_type_button_press,
    tone_type_battery_low,
    tone_type_vol_limit,
    tone_type_connect,
	tone_type_mute_remind,
    tone_type_pairing,
	tone_type_call_end,
    /* Add new items here */
    tone_type_ring
} toneType;

typedef enum
{
    pcm_none,
    pcm_av,
    pcm_sco,
    pcm_ring,
    pcm_ringing,
    pcm_tone,
    pcm_tone_to_av,
    pcm_tone_to_sco
} pcmAudioState;

typedef enum
{
    power_state_off,
    power_state_off_charging,
    power_state_on,
    power_state_on_charging,
    power_state_powering_down
} 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
{
    unsigned voice_recognition_enabled:8;
    unsigned old_voice_recognition_enabled:8;
} voice_type;

typedef struct
{
    uint16 amp_enabled;
    uint16 amp_powering_on;
} amp_type;

typedef struct
{
    TaskData            task;
    uint16              cvc_output_codec_gain;
    uint16              cvc_input_codec_gain;
    uint16              hfkdspready;
	uint16				sec_mute;	
} cvcData;

typedef struct
{
    TaskData            task;
    Task				codec_task;
    TaskData            theSoundTask;

    /* Common states */
    volume_type         speaker_volume;
    ledState            led_state;
    uint16              pairing_enabled;
    activeProfileState  active_profile;
    pcmAudioState       pcm_audio_state;
    power_state         headset_power_state;
    PioState            pio_state;
    power_source_type   power_source;
    amp_type            amp;
    features_type       features;
	bool                headset_logically_on;
    
    /* AV states */
    A2DP*               a2dp;
    AVRCP*              avrcp;
    headsetA2dpState    a2dp_state;
    headsetAvrcpState   avrcp_state;
    Sink                media_sink;
    a2dp_channel_mode	channel_mode;
	uint32  			rate;
    bool                avrcp_pending;
    TaskData            controls_task;
    bool                av_stream_stopped;
    bool                sent_suspend;
    uint16              headset_connecting_av;
    
    /* HFP states */
    headsetHfpState     hfp_state;
    uint16              in_band_ring_enabled;
    voice_type          voice;
    uint16              headset_connecting_hfp;
    Sink                sco_sink;
    uint16              supp_features_0;
    hfp_profile         profile_connected;
    HFP                 *hfp;
    HFP                 *hsp;    
	bool                mic_mute_on;
	uint32              mic_volume;
    
    /* CVC states */
    cvcData             cvc;
    
} 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一区二区三区免费野_久草精品视频
久久成人综合网| 日本aⅴ精品一区二区三区 | 久久久另类综合| 欧美经典一区二区三区| 亚洲成av人片在www色猫咪| 天天综合日日夜夜精品| 不卡视频在线观看| 欧美在线你懂的| 亚洲精品久久久蜜桃| 激情综合一区二区三区| 色综合久久久久网| 国产精品久久三区| 国产美女在线观看一区| 91麻豆精品一区二区三区| 欧美精品一区二区三区蜜臀| 五月天丁香久久| 欧美日韩一区二区三区四区| 中文av一区特黄| 国产成人8x视频一区二区| 日韩欧美亚洲一区二区| 免费在线观看成人| 在线不卡中文字幕| 亚洲一二三四区| 91福利精品视频| 亚洲色图视频免费播放| av亚洲精华国产精华精| 国产精品网友自拍| 成人免费视频视频在线观看免费| 99久久免费国产| 91精品国产综合久久久蜜臀图片| 亚洲视频一二区| 99精品欧美一区二区三区小说| 久久精品亚洲国产奇米99| 日本三级亚洲精品| 欧美刺激脚交jootjob| 天天免费综合色| 欧美精品xxxxbbbb| 性做久久久久久| 91精品久久久久久久91蜜桃| 五月天国产精品| 欧美成人女星排行榜| 国产高清不卡一区| 中文字幕视频一区| 欧美日韩亚洲综合一区| 亚洲一区二区三区不卡国产欧美 | 国产精品乱码一区二区三区软件| 国精产品一区一区三区mba视频| 日韩欧美色电影| 亚洲已满18点击进入久久| 午夜精品福利视频网站| 欧美日韩夫妻久久| 男男gaygay亚洲| 久久久精品天堂| 成+人+亚洲+综合天堂| 亚洲美女屁股眼交3| 欧美老肥妇做.爰bbww| 精品一区二区三区在线视频| 国产精品私人影院| 欧美影院一区二区三区| 蜜臀av在线播放一区二区三区| 欧美大白屁股肥臀xxxxxx| 国产91色综合久久免费分享| 一区二区在线观看视频| 91精品国产高清一区二区三区 | 午夜视黄欧洲亚洲| 精品成人私密视频| 91久久精品一区二区二区| 免费看欧美女人艹b| 一区二区三区在线影院| 欧美丝袜第三区| 蜜桃av噜噜一区| 日本一区二区三区视频视频| 91久久精品一区二区二区| 蜜臀精品久久久久久蜜臀 | 国模少妇一区二区三区| 日韩一区在线免费观看| 欧美一区二区女人| 97aⅴ精品视频一二三区| 日韩av电影免费观看高清完整版在线观看| 久久夜色精品国产噜噜av| 在线视频国内一区二区| 韩国女主播成人在线观看| 一区二区在线观看免费视频播放| 精品粉嫩aⅴ一区二区三区四区| 91在线观看免费视频| 久久精品久久久精品美女| 亚洲欧美电影一区二区| 久久精品人人做人人爽97| 欧美电影一区二区三区| 在线观看一区二区视频| 丁香五精品蜜臀久久久久99网站 | 亚洲一区日韩精品中文字幕| 久久久噜噜噜久久人人看 | 欧美日韩国产高清一区二区三区 | 欧美日韩免费电影| 亚洲精品免费在线| 国产成人免费av在线| 亚洲成人动漫一区| 国产精品福利影院| 国产婷婷色一区二区三区在线| 欧美日韩国产首页| 色综合视频一区二区三区高清| 韩国成人在线视频| 六月丁香婷婷色狠狠久久| 亚洲综合在线视频| 亚洲欧美日韩一区二区 | 日韩一区二区在线看| 91福利精品第一导航| 91网站在线观看视频| 不卡大黄网站免费看| 成人黄色大片在线观看| 国产夫妻精品视频| 丁香一区二区三区| 高清av一区二区| 成人av网站在线观看免费| 成人免费高清视频在线观看| 国产毛片精品国产一区二区三区| 精品制服美女丁香| 国产一区二区精品久久99| 久久久久久久久伊人| 一本色道久久加勒比精品 | 成人综合在线网站| 国产精品66部| 国产精品99久久不卡二区| 国产一区二区0| 国产精品香蕉一区二区三区| 国产精品中文欧美| 99精品在线免费| 在线看不卡av| 欧美一区二区三区四区久久| 91麻豆精品91久久久久久清纯| 欧美一级视频精品观看| xnxx国产精品| 国产精品美女久久久久久久网站| 亚洲色图另类专区| 午夜伦欧美伦电影理论片| 久久精品久久99精品久久| 国产乱码精品一区二区三区忘忧草 | 99久久99久久精品免费看蜜桃 | 精品一区二区影视| 国产不卡在线视频| 91丨porny丨最新| 欧美日本视频在线| 欧美不卡一区二区三区四区| 中文子幕无线码一区tr| 樱桃视频在线观看一区| 日本不卡视频一二三区| 国产福利不卡视频| 91国产福利在线| 欧美r级在线观看| 专区另类欧美日韩| 日本成人在线不卡视频| 成人自拍视频在线| 欧美日韩卡一卡二| 国产日韩欧美亚洲| 亚洲成av人片| 北岛玲一区二区三区四区| 国产盗摄视频一区二区三区| 亚洲乱码精品一二三四区日韩在线| 亚洲激情欧美激情| 麻豆一区二区99久久久久| 99r精品视频| 欧美一区二区精美| 综合在线观看色| 久久av资源站| 欧美亚洲国产一区二区三区va| 精品区一区二区| 亚洲一区二区美女| 国产91在线观看丝袜| 这里是久久伊人| 亚洲卡通动漫在线| 国产麻豆日韩欧美久久| 欧美日韩国产高清一区二区| 国产精品三级视频| 精品一二三四区| 777欧美精品| 一区二区三区免费网站| 成人一级黄色片| 精品国产乱码久久久久久牛牛 | 欧美羞羞免费网站| 国产精品视频免费| 激情久久五月天| 91精品国产色综合久久不卡电影| 欧美日韩在线不卡| 国产精品高潮呻吟久久| 精品一区二区三区久久久| 在线播放国产精品二区一二区四区| 亚洲欧美中日韩| 成人精品免费网站| 国产人成一区二区三区影院| 美女视频黄频大全不卡视频在线播放 | 欧洲国内综合视频| 1000部国产精品成人观看| 国产成人综合精品三级| 久久综合九色欧美综合狠狠| 奇米影视一区二区三区小说| 欧美二区三区的天堂| 日韩和欧美的一区| 欧美日韩国产大片| 日本不卡高清视频|