📄 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 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -