⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 av_headset_private.h

📁 csr 蓝牙芯片 无线蓝牙耳机的嵌入式程序
💻 H
字号:
/****************************************************************************
Copyright (C) Cambridge Silicon Radio Ltd. 2004

FILE NAME
    av_headset_private.h
    
DESCRIPTION
    
*/

#ifndef _AV_HEADSET_PRIVATE_H_
#define _AV_HEADSET_PRIVATE_H_

#include "av_headset_buttons.h"

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


#ifdef DEBUG_PRINT_ENABLED
#define DEBUG(x) {printf x;}
#else
#define DEBUG(x) 
#endif


#define AV_MAJOR_DEVICE_CLASS   0x000400
#define AV_MINOR_MICROPHONE     0x000010
#define AV_MINOR_SPEAKER        0x000014
#define AV_MINOR_HEADPHONES     0x000018
#define AV_MINOR_PORTABLE       0x00001c
#define AV_MINOR_HIFI           0x000028
#define AV_COD_RENDER           0x040000
#define AV_COD_CAPTURE          0x080000


/*
    PIO definititions.
*/
#define BUTTON_PLAY_PAUSE   (1<<3)
#define BUTTON_STOP         (1<<6)
#define BUTTON_VOLDOWN      (1<<4)
#define BUTTON_VOLUP        (1<<5)
#define BUTTON_FORWARD      (1<<7)
#define BUTTON_BACKWARD     (1<<8)
#define LED                 (1<<1)
#define POWER_HOLD          (1<<9)


/* Local app messages */
enum
{
    LED_UPDATE_REQUIRED,
    PAIR_MODE_END,
	POWER_OFF
};

typedef enum
{
    led_none = (1<<0),
    led_pairing = (1<<1),
    led_connectable = (1<<2),
    led_streaming = (1<<3)
} ledState;

typedef enum
{
    avHeadsetA2dpInitialising,
    avHeadsetA2dpReady,
    avHeadsetA2dpInitiating,
    avHeadsetA2dpConnected,
    avHeadsetA2dpStreaming,
    avHeadsetA2dpDisconnecting,
    avHeadsetA2dpPairing
} avHeadsetA2dpState;


typedef enum
{
    avHeadsetAvrcpInitialising,
    avHeadsetAvrcpReady,
    avHeadsetAvrcpConnecting,
    avHeadsetAvrcpConnected,
    avHeadsetAvrcpDisconnecting
} avHeadsetAvrcpState;


typedef struct
{
    TaskData            task;
    A2DP				*a2dp;
    AVRCP				*avrcp;
    PioState            pio_state;
    avHeadsetA2dpState  a2dp_state;
    avHeadsetAvrcpState avrcp_state;
    uint16              output_gain;
    Sink                media_sink;
    bdaddr              remote_bdaddr;
    vm_pcm_rate			rate;
    a2dp_channel_mode	channel_mode;
    Sink                avrcp_sink;
    bool                avrcp_pending;
    TaskData            controls_task;
    bool                avrcp_state_paused;
    ledState            led_state;
    bool                pairing_enabled;
    bool                inquiry_scan_enabled;
    bool                page_scan_enabled;
	bool				powering_down;
} avTaskData;


/****************************************************************************
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
    avTaskData
*/
avTaskData *getApp(void);


/*************************************************************************
NAME    
    setAvHeadsetA2dpState
    
DESCRIPTION
    Set the AV Headset A2DP State to the specified state

RETURNS
    
*/
void avHeadsetSetA2dpState(const avHeadsetA2dpState state);


/*************************************************************************
NAME    
    avSetHeadsetAvrcpState
    
DESCRIPTION
    Set the AV Headset AVRCP State to the specified state

RETURNS
    
*/
void avHeadsetSetAvrcpState(const avHeadsetAvrcpState state);


#endif /* _AV_HEADSET_PRIVATE_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -