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

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

?? headset_private.h

?? 藍牙立體聲耳機 firmware
?? 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一区二区三区免费野_久草精品视频
久久蜜桃av一区二区天堂| 日本伊人色综合网| 中文字幕第一区| 精品国产网站在线观看| 欧美一级免费观看| 欧美久久免费观看| 69堂精品视频| 日韩一区二区中文字幕| 精品久久五月天| 2014亚洲片线观看视频免费| 亚洲精品一区二区三区在线观看| 亚洲裸体在线观看| 国产精品久久久久久久久果冻传媒 | 亚洲成人福利片| 一区二区三区在线免费观看| 一区二区三区 在线观看视频| 亚洲一线二线三线视频| 日韩专区中文字幕一区二区| 日本亚洲视频在线| 国内不卡的二区三区中文字幕| 国产制服丝袜一区| 成人黄页毛片网站| 在线看国产一区| 欧美一区二区三区思思人| 欧美成人官网二区| 国产精品乱码妇女bbbb| 国产精品第13页| 亚洲成a人在线观看| 精品一区二区三区日韩| 丰满白嫩尤物一区二区| 色婷婷精品久久二区二区蜜臀av| 欧美视频中文字幕| 欧美一级日韩免费不卡| 欧美国产一区视频在线观看| 亚洲欧美激情小说另类| 免费看欧美美女黄的网站| 国产精品77777竹菊影视小说| 99国内精品久久| 欧美一区二区三级| 中文字幕av一区二区三区| 一区二区在线观看不卡| 老司机午夜精品| 9i看片成人免费高清| 91麻豆精品国产自产在线 | 久久综合狠狠综合| 亚洲日本韩国一区| 免费成人av在线播放| 东方aⅴ免费观看久久av| 在线视频你懂得一区二区三区| 欧美一区二区日韩一区二区| 国产精品久久久久久户外露出 | 日韩国产精品91| 成人av网站免费| 欧美日韩国产一级二级| 国产欧美日韩不卡| 亚洲国产视频a| 粉嫩高潮美女一区二区三区| 欧美色倩网站大全免费| 国产欧美一区二区三区在线看蜜臀 | 91亚洲午夜精品久久久久久| 日韩视频免费直播| 亚洲综合成人在线视频| 激情久久久久久久久久久久久久久久| 91女神在线视频| 精品国精品国产| 亚洲国产另类精品专区| 不卡免费追剧大全电视剧网站| 91麻豆精品国产无毒不卡在线观看 | 亚洲色图一区二区| 喷水一区二区三区| 色婷婷久久久亚洲一区二区三区 | 亚洲一区在线播放| 国产99久久久精品| 日韩午夜精品电影| 亚洲一区二区三区四区中文字幕| 国产成人一区在线| 欧美一级高清大全免费观看| 一区二区三区欧美视频| 成人一区二区三区| 精品国产一区二区精华| 日日噜噜夜夜狠狠视频欧美人| 9人人澡人人爽人人精品| 久久久久亚洲蜜桃| 久久成人羞羞网站| 在线播放日韩导航| 亚洲综合免费观看高清完整版 | 欧美亚洲国产怡红院影院| 中文字幕av一区二区三区免费看 | 精品亚洲成a人| 69成人精品免费视频| 亚洲欧美电影院| 97精品视频在线观看自产线路二| 国产午夜精品理论片a级大结局 | 国产精品自在在线| 欧美成人a在线| 日本在线不卡视频一二三区| 欧美精品自拍偷拍| 午夜精品久久久| 欧美日韩一区高清| 香港成人在线视频| 欧美色区777第一页| 亚洲尤物视频在线| 精品视频资源站| 亚洲高清视频在线| 欧美亚洲国产bt| 亚洲一区二区四区蜜桃| 欧美这里有精品| 亚洲v中文字幕| 在线不卡中文字幕| 日av在线不卡| 欧美本精品男人aⅴ天堂| 激情综合五月天| 久久日韩粉嫩一区二区三区 | 日韩手机在线导航| 久久国产精品色婷婷| 精品国产一二三区| 福利视频网站一区二区三区| 国产精品剧情在线亚洲| 99久久精品国产观看| 亚洲综合免费观看高清完整版| 欧美日韩一级片网站| 免费三级欧美电影| 国产亚洲欧美日韩在线一区| 成人免费视频视频在线观看免费| 国产日韩欧美一区二区三区乱码| 国产成人免费视频网站| 亚洲色图制服诱惑 | 91高清视频在线| 极品瑜伽女神91| 日本一区二区三区四区在线视频 | 丁香一区二区三区| 亚洲日本青草视频在线怡红院| 欧美在线你懂得| 久久精品国产一区二区三| 国产农村妇女毛片精品久久麻豆| 92精品国产成人观看免费| 亚洲午夜在线视频| 精品国产乱码久久久久久免费| 成人深夜在线观看| 亚洲成人激情av| 国产夜色精品一区二区av| 99国产精品99久久久久久| 亚洲成av人片一区二区三区| 日韩欧美国产综合| 粗大黑人巨茎大战欧美成人| 亚洲一二三四区不卡| 欧美精品一区二区三区视频| 91在线视频免费91| 日本成人在线看| 中文字幕乱码久久午夜不卡| 欧美日韩精品一区二区| 岛国精品一区二区| 午夜一区二区三区在线观看| 久久久影院官网| 欧美私人免费视频| 国产一区二区在线免费观看| 亚洲欧美日韩电影| 欧美成人aa大片| 91亚洲永久精品| 国产在线看一区| 亚洲综合免费观看高清完整版| 亚洲精品一线二线三线| 欧美在线观看一区| 成人激情动漫在线观看| 毛片不卡一区二区| 亚洲精品亚洲人成人网在线播放| www成人在线观看| 欧美日韩成人综合天天影院| 成人黄色小视频| 麻豆国产精品官网| 亚洲综合精品自拍| 国产精品不卡在线| 精品国产一区二区精华| 欧美日韩一区三区四区| 9l国产精品久久久久麻豆| 久久成人久久爱| 亚洲福利一二三区| 亚洲欧美一区二区三区久本道91| 久久日韩粉嫩一区二区三区| 91麻豆精品国产91久久久久久 | 国产精品一区三区| 三级久久三级久久| 亚洲男人电影天堂| 国产欧美日韩在线看| 精品日韩一区二区三区| 欧美日韩不卡在线| 色诱视频网站一区| 国产精品一二二区| 国产一区二区视频在线| 视频一区在线播放| 亚洲主播在线播放| 亚洲色图一区二区| 中文字幕亚洲不卡| 国产精品美女一区二区| 国产欧美在线观看一区| 久久综合久色欧美综合狠狠| 欧美一卡二卡在线| 欧美一区二区三区在| 欧美亚洲一区三区| 在线观看www91|