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

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

?? headset_power.c

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

FILE NAME
    headset_power.c        

DESCRIPTION
    Deals with powering the headset.

*/


/****************************************************************************
    Header files
*/
#include "headset_private.h"
#include "av_stream_control.h"
#include "headset_common.h"
#include "leds.h"
#include "headset_tones.h"
#include "headset_power.h"
#include "hfp_slc.h"

#include <stdlib.h>
#include <string.h>
#include <panic.h>
#include <pio.h>
#include <codec.h>
#include <ps.h>


#ifdef DEBUG_POWER
#define POWER_DEBUG(x) DEBUG(x)
#else
#define POWER_DEBUG(x) 
#endif


/**************************************************************************/
void headsetSetPowerState(headsetTaskData *app, power_state state)
{


/*  {
    power_state_off,
    power_state_off_charging,
    power_state_on,
    power_state_on_charging
   }power_state */

    POWER_DEBUG(("POWER: Set power state old = %d new = %d\n",app->headset_power_state, state));
    app->headset_power_state = state;
}

/**************************************************************************/
void headsetPowerOn(headsetTaskData *app)
{
#ifdef SOFT_POWER
    /* Hold power on */
    PioSetDir(POWER_HOLD, POWER_HOLD);
    PioSet   (POWER_HOLD, POWER_HOLD);
#endif
	
    MessageCancelAll(&app->task, APP_POWER_ON_EVENT_SEEN) ;

    POWER_DEBUG(("POWER: ***ON***\n")) ;
	
	      /*Indicate the Power on event*/
    ledsPlay( BLUE_TWO_FLASHES ) ;
	headsetPlayTone(app, tone_type_power_on); 
        /* Call the function that will enable page scanning*/
    updateHeadsetScanning(app);
}
/**************************************************************************/
void headsetPowerOff ( headsetTaskData *app )
{
    POWER_DEBUG(("POWER: PowerOff\n")) ;
  
    if (app->headset_power_state == power_state_off )
    {
        /*then physically power down the device*/
        	
        POWER_DEBUG(("POWER: ***OFF***\n")) ;
    
            /* Power down the codec */
        CodecPowerDown(app->codec_task);

            /* Store the current volume */
        (void) PsStore(VOLUME_LEVEL, &app->speaker_volume, sizeof(app->speaker_volume));
	
            /* Cancel messages we may have queued */
	    MessageCancelAll(getAppTask(), APP_MUSIC_RESTART_IND);
        MessageCancelAll(getAppTask(), APP_HFP_SLC_REQ);
        MessageCancelAll(getAppTask(), APP_HFP_SLC_TIMEOUT_IND);
		MessageCancelAll(getAppTask(), APP_AUTO_SWITCH_OFF_IND); 
		MessageCancelAll(getAppTask(), APP_PAIR_MODE_END_IND);
    
            /* Call the function that will disable page scanning*/
    	updateHeadsetScanning(app);

            /* Finally turn off audio supply if it's still active */    
        headsetPowerAmp(app, FALSE);
    
#ifdef SOFT_POWER
		if (!app->charger_connected)
        	PioSet(POWER_HOLD,0);
#endif
	
    }
    else /*close any active links and schedule the power down again for later*/
    {
        POWER_DEBUG(("POWER: Schedule OFF\n")) ;
        
        headsetSetPowerState ( app , power_state_off ) ;
        
            /*indicate the power off event*/
        ledsPlay( BLUE_TWO_FLASHES ) ;
        ledsPlay(LEDS_OFF) ; 
        headsetPlayTone(app, tone_type_power_off); 
        
          /* Close down any active AV link */
        if ( (app->a2dp_state == avHeadsetA2dpConnected) || 
             (app->a2dp_state == avHeadsetA2dpStreaming) || 
             (app->a2dp_state == avHeadsetA2dpSignallingActive))
        {
            A2dpCloseAll(app->a2dp);
        }
            /* Close down any active AVRCP link */
        if (app->avrcp_state == avHeadsetAvrcpConnected)
        {
            AvrcpDisconnect(app->avrcp);
        }
  
            /* Close down any active AG link */
        if ( (app->hfp_state != headsetInitialising) && 
             (app->hfp_state != headsetReady))
        {
            hfpHeadsetDisconnectSlc(app);
        }
        
        MessageCancelAll(getAppTask(), APP_POWER_OFF_IND );        
        MessageSendLater(getAppTask(), APP_POWER_OFF_IND, 0, (uint32) 5000);    
    }
}

/**************************************************************************/
void headsetPowerAmp(headsetTaskData *app, bool enable)
{
    if (enable)
    {		
		SET_AMP(AUDIO_AMP_LINE);
		
		MessageCancelAll ( getAppTask() , APP_AMP_IDLE_IND ) ;
    	MessageSendLater(getAppTask(), APP_AMP_IDLE_IND, 0, AMP_IDLE_TIMER);
    }
    else
    {   
		SET_AMP(0);
     	MessageCancelAll ( getAppTask() , APP_AMP_IDLE_IND ) ;
	}
}


/**************************************************************************/
void headsetPowerCheckAutoOff(const headsetTaskData *app)
{
    if (app->features.auto_switch_off_enabled && 
        (app->features.auto_switch_off_timeout != 0) &&
        ((app->headset_power_state == power_state_on) || (app->headset_power_state == power_state_on_charging)))
    {
        POWER_DEBUG(("POWER: Cancel auto power off\n"));
        MessageCancelAll(getAppTask(), APP_AUTO_SWITCH_OFF_IND);        
        if ((app->hfp_state == headsetReady) && (app->a2dp_state == avHeadsetA2dpReady))
        {
            POWER_DEBUG(("POWER: Auto power off in %d secs\n",app->features.auto_switch_off_timeout));
            MessageSendLater(getAppTask(), APP_AUTO_SWITCH_OFF_IND, 0, D_SEC(app->features.auto_switch_off_timeout));            
        }
    }
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩高清在线| 国产偷国产偷亚洲高清人白洁| av高清不卡在线| 高清不卡一区二区| 国产伦精品一区二区三区视频青涩 | 欧美疯狂性受xxxxx喷水图片| 91丨porny丨国产入口| 99精品欧美一区二区蜜桃免费| 波多野结衣欧美| 91麻豆精东视频| 欧美日韩一卡二卡| 91精品国产综合久久精品图片| 欧美亚洲日本国产| 51午夜精品国产| 日韩欧美久久一区| 久久久久久久免费视频了| 久久无码av三级| 中文字幕日本乱码精品影院| 一区二区三区.www| 日韩黄色片在线观看| 久久99国产精品成人| 国产精品538一区二区在线| 大尺度一区二区| 欧美婷婷六月丁香综合色| 日韩一级片在线播放| 久久久综合网站| 亚洲色图视频免费播放| 亚洲成av人片一区二区三区| 久久99久久精品| jlzzjlzz亚洲日本少妇| 欧美日韩国产小视频| 久久综合给合久久狠狠狠97色69| 国产精品乱码人人做人人爱 | 欧美日韩国产免费| xf在线a精品一区二区视频网站| 国产精品丝袜黑色高跟| 亚洲综合色丁香婷婷六月图片| 日韩福利电影在线| 成人高清视频在线观看| 欧美精品1区2区| 国产精品视频九色porn| 热久久久久久久| 99re热这里只有精品视频| 欧美日韩国产一区二区三区地区| 久久久午夜精品理论片中文字幕| 亚洲黄色录像片| 国产精品99久久久久久久女警 | 久久色视频免费观看| 亚洲精品乱码久久久久久| 韩国女主播一区二区三区| 在线影院国内精品| 国产精品天美传媒| 美腿丝袜亚洲三区| 欧美精品三级日韩久久| 国产精品天干天干在观线| 久久se精品一区精品二区| 欧美午夜精品免费| 亚洲天堂中文字幕| 成人av片在线观看| 久久久久久99久久久精品网站| 性做久久久久久免费观看| 成人免费观看视频| 中日韩av电影| 国产91精品在线观看| 久久久久亚洲蜜桃| 久88久久88久久久| 日韩精品在线看片z| 性做久久久久久免费观看欧美| 91美女精品福利| 亚洲欧洲日韩在线| av亚洲精华国产精华| 中文字幕精品三区| 北条麻妃国产九九精品视频| 久久久久久黄色| 国产精品一区二区果冻传媒| 久久久久久日产精品| 韩国三级在线一区| 26uuu精品一区二区三区四区在线| 麻豆成人免费电影| 精品国产免费一区二区三区香蕉| 美美哒免费高清在线观看视频一区二区 | 一区二区久久久久| 99综合电影在线视频| 自拍偷拍亚洲综合| 91丝袜美女网| 一区二区日韩电影| 在线播放中文一区| 久久99精品久久只有精品| 精品久久国产97色综合| 国产精品综合在线视频| 国产精品国产精品国产专区不蜜| a美女胸又www黄视频久久| 亚洲另类在线制服丝袜| 欧美日韩精品一区视频| 久久精品国产网站| 国产精品网站在线| 色综合久久天天| 丝袜国产日韩另类美女| 久久影院视频免费| 97精品久久久午夜一区二区三区 | 91国产免费看| 日韩精品欧美精品| 久久久国际精品| 91麻豆免费观看| 调教+趴+乳夹+国产+精品| 欧美岛国在线观看| 99久久伊人久久99| 日韩综合小视频| 久久久久久久久久电影| 色婷婷av久久久久久久| 男女性色大片免费观看一区二区 | 在线视频你懂得一区| 日本不卡视频在线| 国产精品免费久久| 欧美一区二区观看视频| 成人丝袜高跟foot| 日本午夜精品一区二区三区电影 | 91视频精品在这里| 精品在线播放免费| 一区二区三区欧美激情| 亚洲精品在线三区| 欧美伊人久久大香线蕉综合69| 久久99久久久欧美国产| 亚洲欧美一区二区三区极速播放| 欧美一区二区三区在线观看| 99视频精品免费视频| 激情欧美日韩一区二区| 亚洲高清三级视频| 中文字幕在线免费不卡| 精品福利av导航| 666欧美在线视频| 色综合一个色综合| 国产成人精品一区二区三区网站观看| 亚洲一区二区三区四区的| 亚洲国产电影在线观看| 久久综合视频网| 日韩三级视频中文字幕| 欧美日韩国产美女| 在线观看网站黄不卡| 91视频在线观看| 波多野结衣精品在线| 国产精品一区二区视频| 另类小说综合欧美亚洲| 日本aⅴ免费视频一区二区三区 | 国产偷国产偷精品高清尤物| 日韩欧美一区二区三区在线| 91久久精品国产91性色tv| 91在线观看免费视频| 99免费精品在线观看| www.性欧美| 一本大道久久a久久精品综合| a在线播放不卡| 99精品视频在线观看| 9i在线看片成人免费| 91一区二区在线观看| 99精品视频一区二区三区| 成人av手机在线观看| 91免费版在线看| 日本道色综合久久| 欧美中文字幕一区二区三区| 欧美亚洲国产一区在线观看网站 | 韩国成人精品a∨在线观看| 奇米色一区二区三区四区| 日韩精品1区2区3区| 免费一级片91| 久草中文综合在线| 成人午夜视频福利| 国产91在线看| 99国产精品国产精品毛片| 成人av资源下载| 91视视频在线观看入口直接观看www| 色综合天天综合狠狠| 欧美午夜片在线看| 日韩欧美国产精品一区| 久久理论电影网| 亚洲色图视频网站| 日本在线不卡一区| 国产乱子轮精品视频| 99国产精品国产精品毛片| 欧美日韩视频在线观看一区二区三区 | 午夜精品久久久久久久久久 | 久久精品夜色噜噜亚洲aⅴ| 国产情人综合久久777777| 亚洲乱码国产乱码精品精98午夜| 午夜视频一区二区| 国产一区在线观看视频| 91亚洲国产成人精品一区二区三 | 粉嫩蜜臀av国产精品网站| 色综合天天综合网国产成人综合天| 欧美人伦禁忌dvd放荡欲情| 欧美成人福利视频| 亚洲欧美综合色| 日本va欧美va精品发布| 99视频一区二区| 日韩欧美色综合| 亚洲精品美腿丝袜| 国内久久精品视频| 日本道色综合久久| 国产午夜精品一区二区 | 久久综合999|