www.pudn.com > bu1566.rar > BUxx_setuptable.h


/* ************************************************************************ */ 
/*                                                                          */ 
/* ROHM BU15xx demo firmware on MD2306                                      */ 
/*     Client   : ROHM Co., Ltd.                                       */ 
/*     End User :                                                           */ 
/*                                                                          */ 
/*     Processor: ARM-7TDMI(THUMB Mode)                                     */ 
/*     Dev.Env. : ARM-SDTv2.51                                              */ 
/*                                                                          */ 
/*     setup table Header       	                                    */ 
/*                                                                          */ 
/*     file     : BUxx_setuptable.h                                         */ 
/*     Auther   : J.SATO(NTC)                                              */ 
/*     Date     : 2004/Ju1./1	                                            */ 
/*                                                                          */ 
/*     Copyright (c) 2002-04 Naritagiken Co., Ltd. All rights reserved.     */ 
/* ************************************************************************ */ 
/* History:								    */ 
/* 2004/Jul./1 Rev 1.00 create		                                    */ 
/*                                                                          */ 
/* ************************************************************************ */ 
 
#if !defined BUXX_SETUPTABLE_H_INCLUDED 
#define	BUXX_SETUPTABLE_H_INCLUDED 
/* ************************************************** */ 
/*		     INCLUDE FILES		      */ 
/* ************************************************** */ 
 
/* ************************************************** */ 
/*		        DEFINES			      */ 
/* ************************************************** */ 
typedef unsigned char UINT8; 
typedef unsigned short UINT16; 
typedef unsigned long UINT32; 
//typedef char          STRING; 
typedef char INT8; 
typedef short INT16; 
typedef long INT32; 
//typedef int           INT; 
 
//------------------------------------------- 
//******************************************* 
//              user definition            * 
//******************************************* 
//------------------------------------------- 
//for debug 
#define DEBUG 
#define BUXX_POLLING 
 
#define _BU1563API_INTERFACE_ 
//#define HOSTJD_TEST 
//#define _LCD_INDIRECT_WRITE_ 
 
//#define LCDBUS_9BIT 
 
#define BUSACCESS_BIT	16      //or 8 
 
#define TRAN_KEY_COLOR  0x07E0//0xf7de // 0xF81F 
 
//#define SENSOR_ROT90 
 
//OV7648_SENSOR;OV7660_SENSOR; 
//MT9V111_SENSOR; 
//CSV1061_SENSOR;CSV1411_SENSOR; 
//S5K53BEA_SENSOR 
#define OV7660_SENSOR 
 
//TMD_LTM018A02A;TMD_LTM022A05D; 
//NEC_502i; 
//HD66773_LCD;HD66777_LCD; 
//S6B33B3A;S6B33B2 
#define TMD_LTM022A05D  
 
enum 
{ 
    ZOOM_IN=-1  //sight far 
    ,ZOOM_OUT=1  //sight near 
}; 
 
enum{ 
    BU15xx_GIO0=0 
    ,BU15xx_GIO1 
    ,BU15xx_GIO2 
    ,BU15xx_GIO3 
    ,BU15xx_GIO4 
    ,BU15xx_GIO5 
    ,BU15xx_GIO6 
}; 
 
#define    SIGLESHOT 0 
#define    MULTISHOT 1 
#define    MOTIONJPEG 2 
 
 
#define MULTI_JPEG_BUFFER (100*1024) 
#define JPEG_BUFFER	(100*1024) 
#define MJPEG_FRAMENUM	(8*30) 
#define MJPEG_BUFFER	(256*1024) 
 
//******************************************* 
//            bu15xx access setup           * 
//******************************************* 
#define   LCD_CMD_WRITE (volatile UINT16*)0x82000000  //A22A21 ,0x82000000 
#define	LCD_PDAT_WRITE (volatile UINT16*) 0x82000002   //A22A21 ,0x82200000 
#define	INDEX_ACCESS (volatile UINT16* )  0x82000004   //A22A21 ,0x82400000 
#define	REG_ACCESS (volatile UINT16* )    0x82000006   //A22A21 ,0x82600000 
 
//******************************************* 
//            System is set up              * 
//******************************************* 
//HOST_END bigendian or littleendian is set up 
#define ENDIAN		sLITTLE_END     //or BIG_END 
 
//hwmode register host_type setup 
#define HOST_TYPE	sHELEN  //or sTRIDENT 
 
//clock setup 
#define LCDFRSRC	sLCDFR1_4096//sLCDFR1_4096    //or sLCDFR1_64 
#define LCD_BASE_TIMING	sLCDFR  //or sVD 
#define VDEDG_SEL	sVDEDG_DOWN     //or sVEDG_UP 
#define VD_EN		sGIO6_ENABLE    //or sVD_ENABLE 
#define SCLK_DIV	0x0000 
#define LCDFR_DIV	0x0000 
#define LCDFR_DELAY	0x0001 
#define CAMCKO_DIV	0x0001 
 
//interrupt setup 
#define INT_SEL		sEDGE   //or sLEVEL 
#define INT_POL		sLOW_INT        //or sHIGH_INT 
 
//led setup 
#define LEDCNT_EN	sLEDCNT_DISABLE //or sLEDCNT_ENABLE 
#define LEDCNT_POL	sLEDCNT_L       //or sLEDCNT_H 
 
//******************************************* 
//             Main LCD is set up           * 
//******************************************* 
 
#if defined TMD_LTM022A05D 
//LCD WRITE COMMAND is set up 
#define M_EXCMD		1 
#define M_CMD_DATA1	0x0e00 
//Main LCD size is set up 
#define MLCD_START_H 0 
#define MLCD_END_H  175 
#define MLCD_START_V 0 
#define MLCD_END_V 219 
 
#elif defined TMD_LTM018A02A 
//LCD WRITE COMMAND is set up 
#define M_EXCMD		1 
#define M_CMD_DATA1	0x0e00 
//Main LCD size is set up 
#define MLCD_START_H 0 
#define MLCD_END_H  127 
#define MLCD_START_V 0 
#define MLCD_END_V 159 
 
#elif defined NEC_502i 
//LCD WRITE COMMAND is set up 
#define M_EXCMD		1 
#define M_CMD_DATA1	0x0022 
//Main LCD size is set up 
#define MLCD_START_H 16 
#define MLCD_END_H  159 //159 
#define MLCD_START_V 0 
#define MLCD_END_V  175 //175 
 
#elif defined HD66773_LCD 
//LCD WRITE COMMAND is set up 
#define M_EXCMD		1 
#define M_CMD_DATA1	0x0022 
//Main LCD size is set up 
#define MLCD_START_H 0 
#define MLCD_END_H  127 //159 
#define MLCD_START_V 0 
#define MLCD_END_V  159 //175 
 
#elif defined HD66777_LCD 
//LCD WRITE COMMAND is set up 
#define M_EXCMD		1 
#define M_CMD_DATA1	0x0022 
//Main LCD size is set up 
#define MLCD_START_H 0 
#define MLCD_END_H  127 //159 
#define MLCD_START_V 0 
#define MLCD_END_V  159 //175 
 
#elif defined S6B33B3A 
//LCD WRITE COMMAND is set up 
#define M_EXCMD		1 
#define M_CMD_DATA1	0x0051 
//Main LCD size is set up 
#define MLCD_START_H 4 
#define MLCD_END_H  131  
#define MLCD_START_V 4 
#define MLCD_END_V  131  
 
#elif defined S6B33B2 
//LCD WRITE COMMAND is set up 
#define M_EXCMD		1 
#define M_CMD_DATA1	0x0051 
//Main LCD size is set up 
#define MLCD_START_H 4 
#define MLCD_END_H  131  
#define MLCD_START_V 4 
#define MLCD_END_V  131  
 
#endif                          //#if   TMD_LTM022A05D 
 
#define M_LCD_WSIZE	(MLCD_END_H-MLCD_START_H +1)    //144              // 
#define M_LCD_HSIZE	       (MLCD_END_V-MLCD_START_V +1)     //176               // 
 
#define M_CMD_DATA2	0 
#define M_CMD_DATA3	0 
#define M_CMD_DATA4	0 
#define M_CMD_DATA5	0 
#define M_CMD_DATA6	0 
#define M_CMD_DATA7	0 
 
//Main LCD Transfer wave shape is set up 
#define LCD_DELAY	sNO_DELAY       //or sDELAY10MS, sDELAY1SCLK, sDELAY10NS 
#define	M_LCDWL		0x03 
#define	M_LCDWH		0x03 
 
//Main LCD Resolution is set up 
#define M_LCD_CTYPE	sC565B16A1      // 65kcolor 5r6g5b 16bit 1pix/1.0cycle 
 
 
//******************************************* 
//              Sub LCD is set up           * 
//******************************************* 
//LCD WRITE COMMAND is set up 
 
#define S_EXCMD               1 ///4 
#define S_CMD_DATA1	0x0e00//0x2d 
#define S_CMD_DATA2	0//0x01 
#define S_CMD_DATA3	0//0x2d 
#define S_CMD_DATA4	0//0x00 
#define S_CMD_DATA5	0 
#define S_CMD_DATA6	0 
#define S_CMD_DATA7	0 
 
//Main LCD Transfer wave shape is set up 
#define	S_LCDWL	0x03 
#define	S_LCDWH	0x03 
 
//Main LCD size is set up 
#define S_LCD_WSIZE	128     //MIN 120pixel〜MAX 162pixel 
#define S_LCD_HSIZE	160     //MIN 144pixel〜MAX 216pixel 
 
//Main LCD Resolution is set up 
#define S_LCD_CTYPE	sC565B16A1//sC565B8A2       // 65kcolor 5r6g5b 8bit 1pix/2.0cycle 
 
 
//******************************************* 
//               CAM is set up              * 
//******************************************* 
//CAMIF INIT set up 
#define SUB_OFFSET	sNO_YOFFSET     //or sY16OFFSET 
#define YUVORD		sUYVY   //or sYUYV, sYVYU, sVYUY 
#define RGBORD		sRGBRGB //or sRBGRBG, sGRBGRB, sGBRGBR, sBRGBRG, sBGRBGR 
#define RGBorYUV	sYUV422 //or RGB444 
#define CKPOL		sCK_UP        //or sCK_UP;sCK_DOWN  //shrek change 061014  base sCK_DOWN 
#define HSPOL		sHS_HIGH        //or sHS_LOW 
#define VSPOL		sVS_HIGH        //or sVS_LOW 
 
//Cam size is set up 
#define	CAM_HSIZE	640 
#define	CAM_VSIZE	480 
 
//Cam start point is set up 
#define	CXS		0x0     //0x2e 
#define	CYS		0x0     //0x0f 
 
//LowPath Filter set up 
#define CXTYPE		sNO_FILTER      //or sX_FILTER 
#define CYTYPE		sNO_ADD_AVR     //or sADD_AVR 
#define YOFFSET		sBILINER        //or sMIDDLE 
 
 
 
/**************** 2byte ACCESS ***************/ 
#define		CHAR_SHORT(a)	(UINT16)((a[0] << 8) | a[1]) 
 
 
 
/* ************************************************** */ 
/*		        TYPEDEF		    	      */ 
/* ************************************************** */ 
 
/* ************************************************** */ 
/*		    GLOBAL VARIABLE		      */ 
/* ************************************************** */ 
extern volatile int gl_bank_chk; 
extern volatile int gl_check_int; 
extern volatile int gl_dsc_status; 
 
 
typedef struct 
{ 
    UINT16 xsize; 
    UINT16 ysize; 
    UINT16 st_x; 
    UINT16 st_y; 
} 
LCDSET; 
 
typedef struct 
{ 
    UINT16 xsize; 
    UINT16 ysize; 
    UINT16 cst_x; 
    UINT16 cst_y; 
    UINT16 srkx; 
    UINT16 srky; 
    UINT16 mst_x; 
    UINT16 mst_y; 
    UINT16 rot_h_vflip; 
 
} 
CAMSET; 
 
typedef struct 
{ 
    UINT16 u16OvlOpen; 
    UINT16 xsize; 
    UINT16 ysize; 
    UINT16 st_x; 
    UINT16 st_y; 
    UINT16 u16TransColor; 
    const UINT16* u16OvlData; 
}OVLSET; 
 
typedef struct 
{ 
    UINT16 u16OvlIndex; 
    UINT16 u16OvlOpen; 
    UINT16 u16FmXsize; 
    UINT16 u16FmYsize; 
    UINT16 u16FmSt_x; 
    UINT16 u16FmSt_y; 
    UINT16 u16TransColor; 
    UINT16 u16TransEnable; 
    UINT16 u16MaskColor; 
    UINT16 u16ExmXsize; 
    UINT16 u16ExmYsize; 
    UINT16 u16ExmSt_x; 
    UINT16 u16ExmSt_y; 
}EXOVLSET; 
 
typedef struct 
{ 
    EXOVLSET* p_ExOverlay1; 
    char szOvl1Str[40]; 
    EXOVLSET* p_ExOverlay2; 
    char szOvl2Str[40]; 
}c_ItemBase; 
 
typedef struct 
{ 
    c_ItemBase v_Item; 
    LCDSET* m_pwindow; 
    CAMSET* m_pcamera; 
}c_PreSizeItem; 
 
typedef struct 
{ 
    c_ItemBase v_Item; 
    OVLSET* p_Overlay; 
}c_OvlItem; 
 
typedef struct 
{ 
    c_ItemBase v_Item; 
    UINT16 u16Filter; 
}c_FilterItem; 
 
typedef struct 
{ 
    c_ItemBase v_Item; 
    UINT16 u16JpgQuality; 
}c_JpgQualityItem; 
 
typedef struct 
{ 
    c_ItemBase v_Item; 
    UINT16 u16JpgFunc; 
}c_JpgFuncItem; 
 
typedef struct 
{ 
    c_ItemBase v_Item; 
    CAMSET* p_EncSize; 
}c_JpgEncSizeItem; 
 
typedef struct 
{ 
    c_ItemBase v_Item; 
    CAMSET* p_DecSize; 
}c_JpgDecSizeItem; 
 
struct cs_SetBase 
{ 
    UINT16 u16CurIndex; 
    UINT16 u16MaxNum; 
    void (*fInit)(struct cs_SetBase*); 
    void (*fSet)(struct cs_SetBase*); 
}; 
 
typedef struct cs_SetBase c_SetBase; 
 
typedef struct 
{ 
    c_SetBase v_Set; 
    c_PreSizeItem* p_PreSize; 
} c_PreSizeSet; 
 
typedef struct 
{ 
    c_SetBase v_Set; 
    c_OvlItem* p_Overlay; 
} c_OvlSet; 
 
typedef struct 
{ 
    c_SetBase v_Set; 
    c_FilterItem* p_Filter; 
} c_FilterSet; 
 
typedef struct 
{ 
    c_SetBase v_Set; 
    c_JpgQualityItem* p_Quality; 
}c_JpgQualitySet; 
 
typedef struct 
{ 
    c_SetBase v_Set; 
    c_JpgFuncItem* p_Func; 
}c_JpgFuncSet; 
 
typedef struct 
{ 
    c_SetBase v_Set; 
    c_JpgEncSizeItem* p_EncSize; 
}c_JpgEncSizeSet; 
 
typedef struct 
{ 
    c_SetBase v_Set; 
    c_JpgDecSizeItem* p_DecSize; 
}c_JpgDecSizeSet; 
 
typedef struct 
{ 
    c_ItemBase* p_Item; 
    OVLSET* p_Overlay; 
    LCDSET* p_Window; 
    CAMSET* p_Camera; 
    UINT16 u16Filter;        
    CAMSET* p_EncSize; 
    CAMSET* p_DecSize; 
    UINT16 u16JpgFunc; 
    UINT16 u16JpgQuality; 
    UINT32 u32JpgSize; 
    UINT16* p_u16JpgCode; 
}t_VideoData; 
 
/* ************************************************** */ 
/*		    GLOBAL FUNCTIONS		      */ 
/* ************************************************** */ 
 
 
/* ************************************************** */ 
/*		     INCLUDE FILES		      */ 
/* ************************************************** */ 
 
#include "BUxx_mem.h" 
#include "BUxx_DRV.h" 
 
 
 
#endif                          /* BUXX_SETUPTABLE_H_INCLUDED */