message.h 5.9 KB
#ifndef _MESSAGE_H_
#define _MESSAGE_H_


typedef enum {
	enKEY_FUNC_VOID	=	0,
	enKEY_FUNC_1PARAM,
	enKEY_FUNC_2PARAM
} enum_KEY_FUNC_TYPE;


/*Message Source for UI task*/
enum {
	UI_MAIN_BOARD_KEY,
	UI_REMOTE_KEY,
	UI_ROTARY_KEY,
	UI_I2C_KEY,	
	UI_KEY_IDLE,
	UI_CDSC,
	UI_CD_INTERFACE,
	UI_CD_RECEIVER,
	UI_SDRAM_STREAM,
	UI_FILE_SYSTEM,
	UI_TIMER,
	UI_WINDOW_TIMER,
	UI_SLEEP_TIMER,
	UI_IDLE_TIMER,
	UI_BATT_TIMER,
	UI_CHARGING_TIMER,
	UI_CODEC,
	UI_USB,
	UI_IPOD_OUTBUF_UNDERFLOW,
	UI_IPOD,

#ifdef TOUCH_PANEL_ENABLE
	UI_TOUCH_PANEL,
#endif

	UI_TN,
	UI_SPDIF,
#ifdef DSPEQ_TUNING_ENABLE
	UI_SET_EQ
#endif
};


/*Messages for UI task*/
enum {
	UI_FIT_TIMER,
	UI_STREAM_NEW_TRACK,
	UI_STREAM_UNDERFLOW,
	UI_STREAM_OVERFLOW,
	UI_STREAM_EOF,
	UI_DECODE_STREAM_EOF,	
	UI_CDROM_ADDR_ERR,
	UI_CDROM_NO_SYN,
	UI_CDROM_SECTOR_FIND,
	UI_ISO9660_UDF_ERR,
	
	UI_ISO9660_UDF_SUCCESS,
	UI_CDDA_EF_ERR,
	UI_CDDA_UNTISHOCK_ERR,
	UI_CDDA_ADDR,
	UI_CDDA_START_ADDR,
	UI_LCD_LINE1,
	UI_LCD_ALL_LINE,
	UI_NO_DISC,
	UI_TOC_READY,
	UI_READ_SESSION,

	UI_ISO9660_UDF_UPGRADE_FILE,
	UI_PCM_OUT_UNDERFLOW,
	UI_DECODE_SKIP_F,
	UI_NEW_SUBQ,
	UI_CDROM_UDF_DESCRIPTOR_ADDR_ERR,
	UI_CDROM_UDF_DESCRIPTOR_WRITE_END,
	UI_MP3_INIT_SUCCESS,
	UI_MP3_INIT_FAIL,
	UI_WMA_INIT_SUCCESS,
	UI_WMA_INIT_FAIL,
	UI_WMA_INIT_DRM,

	UI_CDROM_CRC_ERROR,
	UI_CD_LEAD_OUT,
	UI_USB_CONNECT,
	UI_USB_DISCONNECT,
	UI_FS_SEARCH_END,
	UI_FS_ERR,
	UI_USB_ABSENT,
	UI_USB_OVERCURRENT,
	UI_TRAY_LOADER_READY,
	UI_RDS_POLLING,

	UI_DEC_INIT_SUCCESS,
	UI_DEC_INIT_FAIL,
	UI_IPOD_AUTO_PLAY,

	UI_TUNER_MODULE_INIT,
	
	UI_WAVE_INIT_SUCCESS,
	UI_WAVE_INIT_FAIL,

#ifdef FLAC_DEC
	UI_FLAC_INIT_SUCCESS,
	UI_FLAC_INIT_FAIL,
#endif

	UI_SPDIF_STREAM_OVERFLOW,
	UI_SPDIF_STREAM_UNDERFLOW,

	UI_DECODE_SKIP_B,	
#ifdef DSPEQ_TUNING_ENABLE
	UI_FIT_SET_EQ
#endif

};


typedef enum {
	STREAM_SOURCE_CDROM,
	STREAM_SOURCE_AD_PCM,
	STREAM_SOURCE_SPDIF,
	STREAM_SOURCE_LAST
} STRAEM_SOURCE;


typedef struct {
/*	U16 source;
	U16 parm1;
	U16 parm2;*/

	U32 source;
	U32 parm1;
	U32 parm2;
//	U32 parm3;	//added for ipods
} UI_MSG;

typedef struct {
/*	U16	msg;
	U32	parm1;
	U32	parm2;*/

	U32	msg;
	U32	parm1;
	U32	parm2;
} CDSC_MSG;

typedef struct{
	U16 source;
	void *buffer;
	U16 length;
} STREAM_MSG;

typedef struct {
	U16 msg;
	U16 parm;
} DEC_MSG;


enum {
	CDSERVO_RESET,
	CDSERVO_TOP_OPEN,
	CDSERVO_TOP_CLOSE,
	CDSERVO_READ_TOC,
	CDSERVO_START,
	CDSERVO_STOP,
	CDSERVO_PAUSE,
	CDSERVO_PLAY_CDADDR,
	CDSERVO_PLAY_BADDR,
	CDSERVO_SPEED,
	CDSERVO_AUDIOF_ON,
	CDSERVO_AUDIOF_OFF,
	CDSERVO_FIT,
	CDSERVO_CLOSE,
	CDSERVO_RESTORE_TOC,
	CDSERVO_FATAL_ERROR,
	CDSERVO_UNRECOVERABLE_FATAL_ERROR,
	CDSERVO_NO_DISC,
	CDSERVO_FOCUS_ERROR,
	CDSERVO_RADIAL_ERROR,
	CDSERVO_RADIAL_JUMP_ERROR,
	CDSERVO_AUTOSEQUENCESTATECHANGE_ERROR,
	CDSERVO_POWER_OPEN,
	CDSERVO_POWER_CLOSE,
	CDSERVO_IDLE,
	CDSERVO_NODISC,
	CDSERVO_REINIT,
	CDS_POWER_OFF,
	CDSERVO_REINIT_NO_MUTE,
	CD_SERVO_2x_AUDIO_ON,				//added for 2x MP3 enconding, Mar. 12, 2007
	CDSERVO_PLAYOVER_REINIT,
	CDSERVO_LASER_OFF
};


enum {
	HDD_READ_FILE,
	HDD_INIT,
	HDD_POWER_ON,
	HDD_POWER_OFF,
	HDD_OPEN_FILE,
	HDD_CLOSE_FILE,
	HDD_POWER_ON_RESET,
	HDD_SEARCH_AUDIO_ENTRY,
	HDD_SEARCH_PHOTO_ENTRY,
	HDD_SEARCH_RECORD_ENTRY,

	HDD_CREATE_VOICE_FILE,
	HDD_WRITE_VOICE_FILE,
	HDD_CLOSE_VOICE_FILE,
	HDD_FILE_SEEK,
	HDD_FILE_REINIT,
	USB_MSC_INIT,
	HDD_WRITE_ENC_FILE,
	USB_MSC_CLOSE,
	USB_LUN_OPEN,
	USB_LUN_CLOSE,

	USB_LUN_AUDIO_ENTRY,
	HDD_WRITE_CPY_FILE,
	HDD_DDELETE_ENTRY,
	HDD_DELTE_FOLDER,
	HDD_DELETE_ALL,
	HDD_DELETE_PROG,
	USBH_MTP_INIT,
	USBH_MTP_SEARCH_AUDIO_ENTRY,
	USBH_MTP_READ_FILE,
	USBH_MTP_READ_PARTIAL_FILE,

	USBH_MTP_WRITE_ENC_FILE,
	USBH_MTP_WRITE_CPY_FILE,
	USB_DEV_PLUG_IN,
	USB_DEV_HUB_PLUG_IN,
	SDMMC_CONNECT,
	SDMMC_INIT,
	SDMMC_CLOSE,
	IPHONE_CONNECT,
	IPHONE_CLOSE,
	USB_LUN_FATAL_ERR,

	HDD_SERCH_F_SPACE
};


#if defined(IPOD_USB_AUDIO) && defined(IPOD_TASK_MODIFY)
typedef	enum {
	enHDD_TARGET_MEDIA_TASK,
	enHDD_TARGET_IPOD_TASK
}	enum_HDD_MSG_TARGET;

typedef struct {
	U32	msg;
	U32	parm1;
	U32	parm2;
//	U32	parm3;

	U32	target;		//enum_HDD_MSG_TARGET
} HDD_MSG;
#else
typedef struct {
/*	U16	msg;
	U32	parm1;
	U16	parm2;*/

	U32	msg;
	U32	parm1;
	U32	parm2;
//} __attribute__ ((packed)) HDD_MSG;
} HDD_MSG;
#endif


void uiDecSend (U16 msg, U16 parm);
void uDecSend (U16 msg, U16 parm);

void ukMsgSend (FUNCTION key_func);
void ukiMsgSend (FUNCTION key_func);

void ukParmSend (FUNCTION key_func, U32 parm1);
void ukiParmSend (FUNCTION key_func, U32 parm1);

void ukParmSendExt (FUNCTION key_func, U32 parm1, U32 parm2);
void ukiParmSendExt (FUNCTION key_func, U32 parm1, U32 parm2);

void uMsgSend (U16 uiSource, U16 parm1, U32 parm2);
void uiMsgSend (U16 uiSource, U16 parm1, U32 parm2);

void uCDSCSend (U16 msg, U32 parm1, U16 parm2);
void uiCDSCSend (U16 msg, U32 parm1, U16 parm2);

void uHddMsgSend (U16 msg, U32 parm1, U16 parm2);

void usbmsg_sendIRP( void * irp );
void usbmsg_isendIRP( void * irp );

void usbmsg_waitIRPcomplete(void);
void usbmsg_IRPcompleteFunc( void );

void usbmsg_sendFSmsg( U8 param1, U8 param2 );
void usbmsg_isendFSmsg( U8 param1, U8 param2 );

void ipodmsg_send( void *msg );
void ipodmsg_isend( void *msg );

void usbmsg_setHTDevent( void );
void usbmsg_clearHTDevent(void );
int usbmsg_waitHTDevent( void );


int os_mutex_lock(unsigned long *mutexID);
int os_mutex_unlock(unsigned long *mutexID);

int os_event_set(unsigned long event_mask);
int os_event_iset(unsigned long event_mask);

int os_event_clr(unsigned long event_mask);
int os_event_iclr(unsigned long event_mask);

int os_event_get(unsigned long event_mask);
int os_event_get_for_wait_xms(unsigned long event_mask, unsigned long wait_xms);

int os_queue_send(void *queueID, unsigned long *msg_buf);
int os_queue_isend(void *queueID, unsigned long *msg_buf);
int os_queue_receive(void *queueID, unsigned long *msg_buf);

int os_queue_receive_for_wait_xms(void *queueID, unsigned long *data, unsigned long wait_xms);

int os_int_level_disable(char int_level);
void os_int_level_restore(int int_level);

#endif //_MESSAGE_H_