📄 av_headset_private.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 + -