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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? piohshf_receive.c

?? 藍(lán)牙HANDFREE軟件源代碼
?? C
字號(hào):
#include "piohshf_private.h"
#include "handsfree.h"
#include "handsfree_types.h"

#include <audio.h>
#include <message.h>
#include <print.h>


/*
    handleOpenCfm

    Libs have been initialized. The status field tells us whether the device 
    is currently paired or not.
*/
void handleOpenCfm(uint16 status)
{
    /* if not paired then go into pairing mode with role set to both profiles */
    if (!status)
        pioHsHfPairButton();
    
    /* Reset the button press pending flag */
    hshfState.hshfButtonPressPending = 0;
}


/*
    handleConnectComplete

    Indication that a service level connection has been established
*/
void handleConnectComplete(void)
{
    if (HFstate.applicationRole == frameworkHandsFree)
    {
        /*
            The button press pending flag was set if the call active 
            button was pressed i.e. if the HF initiated the SLC 
            connection. If not set the the AG initiated it so do nothing.
        */
        if (hshfState.hshfButtonPressPending)
        {
            /* Reset the button press pending flag */
            hshfState.hshfButtonPressPending = 0;

            /* 
                If there is an active call perform an audio connection 
                transfer otherwise enable voce dialling 

                Need to ensure that just slc is connected. Workaround, 
                in case AG opens SCO before SLC is established 
                (out of HFP spec but it happens) - see also connect.c.
            */
            if (HFstate.connectState == connected)
            {
                if (HFstate.hfCallActive) 
                    callTransferReqAction(0x80);
                else
                    startVoiceDialAction(1);
            }
        }
    }
    else
    {
        /* If there is a button press pending then send it. */
        if (hshfState.hshfButtonPressPending)
        {
            /* Send a button press message to the framework */
            pioHshfSendButtonPress();                        
        }
    }
   
    /* Request AG to send us the caller id */
    hfCallerIdEnableAction(1);
}


/*
    handleCallerIdInd

    If the HF supports displaying caller id then this function is 
    called when the caller id is received. From here the info can
    be displayed on an LCD for example but for now just hook in a 
    print for debugging.
*/
void handleCallerIdInd(uint16 length, const uint8 *caller_id)
{
    /* Keeo the compiler happy when debug is disabled */
    length = length;
    caller_id = caller_id;

    /* 
        Just debug, a this point the caller id should be displayed 
        on an LCD if using one 
    */
    {
        uint16 i=0;
        PRINT(("Caller id: "));
        for (i=0; i<length; i++)
        {
            PRINT(("%c", caller_id[i]));
        }
        PRINT(("\n"));
    }
}


/*
    handlePairCfm

    Check the outcome of the pairing phase.
*/
void handlePairCfm(pairing_status_t status)
{
    /* Reset this flag in case it was set when selecting HS pair mode */
    hshfState.hshfButtonPressPending = 0;

    /* Check the pairing outcome */
    switch (status)
    {

    case HfPairingComplete:
        break;

    case HfPairingCancelled:
        /* If currently idle go into connectable mode */
        if (HFstate.connectState == idle)
            connectReqAction();
        break;

    case HfPairingFailed:
    case HfPairingError:
    case HfPairingTimedOut:   
    default:
        /* Become connectable */
        connectReqAction();
        break;
    }
}


/*
    handleIndicatorUpdate

    One or more of the indicators used has changed
*/
void handleIndicatorUpdate(uint16 service_ind, uint16 call_ind, uint16 call_setup_ind)
{
    /* keep the compiler happy */
    service_ind = service_ind;
    call_ind = call_ind;
    call_setup_ind = call_setup_ind;
}


/*
    handleErrorInd

    Error received, play a beep to indicate this
*/
void handleErrorInd(error_code_t this_error)
{
    /* Check if we've got a warning or an error */
    switch(this_error)
    {
    case HfErrorPairRequestWhenNotIdle:
    case HfErrorConnectRequestWhenNotIdle:
    case HfErrorCancelWhenIdle:
    case HfErrorDataRequestWhenNotConnected:
    case HfErrorInquiryRequestWhenNotIdle:
    case HfErrorScoRequestWhenSCOConnected:
    case HfErrorDisconnectRequestWhenNotConnected:
    case HfErrorSmDeviceDatabaseError:
    case HfErrorUnknownOrUnhandledState:
    case HfErrorDialRequestPendingAlready:
    case HfWarnLocalSniffNotEnabled:
    case HfWarnLocalParkNotEnabled:
    case HfWarnLocalLowPwrModeNotEnabled:
    case HfWarnRemDevDoesNotSupportSniffMode:
    case HfWarnRemDevDoesNotSupportParkMode:
    case HfWarnRemoteLowPwrModeNotEnabled:
    default:
        /* do nothing */
        break;
    }    
}


void handleRingInd(uint16 ring_state)
{
    /* keep the compiler happy */
    ring_state = ring_state;
}


void handleVolInd(uint8 gain)
{
    /* keep the compiler happy */
    gain = gain;
}


void handleVoiceDialStatusInd(uint16 status)
{
    /* keep the compiler happy */
    status = status;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产激情精品久久久第一区二区| 国产精品久久三| 肉肉av福利一精品导航| 欧美精品1区2区| 蜜桃视频在线一区| 欧美国产日韩一二三区| 91丨porny丨在线| 亚洲高清在线视频| 欧美成va人片在线观看| 国产sm精品调教视频网站| 国产精品嫩草99a| 欧美日韩精品欧美日韩精品一综合| 日韩高清不卡在线| 久久色在线视频| 91网站视频在线观看| 日韩极品在线观看| xnxx国产精品| 91国在线观看| 狠狠色丁香婷婷综合| 亚洲欧美乱综合| 日韩欧美色综合| 97精品国产97久久久久久久久久久久 | 欧美一区二区三区性视频| 麻豆91在线播放| 国产精品成人免费精品自在线观看 | 精品成人在线观看| 91女厕偷拍女厕偷拍高清| 美女视频黄免费的久久| 中文字幕日韩一区| 日韩精品一区二区三区在线观看| 成人免费毛片嘿嘿连载视频| 亚洲国产视频直播| 国产午夜精品久久久久久久| 欧美日韩一二三区| 国产高清久久久久| 日韩专区中文字幕一区二区| 国产精品传媒在线| 欧美一区二区三区在线视频| 99久久er热在这里只有精品66| 日韩vs国产vs欧美| 亚洲精品视频观看| 久久久久国产成人精品亚洲午夜| 欧美午夜在线一二页| 夫妻av一区二区| 同产精品九九九| 一区二区三区不卡在线观看 | 亚洲人成小说网站色在线| 精品少妇一区二区三区| 一本一本大道香蕉久在线精品| 激情图片小说一区| 日韩精品每日更新| 夜夜亚洲天天久久| 亚洲少妇30p| 国产网站一区二区| 欧美成人高清电影在线| 欧美精品 日韩| 欧美丝袜丝nylons| 日本福利一区二区| 一本一道久久a久久精品| 成人免费毛片app| 成人网在线播放| 国产电影一区在线| 国产在线视频一区二区| 麻豆一区二区三区| 日韩电影在线观看一区| 亚洲成人精品影院| 一区二区三区四区视频精品免费| 国产精品嫩草久久久久| 国产精品网曝门| 久久综合九色综合97婷婷女人| 欧美一区二区三区色| 91精品国产一区二区人妖| 在线播放中文字幕一区| 欧美亚洲综合网| 在线视频国内自拍亚洲视频| 在线观看日韩电影| 欧美日韩一区 二区 三区 久久精品 | 久久亚洲一区二区三区明星换脸| 精品国产乱子伦一区| 久久久久国产精品麻豆ai换脸| 欧美变态凌虐bdsm| 欧美xxxxx裸体时装秀| 久久久美女毛片| 中文在线一区二区| 国产精品成人网| 亚洲一区在线观看免费观看电影高清| 亚洲欧美国产高清| 亚洲大片在线观看| 日本不卡高清视频| 国产乱子轮精品视频| 国产成人av电影在线| 99久久国产综合精品女不卡| 欧美在线免费播放| 欧美一区二区三区喷汁尤物| 日韩视频免费直播| 国产日韩一级二级三级| 日韩伦理电影网| 亚洲成人在线网站| 国产在线视视频有精品| fc2成人免费人成在线观看播放| 色婷婷av一区二区| 在线电影院国产精品| 久久久久久日产精品| 亚洲少妇最新在线视频| 日韩成人免费电影| 国产盗摄一区二区| 欧美在线观看视频一区二区| 日韩一级片在线观看| 国产欧美综合色| 亚洲香肠在线观看| 国产乱码精品一区二区三区忘忧草| 91丝袜高跟美女视频| 日韩欧美国产一区二区三区| 国产精品欧美一级免费| 亚洲午夜精品一区二区三区他趣| 久久99精品国产麻豆婷婷| 91在线免费看| 欧美刺激午夜性久久久久久久| 久久精品视频在线看| 性做久久久久久免费观看| 成人精品一区二区三区中文字幕| 欧美日韩免费观看一区三区| 国产欧美精品一区| 婷婷成人综合网| 色综合久久综合中文综合网| 欧美一级高清片| 亚洲线精品一区二区三区| 国产一区二区在线视频| 欧美日本免费一区二区三区| 中文字幕制服丝袜一区二区三区| 日韩av网站免费在线| 色婷婷综合在线| 国产午夜亚洲精品午夜鲁丝片| 午夜私人影院久久久久| 91视频一区二区三区| 国产无一区二区| 激情综合亚洲精品| 日韩免费视频一区| 视频一区免费在线观看| 91麻豆视频网站| 欧美国产精品专区| 国产在线精品免费av| 日韩一区二区中文字幕| 亚洲第四色夜色| 欧美日韩在线播放一区| 日韩毛片高清在线播放| 成人免费黄色大片| 久久久久国色av免费看影院| 激情伊人五月天久久综合| 欧美日韩一区二区在线观看| 亚洲青青青在线视频| www.亚洲人| 国产精品每日更新在线播放网址 | 肉色丝袜一区二区| 欧美三区在线观看| 亚洲综合精品自拍| 色激情天天射综合网| 亚洲欧美国产77777| av激情综合网| 亚洲欧洲国产日韩| 99久久精品免费| 国产精品第四页| 色美美综合视频| 一区二区三区久久| 欧美视频一区二区| 天天色 色综合| 日韩一级片在线播放| 激情五月播播久久久精品| 久久免费午夜影院| 成人美女视频在线观看18| 国产精品福利电影一区二区三区四区 | 日韩欧美高清一区| 精品一区二区免费在线观看| 精品国产电影一区二区| 国产一区二区三区黄视频 | 久久久精品2019中文字幕之3| 激情综合网最新| 国产日产欧美精品一区二区三区| 懂色中文一区二区在线播放| 国产精品国产三级国产aⅴ入口| 99国产精品久久| 亚洲电影第三页| 欧美丰满美乳xxx高潮www| 日本 国产 欧美色综合| 久久综合狠狠综合| 99久久免费视频.com| 亚洲国产精品久久人人爱| 91精品免费在线观看| 日韩电影在线免费看| 国产网站一区二区| 在线观看欧美日本| 蜜桃传媒麻豆第一区在线观看| 精品国产91九色蝌蚪| 91视频观看免费| 日韩av一区二区在线影视| 国产网站一区二区| 欧美日韩三级一区二区| 国产一区二区成人久久免费影院| 国产精品国产三级国产三级人妇| 91黄色免费观看|