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

📄 ipod.h

📁 IPOD协议命令的驱动在CAR ENTERTAINMENT SYSTEM上的实现
💻 H
字号:
//DVD PLAYER B/E PROGRRAM
//ipod.h
//For Integrate the IPOD Accessory Protocol Interface.
//based on M32R CPU & MR32R V.3.50 Release0.
//Willix,08-23-07
//

#ifndef _IPOD_H_
#define _IPOD_H_

typedef enum{
    SIR_DUMMY,
    SIR_PLAY_PAUSE,
    SIR_VOL_UP,
    SIR_VOL_DOWN,
    SIR_NEXT_TRACK,
    SIR_PREV_TRACK,
    SIR_NEXT_ALBUM,
    SIR_PREV_ALBUM,
    SIR_STOP,

    SIR_PLAY_RESUME,
    SIR_PAUSE,
    SIR_MUTE_TOGGLE,
    SIR_NEXT_CHAPTER,
    SIR_PREV_CHAPTER,
    SIR_NEXT_PLAYLIST,
    SIR_PREV_PLAYLIST,
    SIR_SHUFFLE,

    SIR_REPEAT,
    SIR_PON,
    SIR_POFF,
    SIR_BL30,
    SIR_FF,
    SIR_FB,
    SIR_MENU,
    SIR_SELECT,
    SIR_ARROW_UP,
    SIR_ARROW_DOWN,

    SIR_UNKNOWN
}SIR_INDEX;

typedef enum{
    AIR_DUMMY,                             //0X0000, Reserved
    AIR_ACK,                                //0x0001, Acknowledge
    AIR_GET_CUR_CHAPTER,        //0X0002, Reserved
    AIR_RET_CUR_CHAPTER,        //0x0003, Acknowledge
    AIR_SET_CUR_CHAPTER,        //0x0004,
    AIR_GET_CUR_STATUS,          //0x0005,
    AIR_RET_CIR_STATUS,         //0x0006
    AIR_GET_CUR_TNAME,          //0x0007
    AIR_RET_CUR_TNAME,             //0x0008
    AIR_GET_AB_SPEED,               //0x0009
    AIR_RET_AB_SPEED,               //0x000A
    AIR_SET_AB_SPEED,               //0x000B
    AIR_GET_INDEX_TRACK,           //0x000C
    AIR_RET_INDEX_TRACK,        //0x000D
    AIR_RESERVED0,                  //0X000E
    AIR_RESERVED1,
    AIR_RESERVED2,
    AIR_RESERVED3,                  //0X0011
    AIR_REQ_PRC_VER,              //0X0012 
    AIR_RET_PRC_VER,
    AIR_REQ_IPOD_NAME,
    AIR_RET_IPOD_NAME,
    AIR_RESET_DB,
    AIR_SELECT_DB,
    AIR_GET_NUM_CATE,
    AIR_RET_NUM_CATE,
    AIR_GET_CATE_DB,
    AIR_RET_CATE_DB,
    AIR_GET_PLAY_STS,
    AIR_RET_PLAY_STS,           //0X001D
    AIR_GET_TRACK_INDEX,
    AIR_RET_TRACK_INDEX,
    AIR_GET_TRACK_NAME,        //0X0020
    AIR_RET_TRACK_NAME,
    AIR_GET_TRACK_ARTIST,
    AIR_RET_TRACK_ARTIST,
    AIR_GET_TRACK_ALBUM,
    AIR_RET_TRACK_ALBUM,
    AIR_SET_CHG_NOTIFI,
    AIR_GET_CHG_NOTIFI,
    AIR_PLAY_CUR_SELECT,
    AIR_PLAY_CONTROL,
    AIR_RESERVED4,
    AIR_RESERVED5,
    AIR_GET_SHUFFLE,
    AIR_RET_SHUFFLE,
    AIR_SET_SHUFFLE,
    AIR_GET_REPEAT,
    AIR_RET_REPEAT,
    AIR_SET_REPEAT,
    AIR_SET_DISP_IMAGE,
    AIR_GET_MONO_IMAGE,
    AIR_RET_MONO_IMAGE,
    AIR_GET_PLAY_TRACK,
    AIR_RET_PLAY_TRACK,
    AIR_SET_PLAY_TRACK,
    AIR_SELECT_SORT_DB,
    AIR_GET_COL_IMAGE,
    AIR_RET_COL_IMAGE,
    AIR_RESERVED6
}AIR_INDEX;

//PLAY CONTROL
#define IPOD_CON_PAUSE        0X01
#define IPOD_CON_STOP          0X02
#define IPOD_CON_NEXT          0X03
#define IPOD_CON_PREV          0X04
#define IPOD_CON_FF                0X05
#define IPOD_CON_FS                0X06
#define IPOD_CON_FO             0X07
#define IPOD_CON_NCH            0X08
#define IPOD_CON_PCH           0X09

//IPOD RANDOM
#define IPOD_RANDOM_OFF     0X00
#define IPOD_RANDOM_ONE     0x01
#define IPOD_RANDOM_ALBUM   0X02

//IPOD REPEAT
#define IPOD_REPEAT_OFF      0X00
#define IPOD_REPEAT_ONE     0x01
#define IPOD_REPEAT_ALL     0x02

//IPOD CATEGORY
typedef struct{
B file_name[32];
UB category;
}IPOD_FILE_INFO;

typedef struct{
void * up;
void * down;
UB category;
UB layer;
B *name;
}IPOD_NODE_INFO;


#define NUM_IPOD_DISP 6
#define NUM_IPOD_SAVE 600
#define IPOD_DB_ADDRESS 0X00B00000
#define IPOD_PB_ADDRESS 0X00C00000


extern IPOD_FILE_INFO   ipod_pb_disp_info[NUM_IPOD_DISP];
extern IPOD_FILE_INFO   ipod_db_disp_info[NUM_IPOD_DISP];
extern UB  ipod_bank;
extern UB  ipod_db_position;
extern UB  ipod_pb_position;

#define NUM_IPOD_NODE 0x1

#define IPOD_PREFIX1	    0XFF
#define IPOD_PREFIX2	    0X55

#define UART_BUFF_SIZE 50
extern UB	uart_tr_buff[UART_BUFF_SIZE];
extern UB	uart_rc_buff[UART_BUFF_SIZE];


#define IPOD_GEN_MODE	0X00	//GENERAL MODE 0X00
#define IPOD_MIC_MODE	0X01	//Microphone 0x01
#define IPOD_SIR_MODE	0X02	//Simple Remote 0x02
#define IPOD_DIR_MODE	0X03	//Display Remote 0x03
#define IPOD_AIR_MODE	0X04	//Advanced iPod Remote(AiR) 0x04
#define IPOD_RFT_MODE	0X05	//RF Transmitter Lingo 0x05

//ipod display
#define IPOD_DISP_MODE00 0X00
#define IPOD_DISP_MODE01 0X01
#define IPOD_DISP_MODE02 0X02
#define IPOD_DISP_MODE03 0X03
#define IPOD_DISP_MODE04 0X04
#define IPOD_DISP_MODE05 0X05

//ipod layer
#define IPOD_LAYER_MAIN         0X00
#define IPOD_LAYER_MUSIC        0X01
#define IPOD_LAYER_GENRE       0X02
#define IPOD_LAYER_ARTIST      0X03
#define IPOD_LAYER_ALBUM       0X04
#define IPOD_LAYER_TRACK       0X05

//IPOD HIER
#define IPOD_HIER_1ST           0X01
#define IPOD_HIER_2ND           0X02
#define IPOD_HIER_3RD           0X03
#define IPOD_HIER_4TH          0X04
#define IPOD_HIER_5TH           0X05
#define IPOD_HIER_6TH           0X06

//CATEGORY
#define IPOD_CATE_DUMMY         0X00
#define IPOD_CATE_PLAYLIST     0X01
#define IPOD_CATE_ARTIST        0X02
#define IPOD_CATE_ALBUM         0X03
#define IPOD_CATE_GENRE         0X04
#define IPOD_CATE_TRACK         0X05
#define IPOD_CATE_COMPOSER  0X06
#define IPOD_CATE_AUDIOBOOK     0X07
#define IPOD_CATE_PODCAST   0X08
#define IPOD_CATE_RESERVED  0X09

//
#define IPOD_BANK_LEFT      0X00
#define IPOD_BANK_RIGHT     0X01


//
UB IPOD_init(void);	
void IPOD_msg_key(UB key);
void IPOD_get_msg(void);
void IPOD_cyclic(void);

UB IPOD_key_enter(void);	
UB IPOD_Key_return(void);	
UB IPOD_key_menu(void);	
UB IPOD_Key_arrow_up(void);	
UB IPOD_Key_arrow_down(void);	
UB IPOD_Key_arrow_left(void);	
UB IPOD_Key_arrow_right(void);	

UB IPOD_key_stop(void);	
UB IPOD_key_play(void);	
UB IPOD_key_pause(void);	
UB IPOD_key_prev(void);	
UB IPOD_key_next(void);	
UB IPOD_key_BL(void);	
UB IPOD_key_pon(void);	
UB IPOD_key_poff(void);	
UB IPOD_key_ff(void);	
UB IPOD_key_fb(void);	
UB IPOD_key_random(void);	
UB IPOD_key_intro(void);	
UB IPOD_key_repeat(void);	
UB IPOD_key_mode(void);
UB IPOD_key_vup(void);
UB IPOD_key_vdown(void);

void IPOD_redisp(void);

#endif

⌨️ 快捷键说明

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